Nesterov

1. 简介

Nesterov 加速梯度算法是一种对 Momentum 动量法的改进。

2. 原理

第 tt 次迭代时:

W^t=Wt−1+αΔWt−1Wt=Wt^−η∂L∂W^t\begin{array}{c} \hat{\boldsymbol{W}}_t = \boldsymbol{W}_{t-1} + \alpha \Delta \boldsymbol{W}_{t-1} \\ \boldsymbol{W}_t = \hat{\boldsymbol{W}_{t}} - \eta \frac{\partial L}{\partial \hat{\boldsymbol{W}}_t} \end{array}

其中,W\boldsymbol{W} 为需要更新的参数,LL 为损失函数,∂L∂W^\frac{\partial L}{\partial \hat{\boldsymbol{W}}} 为 LL 关于 W^\hat{\boldsymbol{W}} 的梯度,η\eta 为学习率,α\alpha 为动量因子,通常设为 0.90.9 。