优化器
tf.train.GradientDescentOptimizer(learning_rate=N) 梯度优化器
中的 learning_rate 参数可以是一个常数或张量。N的值介于 0 和 1 之间。
tf.train.AdadeltaOptimizer() 来实现一个自适应的、单调递减的学习率,它使用两个初始化参数 learning_rate 和衰减因子 rho:
学习率
1、指数衰减的学习率
decay_learning_rate = tf.train.exponential_decay(learning_rate, global_step, decay_steps, decay_rate,staircase=False,name=None)
learning_rate 预先定义的学习率
global_step 迭代步数,当前训练的轮数
decay_rate 衰减系数
decay_steps 衰减速度,迭代多少次进行衰减
staircase 衰减方式
计算方式:
decay_learning_rate = learning_rate x decay_rate **(global_step/decay_rate)
2、反时限学习率衰减
decay_learning_rate = tf.train.inverse_time_decay(learning_rate,global_step,decay_steps,decay_rate,staircase=False,name=None)
计算方式:
decay_learning_rate = learning_rate / (1 +decay_rate x (global_step / decay_steps ) )
3、自然指数学习率衰减
decay_learning_rate = tf.train.natural_exp_decay(learning_rate,global_step,decay_steps,decay_rate,staircase=False,name=None)
计算方式:
decay_learning_rate = learning_rate x e(-decay_rate x global_step)
4、分片常数学习率衰减
tf.train.piecewise_constant(x, boundaries, values, name=None)
5、多项式学习率衰减
tf.train.polynomial_decay(learning_rate, global_step,decay_steps,end_learning_rate=0.0001, power=1.0, cycle=False,name=None)