版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zpalyq110/article/details/81585990
Why should learning rate decay?
以目前最主流的参数优化算法Gradient Descent为例,为了让梯度下降的性能更优,我们需要将学习率设定在一个合适的范围。具体来说,学习率其实就是算法的步长,一步走多少决定了很多事情:步子大了,优化效率高,很可能一下越过最优解;相反,步子小了,优化效率低,很可能陷进一个局部最优解怎么都走不出来。所以学习率的调整在算法参数最优的过程中至关重要。
How decay learning rate?
- exponential_decay:指数衰减
decayed_learning_rate = learning_rate * decay_rate ^ (global_step / decay_steps) - natural_exp_decay:自然指数衰减
decayed_learning_rate = learning_rate * exp(-decay_rate * global_step) - inverse_time_decay:逆时间衰减
decayed_learning_rate = learning_rate / (1 + decay_rate * global_step / decay_step) - polynomial_decay:多项式衰减
global_step = min(global_step, decay_steps)
decayed_learning_rate = (learning_rate - end_learning_rate) *(1 - global_step / decay_steps) ^ (power) + end_learning_rate
参数 | 意义 |
---|---|
decayed_learning_rate | 衰减后的学习率 |
learning_rate | 初始学习率 |
decay_rate | 衰减率 |
global_step | 当前的step |
decay_steps | 衰减周期 |