适应性学习率

目录

2021 - 类神经网络训练不起来怎么办(三) 自动调整学习率 (Learning Rate)

适应性学习率 Adaptive learning rate

一般训练过程中训练不起来,很少是critical point的问题。大部分都是gradient优化器的问题。

在这里插入图片描述

上图中loss不再变化,但gradient向量值并不会很小,并不在临界点上。 这种现象的出现在gradient($
w_{i+1}=w_i-\eta \times \frac{\partial loss}{\partial w}|_{w=w^0}
$)中主要是因为η太大导致在临界点周围反复横跳,如下图

在这里插入图片描述

为什么不是临界点仍会导致训练停止

在这里插入图片描述

示例一

在这里插入图片描述

起初,gradient比较大,若此时学习率η也比较大,会导致参数在error surface两边震荡更新如上图。

示例二

在这里插入图片描述

起初,gradient比较大,若此时学习率η比较小,则参数更新的程度也会比较小,从而能够到达临界点附近,但因为临界点附近gradient比较小,而此时学习率η也比较小,故参数的更新程度就会比较小,从而无法到达local
minima的位置

📌因此,对于参数的不同位置我们需要设置不同的学习率。当gradient梯度较大时,将学习率设置较小。当gradint梯度较小时,将学习率设置较大

此时gradient优化器公式为:

w i + 1 = w i − η σ i t g i t w_{i+1}=w_i-\frac{\eta}{\sigma^t_i}g^t_i wi+1=wiσitηgit

RMS

RMS即root mean square 此时的sigma规律如下:

在这里插入图片描述

当error surface某点附件的gradient梯度偏大时,sigma值偏大导致
eta/sigma偏小从而实现小程度的参数更新;当error surface某点附件的gradient梯度偏小时,sigma值偏小导致
eta/sigma偏大从而实现大程度的参数更新、

但RMS仍存在一些问题:它是等可能的参照过去现在所有的gradient,但是在实现的过程中我们需要对目前的gradient置以更高或更低的参与可能,从而有了RMSProp

RMSProp

RMSProp在RMS的基础上将sigma定义如下:(引入了新的超参数alpha)

在这里插入图片描述

Adam

目前最常用的优化器,是结合RMSProp和Momentum动量的gradient。其内部实现如下:

在这里插入图片描述

学习率还和时间有关

Learin Rate Decay

在这里插入图片描述

随时间的进行,训练的越来越接近local minima,故让学习率eta逐渐减小,不要出现下图的在local minima处的震荡:

在这里插入图片描述

Warm up

在这里插入图片描述

随时间的进行,学习率eta先增大至最高再逐渐减小,此时超参数还包括何时升至最高值及最高值多少和下降到哪个最低值
(大概解释:一般刚开始时我们过去的gradient较少,因此此时最后的学习率/sigma不是很精准,所以我们设置较小的学习率eta,不要让参数偏太多。随着时间慢慢进行,过去的gradient比较丰富,此时可以设置较大的eta之后再按照Learing
Rate Decay进行

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
深度学习模型的学习率是一个非常重要的超参数,它决定了模型在每次迭代中更新参数的步长大小。学习率设置不当会导致模型无法收敛或者收敛过慢,影响模型的性能。 一般来说,学习率的设置需要结合具体的模型和数据集进行调整。这里介绍一些常用的学习率设置方法: 1. 固定学习率:可以根据经验或者调参的结果选择一个合适的学习率,并在训练过程中固定不变。 2. 学习率衰减:在训练过程中逐渐降低学习率,可以使模型在初期快速收敛,在后期更好地优化参数。常见的学习率衰减方法有: - 周期性衰减:每隔一定的迭代次数降低学习率,可以使用StepLR或者MultiStepLR。 - 衰减速率衰减:每次迭代降低一个固定的衰减速率,可以使用ExponentialLR或者CosineAnnealingLR。 - 指数衰减:每次迭代将学习率除以一个固定的指数,可以使用ReduceLROnPlateau。 3. 自适应学习率:根据梯度和历史梯度等信息自动适应调整学习率,可以使模型更加稳定和高效。常见的自适应学习率方法有: - AdaGrad:针对每个参数自适应调整学习率,对历史梯度进行累加和平方根运算,使得梯度较大的参数学习率较小,梯度较小的参数学习率较大。 - RMSProp:对AdaGrad的缺陷进行改进,引入指数加权平均来平衡历史梯度和当前梯度对学习率的贡献。 - Adam:将动量和RMSProp结合起来,同时考虑梯度和历史梯度的影响,更加稳定和高效。 需要注意的是,学习率的设置需要结合具体的模型和数据集进行调整,不同的模型和数据集可能需要不同的学习率设置策略。初次尝试可以先使用较小的学习率进行训练,然后根据训练结果逐步调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值