image.png 各位老師、同學,大家好!今天,我要為大家帶來一篇計算機視覺領域的里程碑式論文 ——《用於圖像識別的深度殘差學習》(Deep Residual Learning for Image Recognition)的精讀彙報。接下來,我會按照 “總體到細分” 的思路,從論文背景、核心問題、創新方法,再到實驗驗證與應用價值,逐步為大家拆解這篇論文的精華內容,希望能讓大家清晰理解殘差網絡(ResNet)的核心邏輯與重大意義。

image.png

在正式進入論文內容前,我們先認識一下這篇重磅論文的核心作者團隊。團隊成員均來自微軟亞洲研究院,堪稱 “羣星雲集”:

  • 何愷明(Kaiming He),大家應該很熟悉,他是 2003 年廣東高考狀元,後續還提出了 Mask R-CNN、Group Normalization 等經典成果,現在也是曠視研究院院長,在計算機視覺領域影響力深遠;
  • 張祥雨(Xiangyu Zhang),ShuffleNet 的作者,在輕量化網絡設計上貢獻突出;
  • 任少卿(Shaoqing Ren),Faster R-CNN 的第一作者,是目標檢測領域的關鍵研究者;
  • 孫劍(Jian Sun),不僅是首個深度學習博士,還曾擔任曠視研發負責人、Momenta 合夥人,在多個前沿方向有深入探索。

這篇論文發表於 2015 年,最終在 2016 年的 CVPR 會議上呈現,並一舉斬獲當年的 CVPR 最佳論文獎 —— 要知道 CVPR 是計算機視覺領域的頂會,最佳論文代表了該領域年度最具突破性的成果,這也從側面印證了這篇論文的分量。

image.png 那麼,ResNet 到底取得了怎樣的成績,能讓它獲得如此高的認可呢?答案就藏在 2015 年 ILSVRC 和 COCO 兩大國際競賽的結果裏。在這兩項賽事的所有五個主要賽道中,ResNet 全部拿下了第一名:

  • 圖像分類賽道(ImageNet Classification),團隊用了 “超深” 的 152 層網絡,打破了當時的性能紀錄;
  • 目標檢測(ImageNet Detection)比第二名準確率高 16%,圖像定位(ImageNet Localization)比第二名高 27%;

即便是在 COCO 數據集的檢測和分割任務上,也分別比第二名高出 11% 和 12%。 這樣全面且大幅的性能領先,在當時的競賽中是非常罕見的,也直接奠定了 ResNet 在深度學習領域的地位。

image.png 在 ResNet 出現之前,深度學習領域有一個普遍的 “直覺”:既然深度網絡能提取更復雜的特徵,那是不是網絡層次越深,模型效果就越好?我們從這張 “深度革命” 的圖表裏就能清晰看到這個趨勢。

從 2010 年到 2015 年,ILSVRC 圖像分類任務的 top-5 誤差一直在下降:2012 年 AlexNet 用 8 層網絡將誤差降到 16.4%;2014 年 VGG 用 19 層網絡降到 7.3%,GoogleNet 也用 22 層網絡達到了 6.7%;而到 2015 年,ResNet 直接用 152 層網絡將誤差壓到了 3.57%。

這組數據直觀地證明,隨着網絡深度從淺層(8 層)逐步增加到超深層(152 層),模型對圖像的分類精度在持續提升,也讓 “深度帶來更好效果” 的直覺得到了驗證。但這裏其實藏着一個關鍵問題 —— 當網絡深到一定程度時,真的能一直 “深” 得其所嗎?這就是我們接下來要講的核心矛盾。

image.png 剛才我們説 “深度越好”,但論文團隊在實驗中卻發現了一個反直覺的現象 ——網絡退化。什麼是網絡退化?簡單説就是:當網絡層數超過某個閾值後,不僅測試誤差會上升,連訓練誤差也會跟着上升,模型性能不升反降。

大家看這張圖:藍色曲線是 20 層的普通網絡(Plain net),紅色曲線是 56 層的普通網絡。不管是訓練集還是測試集,56 層網絡的誤差都比 20 層更高 —— 按理説 56 層能學習更復雜的特徵,怎麼反而擬合能力變弱了?

這裏要説明的是,這種退化不是過擬合導致的(過擬合是訓練誤差低、測試誤差高),而是普通網絡在深度增加時,優化難度急劇上升,甚至無法擬合訓練數據。這就成了當時深度學習發展的一個 “瓶頸”:想通過加深網絡提升性能,卻被 “退化問題” 攔住了路。

image.png

為了解決網絡退化問題,論文團隊提出了核心創新 ——殘差模塊(Residual Block),而模塊的關鍵就是 “短路連接(Shortcut Connection)”,也叫 “恆等映射(Identity Mapping)”。 我們先看左側的殘差模塊結構:輸入是 X,首先經過兩個帶 ReLU 激活的權重層,學習到一個 “殘差函數” F (x);然後,通過一條 “短路”,把原始輸入 X 直接接到兩個權重層的輸出端,和 F (x) 做加法,最後再經過一個 ReLU 激活,得到模塊的最終輸出 Y=F (x)+X。 這裏有兩個關鍵點要理解:

  1. 普通網絡是直接學習 “目標映射 H (x)”,而 ResNet 是學習 “殘差映射 F (x)=H (x)-X”—— 也就是説,網絡只需要學習 “原始輸入 X 到目標輸出 H (x) 的差值”,優化目標更簡單了;
  2. 短路連接的作用是 “保底”:如果當前層的最優映射就是 “不做任何修改”(即 H (x)=X),那殘差模塊只需要讓 F (x) 學習到 0 就行,不需要再費力擬合恆等映射。這就保證了 “深層網絡至少不會比淺層網絡差”—— 畢竟實在不行,深層的殘差模塊可以直接 “複製” 淺層的特徵,不會拖後腿。 右側的普通網絡結構剛好做對比:它沒有短路連接,只能讓權重層直接學習 H (x),當網絡變深時,就很難擬合恆等映射,最終導致退化。

image.png

為了驗證殘差模塊的有效性,團隊首先做了 “帶殘差” 和 “不帶殘差” 的對比實驗,實驗數據來自 ImageNet 和 CIFAR-10 兩個經典數據集。 左圖展示了 3 種網絡的結構差異:VGG-19、34 層普通網絡(34-layer plain)、34 層殘差網絡(34-layer residual)的分層(block1-5)設計,以及殘差網絡特有的 “短路連接”(右側紅色箭頭)。 表格是圖的直接對比,它對比了 ResNet 和 VGG-19 的關鍵指標:VGG-19 只有 19 層,計算量卻高達 19.6B FLOPs;而 34 層的 ResNet 計算量只有 3.6B,不僅更深,還更輕量化。這説明殘差模塊不僅解決了退化問題,還兼顧了效率。 另外要補充的是,殘差連接在 “維度不一致” 時的處理策略:如果輸入 X 和殘差 F (x) 的維度不同(比如下采樣導致特徵圖尺寸縮小),有兩種方案:

  • 策略 A:用零填充補全 X 的維度,沒有額外參數;
  • 策略 B:用 1×1 卷積 “投影” X,匹配 F (x) 的維度,會引入少量參數; 後續實驗會告訴我們,策略 B 的效果比 A 好,因為零填充會丟失部分信息。

image.png 在驗證了殘差模塊的有效性後,團隊基於 ImageNet 數據集,設計了不同層數的 ResNet 架構,從 18 層到 152 層,覆蓋了 “基礎版” 和 “超深版”。 這張表格詳細列出了各層的結構:

  • 所有 ResNet 都以 “7×7 卷積 + 3×3 最大池化” 開頭,最後以 “全局平均池化 + 1000 類全連接 + Softmax” 結尾;
  • 中間分為 conv2_x 到 conv5_x 四個階段,每個階段由多個殘差模塊堆疊而成 —— 比如 18 層 ResNet 的每個階段分別有 2 個模塊,34 層則分別有 3、4、6、3 個模塊;
  • 特別要注意的是 50 層、101 層、152 層的 ResNet,它們用的是 “瓶頸模塊(Bottleneck Block)”—— 通過 1×1 卷積先降維、再用 3×3 卷積提取特徵、最後用 1×1 卷積升維,這樣能在加深網絡的同時,大幅減少參數量和計算量(比如 152 層 ResNet 的計算量是 11.3B,比 VGG-19 還低)。 這種 “極簡且高效” 的設計,是 ResNet 能廣泛應用的重要原因 —— 既支持淺層輕量化模型(18/34 層),也能構建超深高精度模型(50/101/152 層),滿足不同場景需求。

image.png 深入 ImageNet 實驗,用具體數據對比 “普通網絡” 和 “ResNet” 的性能差異。 先看左上角的表格:18 層普通網絡的 top-1 誤差是 27.94%,34 層普通網絡反而升到 28.54%,退化問題很明顯;而 ResNet 剛好相反,34 層的 top-1 誤差(25.03%)比 18 層(27.88%)低,深度帶來了性能提升。 再看右側的誤差曲線,和之前的實驗一致:左側普通網絡 34 層誤差高於 18 層,右側 ResNet 34 層誤差低於 18 層。而且要強調的是,ResNet 在 “沒有增加額外參數” 的前提下,實現了性能反超 —— 因為殘差模塊的短路連接沒有引入新的權重,只是增加了加法操作,計算成本極低。 這組實驗徹底證明:殘差模塊不是 “靠增加參數提升性能”,而是通過 “優化目標簡化” 和 “短路連接”,解決了普通網絡的退化問題,讓深層網絡的優勢真正發揮出來。

image.png 剛才我們提到,當殘差模塊需要 “下采樣”(比如特徵圖尺寸縮小、通道數增加)時,輸入 X 和殘差 F (x) 的維度會不一致,這時候該怎麼處理短路連接?團隊對比了三種方案: 首先看左側的模塊差異:普通殘差模塊(用於 18/34 層)是 “兩個 3×3 卷積”,而瓶頸模塊(用於 50/101/152 層)是 “1×1 卷積降維→3×3 卷積提特徵→1×1 卷積升維”—— 瓶頸模塊的核心是用 1×1 卷積減少參數量,比如 256 維輸入先降到 64 維,再用 3×3 卷積計算,最後升回 256 維,計算量比直接用 3×3 卷積小很多,這也是超深 ResNet 能實現的關鍵。 再看三種短路連接方案:

  • 方案 A:所有短路連接都用恆等映射,維度不夠時用零填充 —— 優點是無額外參數,缺點是零填充會丟失信息;
  • 方案 B:普通模塊用恆等映射,下采樣模塊用 1×1 卷積投影匹配維度 —— 平衡了性能和參數;
  • 方案 C:所有短路連接都用 1×1 卷積 —— 性能最好,但參數最多,成本較高。 表格數據給出了結論:
  • 不管 A、B、C,都比普通 34 層網絡(top-1 誤差 28.54%)好,説明殘差連接的核心作用不是 “維度匹配”,而是 “解決退化”;
  • B 比 A 好(24.52% vs 25.03%),證明零填充會損失信息,1×1 卷積投影更有效;
  • C 比 B 略好(24.19% vs 24.52%),但優勢不大,所以團隊最終選擇方案 B 作為默認設計(比如 ResNet-50/101/152 都用方案 B),兼顧性能和效率;
  • 超深的 ResNet-152 top-1 誤差只有 21.43%,比 VGG-16(28.07%)和 GoogLeNet(24.27%)都顯著更優。

image.png 除了 ImageNet,團隊還在 CIFAR-10 數據集上做了實驗,目的是驗證 ResNet 能否穩定訓練 “極深網絡”—— 不是為了單純刷分,而是證明 ResNet 的 “深度擴展性”。 CIFAR-10 是 32×32 的小尺寸圖像數據集,團隊設計的 ResNet 從 20 層到 1202 層,覆蓋了不同深度。先看右側的誤差曲線:普通網絡 110 層誤差已經很高,無法訓練;而 ResNet 不管是 20 層、56 層、110 層,還是 1202 層,訓練誤差和測試誤差都在持續下降 ——1202 層的測試誤差只有 6.43%,比 20 層的 8.75% 更低。 再看錶格中的對比:當時其他方法(如 Maxout、Highway)的誤差都在 7.5% 以上,而 ResNet-110 的誤差只有 6.97%,1202 層更是降到 6.43%。更關鍵的是,ResNet 的參數量控制得很好:20 層只有 0.27M 參數,110 層也只有 1.7M,遠低於其他方法 —— 這説明 ResNet 不僅能做 “極深”,還能做 “高效”。 這個實驗的核心結論是:Deep ResNets 可以無困難地訓練(without difficulties),而且更深的 ResNet 不僅訓練誤差更低,測試誤差也更低 —— 徹底打破了 “深度增加導致退化” 的魔咒。

image.png 為了從本質上解釋 ResNet 為什麼能解決退化問題,團隊分析了 “網絡每層的響應分佈”—— 這裏的 “響應” 指的是 “非線性激活前的特徵值標準差”,標準差越大,説明該層對輸入信號的 “修改幅度” 越大。 先看上圖(按層的原始順序排列):

  • 普通網絡(plain-20、plain-56):越靠近輸入層,響應標準差越大,越往後反而越小 —— 這説明信號在傳遞過程中被 “過度修改”,到深層時信號已經很弱,無法有效傳遞;
  • ResNet(20 層、56 層、110 層):各層的響應標準差更平緩,尤其是深層,響應沒有明顯衰減 —— 這説明短路連接讓原始信號能 “無損傳遞”,深層依然能拿到有效的輸入信息。 再看下下圖(按響應強度排序):ResNet 的響應整體比普通網絡小 —— 這説明 ResNet 的層不需要對信號做 “大幅修改”,只需要學習微小的殘差,優化難度自然更低。 這張圖從數據上印證了 ResNet 的核心邏輯:短路連接讓信號穩定傳遞,殘差學習讓優化目標簡化,兩者結合,才讓超深網絡的訓練成為可能。

image.png ResNet 的價值不僅在於解決了退化問題,更在於它強大的 “遷移能力”—— 可以作為 “骨幹網絡(Backbone)”,輕鬆適配到不同的任務中,成為計算機視覺領域的 “基礎工具”。 我們從這張表格和示意圖來看 ResNet 的應用場景:

  1. 視覺識別(核心領域):圖像分類是 ResNet 的 “起點”,但後續在目標檢測(如 Faster R-CNN 用 ResNet 做特徵提取)、圖像分割(如 Mask R-CNN)、姿態估計等任務中,ResNet 都成為了默認骨幹 —— 因為它提取的特徵魯棒性強,能為下游任務提供很好的基礎;
  2. 圖像生成:在生成對抗網絡(GAN)、風格遷移中,ResNet 作為特徵提取器,能捕捉到圖像的細節紋理和全局結構,幫助生成更逼真的圖像;
  3. 自然語言處理:雖然 ResNet 是為圖像設計的,但深層 CNN 的結構可以遷移到文本處理中 —— 比如把文本轉換成 “字符圖像” 或 “詞嵌入矩陣”,用 ResNet 捕捉長距離的上下文依賴,應用於文本分類、情感分析;
  4. 語音識別:將音頻信號轉換成頻譜圖(類似圖像的二維數據),用 ResNet 提取頻譜特徵,提升語音識別的準確率;
  5. 廣告與用户預測:在推薦系統、點擊率預測中,把用户的歷史行為(如瀏覽記錄、點擊序列)轉換成 “行為矩陣”,用 ResNet 學習用户偏好特徵,提升預測精度。 可以説,ResNet 的出現,為多個 AI 領域提供了 “高效的深層特徵提取方案”,推動了整個深度學習的發展。

image.png

最後,我們用三個核心點總結 ResNet 的貢獻與優勢:

  1. 深度與訓練效率的平衡:ResNet 在深度大幅增加(從 18 層到 152 層)的同時,沒有增加額外參數(相比同層數普通網絡),而且訓練誤差能持續下降,收斂速度更快 —— 解決了 “深層網絡難訓練” 的核心痛點;
  2. 高效的瓶頸結構:通過 “1×1 卷積降維 - 3×3 卷積提特徵 - 1×1 卷積升維” 的瓶頸模塊,ResNet 在追求超深結構(如 152 層)時,計算複雜度反而低於更淺的 VGG 網絡(152 層 ResNet 計算量 11.3B,VGG-19 是 19.6B)—— 實現了 “深度” 與 “效率” 的雙贏;
  3. 強大的泛化與遷移能力:ResNet 學到的特徵表示具有極強的通用性,不僅在圖像分類任務上表現優異,還能輕鬆遷移到目標檢測、分割、生成,甚至 NLP、語音等跨領域任務中,成為 AI 領域的 “基礎骨幹網絡”,影響至今。 ResNet 的意義,不僅在於提出了一個新的網絡結構,更在於它打破了 “深度網絡退化” 的瓶頸,為後續超深網絡(如 ResNeXt、EfficientNet)的發展提供了核心思路,是深度學習發展史上的一個重要里程碑。 image.png 我的彙報到此結束,感謝大家的聆聽!