适应性学习率

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录

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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6