- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 深度学习案例教程 课件2.1、2.2 .pptx
- 深度学习案例教程 课件2.3张量与数学运算(共5节).pptx
- 深度学习案例教程 课件2.4 实践任务(共2节).pptx
- 深度学习案例教程 课件3.1手写数字识别任务介绍.pptx
- 深度学习案例教程 课件3.2神经网络搭建.pptx
- 深度学习案例教程 课件3.3激活函数的含义.pptx
- 深度学习案例教程 课件3.4.1MNIST数据集处理.pptx
- 深度学习案例教程 课件3.4.2全连接神经网络搭建.pptx
- 深度学习案例教程 课件3.4.3 手写数字识别网络训练.pptx
- 深度学习案例教程 课件3.4.4手写数字识别测试和评估.pptx
- 初中化学教学资源配置优化方案分析教学研究课题报告.docx
- 未成年人网络素养教育在预防犯罪中的作用与实施路径研究教学研究课题报告.docx
- 高中信息技术课上数据处理对学生信息素养的培养研究教学研究课题报告[001].docx
- 初中信息技术课程中网络安全教育的策略与实施教学研究课题报告.docx
- 初中信息技术课程中的创新教学案例分析与评价教学研究课题报告.docx
- 初中物理实验教学中探索项目制学习培养学生创新意识的实践教学研究课题报告.docx
- 小学木工环保教育废旧木材的再利用与环保意识培养教学研究课题报告.docx
- 青岛市解除劳动合同书6篇.docx
- 股票上市法律事务委托合同8篇.docx
- 中介租合同范本.docx
文档评论(0)