将嘈杂的线性余弦衰减应用于学习率。
用法
tf.compat.v1.train.noisy_linear_cosine_decay(
learning_rate, global_step, decay_steps, initial_variance=1.0,
variance_decay=0.55, num_periods=0.5, alpha=0.0, beta=0.001, name=None
)
参数
-
learning_rate
标量float32
或float64
张量或 Python 数字。初始学习率。 -
global_step
标量int32
或int64
Tensor
或 Python 编号。用于衰减计算的全局步骤。 -
decay_steps
标量int32
或int64
Tensor
或 Python 编号。要衰减的步数。 -
initial_variance
噪声的初始方差。见上面的计算。 -
variance_decay
衰减噪声的方差。见上面的计算。 -
num_periods
衰减余弦部分的周期数。见上面的计算。 -
alpha
见上面的计算。 -
beta
见上面的计算。 -
name
String 。操作的可选名称。默认为'NoisyLinearCosineDecay'。
返回
-
与
learning_rate
类型相同的标量Tensor
。衰减的学习率。
抛出
-
ValueError
如果未提供global_step
。
请注意,线性余弦衰减比余弦衰减更具侵略性,通常可以使用更大的初始学习率。
在训练模型时,通常建议随着训练的进行降低学习率。此函数将噪声线性余弦衰减函数应用于提供的初始学习率。它需要一个global_step
值来计算衰减的学习率。您可以只传递一个 TensorFlow 变量,该变量在每个训练步骤中递增。
该函数返回衰减的学习率。它被计算为:
global_step = min(global_step, decay_steps)
linear_decay = (decay_steps - global_step) / decay_steps)
cosine_decay = 0.5 * (
1 + cos(pi * 2 * num_periods * global_step / decay_steps))
decayed = (alpha + linear_decay + eps_t) * cosine_decay + beta
decayed_learning_rate = learning_rate * decayed
其中 eps_t 是具有方差的 0 中心高斯噪声 initial_variance /(1 + global_step) ** variance_decay
示例用法:
decay_steps = 1000
lr_decayed = noisy_linear_cosine_decay(
learning_rate, global_step, decay_steps)
参考:
带有强化学习的神经优化器搜索:Bello 等人,2017 (pdf) 带有热重启的随机梯度下降:Loshchilov 等人,2017 (pdf)
eager模式兼容性
当启用即刻执行时,此函数返回一个函数,该函数又返回衰减的学习率张量。这对于在优化器函数的不同调用中更改学习率值很有用。
相关用法
- Python tf.compat.v1.train.natural_exp_decay用法及代码示例
- Python tf.compat.v1.train.FtrlOptimizer.compute_gradients用法及代码示例
- Python tf.compat.v1.train.get_or_create_global_step用法及代码示例
- Python tf.compat.v1.train.cosine_decay_restarts用法及代码示例
- Python tf.compat.v1.train.Optimizer用法及代码示例
- Python tf.compat.v1.train.AdagradOptimizer.compute_gradients用法及代码示例
- Python tf.compat.v1.train.init_from_checkpoint用法及代码示例
- Python tf.compat.v1.train.Checkpoint用法及代码示例
- Python tf.compat.v1.train.Supervisor.managed_session用法及代码示例
- Python tf.compat.v1.train.Checkpoint.restore用法及代码示例
- Python tf.compat.v1.train.global_step用法及代码示例
- Python tf.compat.v1.train.MonitoredSession.run_step_fn用法及代码示例
- Python tf.compat.v1.train.RMSPropOptimizer.compute_gradients用法及代码示例
- Python tf.compat.v1.train.exponential_decay用法及代码示例
- Python tf.compat.v1.train.MomentumOptimizer用法及代码示例
- Python tf.compat.v1.train.RMSPropOptimizer用法及代码示例
- Python tf.compat.v1.train.get_global_step用法及代码示例
- Python tf.compat.v1.train.GradientDescentOptimizer.compute_gradients用法及代码示例
- Python tf.compat.v1.train.linear_cosine_decay用法及代码示例
- Python tf.compat.v1.train.Supervisor用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.compat.v1.train.noisy_linear_cosine_decay。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。