Skip to main content
QUICK REVIEW

[论文解读] Augment your batch: better training with larger batches

Elad Hoffer, Tal Ben‐Nun|arXiv (Cornell University)|Jan 27, 2019
Machine Learning and Algorithms参考文献 37被引用 50
一句话总结

批量增强(BA)通过对每个样本应用多重增强来扩大有效批量大小,从而在不改变学习率调度的情况下提升收敛速度和最终泛化能力。

ABSTRACT

Large-batch SGD is important for scaling training of deep neural networks. However, without fine-tuning hyperparameter schedules, the generalization of the model may be hampered. We propose to use batch augmentation: replicating instances of samples within the same batch with different data augmentations. Batch augmentation acts as a regularizer and an accelerator, increasing both generalization and performance scaling. We analyze the effect of batch augmentation on gradient variance and show that it empirically improves convergence for a wide variety of deep neural networks and datasets. Our results show that batch augmentation reduces the number of necessary SGD updates to achieve the same accuracy as the state-of-the-art. Overall, this simple yet effective method enables faster training and better generalization by allowing more computational resources to be used concurrently.

研究动机与目标

  • 在不进行超参数调优的情况下,激发大批量 SGD 的挑战与泛化下降的问题。
  • 提出批量增强作为一种简单的正则化器和加速器,在一个批次内对每个样本使用多个变换副本。
  • 从理论和经验角度分析 BA 如何影响梯度方差与收敛性。
  • 展示 BA 在 CIFAR-10/100、ImageNet 以及带有多种架构和硬件配置的语言模型上的有效性。

提出的方法

  • 通过为批次中的每个输入 x_n 创建 M 个增强实例 T_i(x_n) 来定义 BA,形成大小为 M·B 的有效批次。
  • 采用 BA 的更新规则:w_{t+1} = w_t - η / (M·B) ∑_{i=1}^M ∑_{n∈B(k(t))} ∇_w ℓ(w_t, T_i(x_n), y_n)。
  • 认为与标准大批量训练相比,BA 能降低梯度/海森矩阵的方差,减缓收敛到泛化差的极小值。
  • 给出理论讨论,将 λ_max(批量平均海森矩阵的最大特征值)与 SGD 收敛性联系起来,以及 BA 的相关梯度如何改变这一点。
  • 通过经验测量 BA 下的梯度相关性与方差,展示方差下降和训练动力学的改进。
  • 展示分布式 BA 的实现及在多 GPU 与 Cray 超级计算机系统上的可扩展性。

实验结果

研究问题

  • RQ1在不改变学习率调度的情况下,批量增强是否能改善大批量 SGD 的泛化?
  • RQ2BA 如何影响跨数据集和模型的梯度方差与 SGD 收敛景观?
  • RQ3在多 GPU 或多节点系统上,BA 能否在实现更大有效批量的同时保持或提升训练吞吐量?
  • RQ4BA 对标准基准如 CIFAR-10/100、ImageNet,以及在以 Dropout 作为中间增强的语言模型上的经验效果有哪些?

主要发现

Batch SizeThroughput [images/sec]Standard Deviation
129.90.07
253.90.71
487.80.31
8126.90.48
16172.50.29
32210.12.40
64234.40.12
128247.90.12
  • 与基线相比,BA 在多模型/数据集上获得更高的最终验证准确率(如 CIFAR-10/100、ImageNet、PTB)。
  • BA 提升每个时期的收敛速度,在较少的迭代(时期)内达到更高的准确率。
  • 在 CIFAR-10 的 ResNet44 和 Cutout 上,当 M 高达 40 时,BA 相比基线获得显著的准确率提升(例如 ResNet44:93.07% → 93.78%(M=40);Cutout:93.7% → 95.43%(M=40))。
  • ImageNet 实验表明 BA 提升了 ResNet50、MobileNet 和 AlexNet 的最终验证准确率,AlexNet 的绝对验证准确率提升超过 4 个点。
  • BA 使得能够扩展到较大的有效批量(例如 2,560),无需调节学习率调度,且运行时影响很小。
  • BA 在训练中降低梯度方差,表现为梯度范数下降和更新更稳定(L2 范数下降)。
  • 在语言建模(PTB)中,BA 结合基于 Dropout 的中间增强在困惑度上相对基线有 modest 改善(下降 0.2 点)。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。