在机器学习中,模型训练通常归结为最小化一个损失函数 L ( θ ) L(\theta) L(θ),其中 θ \theta θ 是模型参数。导数及其推广概念是优化算法的核心,它们帮助我们理解损失函数如何随参数变化,从而指导参数的更新。以下分别总结这些概念的具体应用。

5.1 导数(Derivative)

导数描述一元函数在某点处的瞬时变化率。在机器学习中:

  • 一元参数优化:当模型只有一个参数时(例如简单线性回归中的单个权重 w w w),损失函数 L ( w ) L(w) L(w) 关于 w w w 的导数 L ′ ( w ) L'(w) L(w) 用于执行梯度下降:
    w new = w old − η L ′ ( w ) w_{\text{new}} = w_{\text{old}} - \eta L'(w) wnew=woldηL(w)
    其中 η \eta η 是学习率。

  • 学习率调整:导数的大小(绝对值)可以反映损失函数的陡峭程度,一些自适应学习率算法(如 AdaGrad)利用历史导数的信息来动态调整学习率。

5.2 偏导数(Partial Derivative)

偏导数描述多元函数沿某一坐标轴方向的变化率。在机器学习中:

  • 多元参数优化:大多数模型有多个参数(如神经网络的权重和偏置),损失函数 L ( θ 1 , θ 2 , … , θ n ) L(\theta_1,\theta_2,\dots,\theta_n) L(θ1,θ2,,θn) 是多元函数。每个参数的偏导数 ∂ L ∂ θ i \frac{\partial L}{\partial \theta_i} θiL 是梯度向量的分量,用于同时更新所有参数。

  • 反向传播算法:在深度学习中,通过链式法则高效计算每个参数的偏导数,这是神经网络训练的基石。反向传播将损失函数对输出的偏导逐层传回,从而得到所有参数的梯度。

5.3 方向导数(Directional Derivative)

方向导数衡量多元函数沿任意给定方向的变化率。在机器学习中:

  • 解释最速下降方向:梯度方向是方向导数最大的方向,因此负梯度方向是损失下降最快的方向。这为梯度下降法提供了理论依据。

  • 共轭梯度法:在求解线性系统或优化二次函数时,共轭梯度法利用方向导数构造一组共轭方向,加速收敛。

  • 对抗性攻击:生成对抗样本时,常沿损失函数关于输入的梯度方向(即方向导数最大的方向)添加微小扰动,使模型产生错误预测,从而评估模型的鲁棒性。

5.4 梯度(Gradient)

梯度是一个向量,其分量是各个参数的偏导数,指向函数增长最快的方向。在机器学习中:

  • 梯度下降及其变种:标准梯度下降、随机梯度下降(SGD)、小批量梯度下降以及自适应优化器(Adam、RMSProp 等)均使用负梯度方向更新参数。

  • 收敛判据:梯度的模 ∣ ∇ L ∣ |\nabla L| ∣∇L 可用于判断是否接近局部极小点。当梯度的模趋近于零时,通常认为模型已收敛,可停止训练。

  • 梯度裁剪:在训练循环神经网络(RNN)时,若梯度的模过大,可能导致梯度爆炸。梯度裁剪通过缩放梯度向量,使其模不超过设定阈值,从而稳定训练。

  • 特征重要性与模型解释:梯度的模可以反映输入特征对输出的敏感度。例如,在 Saliency Map 中,计算损失函数对输入图像的梯度,其模的大小表示像素对预测结果的重要性。

  • 自然梯度法:考虑参数空间的曲率(通过 Fisher 信息矩阵),自然梯度法对梯度进行修正,使其在概率度量下方向最优,常用于强化学习和变分推断。

5.5 总结

导数、偏导数、方向导数和梯度构成了机器学习优化的数学基础。它们从不同角度刻画了损失函数的变化规律:

  • 导数处理一元情形,
  • 偏导数处理多元分量,
  • 方向导数拓展到任意方向,
  • 梯度综合所有信息给出最快上升方向。

正是这些概念,使得基于梯度的优化算法能够高效地训练各种复杂模型,并衍生出模型解释、对抗攻击等应用。

上一章 机器学习数学基础–(4)梯度

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐