使用markdown写出Adam优化器公式
时间: 2023-02-05 18:21:41 浏览: 127
Adam(Adaptive Moment Estimation)是一种优化算法,它是基于RMSProp算法和动量法的改进版。
Adam优化器的更新公式如下:
$$g_t = \nabla_\theta J(\theta)$$
$$m_t = \beta_1 m_{t-1} + (1 - \beta_1) g_t$$
$$v_t = \beta_2 v_{t-1} + (1 - \beta_2) g_t^2$$
$$\hat{m_t} = \frac{m_t}{1 - \beta_1^t}$$
$$\hat{v_t} = \frac{v_t}{1 - \beta_2^t}$$
$$\theta_t = \theta_{t-1} - \frac{\alpha}{\sqrt{\hat{v_t}} + \epsilon} \hat{m_t}$$
其中:
- $t$ 表示时间步
- $g_t$ 表示当前时间步损失函数的梯度
- $m_t$ 表示当前时间步的动量
- $v_t$ 表示当前时间步的RMSProp算法中的平方梯度积累
- $\hat{m_t}$ 表示当前时间步的校正后的动量
- $\hat{v_t}$ 表示当前时间步的校正后的平方梯度积累
- $\alpha$ 表示学习率
- $\beta_1$ 和 $\beta_2$ 是两个超参数,通常取值为 $0.9$ 和 $0.999$
- $\epsilon$ 是一个很小的常数,通常取 $10^{-8}$,用于给平方根加一个偏移量,以防止分母为 $0$ 的情况发生
在实际使用中,通常需要为每个参数 $\theta$ 分别维护一个 $m_t$ 和 $v_t$,然后分别计算每个参数的更新值
阅读全文