卷积神经网络原理,理解卷积神经网络( 二 )


3.1 大批量训练对于凸优化问题,随着批量的增加,收敛速度会降低 。人们已经知道神经网络会有类似的实证结果 [25] 。换句话说,对于相同数量的 epoch,大批量训练的模型与使用较小批量训练的模型相比,验证准确率会降低 。因此有很多方法与技巧都旨在解决这个问题:线性扩展学习率:较大的批量会减少梯度的噪声,从而可以增加学习率来加快收敛 。
学习率预热:在预热这一启发式方法中,我们在最初使用较小的学习率,然后在训练过程变得稳定时换回初始学习率 。Zero γ:注意 ResNet 块的最后一层可以是批归一化层(BN) 。在 zero γ启发式方法中,我们对所有残差块末端的 BN 层初始化γ=0 。因此,所有的残差块仅返回输入值,这相当于网络拥有更少的层,在初始阶段更容易训练 。
无偏衰减:无偏衰减启发式方法仅应用权重衰减到卷积层和全连接层的权重,其它如 BN 中的γ和β都不进行衰减 。表 4:ResNet-50 上每种有效训练启发式的准确率效果 。3.2 低精度训练然而,新硬件可能具有增强的算术逻辑单元以用于较低精度的数据类型 。尽管具备性能优势,但是精度降低具有较窄的取值范围,因此有可能出现超出范围而扰乱训练进度的情况 。
表 3:ResNet-50 在基线(BS = 256 与 FP32)和更高效硬件设置(BS = 1024 与 FP16)之间的训练时间和验证准确率的比较 。4 模型变体我们将简要介绍 ResNet 架构,特别是与模型变体调整相关的模块 。ResNet 网络由一个输入主干、四个后续阶段和一个最终输出层组成,如图 1 所示 。
【卷积神经网络原理,理解卷积神经网络】输入主干有一个 7×7 卷积,输出通道有 64 个,步幅为 2,接着是 3 ×3 最大池化层,步幅为 2 。输入主干(input stem)将输入宽度和高度减小 4 倍,并将其通道尺寸增加到 64 。从阶段 2 开始,每个阶段从下采样块开始,然后是几个残差块 。在下采样块中,存在路径 A 和路径 B 。路径 A 具有三个卷积,其卷积核大小分别为 1×1、3×3 和 1×1 。
第一个卷积的步幅为 2,以将输入长度和宽度减半,最后一个卷积的输出通道比前两个大 4 倍,称为瓶颈结构 。路径 B 使用步长为 2 的 1×1 卷积将输入形状变换为路径 A 的输出形状,因此我们可以对两个路径的输出求和以获得下采样块的输出 。残差块类似于下采样块,除了仅使用步幅为 1 的卷积 。我们可以改变每个阶段中残差块的数量以获得不同的 ResNet 模型,例如 ResNet-50 和 ResNet-152,其中的数字表示网络中卷积层的数量 。
图 1:ResNet-50 的架构 。图中说明了卷积层的卷积核大小、输出通道大小和步幅大小(默认值为 1),池化层也类似 。图 2:三个 ResNet 变体 。ResNet-B 修改 ResNet 的下采样模块 。ResNet-C 进一步修改输入主干 。在此基础上,ResNet-D 再次修改了下采样块 。表 5:将 ResNet-50 与三种模型变体进行模型大小(参数数量)、FLOPs 和 ImageNet 验证准确率(top-1、top-5)的比较 。
5 训练方法改进5.1 余弦学习率衰减Loshchilov 等人 [18] 提出余弦退火策略,其简化版本是按照余弦函数将学习速率从初始值降低到 0 。假设批次总数为 T(忽略预热阶段),然后在批次 t,学习率η_t 计算如下:其中η是初始学习率,我们将此方案称为「余弦」衰减 。图 3:可视化带有预热方案的学习率变化 。
顶部:批量大小为 1024 的余弦衰减和按迭代步衰减方案 。底部:关于两个方案的 top-1 验证准确率曲线 。5.2 标签平滑标签平滑的想法首先被提出用于训练 Inception-v2 [26] 。它将真实概率的构造改成:其中ε是一个小常数,K 是标签总数量 。图 4:ImageNet 上标签平滑效果的可视化 。

推荐阅读