TensorFlow实现学习率衰减

简介: 训练深度学习模型的常见模式是随着训练的进行逐渐减少学习。这通常称为“学习率衰减”。

训练深度学习模型的常见模式是随着训练的进行逐渐减少学习。这通常称为“学习率衰减”。


学习衰减时间表可以是静态的(根据当前周期或当前批次索引预先确定),也可以是动态的(响应模型的当前行为,尤其是验证损失)。


将时间表传递给优化器


通过将时间表对象作为优化器中的 learning_rate 参数传递,您可以轻松使用静态学习率衰减时间表:


initial_learning_rate = 0.1

lr_schedule = keras.optimizers.schedules.ExponentialDecay(

   initial_learning_rate,

   decay_steps=100000,

   decay_rate=0.96,

   staircase=True

)


optimizer = keras.optimizers.RMSprop(learning_rate=lr_schedule)


使用回调实现动态学习率时间表


由于优化器无法访问验证指标,因此无法使用这些时间表对象来实现动态学习率时间表(例如,当验证损失不再改善时降低学习率)。


但是,回调确实可以访问所有指标,包括验证指标!因此,您可以通过使用可修改优化器上的当前学习率的回调来实现此模式。实际上,它甚至以 ReduceLROnPlateau 回调的形式内置。

目录
相关文章
|
机器学习/深度学习 数据采集 自然语言处理
直观理解并使用Tensorflow实现Seq2Seq模型的注意机制(上)
直观理解并使用Tensorflow实现Seq2Seq模型的注意机制
264 1
直观理解并使用Tensorflow实现Seq2Seq模型的注意机制(上)
|
机器学习/深度学习 数据可视化 TensorFlow
使用TensorFlow Probability实现最大似然估计
TensorFlow Probability是一个构建在TensorFlow之上的Python库。它将我们的概率模型与现代硬件(例如GPU)上的深度学习结合起来。
148 1
|
机器学习/深度学习 TensorFlow 算法框架/工具
优达学城深度学习之六——TensorFlow实现卷积神经网络
优达学城深度学习之六——TensorFlow实现卷积神经网络
优达学城深度学习之六——TensorFlow实现卷积神经网络
|
机器学习/深度学习 存储 TensorFlow
直观理解并使用Tensorflow实现Seq2Seq模型的注意机制(下)
直观理解并使用Tensorflow实现Seq2Seq模型的注意机制
198 0
直观理解并使用Tensorflow实现Seq2Seq模型的注意机制(下)
|
TensorFlow 算法框架/工具 计算机视觉
TensorFlow 实现VGG16图像分类
TensorFlow 实现VGG16图像分类
TensorFlow 实现VGG16图像分类
|
机器学习/深度学习 存储 算法
TensorFlow 实现图像分类|学习笔记
快速学习 TensorFlow 实现图像分类。
159 0
TensorFlow 实现图像分类|学习笔记
|
机器学习/深度学习 TensorFlow 算法框架/工具
逻辑回归的 tensorflow 实现 | 学习笔记
快速学习逻辑回归的 tensorflow 实现
逻辑回归的 tensorflow 实现 | 学习笔记
uiu
|
机器学习/深度学习 算法 TensorFlow
TensorFlow 2 Keras实现线性回归
TensorFlow 2 Keras实现线性回归
uiu
181 0
TensorFlow 2 Keras实现线性回归
|
机器学习/深度学习 TensorFlow API
深度学习:Tensorflow实现线性回归梯度下降优化
深度学习:Tensorflow实现线性回归梯度下降优化
149 0
深度学习:Tensorflow实现线性回归梯度下降优化
|
机器学习/深度学习 TensorFlow API
TensorFlow实现多输入源多输出
有时我们的输入数据不只一个,会存在多个输入源,多个输出源,对于这种情况我们使用Sequential显然是不行的,因为Sequential只能够搭建线性拓扑模型,对于那种流水线型的模型较为适合,如果是非线性拓扑,复杂的拓扑使用Sequential是不能够实现的,这是我们就需要使用Function API,它会使我们处理多输入多输出变得简单。
640 0
TensorFlow实现多输入源多输出
下一篇
无影云桌面