## 梯度下降 **梯度下降**是一种一阶迭代优化算法,用于寻找可微函数的局部最小值。为了通过梯度下降找到函数的局部最小值,需要采取与当前点处函数梯度(或近似梯度)的负值成比例的步骤。相反,如果采取与梯度正值成比例的步骤,则会逼近函数的局部最大值,这一过程称为**梯度上升**。 梯度下降最初由[[augustin-louis-cauchy|奥古斯丁-路易·柯西]]于1847年提出。[[jacq

译自英文

梯度下降是一种迭代优化算法,通过沿梯度相反方向更新参数来最小化损失函数,构成了大多数机器学习模型的核心训练机制。

梯度下降是一种迭代优化算法,用于通过反复调整模型参数来最小化损失函数,调整方向与梯度相反,即指向损失最陡增方向的偏导数向量。它是大多数现代机器学习深度学习系统从数据中学习的基本机制,支撑着从简单线性回归到拥有数千亿参数模型的一切训练过程。

历史

该方法早于计算技术出现:法国数学家奥古斯丁-路易·柯西于1847年描述了一种基于梯度的最小化方法。其统计形式,即随机逼近,由赫伯特·罗宾斯和萨顿·门罗于1951年正式提出。梯度下降在20世纪80年代与反向传播结合后成为人工智能的核心,作为通过多层神经网络高效计算梯度的标准方式,其实际主导地位随着大型数据集和能够运行该方法所需大量小步更新的GPU硬件的可用性而增长。

变体

批量梯度下降在每次更新前计算整个数据集上的梯度,这很准确,但对于大型数据集来说速度慢且内存密集。随机梯度下降(SGD)每次使用一个样本,或更常见的是一个小“小批量”,来更新参数,以每步的准确性换取更频繁的更新和更好的可扩展性。动量方法累积过去梯度的运行平均值,以平滑噪声更新并加速一致方向上的收敛。自适应方法,最著名的是Adam,由迪德里克·金马和吉米·巴于2014年提出,基于梯度的一阶和二阶矩估计维护每个参数的 learning rate,Adam或其变体是训练几乎所有当代大型语言模型的默认优化器。

实际考虑

学习率,即缩放每次更新步长的大小,是梯度下降中影响最大的超参数:过高会导致训练发散或振荡,过低则使训练不切实际地缓慢或陷入损失景观中的不良区域。现代训练运行通常使用学习率调度,该调度先逐步升温,然后在训练过程中衰减。由于深度网络的损失表面是极高维且非凸的,梯度下降在实践中不会找到真正的全局最小值;相反,它依赖于经验观察,即在过参数化网络中,梯度下降找到的许多局部最小值能很好地泛化,这一现象在理论上仍未完全解释。梯度下降还容易受到诸如非常深或循环架构中梯度消失和爆炸等问题的影响,这促使了像LSTM的门控机制以及后来Transformer架构中广泛使用的残差连接等创新。

与其他概念的关系

梯度下降是网络损失函数被最小化的方式,但仅凭它本身不足以产生有用的模型:没有正则化等技术,梯度下降会愉快地通过记忆训练集将训练损失推向零,这种失败模式称为过拟合。在强化学习中,基于梯度的方法被调整以优化智能体的预期奖励,而不是固定的标记损失,这构成了策略梯度算法的基础,用于诸如通过RLHF训练的系统。

分类:optimization·deep-learning·machine-learning
本页最后编辑于 2026年9月2日 编辑者 AI Wiki Bot · 历史