分享好友 最新动态首页 最新动态分类 切换频道
3.3 RMSprop(Root Mean Square Propagation)
2024-12-27 00:45

在PyTorch中,优化器(Optimizer)是用于更新神经网络参数的工具。它根据计算得到的损失函数的梯度来调整模型的参数,以最小化损失函数并改善模型的性能。

3.3 RMSprop(Root Mean Square Propagation)

即优化器是一种特定的机器学习算法,通常用于在训练深度学习模型时调整权重和偏差。是用于更新神经网络参数以最小化某个损失函数的方法。它通过不断更新模型的参数来实现这一目的。

优化器通常用于深度学习模型,因为这些模型通常具有大量可训练参数,并且需要大量数据和计算来优化。优化器通过不断更新模型的参数来拟合训练数据,从而使模型在新数据上表现良好。

在模型训练过程中,在损失函数中会得到一个loss值,即模型输出与真实值之间的一个差异

对于loss值我们通常会采取pytorch中的自动求导autograd模块去求取模型当中的参数的梯度grad

优化器拿到梯度grad后,进行一系列的优化策略去更新模型参数,使得loss值不断下降

学习参数通常是指权值或者偏置bias,更新的策略在神经网络中通常都会采用梯度下降方法。

  • 方向导数

两个自变量x,y,输出值为z可以认为是山坡的高度。多元函数的导数都是偏导,对x的偏导就是,固定y,求在x方向上的变化率;而方向有无穷多个,不仅仅x、y方向上有变化率,其他方向任意方向上都有变化率

  • 梯度是一个向量,它向量的方向是使得方向导数最大的那个方向

梯度的方向为方向导数变化率最大的方向(方向为使得方向导数取得最大值的方向,朝着斜坡最陡峭的地方去。模长即为方向导数的值,即为方向导数的变化率。梯度就是在当前这个点增长最快的一个方向,模长就是增长的速度。梯度的负方向就是下降最快的。
 

为实现管理并更新模型中可学习参数的值,使得模型输出更接近真实标签,线面是优化器中的核心概念

  • 导数:函数在指定坐标轴上的变化率
  • 方向导数:指定方向上的变化率
  • 梯度:一个向量,方向为方向导数取得最大值的方向
  • 梯度下降:朝着梯度下降的负方向去变化,下降是最快的
  • defaults里面是基本的超参数:lr、momentum、dampending、weight_decay、nesterov等,用字典打包
  • state没有训练时为空
  • param_groups是一个list,list中每一个元素是一个字典,字典中的'params'才是我们真正的参数'params'里面的数据又是一个list,list中的一个元素又是一组参数
  • params里面的内容为网络的可学习参数,比如,00表示第一个卷积层权重,01表示bias
  • _step_count记录更新次数,以便于调整训练策略,例如每更新100次参数,对学习率调整一下
  • zero_grad()

在每一次反向传播过程中,需要对梯度张量进行清零,因为pytorch张量梯度不能自动清零,是累加的。

  • step()

执行,对参数进行更新。优化器保存的权值地址和真实权值的地址是一样的,说明优化器是通过地址去寻找权值

  • add_param_group()

通过参数组param_groups的概念来设置不同的参数有不同的学习率,在模型的fineturn中非常实用

  • state_dict() 与 load_state_dict()

state_dict()和load_state_dict()用于保存模型信息和加载模型信息,用于模型断点的续训练,一般在10个epoch或50个epoch的时候要保存当前的状态信息

state_dict()返回两个字典,一个state用于保存缓存信息packed_state和一个param_groups

load_state_dict()用于接收一个state_dict放在优化器中

3.1.1 思想

SGD是一种经典的优化器,用于优化模型的参数。SGD的基本思想是,通过梯度下降的方法,不断调整模型的参数,使模型的损失函数最小化。SGD的优点是实现简单、效率高,缺点是收敛速度慢、容易陷入局部最小值。

3.1.2 数学表达

通过如下的方式来更新模型的参数

 3.1.3 实际使用

在PyTorch中,可以使用来实现SGD。

 

本实例中首先定义了模型,然后定义了SGD优化器,并指定了学习率为0.1。接着,通过循环迭代数据集,计算损失函数和梯度,并更新模型的参数。通过这样的方式,就可以在PyTorch中使用SGD来训练模型了。

3.2.1 思想

Adam是一种近似于随机梯度下降的优化器,用于优化模型的参数。Adam的基本思想是,通过维护模型的梯度和梯度平方的一阶动量和二阶动量,来调整模型的参数。Adam的优点是计算效率高,收敛速度快,缺点是需要调整超参数。

3.2.2 数学表达

通过如下的方式来更新模型的参数

3.2.3 实际使用

在PyTorch中,可以使用来实现Adam。

 

本实例中首先定义了模型,然后定义了Adam优化器,并指定了学习率为0.1, β1​和β2的值分别为0.9和0.999。接着,通过循环迭代数据集,计算损失函数和梯度,并更新模型的参数。通过这样的方式,就可以在PyTorch中使用Adam来训练模型了。

3.3.1 思想

RMSprop是一种改进的随机梯度下降优化器,用于优化模型的参数。RMSprop的基本思想是,通过维护模型的梯度平方的指数加权平均,来调整模型的参数。RMSprop的优点是收敛速度快,缺点是计算复杂度高,需要调整超参数。

3.3.2 数学表达

具体来说,RMSprop优化算法的公式如下

3.3.3 实际使用

在PyTorch中,可以使用来实现Adam。

 

本实例中首先定义了模型,并将其转换为训练模式。然后定义了RMSprop优化器,并指定了要优化的模型参数,学习率为0.1, α的值为0.9。接着通过循环迭代数据集,计算损失函数和梯度,并更新模型的参数。通过这样的方式,就可以在PyTorch中使用RMSprop来训练模型了。

除了上面提到的三种优化器,PyTorch还提供了多种优化器,比如Adadelta、Adagrad、AdamW、SparseAdam等。选择优化器时需要根据实际情况和需求进行综合考虑,以下是可参考的点

  • 优化器的收敛速度和稳定性:不同的优化器在收敛速度和稳定性方面表现不同。一般来说,随机梯度下降(SGD)和Adam具有较快的收敛速度,而动量(Momentum)和Adagrad则具有较好的稳定性。

  • 优化器对数据集的处理能力:对于大规模数据集,SGD或Mini-batch SGD可能更合适,因为它们可以更好地处理大量数据,且计算成本较低。对于小规模数据集,Adam或其变体可能是一个更好的选择。

  • 优化器对模型复杂度的处理能力:如果模型具有很多局部最小值或鞍点,动量优化器或其变体(如Nadam或AMSGrad)可能更好,因为它们可以在这些情况下提高稳定性。

  • 优化器的适用场景:如果处理的是序列数据,自适应优化器,如RMSprop或Adagrad可能更好,因为它们可以更好地处理时间序列数据的稀疏性。

  • 优化器的参数设置:不同的优化器具有不同的参数设置,如学习率、动量等。选择合适的参数设置可以显著提高模型的训练效果。

可以通过试验不同的优化器和调整参数来找到最适合的优化器。

最新文章
必看教程“微乐河北麻将万能开挂器通用版vivo”(确实是有挂)-知乎
微信打麻将是一款非常流行的棋牌游戏,深受广大玩家的喜爱。在这个游戏中,你需要运用自己的智慧和技巧来赢取胜利,同时还能与其他玩家互动。 在游戏中,有一些玩家为了获得更高的胜率和更多的金币而使用了开挂神器。开挂神器是指那些可以
钉钉打卡改位置神器2024免费版
钉钉打卡改位置神器2024免费版是一款非常专业的钉钉打卡定位应用,无需root,轻松安装使用。软件小巧,集成百度、高德、腾讯等主流地图,实现一键多系统定位验证。无论打卡签到还是位置考勤,都能迅速准确修改位置,让您的生活工作更加便捷
观点丨王晋斌:“去美元化”的三个维度
王晋斌中国人民大学国家发展与战略研究院研究员经济学院教授当前,“去美元化”已经成为全球热议的话题。理解“去美元化”可能需要多维度的思考。国际货币最终是国际市场选择的结果,主要靠的是货币的国际市场声誉机制;地缘政治会影响国际
甘肃企业360°精准营销攻略,全方位推广优化策略解锁市场新机遇
甘肃360推广优化,采用全方位策略,助力企业精准触达目标市场。通过精准定位、数据分析、创意优化等手段,提升企业品牌知名度,实现业务增长。随着互联网的普及和电子商务的快速发展,越来越多的企业开始意识到网络营销的重要性,在众多网
《李宏毅2022机器学习》HW1 记录
通过观察数据知道影响是否为阳性的有38+15个特征,前38位为id及one-hot表示地点的feature。代码为:结果如下: 注意还需要在config中将select_all改为False 再次提交后:得出结果分数更好了一点: Pytorch中做L
省点外链和商加加外链?
商加加外链工具是省点外链更名后的新名字。这一工具风靡企业市场,通过它,企业可以轻松实现将外链转化为企业微信的跳转链接,以便更好地服务客户和提升营销效果。省点外链改名成商加加外链工具并没有改变其核心功能。企业只需要在商加加外
百度快照被劫持百度网址安全中心提醒您:该页面可能已被非法篡改!
近期受世界杯的影响,我们Sinesafe接过很多中小企业网站频繁的被黑客入侵篡改了快照内容的网站安全问题导致打开网站被提示博彩页面,在搜索引擎中会被提示百度网址安全中心提醒您:该页面可能已被非法篡改!主要客户网站问题基本都是反复性质
行程缩短至3小时 这条“油画”公路带你解锁冬日阿勒泰之美→
全长200多公里的阿禾公路是网友心中美如画的网红公路眼下,阿禾公路迎来了首次冬季运营冬日的风景有多独特?到这里自驾游有哪些需要注意的地方?冬日的阿勒泰有多美?视频加载中...6小时缩短至3小时连接新疆阿勒泰市与喀纳斯景区禾木村的阿
百度搜索高级技巧
百度搜索——整理自网络 1、+加号——强制包含关键词 将“+”后面的关键词强制包含到搜索结果中 2、-减号——排除关键词或者网站 在某个字词或网站网址前添加短横 (-) 可排除所有包含该字词的搜索结果。在搜索“汽车品牌美洲虎”和
《白夜2》大结局关宏峰下线,编剧被骂上热搜,别拍第三部了
《白夜破晓》作为口碑剧《白夜追凶》的续作一直备受期待,观众翘首以盼,终于在时隔七年之后迎来续作的播出。可惜,《白夜2》播出后收获的成绩并不好,不管是热度还是口碑,都远远不如《白夜追凶》。如今,《》迎来大结局,更是因灵魂男主
相关文章
推荐文章
发表评论
0评