0x00 亮点

  • 超深的网络结构(突破1000层)
  • 提出residual模块
  • 使用Batch Normalization加速训练(丢弃dropout)

0x01 Residual结构

ResNet学习笔记-萤火

如果residual前后特征图尺寸不一样:

ResNet学习笔记-萤火

0x02 Batch Normalization

目的:使我们的一批(batch)feature map满足均值为0,方差为1的分布规律

ResNet学习笔记-萤火

在验证时要冻结BN层(使用model.eval()),因为训练时方差和均值需要正向传播训练,验证时要用的时之前计算得到的

0x03 迁移学习

网络的浅层学习到的是比较通用的,可以将网络的浅层参数迁移到其他网络

ResNet学习笔记-萤火
  • 优势:
    • 能够快速地训练出一个理想的结果
    • 当数据集较小时也能训练出理想的效果
  • 注意:使用别人的预训练模型时,要注意别人的预处理方法
  • 常见的迁移学习方式:
    • 载入权重后训练所有参数
    • 载入权重后只训练最后几层参数
    • 载入权重后在原网络的基础上在添加一层全连接层,仅训练最后一个全连接层