吴恩达week6 ~批量梯度下降 指数加权平均 动量梯度下降 学习率衰减 Adam

【深度学习基础】02梯度下降算法改进:SGD、Momentum、NAG、RMSProp、Adam等 掌握参数初始化策略的优点,Mini-batch的特点以及优势,掌握梯度下降算法优化的目的以及效果,掌握指数移动平均值的好处,掌握动量梯度下降法的优点以及RMSProp、Adam的特点,掌握学习率衰减方式,掌握标准化输入带来的网络学习速度的提升 阅读详情


前言

一、小批量梯度下降 mini-batch

如果一个数据集有500w个数据,那我们迭代一次花费的时间就太久,且对所有训练集遍历一次也只是梯度逼近一步,但如果我们采用小批量梯度下降,大小为1000,那我们每迭代一次在1000个数据上就能逼近w一步,迭代完所有数据就梯度逼近5000步,能够提高效率。

在这里插入图片描述
向前传播 损失函数的计算 向后传播都要相应改变。

1、batch gradient descent

如果 mini-batch size=m
则就相当于普通的梯度下降了。
如果数据集不大的情况下,这是一种好的算法。一般而言<2000

2、stochastic gradient descent

随机梯度下降
如果 mini-batch size=1
这时候我们便失去了矢量化使计算加速的优点了
因为每次只有一个样本。

3、mini-batch gradient descent

如果 1<mini-batch size<m
我们一般取2的n次方,与计算机存储有关,一般取64-512
这样的好处是:既可以使用矢量计算的好处
又可以不必每次在所有数据遍历完一遍之后在梯度逼近

二、指数加权平均

exponentially weighted averages

1.什么是指数加权平均

这里以温度为例

在这里插入图片描述
Vt 为加权后的温度,
theta t:是当天的真实温度
β:是系数,也相当于一个超参数,一般取0.9
当β=0.9时,我们说取的近似是10的平均温度。
1/1-β。
在这里插入图片描述
红色是β=0.9
绿色是β=0.98
我们可以看出β=0.98时,绿色线向右移动,
通过公式我们可以看出,那是因为之前的权重变大了而当天的权重减小了。

2、理解指数加权平均

在这里插入图片描述对于V100 我们可以一步一步拆解开来,可以看到对于每天的温度都有不同的权重。
0.9的10次方≈1/e 约等于最大值的三分之一
即当10天之后的温度会下降到最大权重的三分之一,可以忽略。
即就相当于β=0.9时,我们相当于计算的是10天的平均气温。

3、与普通求平均值的区别

①普通求平均值我们都是相当于一样的权值,比如语文100,数学99,英语98。那么三科平均值就是99.
但是对于指数平均我们相当于给了不同的值不同的权重,例如温度,我们肯定是离今天近的权重大,离今天太远的,我们可以忽略。
②代码简单,且需要的存储空间小。
比如想要求n天的平均值,那么我们只要有前n-1天的值和当天的值即可,
若是普通求平均值,则需要把n天的值都存储起来。

4、指数加权平均的偏差修正

在这里插入图片描述
当β=0.98时,我们实际得到的是紫色这条线
刚开始V0=0
V1=βV0+(1-β)θ1 =0.02θ1
V2=0.98
0.02*θ1+0.02θ2
因为前面的系数太小,所以导致V1,V2这些得到的并不是前几天的平均值。
比平均值小。
但是当往后时,迭代次数增多之后,紫色与绿色线几乎重合。
所以在批量梯度下降时,由于迭代次数多,所以几乎可以不用偏差修正。
在这里插入图片描述
我们可以采用第一个公式进行偏差修正,当t很大时,βt≈0,此时紫色与绿色线又几乎重合。


三、gradient descent with momentum

在这里插入图片描述
一般的 对于我们的梯度下降算法来说,如果我们的学习率太小,迭代一次效率就会过低,但是如果学习率太大,就会造成我们的损失函数并没有朝着 减小的方向前进。
我们既希望在水平方向上朝着最小值前进,又希望在垂直方向上不要太过跌宕。

动量梯度下降
我们采用了指数加权平均的方法
如果我们的学习率过大,我们在垂直方向上可能如图:
在这里插入图片描述
虽然水平方向上一直还是沿着最小值,但是水平方向可能太过跌宕,如下图绿色线。
在这里插入图片描述

画的太丑 可以忽略。不过我觉得这个更直观
红色的是我们希望的 水平方向沿着最小值前进 且垂直方向不会太跌宕
采用了指数加权平均后,我们在垂直方向上的平均值就会平缓许多,平且在水平方向上还是沿着最小值方向前进。

在这里插入图片描述

吴老师这个公式我觉得不太对…公式右边为什么还是Vdw呢?那移到左边不是可以抵消了吗?心存疑惑…希望知道的可以解答一下~~

后续:
懂了,老师的公式没错,是我理解错了。
Vt=βVt-1+(1-β)θt
这里的Vt-1是关于Vt的上一次迭代,而
Vdw[l]=βVdw[L]+(1-β)dw
这里的L与之前的t不同,这里的L是某一次迭代的某一个参数W[l]
而两边的Vdw[L]并不同,右边的是之前迭代得到的,而左边是通过之前的和当前的dw[l]得到的
并不能抵消。

四、RMSprop

root mean square prop
在这里插入图片描述
我们希望在垂直方向上数值不要太大,水平方向上数值不要太小。
在垂直方向上 的值会过大,db也就会大,相对而言水平方向的值小。
除以之后就会变化,w会大,b会小。
rmsprop 和动量梯度一样可以降低我们梯度下降中的震荡,同时使我们可以以一个大的学习率α,从而提高算法的效率。

五、适应性矩估计 Adam

在这里插入图片描述
Adam结合了动量梯度下降和RMSprop的好处。
Adam一般都需要偏差修正!!!
超参数:
在这里插入图片描述

六、学习率衰减

learning rate decay
在这里插入图片描述
蓝色:是我们学习率固定时,由于学习率固定,在最后阶段我们在最小值周围绕,且这个范围较大。
此时,如我们采取学习率衰减,刚开始仍能以较大的步长梯度下降,最后我们可以以小的步长来接近最小值。如绿色。
学习率衰减的公式:
在这里插入图片描述
dacay-rate是一个超参数。
其他公式:
在这里插入图片描述

t是批处理中 批处理的t,每一次遍历中学习率α都随t的变化而变化,并且每次遍历都与之前遍历的α相同。就导致如左下图的学习率。

七、局部最优解问题。

在这里插入图片描述

比如左边图,这是一个低维图,我们很容易可以看出这个图有很多局部最优,而不是全局最优。
但是对于高维图,这种局部最优是很难的,它需要每一个方向上都是凹函数,对于一个200维的,这种局部最优概率是1/2的200平方。
所以对于高维图,是很难出现多个局部最优的,出现的大多都是右图这种,叫做鞍点。
每个方向的凹凸不一定都一致,这不是局部最优点。

对于高维我们要解决的不是多个局部最优的问题,更应该解决的是停滞区的问题,梯度逼近太慢。
但是通过adam和动量梯度下降可以解决这个问题。
在这里插入图片描述

改善深层神经网络week2学习笔记 1.Mini-Batch Gradient descent Mini-batch每次处理训练数据的一部分,即用其子集进行梯度下降,算法速度会执行的更快。 方法分为两个步骤: Shuffle: 洗牌一般同步打乱原来数据集X和对应标签Y中的数据信息,使得数据随机分散到不同的minibatch中 代码中用到了np.random.permutation()方法作为洗牌方法,对于打乱顺序有两种方... 阅读详情

相关推荐

IROS 2025机器人技术解析:从诡异设计到硬核应用

机器人技术正从传统的结构化环境应用,迈向复杂非结构化场景的深度交互。其核心原理在于通过仿生设计、多模态感知与智能控制算法,赋予机器人类似生物的适应性与交互能力。这一技术演进的价值在于突破传统机器人在极端环境、精密操作和自然交互中的瓶颈。例如,结合深度强化学习的全身动力学控制,使机器人能在废墟、管道等复杂地形中自主导航;而软体机器人技术则通过材料变形实现安全、柔顺的抓取操作。这些技术最终服务于极端环境巡检、精密装配和高端陪护等刚性应用场景,推动机器人从功能实现迈向与环境、人进行深度、智能交互的新阶段。

weixin_34006468的博客 441

Adam和学习率衰减(learning rate decay)

1、梯度下降法更新参数 梯度下降法参数更新公式: 其中,η是学习率,θt是第t 轮的参数,J(θt) 是损失函数,∇J(θt) 是梯度。 在最简单的梯度下降法中,学习率ηη是常数,是一个需要实现设定好的超参数,在每轮参数更新中都不变,在一轮更新中各个参数的学习率也都一样。 为了表示简便,令,所以梯度下降法可以表示为: 2、Adam 更新参数 Adam,全称 Ada...

qq_32172681的博客 2万+

告别混乱!AutoSar BswM模式管理实战:手把手教你配置Rule与ActionList(附避坑指南)

本文详细解析了AutoSar BswM模式管理的实战配置,重点介绍了Rule与ActionList的高效组合方法,帮助开发者避免常见陷阱。通过具体案例演示了从基础到复杂的配置步骤,包括模式仲裁、逻辑表达式构建及ActionList优化策略,提升汽车电子系统的协调性与可靠性。

weixin_27066963的博客 254

最强总结!神经网络中常用的九种优化技术(二)AdaGrad、RMSProp、Adam、学习率衰减、Early Stopping(非常详细)大模型入门到精通!

例如,频繁更新的参数和不常更新的参数可能需要不同的学习率来达到更好的优化效果。AdaGrad 通过引入对历史梯度平方和的累积来调整每个参数的学习率,使得每个参数都拥有自己的学习率。它的核心思想是在训练过程中监控模型在验证集上的性能,当验证集的性能不再提升时(例如损失不再下降或准确率不再提高),提前停止训练,以避免模型继续训练导致过拟合。Adam 同时考虑了梯度的一阶矩(动量)和二阶矩(梯度平方的移动平均),通过自适应地调整学习率,使得它在很多深度学习任务中都能表现良好。

star_nwe的博客 1500

Java + Selenium + TestNg + Allure Web UI 自动化

我们知道,在Python中针对Web UI自动化有Python + Selenium + Pytest/Unittest +Allure的技术栈。那么对于Java而言,也有其独特的Web UI 自动化技术栈。相同的,我们同样的运用Selenium框架,测试报告同样运用Allure。不同的是,我们运用的语言由Python转化为了Java,测试用例管理框架从Pytest转化为了TestNG。

qq_45594960的博客 1907

Vue2 - 最新详细实现接入天地图详细配置流程及示例代码教程,提供获取用户当前定位的城市名称及省市区数据、精准经纬度信息、IP属地定位、地图搜索标点等示例,解决天地图跨域报错/页面白屏/定位不准问题

vue2,nuxt2,天地图,使用教程,vue接入国家天地图,定位api,ip属地定位,获取用户当前位置数据,省市区,地图不显示,白屏,报错,vue2如何使用天地图,地图选点,cors跨域,白名单设置了还是不行,vue项目调用天地图api实现定位,Vue2中使用天地图,详细教程,天地图申请密钥key教程,经纬度,经纬度不准确,一直定位北京,定位在北京不准怎么办,nuxt项目天地图,网站,网页,h5页面,地图显示不全,获取当前定位,如何使用天地图,拿到客户ip地址定位城市名称,距离计算,实时搜索地址逆解析,天

🏆 前端领域优质创作者 5321

【优化器】(五) Adam原理 & pytorch代码解析

在之前的文章了,我们学习了SGD,以及在其基础上加了一阶动量的SGD Momentum,还有在其基础上加了二阶动量的AdaGrad、AdaDelta、RMSProp。那么自然而然就会想到把一阶动量和二阶动量结合起来,这样就形成了我们常用的优化器Adam

Lizhi_Tech的博客 1万+

Cloud Connector RFC 访问控制深度实践:为 SAP BTP ABAP environment 打通安全、可控的远程连接

本文是一份面向企业ABAP团队与平台工程团队的Cloud Connector RFC访问控制配置指南。文章详细介绍了虚拟主机/实例号、负载均衡、资源白名单等核心概念,并提供了从零开始的配置流程。主要内容包括:通过Cloud Connector建立安全隧道的价值(零暴露、最小权限)、两种连接类型(无负载均衡/带负载均衡)的配置方法、资源白名单设置技巧,以及两个典型应用场景(Custom Code Migration远程检查与BAPI调用)的实操案例。指南基于SAP官方文档,包含落地经验与避坑建议,可帮助团队快

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 139

深度学习学习率的调整

20220626 -最近在做实验的时候,由于结果一直都不怎么好,我就在想是不是过拟合了。那就算不是过拟合,是不是根本没有学习到数据集中的信息呢?想到了这些事情,我就直接把测试集的效果跟随着训练过程直接打印出来了。(当然,实际过程中,肯定是不该以这个过程来作为最终的评判目标,但是在检验阶段还是很有用的)通过查看这个过程就发现,随着训练过程,在前期,的确是发现检验指标在上升,这个过程是很正常的,毕竟前期还是能够学习到一些信息的。(实验过程采用的是自编码器进行异常检测)。但是达到了一定程度之后,大部分时候学习到2

围城 1349

uniapp - 详解使用高德地图在地图上实现绘制边界/点聚合/行政区域高亮等功能,Uniapp高德地图点聚合标记及绘制点线面示例代码(全端兼容H5网页、小程序、安卓app、苹果app、nvue)

uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,高德地图,uniAPP高德地图实现点聚合,地图区域描边、点标记、点信息详情弹窗,实现绘制边界区域,uniapp H5使用高德地图实现点聚合、行政区域高亮,实现高德地图的marker聚合功能,高德地图进行marker标点,点信息展示,点击标记点弹出对话框,点击聚合点后显示信息模态框,打标点,【Uniapp】高德地图的接入自定义标点与信息窗体使用,绘制行政区域边界,绘制多边形,电子围栏,高德行政区划边界,

✅ 精选推荐文章 1万+

在 ABAP 平台上搭建 OAuth 2.0 Server:架构、流程、权限与落地实战

摘要:本文为SAP ABAP开发人员提供将ABAP平台配置为OAuth 2.0授权服务器的实战指南。重点介绍两种授权流程(授权码和SAML Bearer)的实现方案,包括核心事务配置(SOAUTH2/SAML2)、授权对象(S_SCOPE)管理以及端点交互规范。通过具体配置清单和三类典型集成场景(第三方Web应用访问OData、企业集成平台调用、BTP应用对接)的落地示例,帮助读者快速构建安全的OAuth 2.0服务架构。文档强调SSL/TLS基础安全、scope最小授权原则以及授权与令牌端点的标准交互模式

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 305

【中文】【吴恩达课后编程作业】Course 2 - 改善深层神经网络 - 第二周作业

【中文】【吴恩达课后编程作业】Course 2 - 改善深层神经网络 - 第二周作业 - 优化算法 上一篇:【课程2 - 第二周测验】※※※※※ 【回到目录】※※※※※下一篇:【课程2 - 第三周测验】 声明   本文参考Kulbear 的【Optimization methods】,我基于以上的文章加以自己的理解发表这篇博客,力求让大家以最轻松的姿态理解吴恩达的视频,如有不妥的地...

何宽的博客 5万+

倒立摆的PLC控制(模型分析+ SCL源代码)

首先简单介绍下倒立摆模型,下面这幅图是MATLAB网站上的倒立摆模型,下面我们利用牛顿第二运动定律建立摆杆的运动方程。

RXXW_Dor的博客 3316

【中英】【吴恩达课后测验】Course 2 - 改善深层神经网络 - 第二周测验

【中英】【吴恩达课后测验】Course 2 - 改善深层神经网络 - 第二周测验 上一篇:【课程2 - 第一周编程作业】※※※※※ 【回到目录】※※※※※下一篇:【课程2 - 第二周编程作业】 第2周测验-优化算法 当输入从第八个mini-batch的第七个的例子的时候,你会用哪种符号表示第三层的激活? 【★】a[3]8(7)a[3]8(7)a^{[3]{8}(7)} 注:[...

何宽的博客 2万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

《吴恩达机器学习》学习笔记(第五周)

本文主要汇报《吴恩达机器学习》第五周的学习内容。本周,我们主要探讨了神经网络的优化算法,包括Mini-batch,加权平均,动量梯度下降算法等等。通过代码的实验对比了各种算法的优劣所在。最后,我们进行了本周学习内容的总结。

qq_51339898的博客 1128

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

吴恩达深度学习2笔记week2——优化算法 Optimization Algorithms

吴恩达深度学习2笔记week2——优化算法 Optimization Algorithms2.1 Mini-batch 梯度下降法2.2 理解 mini-batch 梯度下降法2.3 指数加权平均2.4 理解指数加权平均2.5 指数加权平均的偏差修正2.6 动量梯度下降法2.7 RMSprop2.8 Adam 优化算法2.9 学习率衰减2.10 局部最优的问题 2.1 Mini-batch 梯度下降法 2.2 理解 mini-batch 梯度下降法 2.3 指数加权平均 2.4 理解指数加权平均 2.5 指

Saulty的博客 368

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

(笔记)吴恩达深度学习第二门课week2&week3

1、mini-batch 梯度下降法 使用 batch 梯度下降法时,每次迭代你都需要历遍整个训练集,可以预期每次迭代成本都会下降,所以如果成本函数????是迭代次数的一个函数,它应该会随着每次迭代而减少,如果????在某次迭代中增加了,那肯定出了问题,也许学习率太大。 使用 mini-batch 梯度下降法,如果你作出成本函数在整个过程中的图,则并不是每次迭 代都是下降的 如果 mini-batch 的大小等于????,其实就是 batch 梯度下降法 另一个极端情况假设 mini-batch 大

jiangqixing0728的博客 747

吴恩达深度学习系列课程随记——Course2Week2

1.Mini-batch梯度下降 回顾梯度下降: 每一轮都要处理全部样本,样本量太大的话,即使进行了向量化,运行也十分缓慢 使用Mini-batch梯度下降: 将X、Y分成t个小批(batch),分别执行梯度下降。每一个batch执行完都更新W和b,这样一次遍历全部样本后更新了t次W和b而不是一次,这称为一代(epoch)运算。当然我们可以通过循环增加代数来继续运算直到满足要求。 2.理...

Asteries的博客 347

【吴恩达深度学习】02_week2_quiz Optimization algorithms

(1)Which notation would you use to denote the 3rd layer’s activations when the input is the 7th example from the 8th mini-batch [A] a[3]{7}(8)a^{[3]\{7\}(8)}a[3]{7}(8) [B] a[8]{7}(3)a^{[8]\{7\}(3)}a[8]{7}(3) [C] a[8]{3}(7)a^{[8]\{3\}(7)}a[8]{3}(7) [D] a[3]

无 942

吴恩达深度学习 (week5,6)

深度学习可能存在过拟合问题——高方差,有两个解决方法,一个是正则化,另一个是准备更多的数据在Python编程语言中, λ 是一个保留字段,编写代码时,我们删掉 α ,写成lambd,以免与Python中的保留字段冲突.L1和L2正则化是机器学习中用于避免过拟合的技术,它们通过在损失函数中加入一个正则项来实现。L1正则化,也称为Lasso回归,通过在损失函数中加入权重参数的绝对值之和来限制模型复杂度。这通常会导致一些权重参数变为零,从而实现特征选择的效果。

QuantumYou的博客 1412

吴恩达深度学习笔记 course2 week2 优化算法

1.Mini-batch batch:之前所用的都是将m个样本放在一起组成向量来就行训练,称为batch,所存在的问题:当样本的数量比较庞大的时候,迭代一次所需要的时间比较多 ,这种梯度下降算法成为Batch Gradient Descent 为了解决这一问题引入 Mini-batch Gradient descent 它是将全部样本分成t份子集,然后对每一份子集进行一个...

banghu8816的博客 235

吴恩达DL lesson2 week2

2.1 Mini-batch 梯度下降(Mini-batch gradient descent) 把训练集分割为小一点的子集训练,这些子集被取名为mini-batch,

weixin_43513123的博客 300

吴恩达深度学习笔记6-Course2-Week2【优化算法】

浅层神经网络:

Wang_Jiankun的博客 698

吴恩达-DeepLearning.ai-Course2-Week2笔记

本周主要讲解加速神经网络的算法1.小批量梯度下降算法(mini-batch gradient descent)如果你得训练集数量巨大,500万或者上千万,梯度下降算法会非常慢,如果你让梯度下降在处理完整个巨型的500万训练集之前就开始有所成效,具体来说:首先将你的训练集拆分成更小的微小的训练集,即小批量训练集(mini-batch),注意新符号的引入和维度所以一共有5000个小批量样例,对于Y也做...

zgx123666的专栏 531

吴恩达-deep learning 02.改善深层神经网络:优化算法 (Optimization algorithms)Week2

上一周介绍了如何建立一个实用的深度学习神经网络。包括: Train/Dev/Test sets的比例选择,Bias和Variance的概念和区别:Bias对应欠拟合,Variance对应过拟合。 防止过拟合的两种方法:L2 regularization和Dropout;如何进行规范化输入,以加快梯度下降速度和精度。 梯度消失和梯度爆炸的概念和危害,提出使用梯度初始化来降低这种风险。 梯度检查,来验证梯度下降算法是否正确。 本周将继续讨论深度神经网络中的一些优化算法,通过使用这些技巧和方法来提高神经网络的

Paul_Huang的专栏 482
上一篇: 深度学习-归一化输入,梯度消失爆炸,梯度检验
下一篇: week 7 吴恩达 调参 ,batch norm,softmax
爱吃肉c
博客等级 码龄7年 6743粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值