論文 · arXiv 1512.03385
影像辨識的深度殘差學習 (Deep Residual Learning for Image Recognition)
Deep Residual Learning for Image Recognition
三句話總結
- 🎯 較深的平原神經網路(plain neural networks)面臨優化退化問題,儘管梯度未消失,增加深度反而會導致更高的訓練誤差。
- 🔧 將堆疊層重新公式化以擬合殘差映射 ,並使用無參數的恆等捷徑連接 。
- 📈 實現了在 ImageNet 上訓練高達 152 層網路的能力(達到 3.57% 的 top-5 集成誤差),並奪得 ILSVRC 和 COCO 2015 競賽的冠軍。
摘要
較深的神經網路通常更難訓練。我們提出了一種殘差學習框架,以減輕顯著深於以往網路的訓練負擔。我們明確地將層重新公式化為參考層輸入的殘差函數學習,而非學習未參考的函數。我們提供了全面的實證證據,顯示這些殘差網路更容易優化,並能從顯著增加的深度中獲得精準度的提升。在 ImageNet 資料集上,我們評估了深度高達 152 層的殘差網路——比 VGG 網路深 8 倍,但複雜度卻更低。這些殘差網路的集成在 ImageNet 測試集上實現了 3.57% 的誤差率。此結果在 ILSVRC 2015 分類任務中榮獲第一名。我們還展示了在 CIFAR-10 上 100 層和 1000 層的分析。表示的深度對許多視覺辨識任務至關重要。單純得益於我們極深的特徵表示,我們在 COCO 物件偵測資料集上獲得了 28% 的相對改善。深度殘差網路是我們參與 ILSVRC 與 COCO 2015 競賽的基礎,我們在 ImageNet 偵測、ImageNet 定位、COCO 偵測以及 COCO 分割等任務中亦皆榮獲第一名。
英文原文摘要
Deeper neural networks are more difficult to train. We present a residual learning framework to ease the training of networks that are substantially deeper than those used previously. We explicitly reformulate the layers as learning residual functions with reference to the layer inputs, instead of learning unreferenced functions. We provide comprehensive empirical evidence showing that these residual networks are easier to optimize, and can gain accuracy from considerably increased depth. On the ImageNet dataset we evaluate residual nets with a depth of up to 152 layers---8x deeper than VGG nets but still having lower complexity. An ensemble of these residual nets achieves 3.57% error on the ImageNet test set. This result won the 1st place on the ILSVRC 2015 classification task. We also present analysis on CIFAR-10 with 100 and 1000 layers. The depth of representations is of central importance for many visual recognition tasks. Solely due to our extremely deep representations, we obtain a 28% relative improvement on the COCO object detection dataset. Deep residual nets are foundations of our submissions to ILSVRC & COCO 2015 competitions, where we also won the 1st places on the tasks of ImageNet detection, ImageNet localization, COCO detection, and COCO segmentation.
論文解讀
問題與動機
網路深度對視覺辨識的表徵至關重要,但堆疊更多層會暴露出根本的退化問題(degradation problem):隨著深度增加,精準度會飽和並迅速退化。關鍵在於,這種退化並非由過擬合引起——儘管使用了 Batch Normalization 和標準化初始化等技術確保前向活化與反向傳播梯度不會消失,較深網路的訓練誤差依然高於較淺的對應網路。
在理論上,較深的模型本質上就具備恆等映射的解:只需複製訓練好的較淺模型,並將額外增加的層設定為恆等轉換即可。然而,當直接學習未參考的非線性映射時,傳統的優化求解器無法找到這個解。
核心概念
- 殘差學習框架 (Residual Learning Framework):不再直接優化堆疊層以逼近目標映射 ,而是明確讓這些層逼近殘差映射 。原始映射可還原為 。
- 恆等捷徑連接 (Identity Shortcut Connections):透過跨越一層或多層的前向捷徑連接來實現 。恆等捷徑完全不需要額外參數,且幾乎不增加計算開銷。
- 更容易優化與預調節 (Easier Optimization & Preconditioning):若恆等映射為最佳解,優化器只需將殘差權重推向零即可。實務上,殘差函數的響應幅度通常很小,表明恆等連接發揮了有效的預調節作用。
- 瓶頸架構 (Bottleneck Architecture):對於極深的版本(ResNet-50、ResNet-101、ResNet-152),每個 2 層的殘差單元被替換為 3 層的瓶頸區塊(、、 卷積),在保留表徵能力的同時大幅減少計算量。
方法
對於輸入與輸出維度相同的殘差建構塊: 其中 與 為輸入與輸出向量,對於 2 層單元,( 表示 ReLU,為簡化省略了偏差項)。元素級相加是在應用第二個 ReLU 活化函數 之前執行的。
當特徵圖維度改變時(例如進行空間降採樣或通道數倍增): 此處 可採用以下幾種方式:
- 選項 A (Option A):對額外維度補零(zero-padding)並搭配恆等捷徑(步長為 2 以進行下採樣),不引入任何額外參數。
- 選項 B (Option B):僅在增加維度時使用 線性卷積投影 ,其餘情況皆使用純恆等連接。
- 選項 C (Option C):在所有的殘差塊中皆使用線性投影捷徑 。
論文在 ImageNet 模型(ResNet-50/101/152)中採用了選項 B,因為選項 C 會造成參數膨脹而無顯著的精度提升,且純恆等捷徑對於維持瓶頸結構的運算效率至關重要。
結果
- ImageNet 分類:
- ResNet-34 的 top-1 誤差比 plain-34 低了 3.5%(10-crop 驗證誤差為 25.03% 對比 28.54%),並解決了訓練退化問題。
- ResNet-152 實現了 4.49% 的單模型 top-5 驗證誤差(計算量為 113 億 FLOPs,複雜度低於 VGG-16 的 153 億 FLOPs)。
- ResNet 的集成模型在測試集上達到 3.57% 的 top-5 誤差,奪得 ILSVRC 2015 分類競賽冠軍。
- CIFAR-10:ResNet 的深度可平滑擴展至 20、32、44、56 和 110 層,其中 ResNet-110 達到 6.43% 的測試誤差。實驗性訓練的 1202 層網路完全沒有出現優化失敗的情況(訓練誤差 )。
- 遷移與下游任務:在 Faster R-CNN 中將 VGG-16 替換為 ResNet-101,使 MS COCO mAP@[.5, .95] 從 21.2% 提升至 27.2%(相對提升 28%),PASCAL VOC 2007 測試集 mAP 從 73.2% 提升至 76.4%。深度殘差網路亦在 ImageNet 偵測、ImageNet 定位、COCO 偵測及 COCO 分割中奪得第一名。
局限性與待解決問題
- 超深架構的過擬合:在 CIFAR-10 上,1202 層的模型測試誤差(7.93%)高於 ResNet-110(6.43%),儘管訓練誤差達到 ,這歸因於小資料集上缺乏正規化機制。
- 退化問題的理論成因:論文以實驗證明了梯度消失並非主因,推測平原網路具有指數級緩慢的收斂速度,但關於優化動態的理論證明仍留待未來研究。
- 單層殘差無效:當 僅由單一層組成時(退化為 ),殘差公式化並未帶來明顯優勢。
關鍵術語
- degradation problem (退化問題)
- 一種違反直覺的現象:在深度神經網路中增加更多層反而會導致更高的訓練誤差,即便並未出現梯度消失或爆炸的情形。
- residual learning (殘差學習)
- 重新公式化堆疊神經網路層,使其明確學習相對於輸入的殘差函數 ,而非直接擬合無參考的映射 。
- identity shortcut connection (恆等捷徑連接)
- 一種無參數的跳躍連接,將輸入向量或特徵圖原封不動地傳遞,並與堆疊卷積層的輸出進行元素級相加。
- projection shortcut (投影捷徑)
- 當輸入與輸出的通道深度或空間大小不同時,使用線性轉換矩陣或 卷積()來匹配維度的捷徑連接。
- bottleneck design (瓶頸設計)
- 一種由 、 和 卷積組成的 3 層殘差建構塊,其中 層用於壓縮和恢復特徵維度以降低計算複雜度。
- plain network (平原網路)
- 一種僅單純堆疊標準卷積層與池化層、不包含任何捷徑或殘差連接的基準卷積網路架構。
常見問題
為什麼退化問題不是由梯度消失引起的?
這些網路在訓練時採用了 Batch Normalization 與標準化權重初始化,經檢驗證實能確保前向傳播具有非零訊號變異數,且反向傳播具備正常的梯度範數。此外,像 plain-34 這樣的較深平原網路依然能收斂至具意義的解,只是其收斂後的訓練誤差高於較淺的網路。
ResNet 的恆等捷徑與 Highway Networks 有何不同?
Highway networks 使用具參數、依賴數據的門控函數,該門控可以關閉並使層轉為非殘差結構;而 ResNet 的捷徑是無參數的恆等映射且永不關閉,保證了全程的殘差學習。
何時使用投影捷徑而非恆等捷徑?
投影(使用 卷積)主要用於輸入和輸出特徵維度不匹配的情況(例如步長為 2 的通道倍增與空間解析度減半)。當維度匹配時,恆等映射已足夠、更節省運算,並能避免瓶頸單元的參數膨脹。
為什麼 ResNet-1202 在 CIFAR-10 上的表現比 ResNet-110 差?
ResNet-1202 是遭遇了過擬合,而非優化失敗。它成功達到了 的訓練誤差,但在缺乏如 dropout 等額外正規化技術的情況下,其 1940 萬參數對於小型的 CIFAR-10 資料集而言過於龐大。
本頁解讀由 AI 根據論文生成,可能有錯誤;細節請以原文為準。