Deep Learning 最优化方法之Momentum(动量)

2023-05-16

本文是Deep Learning 之 最优化方法系列文章的Momentum(动量)方法。主要参考Deep Learning 一书。

整个优化系列文章列表:

Deep Learning 之 最优化方法

Deep Learning 最优化方法之SGD

Deep Learning 最优化方法之Momentum(动量)

Deep Learning 最优化方法之Nesterov(牛顿动量)

Deep Learning 最优化方法之AdaGrad

Deep Learning 最优化方法之RMSProp

Deep Learning 最优化方法之Adam

先上结论:

1.动量方法主要是为了解决Hessian矩阵病态条件问题(直观上讲就是梯度高度敏感于参数空间的某些方向)的。

2.加速学习

3.一般将参数设为0.5,0.9,或者0.99,分别表示最大速度2倍,10倍,100倍于SGD的算法。

4.通过速度v,来积累了之间梯度指数级衰减的平均,并且继续延该方向移动:

这里写图片描述

再看看算法:
这里写图片描述

动量算法直观效果解释:

  如图所示,红色为SGD+Momentum。黑色为SGD。可以看到黑色为典型Hessian矩阵病态的情况,相当于大幅度的徘徊着向最低点前进。
  而由于动量积攒了历史的梯度,如点P前一刻的梯度与当前的梯度方向几乎相反。因此原本在P点原本要大幅徘徊的梯度,主要受到前一时刻的影响,而导致在当前时刻的梯度幅度减小。
  直观上讲就是,要是当前时刻的梯度与历史时刻梯度方向相似,这种趋势在当前时刻则会加强;要是不同,则当前时刻的梯度方向减弱。

这里写图片描述

从另一个角度讲:

  要是当前时刻的梯度与历史时刻梯度方向相似,这种趋势在当前时刻则会加强;要是不同,则当前时刻的梯度方向减弱。
  假设每个时刻的梯度g总是类似,那么由这里写图片描述我们可以直观的看到每次的步长为:

这里写图片描述

即当设为0.5,0.9,或者0.99,分别表示最大速度2倍,10倍,100倍于SGD的算法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Deep Learning 最优化方法之Momentum(动量) 的相关文章

随机推荐

  • QT的TCP应用-传输图片

    1 server h span class token macro property span class token directive hash span span class token directive keyword ifnde
  • gazebo教程---使用roslaunch来启动gazebo,加载models

    1 使用roslaunch加载一个世界模型 roslaunch gazebo ros willowgarage world span class token punctuation span launch 运行效果如图 xff1a 下面看一
  • gazebo教程---ros_control

    一 ros control和Gazebo的数据流向 在Gazebo中模拟机器人的控制器是可以通过使用ros control和一个简单的Gazebo插件适配器来完成 下面是仿真 xff0c 硬件 xff0c 控制器和传动之间关系的概览 xff
  • CentOS Stream 安装 Docker

    版本LinuxCentOS Stream release 8 xff08 需要 CentOS 7 及以上 xff09 Docker20 10 17 卸载旧版本 旧版本的 Docker 被称为 docker 或 docker engine 如
  • CMakeLists.txt和.h头文件

    CMakeLists txt格式 xff08 随学习进度不断更新 xff09 声明要求的cmake最低版本 cmake minimum required VERSION 2 8 声明一个cmake工程 project HelloSLAM 添
  • 网络程序设计 面向TCP/IP编程总结

    第一章 网络编程基础知识 网络由节点和连线构成 现实用应用中的网络由硬件设备 xff08 路由器 交换机 网线 xff09 43 应用软件组成 计算机网路技术发展的第一个里程碑以报文或分组交换技术的出现为标志 数据交换的三种主要形式 xff
  • 训练时的Batchsize和Epoch之间的区别是什么?

    阅读这篇文章后 xff0c 你会知道 xff1a 随机梯度下降是一种迭代学习算法 xff0c 它使用训练数据集来更新模型 批量大小是梯度下降的超参数 xff0c 在模型的内部参数更新之前控制训练样本的数量 Epoch数是梯度下降的超参数 x
  • 如何在ROS下向ROS_PACKAGE_PATH中添加路径来解决找不到包的情况

    如果在创建ROS工作空间时不是严格按照 mkdir p catkin ws src 来创建的话可能后面会出现找不到包的情况 xff0c 这个时候你用命令 echo ROS PACKAGE PATH 会发现所找不到的包没有包含在这个路径里面
  • 移动平均法又称滑动平均法、滑动平均模型法(Moving average,MA)

    转自http jingji 100xuexi com view otdetail 20130625 230f09b0 6e36 473b 8830 7f2b873a5252 html 什么是移动平均法 移动平均法是用一组最近的实际数据值来预
  • C/C++ 数学库文件 (math.h)

    目录 1 三角函数 Trigonometric functions 1 1 cos 函数 1 2 sin 正弦函数 1 3 tan 正切函数 1 4 acos 反余弦函数 1 5 asin 反正弦函数 1 6 atan 反正切函数 1 7
  • C语言进阶 ~ 内存四区(栈、堆、全局、代码区)

    特别声明 xff1a 该部分是根据B站大佬 什么都想干好的视频学习而来 目录 1 1 数据类型本质分析 1 1 1 数据类型概念 1 1 2 数据类型的本质 1 1 3 数据类型的别名 1 1 4 数据类型之 void 1 2 变量的本质分
  • C语言进阶 ~ 一级指针与字符串

    目录 2 1 指针强化 2 2 一级指针 char 易错地方 2 2 1 对空字符串和非法字符串的判断 2 2 2 越界 2 2 3 指针的叠加会不断改变指针的方向 2 2 4 局部变量不要外传 2 2 5 函数内使用辅助变量的重要性 2
  • STC51从入门到精通(汇编)~~~ 第八讲:串行通信技术

    目录 8 1 80C51单片机串行通信技术的特点 8 2 串行通信基本知识 8 2 1 数据通信 8 2 2 串行通信的传输方式 8 2 3 异步通信和同步通信 8 3 串行接口的组成和特性 8 3 1 串行口的结构 8 3 2 串行口控制
  • 基于arduino的循迹小车(含有PID算法)

    循迹小车一般分为两方面 xff1a 一方面是简单的闭环赛道只有直道和弯道 xff0c 另一方面是毕设类型的包括一些元素 xff1a 90度弯道 十字道路 S形弯道等 1 CSDN下载 xff1a 含有PID xff1a https down
  • 基于手机蓝牙的arduino遥控小车

    遥控小车是每个人童年的最爱 xff0c 不仅好奇它的奇妙 xff0c 更是喜欢它带来的刺激 小编为大家带来几篇博客 xff0c 来给大家讲讲制作遥控小车的程序 看大标题可知我们一共有五个方法去制作一款带有遥控功能的小车 xff0c 小编分开
  • 课程设计题四:LED彩灯控制器设计

    要求 xff1a 1 至少10个发光管4种花样自动变换 xff0c 循环往复 2 彩灯花样变换的快慢节拍可以手动和自动方式控制 xff0c 手动控制按钮按一次转换一次 xff1b 自动控制方式每15秒变换一次 xff0c 1分钟循环一遍 3
  • PyCharm 调试Debug入门

    为了摈弃print的暴力调试法 xff0c 在mentor的耳濡目染下 xff0c 我开始了PyCharm的Debug 例程 xff1a def helloworld print 39 hello world 39 a 61 1 b 61
  • 树莓派自带SSH server,但默认关闭,需手动开启ssh

    命令行输入sudo raspi config 选择Interfacing Options 选择SSH项 enable
  • Ubuntu 18.04 ——— VINS-Fusion运行与EVO的评测与使用

    Ubuntu 18 04 VINS Fusion运行与EVO的评测与使用 一 运行环境搭建1 VINS Fusion安装1 创建ros工作空间2 编译VINS Fusion 2 EVO安装3 数据集 二 VINS Fusion运行1 单相机
  • Deep Learning 最优化方法之Momentum(动量)

    本文是Deep Learning 之 最优化方法系列文章的Momentum xff08 动量 xff09 方法 主要参考Deep Learning 一书 整个优化系列文章列表 xff1a Deep Learning 之 最优化方法 Deep