赞
踩
论文地址:Deep Residual Learning for Image Recognition
最近研究表明,增加网络的深度是至关重要的。于是增加网络的深度成了大家努力的方向,但是是否堆叠更多的层就一定能够训练出更好的结果呢?事实上并不一定,我们遇到的阻碍之一就是梯度消失和梯度爆炸。如果遇到了梯度消失和梯度爆炸,网络会很难收敛。不过使用normalization可以解决这个问题。但是新的问题来了,实验发现如果训练很深的网络,准确率会在陷入饱和后陡然下降,而这个准确率下降不是由过拟合引起的。并且给一个深度合适的网络增加更多的层也会导致更高的训练误差。这就是深度网络在训练中的退化问题,但是网络越深确实能够带来更多的表达力,每一层网络的学习调整可以适应更多的场景,所以我们还是要追求更深的网络结构。
于是作者提出一种深度残差框架来解决上面提到的退化问题,使用了一种shortcut connection的连接方式。
上图就是残差网络的基本组成单元,叫做Residual block。
A2=relu(A0+Z2)就是residual block的计算方式。
论文中提到这种连接方式既没有增加参数,也没有增加计算量,但是我觉得计算量还是有少量的增加,在A0+Z2处,不过相比卷积运算确实可以忽略不计。这个网络依然可以使用SGD进行端到端的训练。作者在ImageNet上进行了系统的实验,实验显示
作者已经成功训练出了超过100层的网络,也对超过1000层的网络做出了探索。并且残差网络在其他识别任务上也有不错的效果,说明残差学习原则是通用的。
比如一个三层的神经网络,如果简化忽略b,则
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。