学习率衰减(learning rate decay)
在训练神经网络时,使用学习率控制参数的更新速度.学习率较小时,会大大降低参数的更新速度;学习率较大时,会使搜索过程中发生震荡,导致参数在极优值附近徘徊. 为此,在训练过程中引入学习率衰减,使学习率随着训练的进行逐渐衰减
而最常用的方法是指数衰减法:
tf.train.exponential_decay()
指数衰减的学习速率计算公式为:
decayed_learning_rate = learning_rate * decay_rate ^ (global_step / decay_steps)
decayed_learning_rate-每一轮优化时使用的学习率
learning_rate - 初始学习率
decay_rate - 衰减系数
global_step - 训练迭代轮数,全局变量,也是函数的输入
decay_steps-衰减速度,即多少轮更新一次参数
例如:learning_rate=0.1,decay_rate=0.9,decay_steps=50,当global从0变为50时,decayed_learing_rate从0.1变为0.09.
如下为代码样例,参照:https://blog.youkuaiyun.com/akadiao/article/details/79560731
#!/usr/bin/python
# coding:utf-8
import matp