吴恩达DL lesson2 week2

2.1 Mini-batch 梯度下降(Mini-batch gradient descent)

把训练集分割为小一点的子集训练,这些子集被取名为mini-batch
如下图
在这里插入图片描述
假设我们有5000个各有1000个样本的组,我们要用向量化去几乎同时处理1000个样本。
在这里插入图片描述
使用batch梯度下降法,一次遍历训练集只能让你做一个梯度下降,使用mini-batch梯度下降法,一次遍历训练集,能让你做5000个梯度下降。当然正常来说你想要多次遍历训练集,还需要为另一个while循环设置另一个for循环。所以你可以一直处理遍历训练集,直到最后你能收敛到一个合适的精度。

如果你有一个丢失的训练集,mini-batch梯度下降法比batch梯度下降法运行地更快,所以几乎每个研习深度学习的人在训练巨大的数据集时都会用到,下面,我们将进一步深度讨论mini-batch梯度下降法,你也会因此更好地理解它的作用和原理。

https://blog.csdn.net/cs24k1993/article/details/79120579
三种梯度下降 介绍和优缺点

(批梯度下降法(Batch Gradient Descent ),
小批梯度下降 (Mini-Batch GD),
随机梯度下降 (Stochastic GD)

2.2 理解mini-batch梯度下降法(Understanding mini-batch gradient descent)

使用batch梯度下降法时,每次迭代你都需要历遍整个训练集,如果成本函数J是迭代次数的一个函数,它应该会随着每次迭代而减少
在这里插入图片描述
使用mini-batch梯度下降法,如果你作出成本函数在整个过程中的图,则并不是每次迭代都是下降的,也就是每次迭代下你都在训练不同的样本集或者说训练不同的mini-batch,如果你要作出成本函数的图,你很可能会看到这样的结果,走向朝下,但有更多的噪声,所以如果你作出J的图,因为在训练mini-batch梯度下降法时,会经过多代,你可能会看到这样的曲线。在这里插入图片描述
在这里插入图片描述
batch梯度下降单词迭代慢,而随机梯度会失去向量化的加速,而mini-batch大小在二者之间。
如果训练集较小,直接使用batch梯度下降法,样本集较小就没必要使用mini-batch梯度下降法。
如果mini-batch大小是2的n次方,代码会运行地快一些,64就是2的6次方,以此类推,128是2的7次方,256是2的8次方,512是2的9次方。所以我经常把mini-batch大小设成2的次方。

2.3 指数加权平均数(Exponentially weighted averages)

举个例子
在这里插入图片描述

2.4 理解指数加权平均数(Understanding exponentially weighted averages)

在这里插入图片描述

2.5 指数加权平均的偏差修正(Bias correction in exponentially weighted averages)

在这里插入图片描述

2.6 动量梯度下降法(Gradient descent with Momentum)

本质就是减缓梯度下降的幅度

如果你要优化成本函数,进行梯度下降法的一次迭代,无论是batch或mini-batch下降法,结果或许如此,然后再计算一步,再一步,计算下去,你会发现梯度下降法要很多计算步骤.(蓝色线)
如果你要用较大的学习率(紫色箭头),结果可能会偏离函数的范围,为了避免摆动过大,你要用一个较小的学习率。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.7 RMSprop

深度学习优化算法解析(Momentum, RMSProp, Adam)
https://blog.csdn.net/willduan1/article/details/78070086

为了进一步优化损失函数在更新中存在摆动幅度过大的问题,并且进一步加快函数的收敛速度,RMSProp算法对权重 W 和偏置 b 的梯度使用了微分平方加权平均数。
RMSprop的影响就是你的更新最后会变成这样(绿色线),纵轴方向上摆动较小,而横轴方向继续推进。还有个影响就是,你可以用一个更大学习率α,然后加快学习,而无须在纵轴上垂直方向偏离。
在这里插入图片描述

2.8 Adam 优化算法(Adam optimization algorithm)

Adam优化算法基本上就是将Momentum和RMSprop结合在一起.

算法看链接

2.9 学习率衰减(Learning rate decay)

加快学习算法的一个办法就是随时间慢慢减少学习率,我们将之称为学习率衰减.
蓝色线 在迭代过程中会有噪音,下降朝向这里的最小值,但是不会精确地收敛,所以你的算法最后在附近摆动,并不会真正收敛,因为你用的α是固定值,不同的mini-batch中有噪音。
在这里插入图片描述
慢慢减少学习率α的话,在初期的时候,学习率α还较大,你的学习还是相对较快,但随着α变小,你的步伐也会变慢变小.
绿色线会在最小值附近的一小块区域里摆动,而不是在训练过程中,大幅度在最小值附近摆动。
几种衰减方法https://blog.csdn.net/akadiao/article/details/79560731

2.10 局部最优的问题(The problem of local optima)

1.陷入局部最优其实不是神经网络的问题,在一个非常高维的空间中做梯度下降,这时的local minimum是很难形成的,因为局部最小值要求函数在所有维度上都是局部最小的。实际情况是,函数会落在一个saddle-point上。在saddle-point上会有一大片很平坦的平原,让梯度几乎为0,导致无法继续下降。

2.在高维空间中,如2000维,不太可能出现局部最优的情况,因为局部最优要求这20000个维度的梯度都为0,这是很小概率的时间。真正困扰优化问题的并不是局部最优,而是在鞍点附近的停滞区问题。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Coursera深度学习教程中文笔记 课程概述 这些课程专为已有一定基础(基本的编程知识,熟悉Python、对机器学习有基本了解), 想要尝试进入人工智能领域的计算机专业人士准备。介绍显示:“深度学习是科技业最热门 的技能之一,本课程将帮你掌握深度学习。” 在这5堂课中,学生将可以学习到深度学习的基础,学会构建神经网络,并用在包括吴 恩达本人在内的多位业界顶尖专家指导下创建自己的机器学习项目。Deep Learning Specialization对卷积神经网络 (CNN)、递归神经网络 (RNN)、长短期记忆 (LSTM) 等深度学 习常用的网络结构、工具和知识都有涉及。 课程中也会有很多实操项目,帮助学生更好地应用自己学到的深度学习技术,解决真实 世界问题。这些项目将涵盖医疗、自动驾驶、和自然语言处理等时髦领域,以及音乐生成等 等。Coursera上有一些特定方向和知识的资料,但一直没有比较全面、深入浅出的深度学习 课程——《深度学习专业》的推出补上了这一空缺。 课程的语言是Python,使用的框架是Google开源的TensorFlow。最吸引人之处在于, 课程导师就是吴恩达本人,两名助教均来自斯坦福计算机系。完成课程所需时间根据不同的 学习进度,大约需要3-4个月左右。学生结课后,Coursera将授予他们Deep Learning Specialization结业证书。 “我们将帮助你掌握深度学习,理解如何应用深度学习,在人工智能业界开启你的职业 生涯。”吴恩达在课程页面中提到。 本人黄海广博士,以前写过吴恩达老师的机器学习个人笔记。有朋友报名了课程,下载 了这次课程的视频给大家分享。Coursera的字幕不全,同学们在学习上感觉非常不方便,因 此我找志同道合的朋友翻译和整理字幕,中英文字幕来自于由我和曹骁威同学组织爱好者翻 译,希望对大家有所帮助。(备注:自网易公开课翻译深度学习课程后,我们不再翻译) 目前我正在组织团队整理中文笔记,由热心的朋友无偿帮忙制作整理,并持续更新。我 们的团队的劳动致力于AI在国内的推广,不会损害Coursera以及吴恩达老师的商业利益。 本人水平有限,如有公式、算法错误,请及时指出,发邮件给我,也可以加我qq。 黄海广

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值