深度學習 · 電腦視覺

ResNet 殘差網路

網路越疊越深,本該更強,卻反而更難訓練——ResNet 用一條「捷徑」讓資料原汁原味直達,深到 152 層也練得動。

殘差連接退化問題F(x)+x梯度捷徑50/101/152 層

💡一句話定義

ResNet(殘差網路)= 用殘差連接(skip connection / 捷徑)把輸入直接加到後面,讓某一段只需要學「差異」 F(x)、輸出為 F(x) + x。這條捷徑讓梯度能順暢回傳,使得很深的網路(50、101、152 層)也能有效訓練。

它是現代 CNN 的里程碑,也是影像分類與遷移學習最常用的骨幹(backbone)之一。

📉先搞懂:什麼是「退化問題」

直覺上「層數越多應該越強」,但實驗發現:把普通網路一直加深,訓練誤差反而先降後升——這不是過擬合(連訓練集都變差),而是退化(degradation):太深的網路變得難以優化、梯度也容易消失。ResNet 就是為了解決「深了反而練不動」這件事。

🏭用「工廠輸送帶」來想

把資料想成一件產品,要通過好幾關加工。傳統做法:只有一條單線道,產品被逼著連續重塑,每過一關就磨損一點,到最後「面目全非」、忘了原本長怎樣。ResNet:在上方架一條無損高速公路,讓 100% 原始資料直達終點;加工廠移到支線,只負責找出「還需要補的細節(殘差)」,再在合併點 (+) 貼回主線。有原文打底,疊 100 層也不怕壞。

🎮互動:單線道 vs 殘差高速公路

切換三種模式:① 傳統單線道(顏色一路磨損到灰)② 殘差高速公路(主線保留原文+支線補殘差)③ 注意力殘差(Transformer 的味道:保留原文+畫重點)。

工廠管線視覺化:為什麼我們需要殘差?
告別跳躍的虛線,看看資料到底是如何流動與加工的!
無損直達輸送帶 (保留 100% 原始資料) 保留區:傳送「完整的文章上下文」 + + + 第一關 (硬背) 第二關 (磨損) 第三關 (忘光) 原文 100% 輸出 面目全非

🧮殘差怎麼運作

一般網路要一層層學出目標映射 H(x)。ResNet 換個想法:讓這一段只學殘差 F(x) = H(x) − x,再把輸入 x 從捷徑加回來:

輸出 = F(x) + x  (F 是這一段要學的「差異」,x 從捷徑直達)

好處是:如果這一段的最佳解其實接近「什麼都別動」(恆等映射),那讓 F(x) 趨近 0 非常容易;反觀要一疊非線性層自己學出恆等映射卻很難。而且反向傳播時,梯度能順著捷徑(+x)直接回傳,緩解梯度消失。

為什麼 ResNet 這麼重要

🛣️梯度有捷徑
梯度沿 skip connection 直接回傳,深層也不易消失。
🏗️能訓練超深網路
ResNet-50/101/152 都練得動,突破深度瓶頸。
🧰骨幹 / 遷移學習
常拿預訓練的 ResNet 當 backbone 做微調。
🔁不只 CNN
Transformer 也大量用殘差+正規化,是通用技巧。

⚠️常見誤解:深 ≠ 一定更準

殘差連接解決的是「可訓練性」——讓很深的網路練得動,而不是保證「越深就越準」。太深的模型仍可能過擬合、運算成本也更重。深度是把雙面刃,要搭配資料量、正則化與任務需求來取捨。

自我檢測

Q1. ResNet 解決了什麼問題?
深層網路的「退化」——層數變多反而更難訓練、連訓練誤差都上升(優化困難+梯度消失)。ResNet 用殘差連接讓很深的網路也能有效訓練。
Q2. 殘差連接(skip connection)怎麼運作?
讓某一段只學殘差 F(x),輸出為 F(x)+x;捷徑把輸入 x 直接加到後面。前向保留原始資訊,反向梯度可沿捷徑回傳,緩解梯度消失。
Q3. 為什麼「學殘差」比「直接學」容易?
若最佳映射接近恆等,讓 F(x) 趨近 0 很容易;但要一疊非線性層自己學出恆等映射卻很難。所以殘差結構更好優化。
Q4. 殘差連接只用在 CNN 嗎?深就一定更好嗎?
不只 CNN,Transformer 也大量使用殘差+正規化。而且「深」解決的是可訓練性,不保證更準——太深仍可能過擬合、運算更重。

🎯重點整理

📝 iPAS 考點提醒

ResNet 是經典深度 CNN,用殘差連結突破越深越難訓練的瓶頸,iPAS 影像考點(中級科目一與三)。重點:殘差區塊讓梯度透過捷徑順暢回傳,使網路可達 50、101、152 層仍有效,是影像分類與遷移學習常用骨幹。易混點:深不等於一定好(會過擬合、運算重),殘差解決的是可訓練性而非自動更準。情境:遷移學習常用 ResNet 預訓練權重。

想練情境題與詳解 → AI 學習與考證地圖

❓ 常見問題

ResNet 解決了什麼問題?

深層網路常出現退化——層數變多反而更難訓練、誤差上升(梯度消失與優化困難);ResNet 用殘差連接讓很深的網路也能有效訓練。

殘差連接(skip connection)怎麼運作?

讓某層學殘差 F(x) 而非直接學目標,輸出為 F(x)+x;捷徑把輸入直接加到後面,梯度可順著捷徑回傳,緩解梯度消失。

為什麼學殘差比較容易?

若最佳映射接近恆等,讓 F(x) 趨近 0 比讓一疊非線性層學出恆等容易得多,殘差結構更好優化。

ResNet 有多深、影響是什麼?

可達數十到上百層(ResNet-50/101/152),讓更深更強的影像模型成為可能,是現代 CNN 的里程碑與常用骨幹(backbone)。

殘差連接只用在 CNN 嗎?

不只;Transformer 也大量使用殘差連接加正規化,是訓練深層網路的通用技巧。

🧭 相關主題

← 返回 AI 學習與考證地圖