Deep Residual Learning for Image Recognition(残差网络)
深度在神经网络中有及其重要的作用,但越深的网络越难训练。
随着深度的增加,从训练一开始,梯度消失或梯度爆炸就会阻止收敛,normalized initialization和intermediate normalization能够解决这个问题。但依旧会出现degradation problem:随着深度的增加,准确率会达到饱和,再持续增加深度则会导致准确率下降。这个问题不是由于过拟合造成的,因为训练误差也会随着深度增加而增大。
假定输入是x,期望输出是H(x),如果我们直接把输入x传到输出作为初始结果,那么我们需要学习的目标就是F(X)=H(x)-x。Resnet相当于将学习目标改变了,不再是学习一个完整的输出H(x),而是H(x)-x,即残差。
Shortcut connections:跳过一层或更多层。在论文中,short connection执行identity mapping,把之前层的outputs加到这些stacked layers的outputs,这既不会增加额外的参数也不会增加计算的复杂度。
论文中将plain network和residual network做比较,residual只是比plain多了一个shortcut connection。residual network解决了degradation。
DRN,deep residual network,同时解决了梯度消失问题。
如果增加的层能够增加identity mapping,更深的网络应该不会比对应的浅层网络的训练误差大。如果identity mapping是最优的,训练会驱使增加的非线性层的weight趋于0以靠近identity mapping。这是残差网络的思想。
使用resnet101层作为目标检测的特征提取层时,不是选择100层作为目标检测的特征提取层,而是选择前91层,因为前91层的total strides是16pixels
http://blog.csdn.net/junmuzi/article/details/53099819
http://blog.csdn.net/u014114990/article/details/50505331