实现 Adamax 算法的优化器。
用于迁移的兼容别名
有关详细信息,请参阅 Migration guide 。
tf.keras.optimizers.Adamax(
learning_rate=0.001,
beta_1=0.9,
beta_2=0.999,
epsilon=1e-07,
name='Adamax',
**kwargs
)
它是基于无穷范数的 Adam 的变体。默认参数遵循论文中提供的参数。Adamax 有时优于 adam,特别是在具有嵌入的模型中。
m=0 # 初始化初始第一矩向量
v=0 # 初始化指数加权无穷范数
t=0 # 初始化时间步长
参数 与梯度 的更新规则在论文7.1节末尾描述:
t +=1 m=beta1 * m + (1 - beta) * g v=max(beta2 * v, abs(g)) current_lr=learning_rate / (1 - beta1 ** t) w=w - current_lr * m / (v + epsilon)
与 类似,添加 epsilon 是为了数值稳定性(特别是在 时摆脱被零除的情况)。
与 相比,此算法的稀疏实现(当梯度是 IndexedSlices 对象时使用,通常是因为 或前向传递中的嵌入查找)仅在变量的该部分时更新变量切片和相应的 、 项用于前向传播。这意味着稀疏行为与密集行为形成对比(类似于一些忽略动量的动量实现,除非实际使用了可变切片)。
Raises | |
---|---|
如果有任何无效参数。 |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/keras/optimizers/Adamax
Copyright © 2002-2022 半岛-半岛体育循环扇制作机构 版权所有 Powered by EyouCms 备案号:滇ICP备9857598号