通过这个函数,可以已较大的学习率快速得到一个比较优的解,随后随着迭代的继续逐步减少学习率,使得模型在训练后期更加稳定。
计算公式:decay_learning_rate = learning_rate * decay_rate ^ (global_step / decay_steps)
decay_learnig : 每轮使用的学习率
learning_rate: 事先设定的初始学习率
decay_rate : 衰减系数
staircase = Fasle: default 默认,以平滑的曲线下降,如果设置为True则,global_step/decay_steps 取整数,阶梯形下降
global_step = tf.Variable(0)
% learning_rate = tf.train.exponential_decay(learning_rate, global_step, one_cycle_step, learning_rate_decay, staircase = Fasle)
% global_step : current iterater 当前的迭代轮数
learning_rate = tf.train.exponential_decay(0.3, global_step, 100, 0.99, staircase = True)
%使用minimize 函数传入global——step 自动更新global——step参数
loss = 需要定义一个loss方程
learning_step = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss, global_step = global_step)