在搞清楚深度梯度压缩之前,我先将什么是梯度下降捋一捋,同时方便后面的理解。我会将论文里面提到的vanilla SGD和加了动量Momentum的SGD的区别也写出来。

正好,今天上午的最优化理论讲到了各种下降法逼近极小值点,最近读到关于联邦学习中如何减小通信效率和计算效率这个问题,借助深度梯度压缩,会极大地减少局部到服务器的通信成本。

目录

一、什么是vanilla SGD

1、梯度

2、步长

3、SGD的数学表示

二、带有动量Momentum的SGD


一、什么是vanilla SGD

SGD是当下使用最广泛地优化器,原理是通过求得当前参数损失函数的最大梯度,往梯度的反方向走即可走到损失函数的极小值点。可以想象成盲人要寻找最快下山的过程,那就是不断地摸索当下点周围最陡峭的方位,沿着那个方位走是最大概率时间最短到达山谷的。

1、梯度

梯度:梯度在数学上表示函数在某点处的方向导数沿着该方向取得最大值。(方向导数是形容函数的陡峭程度)

可以这样想:在一个结构类似山谷的函数上存在一点,当然这个点会在各个方向上都存在方向导数,而我们所需要的梯度就是所有方向导数中最大的那个,沿着这个最大方向导数(梯度)上去的函数值增长速度会变得非常快,那反之,沿着梯度负方向的函数值就是负增长速度最快的。

先从第一个点往下找,找到沿着梯度负方向迈出第二步,到达第二个点,再找第二个点的最大梯度负方向迈出第二步,以此类推最后到达山谷最低处,也就是函数极小值点(方向导数此时为0)。如图所示:

然而决定如何找到极小值点的还有步长,也就是 这个盲人除了要确定山坡的陡峭程度,还得控制自己的步伐大小。

2、步长

步长也就是学习率

【SGD深入理解】vanilia SGDmomentum SGD相关推荐

  1. Adam那么棒,为什么还对SGD念念不忘 (1) —— 一个框架看懂优化算法

    机器学习界有一群炼丹师,他们每天的日常是: 拿来药材(数据),架起八卦炉(模型),点着六味真火(优化算法),就摇着蒲扇等着丹药出炉了. 不过,当过厨子的都知道,同样的食材,同样的菜谱,但火候不一样了, ...

  2. 一个框架看懂优化算法之异同 SGD/AdaGrad/Adam

    Adam那么棒,为什么还对SGD念念不忘 (1) -- 一个框架看懂优化算法 机器学习界有一群炼丹师,他们每天的日常是: 拿来药材(数据),架起八卦炉(模型),点着六味真火(优化算法),就摇着蒲扇等着 ...

  3. Adam 那么棒,为什么还对 SGD 念念不忘?一个框架看懂深度学习优化算法

    作者|Juliuszh 链接 | https://zhuanlan.zhihu.com/juliuszh 本文仅作学术分享,若侵权,请联系后台删文处理 机器学习界有一群炼丹师,他们每天的日常是: 拿来 ...

  4. Pytorch框架中SGD&Adam优化器以及BP反向传播入门思想及实现

    因为这章内容比较多,分开来叙述,前面先讲理论后面是讲代码.最重要的是代码部分,结合代码去理解思想. SGD优化器 思想: 根据梯度,控制调整权重的幅度 公式: 权重(新) = 权重(旧) - 学习率 ...

  5. pytorch梯度下降函数_Pytorch中常用的四种优化器SGD、Momentum、RMSProp、Adam

    来源:AINLPer微信公众号 编辑: ShuYini 校稿: ShuYini 时间: 2019-8-16 引言     很多人在使用pytorch的时候都会遇到优化器选择的问题,今天就给大家介绍对比 ...

  6. 深度学习中常用优化器算法Optimizer详解(BGD、SGD、MBGD、Momentum、NAG、Adagrad、Adadelta、RMSprop、Adam)

    本文转载自:https://www.cnblogs.com/guoyaohua/p/8542554.html 在机器学习.深度学习中使用的优化算法除了常见的梯度下降,还有 Adadelta,Adagr ...

  7. 随机梯度下降法(stochastic gradient descent,SGD)

    梯度下降法 大多数机器学习或者深度学习算法都涉及某种形式的优化. 优化指的是改变 特征x以最小化或最大化某个函数 f(x)  的任务. 我们通常以最小化 f(x) 指代大多数最优化问题. 最大化可经由 ...

  8. 深度学习优化算法的总结与梳理(从 SGD 到 AdamW 原理和代码解读)

    作者丨科技猛兽 转自丨极市平台 本文思想来自下面这篇大佬的文章: Juliuszh:一个框架看懂优化算法之异同 SGD/AdaGrad/Adam https://zhuanlan.zhihu.com/ ...

  9. 优化算法选择:SGD、SGDM、NAG、Adam、AdaGrad、RMSProp、Nadam

    目录 优化算法通用框架 SGD 系列:固定学习率的优化算法 SGD SGD (with Momentum) = SGD-M SGD(with Nesterov Acceleration)= NAG 自 ...

最新文章

  1. 【Accelerated C++】重点回顾
  2. 服务器接收消息写日志,在Ubuntu 18.04上配置Rsyslog集中式日志服务器的方法
  3. redis:消息发布与订阅频道
  4. 【LeetCode 629】K个逆序对数组
  5. ubuntu 16.04下git的安装与使用
  6. 前端与移动开发之vue-day1(1)
  7. (python)7-6 sdut-数制转换
  8. @程序员,如何解决开发和运维之间的固有隔阂?
  9. 内部文件检索——公司经验管理系统的一种有效方法
  10. CSS 样式表(小结)
  11. Windows下安装jenkins,关闭jenkins,修改jenkins端口号
  12. 领导让我重写测试代码,我该怎么办?
  13. 【ICLR2020】通过强化学习和稀疏奖励进行模仿学习
  14. selenium之chrome driver版本选择
  15. 经典游戏制作教程[zz]
  16. mysql修改工具下载_MDB数据库修改器
  17. 转换上课周次字符串(我带着困惑我一周之久的编程题来了)
  18. java里用idea是什么意思_idea什么意思?啥意思?idea简介
  19. Android 简单音乐播放器开发
  20. 职业访谈计算机学院老师,理想照亮现实 访谈引领未来数学计算机学院举行首届职业生涯人物访谈大赛...

热门文章

  1. PyQt(Python+Qt)学习随笔:Qt Designer中部件的调色板palette属性和字体font属性设置
  2. Linux命令行下载文件到本地
  3. beyond compare java_文件内容比较工具---Text compare Beyond compare
  4. 42、生鲜电商平台-商品的spu和sku数据结构设计与架构
  5. 方法详解(命名规则)
  6. VUE引入Echarts 打包文件过大——解决方法2:CDN引入
  7. Python利用马青公式计算圆周率Π并写入文件
  8. 云图数字iOS客户端
  9. CreateFont比CreateFontIndirect好用啊~
  10. SharePoint On Premise 数据迁移到 SharePoint Online的几点考虑