中文

利用不一致随机梯度下降加速深度神经网络训练

机器学习 2017-03-29 v3 分布式、并行与集群计算

摘要

SGD是训练CNN被广泛采用的方法。概念上它用随机采样的小批量(batch)近似总体;然后通过在每个epoch中对每批进行梯度更新来均匀训练各批。本文中,我们证明采样偏差(Sampling Bias)、固有图像差异(Intrinsic Image Difference)与固定周期伪随机采样(Fixed Cycle Pseudo Random Sampling)使训练中的各批产生差异,进而影响对其的学习速度。因此,SGD中对批的无偏处理导致了不恰当的负载均衡。为解决此问题,我们提出不一致随机梯度下降(Inconsistent Stochastic Gradient Descent, ISGD),根据批上的学习状态动态改变训练力度。具体而言,ISGD利用统计过程控制(Statistical Process Control)中的技术来识别欠训练批(undertrained batch)。一旦某批欠训练,ISGD求解一个新的子问题,即追踪逻辑(chasing logic)加上保守约束,以加速该批训练同时避免剧烈的参量变化。在多种数据集上的大量实验表明ISGD比SGD收敛更快。在训练AlexNet时,在完全相同的实验设置下,ISGD达到56\% top1准确率比SGD快21.05\%。我们还将ISGD扩展到基于数据并行的多GPU或异构分布式系统上工作,使批大小成为可扩展性的关键。随后我们呈现了ISGD批大小对学习率、并行度、同步代价、系统饱和与可扩展性的研究。我们得出结论:最优ISGD批大小依赖于机器。多GPU系统上的各种实验验证了我们的论断。特别地,ISGD以1536的批大小用4块NVIDIA TITAN X在11.5小时内将AlexNet训练至56.3% top1与80.1% top5准确率。

关键词

引用

@article{arxiv.1603.05544,
  title  = {Accelerating Deep Neural Network Training with Inconsistent Stochastic Gradient Descent},
  author = {Linnan Wang and Yi Yang and Martin Renqiang Min and Srimat Chakradhar},
  journal= {arXiv preprint arXiv:1603.05544},
  year   = {2017}
}

备注

The patent of ISGD belongs to NEC Labs