随机梯度
$$x_t = x{t-1}+\eta \nabla f(x)$$
小批量随机梯度下降
$$x_t=x_{t-1}+\frac{1}{m}\sum_i^m\nabla f(x^i)$$
动量法
$$v_t=v_{t-1}+g_t$$
$$x_t=x_{t-1}+v_t$$
如果当前某个方向梯度和上一个方向不一致,则会衰减,如果一致则会得到加强
Adagrad
自动调整学习率,通过不断累积梯度,梯度累积多少用以调整后期的学习率
$$s_t = s_{t-1}+g_t \bigodot g_t$$
$$x_t = x_{t-1}- \sqrt{\frac{\eta}{s_t+\epsilon}}g_t$$
RMSProp
在Adagrad基础上,元素带参数指数加权平均,具体的就是在梯度累积s前面加$\gamma$,梯度累积的时候有方向
$$s_t = \gamma s_{t-1}+(1-\gamma)g_t \bigodot g_t$$
$$x_t = x_{t-1}+\sqrt \frac{\eta}{s_t+\epsilon}g_t$$
Adadelta
$$s_t=s_{t-1}+ (1-\gamma )g_t \bigodot g_t$$
$$g_t`=\sqrt \frac{\nabla x+\epsilon}{s_t + \epsilon}\bigodot g_t$$
$$x_t = x_{t-1}+g_t`$$
$$\nabla x$$按元素加权平均
$$\nabla x = \rho \nabla x +(1-\rho)g_t\bigodot g_t
$$
Adam
结合动量法和自动调整学习率
$$v_t = (\beta_1)v_{t-1} + 1-\beta_1)g_t$$
$$s_t = \beta_2s_{t-1}+(1-\beta_2)g_t \bigodot g_t$$
$$x_t = x_{t-1} + \sqrt{\frac{\eta}{s_t+\epsilon}}v_t$$
以上推倒中x代表参数,t代表一步迭代,t-1代表前一时刻迭代,v代表梯度的惯量,g代表梯度