Deep Learning 最优化方法之Momentum(动量)
本文是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的算法。
Deep Learning 最优化方法之Momentum(动量)相关推荐
- Deep Learning 最优化方法之RMSProp
原文地址:http://blog.csdn.net/bvl10101111/article/details/72616378 本文是Deep Learning 之 最优化方法系列文章的RMSProp方 ...
- Deep Learning 最优化方法
链接:https://blog.csdn.net/BVL10101111/article/details/72615961
- 笔记 | 吴恩达Coursera Deep Learning学习笔记
向AI转型的程序员都关注了这个号☝☝☝ 作者:Lisa Song 微软总部云智能高级数据科学家,现居西雅图.具有多年机器学习和深度学习的应用经验,熟悉各种业务场景下机器学习和人工智能产品的需求分析.架 ...
- Deep Learning论文笔记之(三)单层非监督学习网络分析
Deep Learning论文笔记之(三)单层非监督学习网络分析 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感 ...
- Deep Learning论文笔记之(二)Sparse Filtering稀疏滤波
Deep Learning论文笔记之(二)Sparse Filtering稀疏滤波 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看 ...
- 【超分辨率实验】Matlab-使用深度学习的单图像超分辨率(Single Image Super-Resolution Using Deep Learning)
[超分辨率实验]Matlab-使用深度学习的单图像超分辨率(Single Image Super-Resolution Using Deep Learning) 此示例演示如何训练非常深的超分辨率 V ...
- 《Deep Learning for Computer Vision withPython》阅读笔记-PractitionerBundle(第9 - 11章)
9.使用HDF5和大数据集 到目前为止,在本书中,我们只使用了能够装入机器主存储器的数据集.对于小数据集来说,这是一个合理的假设--我们只需加载每一个单独的图像,对其进行预处理,并允许其通过我们的网络 ...
- 速看!deep learning(rnn、cnn)调参的经验
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|视觉算法 话说三人行,必有我师焉.有哪些deep lea ...
- Deep Learning for Remote Sensing Data
Deep Learning for Remote Sensing Data_A technical tutorial on the state of the art 一,Abstract 二,ADVA ...
- 《Deep Learning for Computer Vision with Python》StarterBundle-总结概述
<Deep Learning for Computer Vision withPython> StarterBundle总结概述 //2022.2.4日下午16:18开始总结 第2章-什么 ...
最新文章
- 「图文直播」CSDN 二十年,AI 赋能全新出发
- 一分钟读懂互联网广告竞价策略GFP+GSP+VCG
- java jar 源码乱码,java使用jar包时出现乱码的解决方法
- java 调用r语言包传参数_Java与R语言的配置,调用
- 【Maven】import maven依赖安装失败——暂时玄学解决
- 启动mongodb服务时报错100
- spring3.1.1与commons-dbcp1.2的冲突?
- 计算机系统文字图片以啥子存在,电脑如何识别图片中文字的字体|电脑通过图片识别字体的方法...
- 在windows 2008 R2上无法运行vc 2015的程序,显示缺少api-ms-win-crt-string-|1-1-0.dll的解决
- Java lambda表达式实现List转Map
- excel固定一行不滚动怎么取消
- 简单易懂的现代魔法——Play Framework攻略3
- 浅析重复线性渐变repeating-linear-gradient如何使用
- 仿网易云音乐的YY音乐微信小程序源码
- TOGAF(企业架构)
- 督办管理系统项目总结
- 苹果账号 协议、税务和银行业务填写教程
- React写响应式官方网站-媒体查询
- android手机图标 足球球星,盘点六大世界足坛球星logo,贝尔艺术感十足
- 如何解决Vmware虚拟机出现There is no more space for virtual disk… 虚拟机消息的问题
热门文章
- 买手机是不是主要看处理器?
- python 实现微信自动回复(自动聊天)
- 打砖块c语言算法,C语言打砖块游戏的原理!哪位高手指点一下,程序有!
- 【苹果家庭群发推】Metal performance shader软件安装框架
- 51单片机码表c语言编程,用AT89S51单片机制作的多功能自行车速度里程表
- VulnHub渗透测试实战靶场 - SICKOS: 1.1
- KTL 一个支持C++14编辑公式的K线技术工具平台 - 第五版,支持sqlite3,全新sqlite3zz语法超简单使用sqlite3; 添加方差等统计函数。
- 解决NIVIDIA控制面板开启不了的问题
- 游戏排行榜实现mysql_游戏中百万用户排行设计与实现
- 管理计算机(域)的内置账户名称,管理active directory中用户和计算机账户