文章来源 | 恒源云社区

原文地址 | NAG优化器

原文作者 | 角灰


社区人才济济,小编今天又发现一个宝藏版主‘角灰’。

小编是个爱分享的人,看见好文章好作者怎能控制住不分享给大家呢?所以,接下来跟着小编我,一起快速浏览一下文章内容吧!

正文开始

最近在看fairseq源码时发现NAG优化器 (Nesterov Accelerate gradient)的实现与torch自带的有些许不一样,于是打算查下资料了解清楚。

先回忆下Momentm,该梯度下降法引入动量的概念,使用β对历史梯度进行滑动指数加权平均,最早的梯度衰减的最快,对当前更新影响小;反之,越接近当前的梯度对更新的影响越大,公式为

其中Vt、gt、g(θt)分别代表t时刻的速度、梯度、模型参数,μ是动量系数,lr是学习率。该方法的思想是对网络参数进行平滑处理,让梯度的摆动幅度不要太大。

NAG类似Momentum,它们都是利用历史梯度来更新参数,区别在于,NAG先利用μVt,对θt进行部分更新得到θt+μVt,然后利用梯度g(θt+μVt)更新得到θt+1,其公式如下所示:

此处ε是学习率。

下图对Momentum和NAG作了形象解释:

Momentum使用当前位置A处的速度Vt和梯度g(θt)直接更新到目的地C;而NAG从A点先沿着惯性方向走一小步到B,此处距C很接近了, 再利用B处的梯度g(θt+μVt)更新到C。

论文中认为这样可以快速更新V,使得Nag比momentum更稳定,且更适合于大学习率的场景。除此之外,如果Nag用μVt更新到B点较差时,由于B点梯度g(θt+μVt)比momentum的g(θt)更大,因此Nag能更快往回修正到起始点A。

言归正传,这是torch.optim.SGD的公式和代码[1]:

这是fairseq.optim.nag的公式和代码[2]:

可以看出两者实际上还是有些不同,而Fairseq的nag实际上和论文的公式基本一致,[3]中有推导:

其中的β就是本文的动量系数μ,先对θt+βVt做了代换得到θt’后,最后将θt’当成待更新的参数θt,也就是每次更新的始终是θt+βVt,关于这个的解释见下图及[4]:

总之,nag优化器能加速收敛,且使用很大的学习率也很稳定,难怪fairseq里面ConvS2S能使用0.5的学习率。

[1]torch sgd

[2]fairseq nag

[3]深度学习中优化方法

[4]CS231n Convolutional Neural Networks for Visual Recognition

恒源云(GPUSHARE)_语音识别与语义处理领域之 NAG 优化器相关推荐

  1. 恒源云(GPUSHARE)_语音识别与语义处理领域之低资源机器翻译综述

    文章来源 | 恒源云社区 原文地址 | 低资源机器翻译综述 原文作者 | 角灰 摘要 神经机器翻译效果非常好,但需要大量的平行语料,因此有了低资源翻译的研究. 本文按照按数据的利用对低资源翻译分为3类 ...

  2. 恒源云(GPUSHARE)_未闻Prompt名(论文学习笔记)

    文章来源 | 恒源云社区(专注人工智能/深度学习GPU免费加速平台,官方体验网址:https://gpushare.com) 原文作者 | Mathor 原文地址 | https://gpushare ...

  3. 恒源云(GPUSHARE)_长尾分布的多标签文本分类平衡方法(论文学习笔记)

    文章来源 | 恒源云社区(专注人工智能/深度学习云GPU服务器训练平台,官方体验网址:https://gpushare.com/center/) 原文地址 | https://bbs.gpushare ...

  4. 恒源云(GPUSHARE)_[SimCSE]:对比学习,只需要 Dropout?

    文章来源 | 恒源云社区(恒源云,专注 AI 行业的共享算力平台) 原文地址 | Dropout 原文作者 | Mathor 要说2021年上半年NLP最火的论文,想必非<SimCSE: Sim ...

  5. 恒源云(GpuShare)_无监督的QG方法

    文章来源 | 恒源云社区 原文地址 | 通过摘要信息问题生成改进无监督问答 原文作者 | Mathor 上海于昨日宣布要开始在全市范围内开展新一轮切块式.网格化核酸筛查![恒源云]云墩墩☁️ 提醒小伙 ...

  6. 恒源云(GPUSHARE)_人工智能行业 | AI+教育,虚实之间

    [引言]2020年以来,在线教育疯狂发展,不少机构把AI引入了课堂,这究竟是噱头,还是进化? 人工智能作为技术革命的新力量,如今已渗透进各行各业,颠覆和创新屡见不鲜,唯独教育领域,和人工智能的结合一直 ...

  7. 恒源云(Gpushare)_如何查看显卡占用的情况?技巧大放送2

    文章来源 | 恒源云社区 原文地址 | [小技巧-显卡篇] 1.如何看显卡占用的情况? 通过终端执行 nvidia-smi 命令可以查看显卡的情况,可以查看显卡功耗.显存占用等情况. root@I15 ...

  8. 恒源云(Gpushare)_【存储优化】/hy-tmp可以扩/缩容啦

    继[会员体系].[活动专区]上线后,为了进一步优化数据存储体验,特升级了[Tmp(/hy-tmp)]的使用规则,其他免费存储方式包括[OSS存储].[共享存储 (/hy-nas )],其免费额度及收费 ...

  9. 恒源云(GPUSHARE)_可构建AI的「AI」诞生?

    文章来源 | 学术头条 原文地址 | 几分之一秒内,就能预测新网络的参数 号外号外,我找到一个宝藏公众号啦,里面都是超赞的干货文章

最新文章

  1. android第一次启动超级慢
  2. Ubuntu11.04在Win7下从硬盘安装 和 使用体验
  3. 基本算法个人PHP 实现(四)
  4. mysql datetime timestamp 索引_MYSQL中时间类型底层存储,DATETIME ,TIMESTAMP,INT 如何选择?...
  5. 《转》Android 今日头条屏幕适配方案终极版正式发布!
  6. 利用express启一个server服务
  7. 算法交易的机遇和挑战
  8. annotation-driven 配置详解
  9. strcmp与strncmp与memcmp的区别
  10. php中求解二元一次方程,基于Algebra.js解二元一次方程的实例教程
  11. 图像处理基础和OpenCV常用接口
  12. python for循环流程图_python流程图
  13. RAID设备的数据恢复
  14. 中职网络安全2021年国赛Wireshark流量分析题目解析
  15. 计算机硬件在线修复,电脑故障在线查询,自己也能修电脑不花一分钱!
  16. [CodeForces-1141D] Colored Boots
  17. 函数笔记(常数函数、幂函数、指数函数、对数函数、三角函数、反三角函数、复合函数)
  18. server数据库标记为可疑 sql_SQL Server 2008数据库被标记为可疑的解决方法
  19. 数据库MySQL的使用,带GUI界面
  20. 主流商业智能(BI)工具的比较(三):Qlik与Domo

热门文章

  1. 简单步骤:Android studio 内容观察者 - 实现数据变化监测
  2. 电子商务应围绕网商、网货、网规三要素 - 卫哲
  3. 华为设备配置单臂路由
  4. 水生植物(挺水、沉水、浮叶、漂浮植物)
  5. java找茬_一起来找茬(1)-开发写的神奇左连接
  6. SQL注入--报错和盲注
  7. 谢启鸿老师思考题及解答合集
  8. 5G和WiFi6的故事
  9. <Zhuuu_ZZ>HIVE(终)总结大全:是兄弟就来三连我
  10. Revit二次开发_修改快捷键