首页 > 其他 > 详细

tensorflow机器学习指数衰减学习率的使用tf.train.exponential_decay

时间:2019-11-16 11:33:39      阅读:78      评论:0      收藏:0      [点我收藏+]

训练神经网络模型时通常要设置学习率learning_rate,可以直接将其设置为一个常数(通常设置0.01左右),但是用产生过户学习率会使参数的更新过程显得很僵硬,不能很好的符合训练的需要(到后期参数仅需要很小变化时,学习率的值还是原来的值,会造成无法收敛,甚至越来越差的情况),过大无法收敛,过小训练太慢。

所以我们通常会采用指数衰减学习率来优化这个问题,exponential_decay可以通过tf.train.exponential_decay函数直接设置,

global_step = tf.Variable(0, trainable=False)
lr = tf.train.exponential_decay(learning_rate=0.02,
global_step=global_step,
decay_steps=100,
decay_rate=0.9,
staircase=False)
learning_rate为原始学习率
global_step个人感觉好比一个计数器,你没进行一次更新它就会增一
decay_steps为衰减间隔,顾名思义就是每隔多少步会更新一次学习率(它只有在staircase为true时才有效)
decay_rate衰减率
staircase若为true则每隔decay_steps步对学习率进行一次更新,若为false则每一步都更新
指数衰减学习率更新公式如下:

技术分享图片

 

tensorflow机器学习指数衰减学习率的使用tf.train.exponential_decay

原文:https://www.cnblogs.com/biandekeren-blog/p/11871091.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!