一、 引言
残差网络(ResNet)是何凯明在2015年提出的。可以说该网络模型的提出是CNN图像史上的里程碑事件。它解决了当时传统CNN网络发展所遇到的瓶颈——网络深度问题。当时,人们普遍认为网络的深度越深,网络的效果会越好。但是随着人们的研究发现,更深的网络居然会使得网络效果变差,这也就是网络的退化,而梯度消失则是导致网络退化的一个重要因素。何凯明提出的ResNet正是解决了问题,将14年VGG的19层网络提高到了ResNet惊人的152层,并且获得了更好的网络效果。

二、梯度消失:
当一个深层网络的激活函数全部采用sigmod函数时,会导致梯度消失的出现。可以从数学角度计算一下为什么会出现梯度消失(非严格证明)。
假设一个最简单的网络,如图。

其中,

更新梯度时:

sigmod函数的导数图像为:

由图像可知,
三、残差网络如何解决梯度消失:
残差网络是由许多具有相似结构的部分组成的,每一部分通常被称为“残差块”,如下图,其中F(x)表示残差函数。残差网络的精妙之处在于它把对于完整的输出的学习问题归结于对于残差的学习(Residual Learning)问题。何凯明有这样想法的灵感来源于如果只把浅层的输出做恒等映射(即F(X)=0)输入到深层,这样网络加深也并不会出现网络退化。所以,他在网络中加入了“短路”机制,并且这样不但解决了梯度消失问题,同时也提高了计算效率,可以从数学角度分析一下为什么会有这样的效果(非严格证明)。

与2中类似,设


.... .... ....

更新梯度时:

从结果可以看出,因为有“1”的存在,高层的梯度可以直接传递到低层,有效防止了梯度消失的情况。并且对比2中推出的公式可以发现,残差网络在更新梯度时把一些乘法转变为了加法,同时也提高了计算效率。
网友评论