残差原理
网络退化(degradation):因为梯度弥散等原因,在不断加神经网络的深度时,模型准确率会先上升然后达到饱和,再持续增加深度时则会导致准确率下降。
残差网络ResNet的出现就是为了解决网络深度变深以后的性能退化问题。
ResNet的灵感来源:假设现有一个比较浅的网络(Shallow Net)已达到了饱和的准确率,这时在它后面再加上几个恒等映射层(Identity mapping 即y=x 输出等于输入),这样就增加了网络的深度,并且起码误差不会增加,即更深的网络不应该带来训练集上误差的上升。
某段神经网络的输入是x 期望输出是H(x) ,即H(x)是期望的复杂潜在映射,学习这样的模型,训练难度会比较大。
回想前面的假设,如果已经学习到较饱和的准确率(或者当发现下层的误差变大时),那么接下来的学习目标就转变为恒等映射的学习,也就是使输入x近似于输出H(x) ,以保持在后面的层次中不会造成精度下降。
通过“跳跃连接”(skip)的方式 直接把输入x传到输出作为初始结果,输出结果为 H(x)=F(x)+x。当 F(x)=0 时,那么 H(x)=x,也就是上面所提到的