Zubnet AI學習Wiki › 殘差連接
基礎

殘差連接

別名:跳躍連接、捷徑連接

一種繞過一個或多個層的連接,透過將輸入直接加到輸出:output = layer(x) + x。每一層不需要學習完整的轉換,只需要學習「殘差」— 與恆等函數之間的差異。殘差連接存在於每個 Transformer 層中,是訓練深度網路的關鍵。

為什麼重要

沒有殘差連接,深度網路幾乎不可能訓練 — 梯度會在多層之間消失或爆炸。殘差連接提供了一條梯度高速公路,讓資訊(和梯度)可以直接從早期層流向後期層,繞過任意數量的中間轉換。這就是為什麼我們能夠訓練 100 層以上的網路。

深度解析

殘差連接在 ResNet(He 等人,2015 年)中被引入,解決了「退化問題」:更深的網路表現比淺層網路更差,不是因為過擬合,而是因為最佳化變得更困難。關鍵洞見是:學習 f(x) = 0(殘差什麼都不做,直接傳遞輸入)比學習 f(x) = x(完美地複製輸入)更容易。殘差連接使恆等函數成為預設,每一層只需要學習有用的修改。

在 Transformer 中

每個 Transformer 層應用兩個殘差連接:一個圍繞注意力子層(x + attention(x)),另一個圍繞前饋子層(x + ffn(x))。這意味著第 1 層的輸入有一條直接的加法路徑到第 32 層的輸出 — 它在每一步都被加回去。這個「殘差流」是機制可解釋性中的核心概念:每一層從這個共享的流中讀取並寫入,最終輸出是所有層貢獻的總和。

殘差流視角

將 Transformer 視為一個殘差流,各層從中讀取和寫入(而非序列管道),會改變你對架構的理解。注意力層在流中的不同位置之間移動資訊。FFN 層在每個位置轉換資訊。最終輸出是原始輸入加上所有層的所有修改。這個觀點解釋了為什麼你通常可以移除某些層而影響有限 — 即使跳過個別層,殘差流也能保留資訊。

相關概念

← 所有術語
← 歸納頭 池化 →