[论文解读] Large Batch Training of Convolutional Networks
本文提出 Layer-wise Adaptive Rate Scaling (LARS) 以实现 CNN 的大批量同步 SGD,使 AlexNet 和 ResNet-50 能在高达 32K 的批量大小下训练且不损失精度。
A common way to speed up training of large convolutional networks is to add computational units. Training is then performed using data-parallel synchronous Stochastic Gradient Descent (SGD) with mini-batch divided between computational units. With an increase in the number of nodes, the batch size grows. But training with large batch size often results in the lower model accuracy. We argue that the current recipe for large batch training (linear learning rate scaling with warm-up) is not general enough and training may diverge. To overcome this optimization difficulties we propose a new training algorithm based on Layer-wise Adaptive Rate Scaling (LARS). Using LARS, we scaled Alexnet up to a batch size of 8K, and Resnet-50 to a batch size of 32K without loss in accuracy.
研究动机与目标
- 动机与分析使用数据并行 SGD 在大全局批量大小下训练 CNN 的挑战。
- 研究为什么使用带 warm-up 的标准线性学习率缩放可能失败并导致发散。
- 提出并评估一个分层自适应学习率方案 (LARS) 以稳定训练。
- 在 AlexNet、AlexNet-BN 和 ResNet-50 上证明 LARS 在批量大小高达 32K 时的有效性。
提出的方法
- 分析在使用单一全局学习率时大批量 SGD 的不稳定性。
- 引入一个受权重范数与梯度范数比值启发的每层学习率:lambda^l = eta * ||w^l|| / (||∇L(w^l)|| + beta*||w^l||)。
- 在使用每层本地学习率更新的同时,应用全局动量和权重衰减。
- 在带动量的 SGD 中实现 LARS,并采用多项式衰减计划,使大 minibatch 训练在不损失精度的情况下成为可能。
- 通过全局学习率 gamma_t 实现类似 warm-up 的策略,同时通过 lambda^l 调整各层的速率。
- 通过实验性地将大批量分区为 iter_size 来在 GPU 上模拟 B 高达 32K,与基线的小批量训练进行比较。
实验结果
研究问题
- RQ1是否可以通过分层自适应学习率使大批量 CNN 训练达到与小批量相匹配的精度?
- RQ2Layer-wise Adaptive Rate Scaling (LARS) 能否稳定训练并防止大批量下的发散?
- RQ3在 LARS 下,可以在不损失精度的情况下训练的批量大小(最高至 32K)以及架构有哪些(AlexNet、AlexNet-BN、ResNet-50)?
- RQ4学习率策略(warm-up、分层学习率、BN 与非 BN)如何影响收敛性和最终精度?
主要发现
- LARS 使 AlexNet 和 ResNet-50 能以高达 32K 的批量大小训练,且在所报告的结果中未出现精度损失。
- AlexNet-BN 在大批量(16K、32K)时保持接近基线精度,但存在一些可通过调优 LR 和 warm-up 来减小的损失。
- BN 扩大了大批量时安全的 LR 范围,并在使用较大学习率时改善收敛性。
- 在没有 LARS 的情况下,大批量在即使有 warm-up 和 BN 的情况下也会发散或产生显著的精度损失;有了 LARS,跨层的稳定性得到改善。
- 在非常大批量下进行更长时间训练在批量极大时可以恢复精度(例如 AlexNet-BN 的 32K)。
- 在其训练设置下,使用 LARS 将 ResNet-50 放大到 32K 的规模,其 top-1 精度与 256-B 基线相当(尽管在更积极的数据增强/测试下未必等同于最先进水平)。
- 逐层更新降低了对初始权重尺度的敏感性,并实现对训练动态的逐层稳定。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。