TensorFlow笔记:指数衰减学习率

学习率决定了参数更新的幅度。通常我们希望在学习开始阶段提供一个较大的学习率,使得参数快速更新,达到最优解附近。然后随着训练的进行,我们希望在学习率随着训练次数的增加而减少,即在接近最优解的时候能够以较小的学习率逼近最优解
TensorFlow为我们提供了tf.train.exponential_decay()函数实现这个功能

tf.train.exponential_decay()函数

定义

tf.train.exponential_decay( learning_rate, global_step, decay_steps, decay_rate, staircase=False, name=None ) 

解释

指数衰减学习率的计算方法如下
n e w _ l e a r n i n g _ r a t e = l e a r n i n g _ r a t e ∗ d e c a y _ r a t e g l o b a l _ s t e p d e c a y _ s t e p new\_learning\_rate = learning\_rate * decay\_rate^{\frac{global\_step}{decay\_step}} new_learning_rate=learning_ratedecay_ratedecay_stepglobal_step
learning_rate 参数为初始的学习率, global_step 参数为当前的训练步数, decay_steps 参数设置了学习率衰减的速度,经过 decay_steps 后会进行一次衰减, decay_rate 参数则是衰减的比例, staircse 参数为真时会对 g l o b a l _ s t e p d e c a y _ s t e p \frac{global\_step}{decay\_step} decay_stepglobal_step 进行取整,从而学习率会呈阶梯式下降

你可能感兴趣的:(python,TensorFlow)