mlx.optimizers.Adagrad

目录

mlx.optimizers.Adagrad#

class Adagrad(learning_rate: float | Callable[[array], array], eps: float = 1e-08)#

Adagrad 优化器 [1]。

我们的 Adagrad 实现遵循原始论文。具体来说,

[1]: Duchi, J., Hazan, E. and Singer, Y., 2011. Adaptive subgradient methods for online learning and stochastic optimization. JMLR 2011.

\[\begin{split}v_{t+1} &= v_t + g_t^2 \\ w_{t+1} &= w_t - \lambda \frac{g_t}{\sqrt{v_{t+1}} + \epsilon}\end{split}\]
参数:
  • learning_rate (floatcallable) – 学习率 \(\lambda\)

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

方法

__init__(learning_rate[, eps])

apply_single(gradient, parameter, state)

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

init_single(parameter, state)

初始化优化器状态