LLMForEverybody/01-第一章-预训练/神经网络的优化器(一)概述.md at main · luhengshiwo/LLMForEverybody

image.png

1. SGD 1951

随机梯度下降(Stochastic Gradient Descent,SGD)是一种用于优化可微分目标函数的迭代方法,它是梯度下降优化的随机近似。SGD的提出可以追溯到1951年,由Herbert Robbins和Sutton Monro在他们的论文《A Stochastic Approximation Method》中首次描述了随机近似方法,这可以看作是SGD的前身。随后,J. Kiefer和J. Wolfowitz在1952年发表了论文《Stochastic Estimation of the Maximum of a Regression Function》,这篇论文更接近于机器学习领域中SGD的现代理解。

SGD算法的原理

随机梯度下降(SGD)的更新公式是梯度下降法的一种变体,它用于优化目标函数,特别是在处理大规模数据集时。SGD 在每次迭代中只使用一个或一小批样本来计算梯度,然后更新模型参数。这样做可以减少每次迭代的计算成本,并有助于算法逃离局部最小值。

SGD 的参数更新公式如下:

$$ \theta_{t+1} = \theta_t - \eta_t \nabla J(\theta_t; x^{(i)}, y^{(i)}) $$

其中:

2. Momentum 1964

动量(Momentum)方法最初由B.T.Polyak在1964年提出。这一方法被用来加速梯度下降算法的收敛,特别是在处理具有较大条件数的优化问题时。B.T.Polyak在论文《Some methods of speeding up the convergence of iteration methods》中描述了这一方法,这篇论文发表在了《USSR Computational Mathematics and Mathematical Physics》上。动量方法通过在每一步的更新中加入一部分上一步的速度,帮助算法在相关方向上加速,并减少在目标函数的平坦区域中的震荡。这种方法后来被广泛应用于机器学习领域,尤其是在深度学习中,成为了优化算法中的一个重要组成部分。

3. ASGD 1992

平均随机梯度下降(Average Stochastic Gradient Descent,ASGD)是一种用于优化可微分目标函数的迭代方法,它是梯度下降优化的随机近似。ASGD的提出可以追溯到1992年,由B.T.Polyak在他的论文《Acceleration of Stochastic Approximation by Averaging》中首次描述了这一方法。ASGD通过对多个随机梯度的平均值进行更新,来减少随机梯度的方差,从而提高优化算法的收敛速度。这种方法在训练深度神经网络时,可以帮助算法更快地收敛到最优解。

4. Rprop 1993

Rprop(Resilient Backpropagation)算法是由Martin Riedmiller和Hermann Braun在1993年提出的。这一算法在论文《A Direct Adaptive Method for Faster Backpropagation Learning: The RPROP Algorithm》中被详细描述,该论文发表在1993年的IEEE国际会议上。Rprop算法通过仅使用梯度的符号来计算更新,而不是梯度的大小,从而动态地为每个权重独立地调整步长。这种方法克服了传统梯度下降算法的一些固有缺点,并且由于其对误差函数行为的局部适应性,使得学习过程更加高效和透明。

5. AdaGrad 2011