我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1087|回复: 0

[海外情报] 取代学习率衰减的新方法:谷歌大脑提出增加Batch Size

[复制链接]
  • TA的每日心情

    昨天 13:17
  • 签到天数: 67 天

    [LV.6]常住居民II

    1万

    主题

    8192

    回帖

    5万

    积分

    三级逆天

    积分
    53623

    终身成就奖特殊贡献奖原创先锋奖金点子奖优秀斑竹奖宣传大使奖

    发表于 2017-11-6 09:35:47 | 显示全部楼层 |阅读模式
    [blockquote]
    谷歌大脑在最新的一篇论文中提出,通过增加训练过程中的 batch size,能够在训练集和测试集上取得类似学习率衰减的表现。此外这种方法还有一系列的优势:参数更新数量更少、更强大的并行、更短的训练时间等等。机器之心对此论文做了摘要介绍,更详细的内容请阅读原论文。[/blockquote]
    论文链接:https://arxiv.org/abs/1711.00489
    摘要:学习率衰减是一种常见的方法。在这篇论文中,我们展示了通过增加训练过程中的 batch size 也能在训练集和测试集上获得同样的学习曲线。这一方法对随机梯度下降(SGD)、带有动量的 SGD、Nesterov 动量和 Adam 同样有效。在经过同样数量的训练 epoch 之后,它能获得同样的测试准确率,且需要进行的参数更新更少,从而实现更强大的并行、更短的训练时间。通过增加学习率ϵ、缩放 batch size B∝ϵ,我们可以进一步减少参数更新的数量。最后,你可以增加动量系数 m,缩放 B∝1/(1−m),尽管这会稍微降低测试准确率。最重要的是,该技术能让我们在不调整超参数的情况下,重设对大型 batch 训练的现有训练调度方法(schdule)。我们在 ImageNet 上训练 ResNet-v2,验证准确率达到 77%,参数更新低于 2500,高效利用了 65536 张图片的训练 batch。

    图 1:作为训练 epcoch 中的函数,学习率(a)和 batch size(b)的调度方法

    图 2:训练集的交叉熵,(a)横轴为训练 epoch 的数量,(b)横轴为参数更新数量。三种学习曲线变化一致,但增加 batch size 能极大地减少所需参数更新的数量。

    图 3:训练过程中的测试集准确率,(a)带有动量的 SGD,(b)带有 Nesterov 动量的 SGD。在两种情形中,三种调度方法的曲线变化保持一致。

    图 4:训练过程中的测试集准确率,(a)vanilla SGD,(b)Adam。同样,三种调度方法的测试集表现一致。

    图 5:不同的训练调度方法下,测试集准确率随着参数更新数量的变化而变化。通过增加 batch size 取代学习率衰减的「增加 batch size」方法;把初始学习率从 0.1 增加到 0.5 的「增加初始学习率」方法;最后是把动量系数从 0.9 增加到 0.98 的「增加动量系数」方法。

    图 6:在 ImageNet 上训练 Inception-ResNet-V2。增加 batch size 能获得与学习率衰减类似的结果,但这种方法能够减少参数更新的数量,从 14000 降低到 6000。我们可以把每个实验运行两次来说明其中的变化。

    图 7:在 ImageNet 上训练 Inception-ResNet-V2。增加动量参数能够减少所需参数更新的数量,但也导致最终测试准确率的略微下降。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    论坛开启做任务可以
    额外奖励金币快速赚
    积分升级了


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    平平安安
    TOP
    快速回复 返回顶部 返回列表