什么是雅可比矩阵?

2025年6月20日 | 阅读 7 分钟

在文献中,“雅可比”一词与雅可比矩阵和/或雅可比矩阵的行列式可互换使用。矩阵和行列式都有其有价值和重要的作用:在机器学习中,雅可比矩阵汇集了反向传播所需的偏导数,而行列式则用于进行变量变换。因此,本教程旨在以易于理解的方式介绍雅可比。

机器学习领域的偏导数

梯度和偏导数在优化算法中非常重要,用于调整神经网络的权重以达到最佳值。偏导数有助于隔离单个权重进行更新,因为它分离了误差函数相对于该权重的导数。

学习算法中使用的大多数函数都是多元函数,并且具有向量输出,这些函数接受多个实数输入 n 以产生多个实数输出 m。

例如,一个执行灰度图像分类的神经网络,从 n 个灰度级(单通道输入图像)映射到 m 个输出概率,每个概率对应于图像属于某个特定类别的概率。

在训练中,反向传播会将输出层产生的误差传播到隐藏层,然后再传播到输入层。

反向传播的基本概念是,每个权重都应该根据该权重变化引起的最终变化量来调整误差。

通过计算该权重变化率来评估当特定权重改变时整个网络误差的波动程度,该变化率使用误差对该权重的导数来计算。

假设一个权重 wk 应用于神经元的输入,以获得输出 zk,这取决于神经元实现的函数的性质,在本例中也包括非线性。该权重可以通过以下关系(称为微积分链式法则)与网络误差相关联:

What is the Jacobian Matrix?

在这种情况下,导数 ∂z𝑘/∂w𝑘 将权重 wk 与输出 zk 联系起来,而导数 ∂error/∂zk 将输出 zk 与网络误差联系起来。

在实际问题中,网络由许多相互连接的神经元组成,每个神经元都有权重。因此,我们超越标量情况来处理多个输入和输出。

What is the Jacobian Matrix?

这组项可以紧凑地表示为:

What is the Jacobian Matrix?

或者使用向量表示法,其中 ∇ 算子表示误差相对于 wk 或输出 zk 的梯度。

What is the Jacobian Matrix?

反向传播通过计算计算图每一步的雅可比-梯度乘积来执行。这使得它能够通过预乘雅可比矩阵 (∂z𝑘/∂w𝑘)T 来计算网络误差相对于权重的导数。

雅可比矩阵

雅可比矩阵包含多元函数的所有一阶偏导数。

考虑一个将 u 个实数输入映射到单个实数输出的函数:

对于长度为 u 的输入向量 x,雅可比矩阵是一个大小为 1×u 的向量,定义为:

What is the Jacobian Matrix?

现在,如果我们有一个将 u 个实数输入映射到 v 个实数输出的函数 f:

在这种情况下,雅可比矩阵是一个 v×u 矩阵,J∈Rv×u,定义为:

What is the Jacobian Matrix?

在前面讨论的机器学习问题的背景下,对于 u 个输入和 v 个输出,雅可比矩阵包含以下偏导数:

What is the Jacobian Matrix?

雅可比的其他用途

在决定在积分中改变变量时,也称为换元积分或 u 替换,也会使用雅可比。在右侧,我们得到一个值,该值通过将积分转换为更容易处理的形式来简化积分[...]。

在单变量情况下,可以通过将 x 替换为另一个变量 u 来使函数更简单,从而比计算原始函数更容易计算其反导数。在两个变量的函数中,可能还有另一个好的替换原因,例如,转换积分域,例如转换为矩形。

替换过程首先定义控制变量的关系;例如 x = f(u,v) 和 y=g(u,v)。然后根据函数 f 和 g 如何将 u-v 平面转换为 x-y 平面来修改积分的上限。雅可比矩阵的系数加上雅可比行列式的绝对值,作为缩放因子引入坐标变换。

CNN 中的雅可比矩阵

在卷积神经网络 (CNN) 中,雅可比矩阵有助于确定输入维度如何影响特定空间维度,特别是特征图。CNN 分阶段工作,每个阶段使用滤波器从输入图像中提取空间特征。在这种情况下,此雅可比矩阵包括这些特征图相对于输入的偏导数。

将输入变化映射到特征图:在 CNN 中,雅可比表示输入图像中像素的变化到特征图中激活的变化。雅可比矩阵的每个条目代表输入像素的微小变化对特征图中神经元激活的影响,以绘制对输入变化敏感的区域。因此,这种敏感性分析在评估特定电信网络的焦点区域时尤其重要。

基于梯度的解释和可解释性:通过使用雅可比,可以通过指示哪些输入像素影响某些特征或类别来提供对可解释性的理解。通过获取特征图相对于输入的雅可比,可以生成“显著图”,指示特定激活在较高层中最重要的像素。这有助于确定在分类或检测各种对象时,输入图像的哪个部分最重要。

优化和正则化:在训练过程中,通过使用雅可比矩阵,可以识别 CNN 中诸如梯度爆炸或消失之类的问题。如果雅可比矩阵被正则化,例如通过指定范数,那么网络的鲁棒性将提高,因为会避免对输入的小变化的大的敏感度跳跃。这在对抗性场景中尤其有用,在这些场景中,会故意引入小的输入扰动来诱骗模型。

特征图一致性和迁移学习:当对 CNN 进行微调以进行迁移学习时,希望通过使用雅可比来评估预训练域和目标域之间特征图的一致性。这有助于区分哪些层需要重新训练或调整才能将预训练的滤波器与新集合匹配,以实现更好的迁移学习。

这是因为通过在 CNN 中利用雅可比矩阵,研究人员和实践者可以增强对输入微小变化如何产生空间结构化输出变化的理解,从而增强优化,提高可解释性,并提高任何给定应用中的鲁棒性。

雅可比转置及其应用

雅可比的转置在优化过程(如梯度下降和反向传播过程)中至关重要,例如在 CNN 等人工神经网络中。通过使用雅可比转置,网络计算损失函数相对于参数变化的梯度,以便进行正确的权重更新调整以优化模型。

反向传播中的雅可比-梯度乘积:在神经网络的反向传播过程中,雅可比转置也用于逐层计算梯度。将误差传播回每个连续隐藏层的过程涉及雅可比转置,用于将梯度从后续层映射到前一层。因此,这种雅可比-梯度乘积被用于帮助根据每个权重对损失的贡献来更新权重,这有助于通过梯度下降进行训练。

有效计算梯度:在高度互连的系统中,直接计算这些梯度可能非常耗时且困难。使用雅可比转置更容易做到这一点,它转置中间层的偏导数,从而使计算梯度变得不那么麻烦。由于雅可比矩阵的规模通常随着网络参数数量的增加而增大,因此其转置可以简化梯度的计算,而无需在权重更新中考虑结构。

结论

总而言之,雅可比矩阵是机器学习领域的一个重要概念,尤其是在神经网络和卷积神经网络 (CNN) 中。雅可比是概括了反向传播过程所需的所有一阶偏导数的紧凑形式,这些偏导数对于精确的梯度计算至关重要。此功能可有效地进行权重更新,从而推动优化过程,从而实现成功的神经网络训练。在 CNN 中,雅可比矩阵的功能更进一步,可以将输入扰动转换为特征图激活,从而进行敏感性分析,通过显著图提高了可解释性。这些信息对于透明度至关重要,如果模型出现问题,则允许开发人员快速查明影响特征或分类的已识别输入像素。

此外,雅可比转置在调整梯度下降算法方面起着至关重要的作用,以便在复杂工作中(如具有许多连接的网络)的梯度计算能够成功。与 Gauss-Newton 和 Levenberg-Marquardt 算法结合使用时,其效率得到提高,收敛性和稳定性得到改善。对雅可比施加更多正则化进一步增强了网络稳定性,防止了诸如梯度消失和爆炸之类的问题,并提高了对对抗性扰动的安全性。

总而言之,雅可比矩阵及其转置是完善、分析和检查机器学习模型的关键工具。这些方法不仅在集成到神经网络的训练和分析中时提高了性能,而且还提供了对网络行为的洞察,这些洞察对于更复杂和改进的 AI 系统是必需的。