深度学习中的指数衰减率
公式
指数衰减率公式: d e c a y e d _ 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 s decayed\_learning\_rate=learning\_rate*decay\_rate^{global\_step/decay\_steps} decayed_learning_rate=learning_rate∗decay_rateglobal_step/decay_steps
说明
-
tf.train.exponential_decay 函数可以通过设置参数staircase选择不同的衰减方式。
-
staircase参数默认值是False,学习率随迭代轮数变化的趋势呈曲线
-
staircase参数设置成True,曲线变成阶梯状的学习率。在这样的设置下,decay_steps通常代表了完整的使用一遍训练数据所需要的迭代轮数。
- 迭代轮数为:总训练样本数除以每一个batch中的训练样本数。
- 这种设置的常用场景是每完整地过完一遍训练数据,学习率就减小一次,这可以使得训练数据集中的所有数据对模型训练有相等的作用
-
当使用连续的指数衰减学习率时,对应的训练数据对模型训练结果的影响也就小了。
-
初始学习率、衰减系数、衰减速度都是根据经验设置的。而且损失函数下降的速度和迭代结束之后总损失的大小没有必然的联系。也就是说并不能通过前几轮损失函数下降的速度来比较不同神经网络的效果