pymc.adamax#
- pymc.adamax(loss_or_grads=None, params=None, learning_rate=0.002, beta1=0.9, beta2=0.999, epsilon=1e-08)[源代码]#
Adamax 更新
Adamax 更新实现如 [1] 所示。这是基于无穷范数的 Adam 算法的一个变体。
- 参数:
- loss_or_grads: 符号表达式或表达式列表
一个标量损失表达式,或一个梯度表达式列表
- 参数: 共享变量的列表
用于生成更新表达式的变量
- learning_rate: float
学习率
- beta1: float
指数衰减率用于第一次矩估计。
- beta2: float
加权无穷范数估计的指数衰减率。
- epsilon: float
用于数值稳定的常数。
- 返回:
OrderedDict
一个字典,将每个参数映射到其更新表达式
注释
优化器可以在不传入 loss_or_grads 和 params 的情况下调用,在这种情况下会返回一个偏函数。
参考文献
[1]Kingma, Diederik, 和 Jimmy Ba (2014): Adam: 一种随机优化方法。arXiv 预印本 arXiv:1412.6980。
示例
>>> a = pytensor.shared(1.) >>> b = a*2 >>> updates = adamax(b, [a], learning_rate=.01) >>> isinstance(updates, dict) True >>> optimizer = adamax(learning_rate=.01) >>> callable(optimizer) True >>> updates = optimizer(b, [a]) >>> isinstance(updates, dict) True