TensorFlow提供了灵活的学习率设置方法——指数衰减法,使得学习率会指数级的减小,实现公式是:
decayed_learning_rate = learning_rate * decay_rate ^ (global_step / decay_steps)
其中,learning_rate表示初始学习率,global_step表示总的迭代训练次数,decay_steps表示改变学习率的间隔次数,decay_rate表示衰减速率,staircase为True表示学习率呈阶梯状衰减按为False表示连续衰减。
使用示例:
global_step = tf.Variable(0, trainable=False)
starter_learning_rate = 0.1
learning_rate = tf.train.exponential_decay(starter_learning_rate,global_step, 100000, 0.96, staircase=True)
# Passing global_step to minimize() will increment it at each step.
learning_step = (tf.train.GradientDescentOptimizer(learning_rate).minimize(...my loss..., global_step=global_step))