六、ResNet

论文导读

研究意义:

1、简洁高效的ResNet收到工业界宠爱,自提出以来已经成为工业界最受欢迎的卷积神经网络;

2、近代卷积神经网络的里程碑,突破千层网络,跳连结构称为标配;

论文概要

  • 残差结构(最重要的概念)

150字介绍ResNet的原理 resnet网络的优点_神经网络

通过该结构,网络层拟合的是F(x),使得更容易学习到恒等映射;

恒等映射是为了让深层网络不比浅层网络差,解决网络退化问题;

  • 网络退化
    越深的网络拟合能力越强,因此越深的网络误差应该越低,但实际相反;
    原因:并非过拟合,而是网络优化难;
  • 跳连结构链接策略

1、全零填充:维度增加的部分采用零来填充;

2、网络层映射(最终采用):当维度不匹配时,用卷积层将特征图映射到相同维度;

3、所有的Shortcut均通过网络层映射(1x1卷积);

优点:恒等映射使得梯度畅通无阻的从后向前传播,使得网络加深;

  • ResNet结构共性

1、头部迅速降低分辨率;

2、4阶段残差结构堆叠;

3、池化+FC层输出;

  • 残差结构堆叠的两种方式

Basic:两个3x3卷积堆叠;

Bottleneck:利用1x1卷积减少计算量;(第一个1x1下降四分之一通道,第二个1x1恢复)

  • 预热训练

避免一开始较大学习率导致模型的不稳定,因而一开始训练时用较小的学习率训练一个epochs,然后恢复正常学习率;

  • ResNet网络结构图

论文总结

  • 关键点:

引入shortcut connection,让网络信息有效传播,梯度反向传播顺畅,使得千层网络都可以收敛;

(shortcut connection == skip connection == identity mapping)

  • 启发点:

1、大部分的梯度消失与爆炸的问题,可通过良好的初始化或者中间层的标准化来解决;

2、shortcut connection有很多种方式,本文主要用恒等映射,即什么也不做操作的往后传播;

3、恒等映射的shortcut connection是从网络退化问题中启发得来的;

4、模型集成采用6中不同深度的ResNet结构,可以借鉴其思路;

5、预热训练,采用较小学习率训练第一个epochs,加速模型收敛;

6、在cifar-10数据集下,ResNet-1202层比110层要差,原因是过拟合不是网络退化;

论文代码

一些关键代码部分:

shortcut connection 的B策略,当分辨率变化时,采用1*1卷积进行变换特征图分辨率

if stride != 1 or self.inplanes != planes * block.expansion:
    downsample = nn.Sequential(
    conv1x1(self.inplanes, planes * block.expansion, stride),
    norm_layer(planes * block.expansion),
    )

其他代码部分比较简单,具体关注两个块结构的定义;

问题思考

使用预训练模型的好处:

采用预训练模型目的是加快新任务的模型训练,预训练权重有良好的权重分布,可以弥补小数据无法训练大模型的缺点;