在计算机视觉里,特征的“等级”随增网络深度的加深而变高,研究表明,网络的深度是实现好的效果的重要因素。然而梯度弥散/爆炸成为训练深层次的网络的障碍,导致无法收敛。
有一些方法可以弥补,如归一初始化,各层输入归一化,使得可以收敛的网络的深度提升为原来的十倍。然而,虽然收敛了,但网络却开始退化了,即增加网络层数却导致更大的误差, 如下图。
原文链接:https://blog.csdn.net/mao_feng/article/details/52734438
He等人提出了跳连的残差 (ResNet) 网络结构 (图 4), 它将浅层的特征信息与后面层进行融合, 生成新 的特征向后传递. 该方法有效保证了特征信息向深 层网络中传递, 提高了深层网络的性能.
的确,通过在一个浅层网络基础上叠加y=x的层(称identity mappings,恒等映射),可以让网络随深度增加而不退化。这反映了多层非线性网络无法逼近恒等映射网络。
但是,不退化不是我们的目的,我们希望有更好性能的网络。 resnet学习的是残差函数F(x) = H(x) - x, 这里如果F(x) = 0, 那么就是上面提到的恒等映射。事实上,resnet是“shortcut connections”的在connections是在恒等映射下的特殊情况,它没有引入额外的参数和计算复杂度。 ==假如优化目标函数是逼近一个恒等映射, 而不是0映射, 那么学习找到对恒等映射的扰动会比重新学习一个映射函数要容易。==从下图可以看出,残差函数一般会有较小的响应波动,表明恒等映射是一个合理的预处理。
https://blog.csdn.net/mao_feng/article/details/52734438
https://blog.csdn.net/lanran2/article/details/79057994