网站大量收购独家精品文档,联系QQ:2885784924

深度学习案例教程 课件5.6不同优化器对比.pptx

深度学习案例教程 课件5.6不同优化器对比.pptx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第六节不同优化器对比神经网络的学习目的是找到使损失函数的值尽可能小的参数,这是寻找最优参数的问题,解决这个问题的过程称为最优化。优化器是用来更新和计算模型参数以最小化损失函数的工具。有许多不同的优化器,包括最基本的梯度下降(SGD)、带动量的梯度下降、RMSProp、Adam等。参数的更新

第六节不同优化器对比有一个性情古怪的探险家。他在广袤的干旱地带旅行,坚持寻找幽深的山谷。他的目标是要到达最深的谷底(他称之为“至深之地”)。并且,他给自己制定了两个严格的“规定”:一个是不看地图;另一个是把眼睛蒙上。因此,他并不知道最深的谷底在这个广袤的大地的何处,而且什么也看不见。在这么严苛的条件下,这位探险家如何前往“至深之地”呢?他要如何迈步,才能迅速找到“至深之地”呢?探险家的故事

第六节不同优化器对比探险家虽然看不到周围的情况,但是能够知道当前所在位置的坡度(通过脚底感受地面的倾斜情况)。于是,朝着当前所在位置的坡度最大的方向前进,就是SGD的策略。勇敢的探险家心里可能想着只要重复这一策略,总有一天可以到达“至深之地”。探险家的故事

第六节不同优化器对比SGD(StochasticGradientDescent):最基本的梯度下降方法,每次更新都使用一部分样本(一个或多个)来计算梯度。SGD

第六节不同优化器对比每一轮迭代使用的训练数据一般是小批量的,没有使用全部的训练数据,因此更新方向会发生锯齿状甚至随机震荡状;某些梯度分量的值比另外一些分量的值要大的多,导致个别分量主导了梯度的更新方向,而期望的梯度更新方向却行进的非常缓慢。SGD的缺点

第六节不同优化器对比Momentum:一种带动量的梯度下降方法,它在更新参数时不仅考虑当前的梯度,还考虑上一次的梯度方向,这样可以加速收敛,并有可能跳过局部最小值。将一段时间内的梯度向量进行了加权平均,一定程度上消除了更新过程中的不确定性因素(如摆动现象),使得梯度更新朝着一个越来越明确的方向前进。Momentum

第六节不同优化器对比RMSProp:一种自适应学习率的方法,它通过调整每个参数的学习率来加速训练。RMSProp

第六节不同优化器对比Adam(AdaptiveMomentEstimation):结合了Momentum和RMSProp的思想,既考虑了过去的梯度的指数衰减平均值,也考虑了过去的平方梯度的指数衰减平均值。Adam

以下是一个简单的使用SGD的例子:importtorch.optimasoptimmodel=...#createyourmodel#createyouroptimizeroptimizer=optim.SGD(model.parameters(),lr=0.01)#inyourtrainingloop:optimizer.zero_grad()#zerothegradientbuffersoutput=model(input)loss=criterion(output,target)loss.backward()optimizer.step()#Doestheupdate#createyouroptimizeroptimizer=optim.Adam(model.parameters(),lr=0.01)第六节不同优化器对比

以下是一个简单的使用SGD的例子:importtorch.optimasoptimmodel=...#createyourmodel#createyouroptimizeroptimizer=optim.SGD(model.parameters(),lr=0.01)#inyourtrainingloop:optimizer.zero_grad()#zerothegradientbuffersoutput=model(input)loss=criterion(output,target)loss.backward()optimizer.step()#Doestheupdate#createyouroptimizeroptimizer=optim.Adam(model.parameters(),lr=0.01)第六节不同优化器对比

以下是一个简单的使用SGD的例子:importtorch.optimasoptimmodel=...#createyourmodel#createyouroptimizeroptimizer=optim.SGD(model.p

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档