tensorflow之学习率

学习率 learning_rate:

表示了每次参数更新的幅度大小。 学习率过大, 会导致待优化的参数在最小值附近波动,不收敛;学习率过小, 会导致待优化的参数收敛缓慢。
在训练过程中, 参数的更新向着损失函数梯度下降的方向。

参数的更新公式为:

在这里插入图片描述
下一时刻的参数=上一时刻的参数-学习率*(损失函数对这个参数的导数)
在这里插入图片描述
在这里插入图片描述
由图可知,损失函数 loss 的最小值会在(-1,0)处得到,此时损失函数的导数为 0,得到最终参数 w =-1。


指数衰减学习率:

学习率随着训练轮数变化而动态更新。

指数衰减学习率表示如下:
decayed_learning_rate = learning_rate * decay_rate ^ (global_step / decay_steps)
在这里插入图片描述

其中, LEARNING_RATE_BASE 为学习率初始值, LEARNING_RATE_DECAY 为学习率衰率,global_step 记录了当前训练轮数,为不可训练型参数。学习率 learning_rate 更新频率为输入数据集总样本数除以每次喂入样本数。若 staircase 设置为 True 时,表示 global_step/learning rate step 取整数,学习率阶梯型衰减;若 staircase 设置为 false 时,学习率会是一条平滑下降的曲线

猜你喜欢

转载自blog.csdn.net/weixin_40743261/article/details/89161581
今日推荐