前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学界 | Facebook 新研究:大批量SGD准确训练ImageNet仅需1小时

学界 | Facebook 新研究:大批量SGD准确训练ImageNet仅需1小时

作者头像
机器之心
发布2018-05-08 13:43:57
9110
发布2018-05-08 13:43:57
举报
文章被收录于专栏:机器之心

选自arXiv

机器之心编译

参与:蒋思源

由于近来互联网数据越来越大,深度学习模型越来越复杂,执行训练的时间也越来长。因此近日 Facebook 提出了一种将批量大小提高的分布式同步 SGD 训练方法,希望能有助于解决越来越长的训练时间。以下机器之心对该文论进行了部分编译,该论文详细内容请查看论文链接。

论文:Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour

论文链接:https://research.fb.com/wp-content/uploads/2017/06/imagenet1kin1h3.pdf

摘要:深度学习随着大型神经网络和大型数据集的出现而蓬勃发展。然而,大型神经网络和大型数据集往往需要更长的训练时间,而这正好阻碍研究和开发进程。分布式同步 SGD 通过将小批量 SGD(SGD minibatches)分发到一组平行工作站而提供了一种很具潜力的解决方案。然而要使这个解决方案变得高效,每一个工作站的工作负载必须足够大,这意味着 SGD 批量大小会有很大的增长(nontrivial growth)。在本论文中,我们经验性地展示了在 ImageNet 数据集上使用较大批量大小在优化上遇到的困难,但如果这个问题解决了,训练的神经网络会展现出很好的泛化性能。具体来说,当我们使用较大批量大小(达 8192 张图片)进行训练时,实验几乎没有精度损失。为了实现这一结果,我们采用了线性缩放规则(linear scaling rule)作为批量大小函数来调整学习率,同时我们开发了一种新的预热方案(warmup scheme),该方案会在训练前期克服优化的困难。通过这些简单的技术,我们基于 Caffe2 的系统可以使用批量大小为 8192 进行训练 ResNet-50 网络,该训练不仅在 256 块 GPU 上只花费一小时就能完成,同时还有匹配小批量的精度。在使用标准硬件从 8 到 256 块 GPU 调整时,我们的实现达到了 90% 以上的缩放效率(scaling efficiency)。该系统能使我们针对大型互联网数据高效地执行视觉识别任务。

图 1: ImageNet 最好的验证误差 vs. 小批量大小

图 2:没有预热方案、恒定预热方案和逐步预热方案(gradual warmup)的训练误差对比。

图 3:训练误差 vs. 小批量大小

图 4:大批量 SGD 并带有逐步预热方案 vs. 小批量 SGD 的训练和验证曲线。

图 5:使用不同学习率 η 的小批量 SGD 训练曲线。

图 6: ImageNet-5k 最好的验证损失 vs. 小批量大小

图 7:分布式同步 SGD 时间曲线。

图 8:分布式同步 SGD 的图像吞吐量。

本文为机器之心编译,转载请联系本公众号获得授权。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-06-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档