mlx.optimizers.Adamax

目录

mlx.optimizers.Adamax#

class Adamax(learning_rate: float | Callable[[array], array], betas: List[float] = [0.9, 0.999], eps: float = 1e-08)#

Adamax 优化器,一种基于无穷范数的 Adam 变体 [1]。

我们的 Adam 实现遵循原始论文,省略了对一阶和二阶矩估计的偏差校正。详细来说:

[1]: Kingma, D.P. and Ba, J., 2015. Adam: A method for stochastic optimization. ICLR 2015.

\[\begin{split}m_{t+1} &= \beta_1 m_t + (1 - \beta_1) g_t \\ v_{t+1} &= \max(\beta_2 v_t, |g_t|) \\ w_{t+1} &= w_t - \lambda \frac{m_{t+1}}{v_{t+1} + \epsilon}\end{split}\]
参数:
  • learning_rate (floatcallable) – 学习率 \(\lambda\)

  • betas (Tuple[float, float], optional) – 用于计算梯度及其平方的滑动平均的系数 \((\beta_1, \beta_2)\)。默认值: (0.9, 0.999)

  • eps (float, optional) – 添加到分母中以提高数值稳定性的项 \(\epsilon\)。默认值: 1e-8

方法

__init__(learning_rate[, betas, eps])

apply_single(gradient, parameter, state)

执行 Adamax 参数更新并将 \(v\)\(m\) 存储在优化器状态中。

init_single(parameter, state)

初始化优化器状态