为什么需要残差块
当cnn的层数多起来后,会让第一层收到的梯度强度变大。

模型不会因为梯度太大而突然"发疯",直接跳出最优解的范围。残差块通过把梯度控制在合理的量级,让模型能够活着 跑完训练。模型能更顺利地找到 Loss 的最小值,也就是收敛得更快、更准。同样的任务,ResNet 可能跑 10 轮就收敛了,而普通网络可能需要跑 100 轮(而且中间可能还会崩掉)。
数学表达
:输入(Identity,恒等映射/跳跃连接)。
:卷积支路(学习到的残差内容)。
:最终输出。
维度变化演练

残差块带来的"小"梯度,其实是"数值稳定性"的体现。
-
普通网络(无残差):梯度随层数指数级增长或衰减。50 层时已经失控(爆炸到了 18 万),导致模型无法训练。
-
残差网络 :梯度不再依赖于层数的连乘,而是有了一条"加法通道"。这让梯度保持在一个人类和计算机都能控制的范围内。