神经网络优化——学习率

来源:互联网 发布:实用数据分析 pdf 编辑:程序博客网 时间:2024/06/03 23:40

训练神经网络的时候需要设置学习率(learning rate)控制参数更新速度。学习率决定了参数每次更新的幅度。如果幅度过大,可能导致参数在最优值的两侧来回移动。
这里写图片描述
从上图可知,无论进行多少次迭代,参数将在5和-5之间摇摆,而不会收敛到一个极小值。相反学习率过小时,虽然能保证收敛性,但是会大大降低优化速度。
Tensorflow提供了一种灵活的学习率设置方法——指数衰减法。
tf.train.exponential_decay函数实现了指数衰减学习率。通过这个函数,可以先使用较大的学习率快速得到一个最优解,然后随着迭代的继续逐步减小学习率,使得模型在训练后期更加稳定。它实现了以下代码功能:
这里写图片描述
其中decayed_learning为