殘差連接:深度學習史上最被低估的簡單 hack
殘差網絡是 21 世紀被引最多的論文,但它的真正貢獻不是加深網絡,而是發明了殘差流——一種工作記憶,讓模型能存儲和編輯信息,從而徹底改變了我們對神經網絡的理解。
核心論點 · 點時間戳可跳到原聲
深層網絡性能反而倒退
2015 年初,孫劍團隊用精心初始化把網絡加深到 30 層,但性能反而比 14 層差(錯誤率 16.59% vs 13.34%)。理論上,30 層模型可以通過恆等映射達到至少與 14 層相同的性能,但優化器找不到這種解。這暗示問題不在網絡容量,而在訓練過程本身。
梯度破碎是深層網絡的病根
通過損失地形可視化,發現隨著層數增加,早期層的損失面變得極其崎嶇,梯度方向像白噪聲一樣隨機,這被稱為「破碎梯度問題」。梯度是學習的核心信號,一旦失效,深層網絡就無法有效訓練。
殘差連接:一個近乎荒謬的簡單解
孫劍團隊的解決方案簡單到可笑:在每兩層之間,把輸入張量直接加到輸出上,形成跳躍連接。這為激活和梯度提供了直達路徑,有效消除了破碎梯度問題。加了跳躍連接的 74 層網絡,準確率從 38.9% 飆升到 72.6%,一舉橫掃 2015 年各大視覺競賽。
殘差網絡顛覆了層級表徵理論
康奈爾團隊發現,刪除甚至打亂 ResNet 的層,對性能影響很小。這與當時主流的層級表徵理論相悖——該理論認為每層都構建在前一層之上,刪除任何一層都應是災難性的。這迫使學界重新思考:ResNet 可能不是在學習層級特徵,而是在迭代地精煉一個貫穿網絡的「殘差流」。
殘差流:現代 AI 的隱藏骨幹
把跳躍連接拉直,可以看到數據從輸入到輸出有一條不間斷的流,每層只是在其上做增量修改。這個「殘差流」後來成為 Transformer 的核心設計,也是現代 AI 的基石。但要注意,後續研究證明 ResNet 既學習層級表徵,也精煉殘差流,兩者可以共存。
殘差流是模型的工作記憶
Meta 團隊發現,視覺 Transformer 的殘差流中,某些位置的激活值異常大,且集中在圖像不重要的區域。他們假設模型把這些位置當作「寄存器」,用來聚合全局信息。實驗證實:這些高激活位置的嵌入向量在圖像分類上表現驚人(85.2% vs 10.8%),而加入額外的「寄存器 token」後,模型就不再佔用圖像位置了。
原話 · 已逐字校驗
So if the 30 layer model was capable of achieving at least the same performance as the 14 layer model, then why couldn't the team's optimizers find these solutions?
如果 30 層模型至少能達到 14 層模型的性能,那為什麼優化器找不到這些解?
as depth increases, gradients in standard feed forward networks increasingly resemble white noise.
隨著深度增加,標準前饋網絡中的梯度越來越像白噪聲。
The solution GNS's team found is almost comically simple.
孫劍團隊找到的解決方案簡單到近乎滑稽。
Few ideas in the history of machine learning have had such a profound and rapid impact on the field, ultimately earning the ResNet paper more citations than any other paper in the 21st century.
在機器學習史上,很少有想法能產生如此深遠而迅速的影響,最終讓 ResNet 論文成為 21 世紀被引用最多的論文。
The model learns to recognize patches containing little useful information and recycles the corresponding tokens to aggregate global image information while discarding spatial information.
模型學會識別包含少量有用信息的圖像塊,並回收相應的 token 來聚合全局圖像信息,同時丟棄空間信息。
And it's so remarkable to me that in the absence of registered tokens, these models effectively learn to make their own by repurposing unimportant parts of the image.
令我驚歎的是,在沒有寄存器 token 的情況下,這些模型會通過重新利用圖像中不重要的部分,有效地自己製造出寄存器。
數字與實體
| 74 層網絡準確率 | 38.9% | 8:13 |
| 8 層網絡準確率 | 44.1% | 6:10 |
| 加入殘差連接後 74 層網絡準確率 | 72.6% | 19:19 |
| 高激活嵌入向量在 Cars 數據集上的準確率 | 85.2% | 29:28 |
| 非高激活嵌入向量在 Cars 數據集上的準確率 | 10.8% | 29:28 |
術語
- Residual stream殘差流
- 數據在網絡中從輸入到輸出的連續流動路徑,每層只做增量修改。
- Skip connection跳躍連接
- 將輸入張量直接加到層輸出上的操作,為梯度提供捷徑。
- Register tokens寄存器 token
- 額外加入的嵌入向量,用於存儲全局信息,避免佔用圖像位置。
- Shattered gradients problem破碎梯度問題
- 深度增加導致梯度像白噪聲一樣隨機,使訓練失效。
收聽指南
深度學習研究者、AI 工程師、對神經網絡底層機制好奇的技術愛好者。
贊助商 Jane Street 訪談段落(21:20-23:21)可跳過,不影響主線。