背景

分类竞赛至今,产生了一系列的优秀骨干特征网络,从2014年经典的alexnet到vgg,resnet和densenet,乃至最新谷歌的EfficientNet,个人发现基本目前大多数模型都会选择resnet网络作为前置网络进行训练和推理。

 

resnet网络

resnet50是cnn吗 resnet50和resnet18_resnet50是cnn吗

主流采用的有ResNet18,ResNet34,ResNet50,ResNet101等。数字代表的是网络的深度,也就是说ResNet18 网络就是指定的是带有权重的 18层,主要是包括卷积层和全连接层,不包括池化层和BN层。扩大卷积神经网络被广泛用于获得更好的精度。例如,ResNet可以通过使用更多的层从ResNet-18扩展到ResNet-200。

 

                                                               resnet18和resnet50
 

            

resnet50是cnn吗 resnet50和resnet18_网络层_02

           

resnet50是cnn吗 resnet50和resnet18_网络层_02

其中瓶颈模块作为残差模块和Inception模块一样希望能够降低计算消耗。从表中可以看到,对于18-layer和34-layer的ResNet,其进行的两层间的残差学习,当网络更深时,其进行的是三层间的残差学习,三层卷积核分别是1x1,3x3和1x1。“瓶颈(BottleNeck)”模块通过使用1x1 conv来巧妙地缩减或扩张feature map维度从而使得我们的3x3 conv的filters数目不受外界即上一层输入的影响,自然它的输出也不会影响到下一层module。不过它纯是为了节省计算时间进而缩小整个模型训练所需的时间而设计的,对最终的模型精度并无影响。

 

神经网络的退化才是难以训练深层网络根本原因所在,而不是梯度消散。虽然梯度范数大,但是如果网络的可用自由度对这些范数的贡献非常不均衡,也就是每个层中只有少量的隐藏单元对不同的输入改变它们的激活值,而大部分隐藏单元对不同的输入都是相同的反应,此时整个权重矩阵的秩不高。并且随着网络层数的增加,连乘后使得整个秩变的更低。

这也是我们常说的网络退化问题,虽然是一个很高维的矩阵,但是大部分维度却没有信息,表达能力没有看起来那么强大。

残差连接正是强制打破了网络的对称性。