一.是通过人为经验进行设定,如到达多少轮后,设定具体的学习率为多少
分段常数衰减
分段常数衰减是在事先定义好的训练次数区间上,设置不同的学习率常数。刚开始学习率大一些,之后越来越小,区间的设置需要根据样本量调整,一般样本量越大区间间隔应该越小。
tf.train.piecewise_constant(
x,
boundaries,
values,
name=None
)
x: 标量,指代训练次数
boundaries: 学习率参数应用区间列表
values: 学习率列表,values的长度比boundaries的长度多一个
name: 操作的名称
boundaries = [10, 20, 30] (分三段,然后设置四个不同的学习速率)
learing_rates = [0.1, 0.07, 0.025, 0.0125]
分段常数衰减可以让调试人员针对不同任务设置不同的学习率,进行精细调参,要求调试人员对模型和数据集有深刻认识,要求较高。
二.是随着迭代轮数的增加学习率自动发生衰减,这类有比较常用的指数型衰退
1.指数衰减
指数衰减是比较常用的衰减方法,学习率是跟当前的训练轮次指数相关的。
计算公式是:
decayed_learning_rate = learning_rate *
decay_rate ^