殘差神經網路(Residual Neural Network,簡稱 ResNet) 是一種深度神經網路架構,主要用於解決深層網路訓練時的「梯度消失」與「退化問題」,使得網路可以堆疊更多層數且仍能有效學習。
主要概念
- 殘差學習(Residual Learning)
ResNet 引入了「殘差塊(Residual Block)」,透過「跳接(skip connection)」或稱「捷徑連接」,讓輸入 xx 可以直接繞過若干層,與這些層的輸出 F(x)F(x) 相加,形成輸出 y=F(x)+xy=F(x)+x。
這樣的設計讓網路不必學習完整的映射函數 H(x)H(x),而是學習「殘差函數」F(x)=H(x)−xF(x)=H(x)−x,使得深層網路訓練更穩定。 - 跳接(Skip Connection)
跳接允許梯度在反向傳播時直接流過,減少梯度消失問題,促進更深層網路的有效訓練。
ResNet 的優勢
- 解決深層網路退化問題
傳統深層網路隨著層數增加,訓練誤差反而上升(退化問題),ResNet 有效緩解此問題,讓更深層網路表現更佳。 - 易於優化
跳接讓梯度傳遞更順暢,訓練過程更快收斂。 - 提升準確度
ResNet 在影像識別等任務上,透過更深的網路結構,取得優異表現。
架構簡介
- ResNet 由多個殘差塊堆疊而成,每個殘差塊包含若干卷積層及跳接。
- 常見版本有 ResNet-18、ResNet-34、ResNet-50、ResNet-101、ResNet-152,數字代表層數。
- ResNet-50 以後的版本通常使用「瓶頸結構(bottleneck block)」來減少計算量。
運作流程簡述
- 輸入資料經過卷積層與池化層提取特徵。
- 進入殘差塊,輸入 xx 經過卷積層產生 F(x)F(x),並與 xx 直接相加。
- 輸出傳遞到下一層殘差塊或全連接層。
- 最終輸出用於分類或其他任務。
應用範圍
- 影像分類、物體偵測、語意分割等電腦視覺任務。
- 也被廣泛應用於自然語言處理(如 Transformer 架構中的殘差連接)、語音識別等領域。
總結
ResNet 透過殘差學習與跳接機制,成功解決深層神經網路訓練中的梯度消失與退化問題,使得超深層網路得以有效訓練並提升性能,成為深度學習中重要且經典的架構之一。