[论文解读] Augment your batch: better training with larger batches
批量增强(BA)通过对每个样本应用多重增强来扩大有效批量大小,从而在不改变学习率调度的情况下提升收敛速度和最终泛化能力。
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 Size | Throughput [images/sec] | Standard Deviation |
|---|---|---|
| 1 | 29.9 | 0.07 |
| 2 | 53.9 | 0.71 |
| 4 | 87.8 | 0.31 |
| 8 | 126.9 | 0.48 |
| 16 | 172.5 | 0.29 |
| 32 | 210.1 | 2.40 |
| 64 | 234.4 | 0.12 |
| 128 | 247.9 | 0.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 生成,并经人工编辑审核。