吴恩达深度学习笔记:优化算法 (Optimization algorithms)2.7

目录

  • 第二门课: 改善深层神经网络:超参数调试、正 则 化 以 及 优 化 (Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)
    • 第二周:优化算法 (Optimization algorithms)
      • 2.7 RMSprop

第二门课: 改善深层神经网络:超参数调试、正 则 化 以 及 优 化 (Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)

第二周:优化算法 (Optimization algorithms)

2.7 RMSprop

你们知道了动量(Momentum)可以加快梯度下降,还有一个叫做 RMSprop 的算法,全称是 root mean square prop 算法,它也可以加速梯度下降,我们来看看它是如何运作的。

在这里插入图片描述
回忆一下我们之前的例子,如果你执行梯度下降,虽然横轴方向正在推进,但纵轴方向会有大幅度摆动,为了分析这个例子,假设纵轴代表参数𝑏,横轴代表参数𝑊,可能有𝑊1,𝑊2或者其它重要的参数,为了便于理解,被称为𝑏和𝑊。

所以,你想减缓𝑏方向的学习,即纵轴方向,同时加快,至少不是减缓横轴方向的学习,RMSprop 算法可以实现这一点。

在这里插入图片描述
在第𝑡次迭代中,该算法会照常计算当下 mini-batch 的微分dW,db,所以我会保留这个指数加权平均数,我们用到新符号 S d W S_{dW} SdW,而不是 v d W v_{dW} vdW,因此 S d W = β S d W + ( 1 − β ) d W 2 S_{dW} = βS_{dW} + (1 − β)dW^2 SdW=βSdW+(1β)dW2,澄清一下,这个平方的操作是针对这一整个符号的,这样做能够保留微分平方的加权平均数,同样 S d b = β S d b + ( 1 − β ) d b 2 S_{db} = βS_{db} + (1 − β)db^2 Sdb=βSdb+(1β)db2,再说一次,平方是针对整个符号的操作。

接着 RMSprop 会这样更新参数值:

W : = W − α d W S d W , b : = b − α d b S d b W: = W − \alpha \frac {dW}{\sqrt {S_{dW}}},b: = b − \alpha \frac{db}{\sqrt {S_{db}}} W:=WαSdW dWb:=bαSdb db

我们来理解一下其原理。记得在横轴方向或者在例子中的𝑊方向,我们希望学习速度快,而在垂直方向,也就是例子中的𝑏方向,我们希望减缓纵轴上的摆动,所以有了 S d W S_{dW} SdW S d b S_{db} Sdb,我们希望 S d W S_{dW} SdW会相对较小,所以我们要除以一个较小的数,而希望 S d b S_{db} Sdb又较大,所以这里我们要除以较大的数字,这样就可以减缓纵轴上的变化。你看这些微分,垂直方向的要比水平方向的大得多,所以斜率在𝑏方向特别大,所以这些微分中,𝑑𝑏较大,𝑑𝑊较小,因为函数的倾斜程度,在纵轴上,也就是 b 方向上要大于在横轴上,也就是𝑊方向上。𝑑𝑏的平方较大,所以 S d b S_{db} Sdb也会较大,而相比之下,𝑑𝑊会小一些,亦或𝑑𝑊平方会小一些,因此 S d W S_{dW} SdW会小一些,结果就是纵轴上的更新要被一个较大的数相除,就能消除摆动,而水平方向的更新则被较小的数相除。

在这里插入图片描述
RMSprop 的影响就是你的更新最后会变成这样(绿色线),纵轴方向上摆动较小,而横轴方向继续推进。还有个影响就是,你可以用一个更大学习率𝑎,然后加快学习,而无须在纵轴上垂直方向偏离。

要说明一点,我一直把纵轴和横轴方向分别称为𝑏和𝑊,只是为了方便展示而已。实际中,你会处于参数的高维度空间,所以需要消除摆动的垂直维度,你需要消除摆动,实际上是参数 W 1 W_1 W1 W 2 W_2 W2等的合集,水平维度可能 W 3 W_3 W3 W 4 W_4 W4等等,因此把𝑊和𝑏分开只是方便说明。实际中𝑑𝑊是一个高维度的参数向量,𝑑𝑏也是一个高维度参数向量,但是你的直觉是,在你要消除摆动的维度中,最终你要计算一个更大的和值,这个平方和微分的加权平均值,所以你最后去掉了那些有摆动的方向。所以这就是 RMSprop,全称是均方根,因为你将微分进行平方,然后最后使用平方根。

最后再就这个算法说一些细节的东西,然后我们再继续。下一个视频中,我们会将RMSprop 和 Momentum 结合起来,我们在 Momentum 中采用超参数𝛽,为了避免混淆,我们现在不用𝛽,而采用超参数𝛽2以保证在 Momentum 和 RMSprop 中采用同一超参数。要确保你的算法不会除以 0,如果𝑆𝑑𝑊的平方根趋近于 0 怎么办?得到的答案就非常大,为了确保数值稳定,在实际操练的时候,你要在分母上加上一个很小很小的𝜀,𝜀是多少没关系, 1 0 − 8 10^{−8} 108是个不错的选择,这只是保证数值能稳定一些,无论什么原因,你都不会除以一个很小很小的数。所以 RMSprop 跟 Momentum 有很相似的一点,可以消除梯度下降中的摆动,包括mini-batch 梯度下降,并允许你使用一个更大的学习率 α \alpha α,从而加快你的算法学习速度。

所以你学会了如何运用 RMSprop,这是给学习算法加速的另一方法。关于 RMSprop 的一个有趣的事是,它首次提出并不是在学术研究论文中,而是在多年前Jeff Hinton在Coursera的课程上。我想 Coursera 并不是故意打算成为一个传播新兴的学术研究的平台,但是却达到了意想不到的效果。就是从 Coursera 课程开始,RMSprop 开始被人们广为熟知,并且发展迅猛。

我们讲过了 Momentum,我们讲了 RMSprop,如果二者结合起来,你会得到一个更好的优化算法,在下个视频中我们再好好讲一讲为什么。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/328215.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「Python绘图」绘制同心圆

python 绘制同心圆 一、预期结果 二、核心代码 import turtle print("开始绘制同心圆") # 创建Turtle对象 pen turtle.Turtle() pen.shape("turtle") # 移动画笔到居中位置 pen.pensize(2) #设置外花边的大小 # 设置填充颜色 pen.fillcolor("green&…

【大数据】计算引擎MapReduce

目录 1.概述 1.1.前言 1.2.大数据要怎么计算? 1.3.什么是MapReduce? 2.架构 3.工作流程 4.shuffle 4.1.map过程 4.2.reduce过程 1.概述 1.1.前言 本文是作者大数据系列专栏的其中一篇,专栏地址: https://blog.csdn.ne…

NVM镜像源报错:Could not retrieve https://npm.taobao.org/mirrors/node/index.json.

NVM镜像源报错:Could not retrieve https://npm.taobao.org/mirrors/node/index.json. 淘宝前端node镜像源已更换 NVM安装教程:http://t.csdnimg.cn/dihmG 背景 笔者在安装版本切换工具NVM时,配置完镜像源后,在控制台输入&#x…

使用FFmpeg处理RTSP视频流并搭建RTMP服务器实现图片转直播全流程

目录 一、FFmpeg安装与配置二、搭建并配置Nginx RTMP服务器三、从RTSP视频流提取帧并保存为图片四、将图片序列转换为视频五、将视频推送为直播流六、将图片序列推送为直播流七、播放实时流 场景:如何通过FFmpeg工具链,从RTSP视频流中按秒抽取帧生成图片…

六西格玛管理培训对企业有哪些实际帮助?

当下,企业要想脱颖而出,不仅要有创新思维和敏锐的市场洞察力,更要有高效的管理体系和严谨的质量控制手段。而六西格玛管理培训正是这样一项能够帮助企业实现提质增效、提升竞争力的关键举措。那么,六西格玛管理培训对企业究竟有哪…

超级数据查看器 教程合集 整理版本 pdf格式 1-31集

点击下载 超级数据查看器 教程合集整理版本 pdf格式https://download.csdn.net/download/qq63889657/89311725?spm1001.2014.3001.5501

SQL Server共享功能目录显示灰色无法自行选择

SQL Server共享功能目录显示灰色无法自行调整 一、 将之前安装SQL Server卸载干净 二、 清空注册表 1. 打开注册表,winR,输入regedit 2. 注册表-》编辑-》查找,输入C:\Program Files\Microsoft SQL Server\ 3. 注册表-》编辑-》查找&#x…

量子计算机接入欧洲最快超算!芬兰加快混合架构算法开发

内容来源:量子前哨(ID:Qforepost) 文丨浪味仙 排版丨沛贤 深度好文:1900字丨7分钟阅读 摘要:芬兰技术研究中心(VTT)与 CSC 展开合作,基于量子计算机超算架构进行算法开…

Git大文件无法直接push用git lfs track 上传大文件具体操作

Git 因为大文件push失败 回退到git add前用git lfs track单独添加大文件 以下work flow仅代表个人解决问题的办法,有优化流程的欢迎交流 回退到git add前 以下指令回退一个commit git reset --soft HEAD~1以下指令撤销所有git add操作,但不删除本地修…

泰盈科技IPO终止:客户集中度高,业绩未达目标,高管薪酬较高

近日,上海证券交易所披露的信息显示,泰盈科技集团股份有限公司(下称“泰盈科技”)及其保荐人中金公司撤回上市申请文件。因此,上海证券交易所决定终止对该公司首次公开发行股票并在主板上市的审核。 据贝多财经了解&am…

STM32 HAL TM1638读取24个按键

本文分享一下天微电子的另一款数码管按键驱动芯片TM1638的单片机C语言驱动程序。 笔者采用的MCU是STM32单片机,STM32CubeMX Keil5开发,使用了HAL库。 一、TM1638介绍 1、基础信息 TM1638属于一款LED驱动控制专用电路,其特性如下&#xf…

【文献阅读】李井林等2021ESG促企业绩效的机制研究——基于企业创新的视角

ESG促进企业绩效的机制 摘要 0.引言与文献综述 1.理论分析与研究假设 1.1企业ESG表现与企业绩效 假设1a:企业的环境表现对企业绩效存在正向影响效应。 假设1b:企业的社会表现对企业绩效存在正向影响效应。 假设1c:企业的公司治理表现对企业…

PCIE V3.0物理层协议学习笔记

一、说明 PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,它原来的名称为“3GIO”,是由英特尔在2001年提出的,旨在替代旧的PCI,PCI-X和AGP总线标准。 PCIe属于高速串行点对点双通道高…

JVM---垃圾回收

目录 一、C/C的内存管理 二、Java的内存管理 三、垃圾回收的对比 四、Java的内存管理和自动垃圾回收 五、方法区的回收 手动触发回收 六、堆回收 如何判断堆上的对象可以回收? 引用计数法 可达性分析算法 五种对象引用 软引用 软引用的使用场景-缓存 弱引用 虚…

【Python-爬虫】

Python-爬虫 ■ 爬虫分类■ 1. 通用网络爬虫:(搜索引擎使用,遵守robots协议)■ robots协议(君子协议) ■ 2. 聚集网络爬虫:自己写的爬虫程序 ■ urllib.request(请求模块&#xff09…

详解typora配置亚马逊云科技Amazon S3图床

欢迎免费试用亚马逊云科技产品:https://mic.anruicloud.com/url/1333 当前有很多不同的博客社区,不同的博客社区使用的编辑器也不尽相同,大概可以分为两种,一种是markdown格式,另外一种是富文本格式。例如华为云开发者…

dfs记忆化搜索,动态规划

动态规划概念: 给定一个问题,将其拆成一个个子问题,直到子问题可以直接解决。然后把子问题的答案保存起来,以减少重复计算。再根据子问题的答案反推,得出原问题解。 821 运行时间长的原因: 重复大量计算…

Pencils Protocol Season 2 收官在即,Season 3 携系列重磅权益来袭

此前Scroll生态LaunchPad &聚合收益平台Pencils Protocol(原Penpad),推出了首个资产即其生态代币PDD的Launch,Season 2活动主要是用户通过质押ETH代币、组件战队等方式,来获得Point奖励,并以该Point为依…

代码行数统计工具cloc

Release v2.00 AlDanial/cloc GitHub 代码量代码行数统计工具cloc的正确使用(windows平台亲测有效,本人踩过坑,文中提到!)_cloc代码统计工具-CSDN博客

深入理解K8S【安全认证机制kubectlconfig】

深入理解K8S【安全认证机制】 1 核心概念 1.1 安全体系 对于大型系统来说,对业务的权限、网络的安全认证是必不可少的。 对于linux系统来说,用户和组、文件权限、SELinux、防火墙、pam、sudo等,究其核心的目的都是为了保证系统是安全的。 …