tf.train.exponential_decay()函数(指数衰减率的定义)

在Tensorflow中,为解决设定学习率(learning rate)问题,提供指数衰减法来解决。

通过tf.train.exponential_decay函数实现指数衰减学习率。
步骤:
1.首先使用较大学习率(目的:为快速得到一个比较优的解);
2.然后通过迭代逐步减小学习率(目的:为使模型在训练后期更加稳定);

代码实现:

global_step = tf.Variable(0, trainable= False)
learning_rate= tf.train.exponential_decay(LEARNING_RATE_BASE, global_step,LEARNING_RATE_DECAY, staircase= True/False)

其中,learning_rate: 为每一轮优化时使用的学习率;
LEARNING_RATE_BASE: 为事先设定的初始学习率;
global_step: 记录当前轮数;
LEARNING_RATE_STEP: 是学习率更新速度, 及每LEARNING_RATE_STEP轮训练后要乘以学习率衰减系数;
LEARNING_RATE_DECAY: 是学习率衰减系数;

而tf.train.exponential_decay函数则可以通过staircase(默认值为False,当为True时,(global_step/ learning rate step)则被转化为整数) ,选择不同的衰减方式。zhishu

你可能感兴趣的:(tensorflow)