背景:残差块里的细节
深度残差网络(deep residual network,ResNet)由残差块堆叠而成。一个残差块把输入送进几层网络算出变换,再把变换结果加回输入;与此同时,输入本身沿着一条跳跃连接(skip connection)绕过这个块。这样堆很多层,网络可以变得很深,因为信号有一条不必逐层穿过的通路。这篇论文于 2016 年 3 月 16 日首次提交到 arXiv,编号 1603.05027,作者是 Kaiming He、Xiangyu Zhang、Shaoqing Ren 和 Jian Sun[1]。它看的是这套安排里的细节:跳跃连接该算什么,非线性激活该放在哪里。作者分析了残差块背后的信号传播形式,看信号究竟怎样穿过一层层块[1]。
分析:恒等映射带来的直通路径
论文的结论是:当跳跃连接使用恒等映射(identity mapping)、激活放在相加之后时,前向和反向信号可以从任意一个块直接传到任意另一个块[1]。恒等映射的意思是跳跃连接什么都不改:从这条路径进来的东西原样离开这个块。如果跳跃连接要对输入做缩放,或者自己带一层变换,那么每个块都在信号通路上加了点东西,网络越深,信息就要反复穿过这些操作。
跳跃连接保持恒等,这条直通路径在两个方向上都是畅通的。前向上,某个块算出的表示几乎原样地出现在之后的任意一个块;反向上,用来训练前面各层的梯度也可以走同一条路,而不是只能穿过一层层堆叠的变换。每个块真正要学的仍然是它的残差,也就是在沿跳跃连接到达的信号之上所做的修正。
作者没有停在论证上。一系列消融实验(ablation experiments,即每次只改动一个设计选择的对照实验)支持了这些恒等映射的重要性[1]。
新的残差单元与实验结果
在这一基础上,作者提出了一个新的残差单元,并称它让训练更容易、泛化更好[1]。他们报告:1001 层的 ResNet 在 CIFAR-10 上错误率为 4.62%,在 CIFAR-100 上也有改进[1];此外还报告了 ImageNet 上的 200 层 ResNet[1]。
值得注意的是深度本身。上千层的网络远远超出普通堆叠层能训练好的范围;这个模型既能训练、又能泛化,正是残差思路想达到的极端情形。ImageNet 上的 200 层结果则说明,同一个单元在更常见、也更大的规模上同样成立。
为什么重要
这篇论文的重要性有两层。一是它给残差设计一个理由,而不只是一份配方:恒等映射的跳跃连接为前向和反向信号开出一条直通路径,这条路径正是很深的网络能够训练的原因。二是它把这个理由变成一条可以照做、也可以检验的设计规则——跳跃连接保持恒等,激活放在相加之后。消融实验是检验这类规则代价很小的办法,而这里实验得出的结论与分析的结论一致。
还有一点关于深度:只要跳跃连接是干净的,增加块数并不会自动让优化变难,这也是文中那些网络能做得这么深的原因。新单元的改动看起来只是在连接方式上动了很小的一处,但这种小改动往往决定一个很深的模型能不能训练起来。
注释与来源
- Identity Mappings in Deep Residual Networkshttps://arxiv.org/abs/1603.05027
引用本页: 深度残差网络中的恒等映射. TellWorld, https://www.tellworld.net/zh/papers/identity-mappings-2016. 更新于 2026-11-07