适应性学习率

文章探讨了在神经网络训练中,适应性学习率的重要性。训练停止通常不是因为临界点,而是由于学习率不合适导致参数在误差曲面附近震荡。RMSProp和Adam优化器通过动态调整学习率来解决这一问题,同时学习率衰减和Warmup策略在训练初期和后期调整学习率,以优化收敛过程。
摘要由CSDN通过智能技术生成

目录

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进行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值