前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >神经网络中的梯度优化算法(二)

神经网络中的梯度优化算法(二)

作者头像
YoungTimes
发布2022-04-28 13:03:48
4670
发布2022-04-28 13:03:48
举报

Adagrad(Adaptive gradient algorithm)

Adagrad算法可以针对不同的参数自适应的采用不同的更新频率,对低频出现的特征采用低的更新率,对高频出现的特征采用高的更新率,因此,对于稀疏的数据它表现的很好,很好的提升了SGD的鲁棒性,在Google的通过Youtube视频识别猫的神经网络训练中有很好的表现。

梯度更新规则:

表示在t时刻目标函数对

的偏导数。SGD的每个参数的更新过程如下:

Adagrad的每个参数更新过程如下:

是一个对角矩阵,对角线上的每个元素是t时刻前所有

的梯度的平方和。ξ通常取值在1e-8量级,它的存在是为了避免除数为0。一个有趣的现象是,如果没有平方根操作,算法的表现就非常糟糕。

Adagrad的主要缺点是,它的分母是平方梯度的累积,它的值会一直增加,最终导致学习率衰减到非常小,从而使得学习算法无法进行下去。

TensorFlow实现:

代码语言:javascript
复制
tf.train.AdagradOptimizer(learning_rate, initial_accumulator_value=0.1, use_locking=False, name='Adagrad')

Adadelta

Adadelta算法主要解决Adagrad的缺陷,它不再累加过去所有的梯度,而是仅累积过去固定个数的梯度。

Adadelta不是采用平方梯度的简单累加,而是采用历史平方梯度的衰减的平均。

γ通常等于0.9

分母相当于梯度的均方根(root mean squared, RMS),即将所有值平方求和,求其均值,再开平方,就得到均方根值。

梯度更新规则:

将学习率η设置为

,我们就不需要提前设定学习率。

RMSprop

RMSprop是Geoff Hinton提出的一种自适应学习率的方法,它与Adadelta方法都是为了解决Adagrad学习率急剧下降问题的。它与Adadelta方法是一致的。

梯度更新规则

超参数设定值:

Hinton建议设定

, 学习率

TensorFlow实现:

代码语言:javascript
复制
tf.train.RMSPropOptimizer.__init__(learning_rate, decay, momentum=0.0, epsilon=1e-10, use_locking=False, name='RMSProp')

Adam:Adaptive Moment Estimation

Adam也是对不同的参数自适应设置不同的学习率。它对历史梯度和历史平方梯度同时采用指数梯度衰减(exponentially decaying average)。

梯度更新规则

Adam作者观察到,如果

初始化为零向量,并且衰减率很小时(比如

都非常接近于1时),在开始的迭代中,

总是向零偏移,所以需要做偏移校正。

然后用校正后的值进行梯度更新:

Adam作者建议

,在实践中,Adam比其它算法的效果要好。

TensorFlow实现:

代码语言:javascript
复制
tf.train.AdamOptimizer(learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-08, use_locking=False, name='Adam')

Adamax

Adam更新规则中的梯度缩放与历史梯度的

范数成反比。

我们可以把这个规则泛化到

范数。

当p值增大的时候,

的值往往会变得不稳定,所以在实践中L1和L2使用的比较普遍。但是Adamax作者发现

可以收敛到一个稳定值。

然后我们可以采用

代替

来更新Adam中的梯度。

同时

不需要做零偏校正。默认取值建议:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 半杯茶的小酒杯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Adagrad(Adaptive gradient algorithm)
  • Adadelta
  • RMSprop
  • Adam:Adaptive Moment Estimation
  • Adamax
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档