--Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun
文章分析了 ResNet 中 Identity mapping 为什么比较好,为何能让梯度在网络中顺畅的传递而不会爆炸或消失,实验方面 1001层的 ResNet 在CIFAR10上4.62%的错误率,在CIFAR100和ImageNet上也做了实验。
先回顾下ResNet中的 Residual Units:
Residual Units可以如下表示:上图中的H与下面的h不是一个东西,别管上图了,从两篇文章截的图,有点不一样。
上面公式中:h 表示 shortcut 使用什么形式的变换(Resdual Net论文[1]中给出了A,B,C3种,最后用的 Identity map,也就是 h(x)= x,这篇文章进一步分析了 Identity map 为什么好)
F 是 residual function。F= y-h(x)
f 为Residual Units输出处使用的函数,[1] 中用的ReLU,即上图中最下面那个relu。
本文提出 f 也该用 Identity map。y 为原本应该拟合的输出。
Residual Net 核心思想是,去拟合残差函数 F (F = y - h(x)),选 h(x)=x 时效果最好。
本文分析得出:当 h(x) 和 f(y) 都取 Identity Map 时,signal could be directly propagated from one unit to any other units, in both forward and backward passes。这使训练更容易。
文章实验了各种 h(x) 的选择(Figure 2),发现 Identity map 是最佳选择,achieves the fastest error reduction and lowest training loss
右图虚线是训练误差,实线是测试误差。
当 h(x) 和 f(y) 都取 Identity Map 时,有
L 为 任意深的 Residual Units
公式(4)在反向求导的过程中有很好的特性:
公式(5)有两项:第一项直接把深层的梯度传递到任意浅层,可以看出浅层的梯度很难为0,应该括号内第二项不可能一直为 -1,所以不管参数多小,梯度也不会消失!
注意:[1] 中有些 Residual Units 会增加或减少 feature map 数量,上面的公式就不成立了,这种层在 CIFAR上只有2个,ImageNet上只有3个,取决于图片大小,作者认为对本文结论影响不大。
本节主要是说明 shortcut 取其他非 Identity map 的变换时,为什么不好。
1.如果时:
(6)
(8)
对比公式(8)和(5),第一项不再是 1 了,在很深的网络中,如果 λ>1,括号内第一项会很大,如果 λ<1,会很小或者消失,然后就堵塞了 shortcut,
反向传导的信号只能从第二项传递,网络优化会困难很多(因为第二项是复杂的非线性变换)
2.如果 h(x)取更复杂的变换,如 gating 或 1*1 卷积层 ,也会阻碍信号反向传播的通畅。
1. 110-layer ResNet on CIFAR-10 ,包含 54个2层的Residual Units(每层为3*3卷积层)。详细实现见 论文appendix
跑了5次,取了准确率的中值。
尽管之前的分析是基于 f 为 Identity 的,但是实验取的 f 为 ReLU as in [1],实验分别证明了 Figure 2中的所有 h(x)的选择都不如 Identity map :h(x)=x
实验详见论文。