Identity Mappings in Deep Residual Networks

Residual-networks可以看作是highway-networks的特殊版本,特别是“Identity mappings in deep residual networks.”,下面详细介绍该论文。
,
, 其中,为残差函数。
ResNet的核心思想是学习一个加性残差函数,其中关键的一个点就是函数为identity mapping:,其等同于添加一个恒等映射的shortcut。上式中和同时为恒等映射时,信号在前向传播和后向传播的过程中,可以直接从一个神经单元传递到另一个神经单元。实验证明满足上述条件时,模型将会更容易训练之收敛。
当和同时为恒等映射时,上述公式可变换为


其中,为网络层数。上式具有一个非常好的性质,即特征可以表示为加上一个残差项。
上式进行反向梯度计算时

可以被分解为两部分:
第一项可以直接传递,无需关心任何权重层;
另一项通过权重层进行传递。在一个mini-batch中,通常该项不会常常为-1,因此当权重非常小时,也不会发生梯度消失。
下面考虑另一种形式的skip-connection:


其中是一个标量,因此上式可以推导为

反向传递时,梯度计算有
\frac{\partial {\bf{\varepsilon}}}{\partial {\bf{x}}_l}=\frac{\partial {\bf{\varepsilon}}}{\partial {\bf{x}}_L}(\prod\limits_{i=l}^{L-1}\lambda_i+\frac{\partial}{\partial {\bf{x}}_L}\sum\limits_{i = l}^{L-1}\widehat{F}({\bf{x}}_i, {\bf{w}}_i))
可以看出与identity mapping的区别在于,当时,该项会非常大;而时,该项将非常小。这样的特性将会导致模型非常难以收敛。



constant scaling:实验证明,该方式会导致模型不能收敛
exclusive gating:当1-g(x)接近1时,gated shortcut的作用类似于identity mapping;但是g(x)接近于0,将会抑制残差函数。
Shortcut-only gating:对shortcut添加一个gate控制信息的传递,但是实验发现该方式的效果很差
1×1 convolutional shortcut:采用卷积替代恒等映射,层数较少时,该方式是有用的;但是层数较高时,该方式仍然会阻碍信号的传递。
Dropout shortcut:在shortcut之后,进行dropout。但是实验证明该效果较差。
上述的实验证明,给shortcuts添加scaling、gating、1 x 1 convolutions和dropout将会阻碍梯度的传递,不利于模型的优化。
值得注意的是,shortcut-only gating和1 x 1 convolutions会带来更多的参数,理论上讲会有更强的表征能力;事实上shortcut-only gating和1 x 1 convolutions包含了identity shortcut空间,然后模型误差却更高,这也暗示着模型性能的下降是由优化问题导致的,而不是表征能力。


BN after addition:首先在identity mapping与残差相加之后,对函数f定义为batch normalization和relu。但是从结果来看,效果比baseline差。与原始的设计不同,batch normalization层改变了信号的传导,最终阻碍了信息的传递。
ReLU before addition:另一个较为直接的尝试是,在求和之前对残差函数求relu,然后这样的改变会导致残差函数的输出值非负,而残差函数本质上应该是介于
之间,最终将会导致前向传播处于单调递增。从实验结果来看,该效果要差于baseline。
ReLU-only pre-activation:在残差函数之前添加激活函数Relu,从实验结果来看,效果与原始结构效果相近。Relu没有用在BN层之后,从而没有获得BN带来的效果。
Post-activation or pre-activation?:在激活函数之前或者之后,同时嵌入BN和Relu却带来了更有的效果

参考文献

  • Identity Mappings in Deep Residual Networks

你可能感兴趣的:(Identity Mappings in Deep Residual Networks)