一、介绍
深度学习在训练过程中改变学习率的方法,公式如下所示:
二、代码实现
def noam_scheme(init_lr, global_step, warmup_steps=4000.):
step = tf.cast(global_step + 1, dtype=tf.float32)
return init_lr * warmup_steps ** 0.5 * tf.minimum(step * warmup_steps ** -1.5, step ** -0.5)
说明:在训练的轮数达到warmup_steps过程中,学习率会逐渐增加到init_lr,训练轮数超过warmup_steps之后学习率会从init_lr开始逐步下降。