本文共 894 字,大约阅读时间需要 2 分钟。
本文主要针对ResNet-50对深度残差网络进行一个理解和分析
ResNet已经被广泛运用于各种特征提取应用中,当深度学习网络层数越深时,理论上表达能力会更强,但是CNN网络达到一定的深度后,再加深,分类性能不会提高,而是会导致网络收敛更缓慢,准确率也随着降低,即使把数据集增大,解决过拟合的问题,分类性能和准确度也不会提高。Kaiming大神等人发现残差网络能够解决这一问题。这里首先放上一张ResNet的各种网络结构图(图1): 重点说明一下ResNet-50,可以看到图1中所示,ResNet-50经过了4个Block,每一个Block中分别有3,4,6,3个Bottleneck,这里给出了一张自己制作的网络图,我觉得这张图足够解释清楚ResNet-50(图2): 现在来看一下这个网络图,到此即将进入第一个实线方框中,图1中结构所示,第一个实线方框中本来应该有3个Bottleneck,图2作者只画出两个,其实每一个Bottleneck里面包含两种Block,第一种是Conv Block,一种是Identity Block。
首先说说Conv Block,也就是第一个实线方框中虚线连接的三层: 可以看到,总体的思路是先通过1×1的卷积对特征图像进行降维,做一次3×3的卷积操作,最后再通过1×1卷积恢复维度,后面跟着BN和ReLU层;虚线处用256个1×1的卷积网络,将maxpool的输出降维到255×56×56。 再说Identity Block, 也就是实线连接所示,不经过卷积网络降维,直接将输入加到最后的1×1卷积输出上。经过后面的Block,经过平均池化和全连接,用softmax实现回归。
对卷积、特征图、通道等理解可以参考:
转载地址:http://jhdlf.baihongyu.com/