3.2.3 ResNet网络模型

3.2.3 ResNet网络模型

通常,CNN的层数越多,识别效果就越好,但是这种情况在层数增加到一定程度后就会出现变化,此时继续增加模型的层数会使识别效果不增反减,这种情形称为梯度消失。为避免出现梯度消失问题,何凯明等人(HE K, et al.,2016)在2016年提出ResNet网络,ResNet网络的引入解决了传统神经网络中卷积层增加导致的梯度色散问题(范新磊,2022)。ResNet网络由两部分组成:残差映射(Residual Mapping)和恒等映射(Identity Mapping)。对于之前的网络,神经网络的层数越深,理论上表达能力越强,但当达到一定深度时,会导致梯度分散或梯度爆炸。尽管可以通过输入数据和中间层数据的归一化操作来训练具有数十层的网络,但会出现退化问题,即随着网络层数的增加,训练集上的精度达到饱和甚至降低。因此,为了解决上述问题,ResNet通过学习恒等的映射函数将模型保持为浅层网络。

ResNet网络结构如图3.13所示,红色虚线连接线为捷径连接(Shortcut)。增加捷径连接可以避免梯度消失问题,或者缓解精度饱和问题;同时,增加捷径连接可以减少更高的训练错误。因为捷径连接有效地简化了网络,在初始训练阶段使用了更少的层。所以捷径连接不仅没有增加计算复杂度,而且还减少信息传递过程中的参数量,大大提高模型特征提取和学习的效率,这正是ResNet的核心思想。

图3.13 残差单元结构

ResNet网络有18层、50层、101层等版本,最常用的是ResNet50网络模型,ResNet50网络模型名称来源和VGG16相同,数字都是表示网络层数,ResNet50网络模型由49层卷积层加1个全连接层组成,结构如图3.14所示。当一幅224*224*3的图像输入后,图像经过Zero Pad和Conv2d后提取到的大小是112*112*64的特征图,经由池化运算,将特征图降至56*56*64,经过Stage-2到Stage-5的运算后,得到7*7*2048的特征图,再由平均池化运算输出特征图,特征图此时大小是1*1*2048,然后经过全连接层运算到达Softmax分类器,最终得出图像的分类预测概率值。

图3.14 ResNet50网络模型结构图