查看原文
其他

【强基固本】理解Jacobian矩阵与行列式



“强基固本,行稳致远”,科学研究离不开理论基础,人工智能学科更是需要数学、物理、神经科学等基础学科提供有力支撑,为了紧扣时代脉搏,我们推出“强基固本”专栏,讲解AI领域的基础知识,为你的科研学习提供助力,夯实理论基础,提升原始创新能力,敬请关注。

来源:知乎—gwave

地址:https://zhuanlan.zhihu.com/p/352438848
在数学、物理和工程领域,将问题通过坐标变换到一个更容易表达、分解和计算的坐标系统是个非常核心方法:SVD、谱分解、傅立叶变换和拉格朗日力学皆是如此,其重要程度远超一般的认知。深度学习这么火的重要原因也是通过表示学习把高维数据映射到了适当的低维特征空间中。
反向传播中,神经元的输出相对与输入的局部敏感度即偏导数
来源:https://cedar.buffalo.edu/~srihari/CSE574/Chap5/Chap5.3-BackProp.pdf
在映射过程中,描述不同函数变量间变化速度的导数非常重要,Jacobian矩阵提供了一种表达局部输出对于输入的敏感度的方法。神经网络BP反向传播依赖误差与权重的偏导数关系来训练权重的,神经网络的权重千千万,cost function对哪些权重的变化敏感,无疑那些权重是更重要的,Jacobian矩阵就提供了一个分析神经网络输入-输出行为的数学框架。当然,Jocobian的应用是极其广泛的,机器学习只不过是冰山一角。

目录

  1. 坐标变换
  2. 1D 变量替换
  3. Jacobian矩阵
  4. Jacobian行列式
  5. 神经网络BP误差反向传播
  6. Jacobian regularization
  7. Carl Jacob Jacobi简介


01

坐标变换
坐标变换的原因之一是为了方便积分,当被积区域比较复杂时,变量替换往往能简化问题,如对圆形区域积分时,极坐标比笛卡尔坐标方便;有时被积对象较复杂,变量替换能降低复杂度。坐标变换的思想可以被进一步推广到任意自定义的变量替换的坐标系统中:
比如,对下面由四条直线围成的平行四边形区域进行积分,四条直线方程分别为:    。
引入新的变量:    ,两条斜线分别变为了    ,两条水平线变为    。显然,在矩形区域上积分比平行四边形上积分要方便。


02

1D 变量替换
先以一个trivial的1D U-Substitution toy case为例,温习下变量替换的过程。
导:
  
令:    ,则    ,   
  
然后,扩展到以    替代   的更一般情况:对于    ,    表示当对   进行了一个很小的扰动    后,    的对应变化    与    之间的线性关系。同时,定积分上下限也要进行相应调整:   ,此处出现了一个比例因子    ,即导数,这就是单变量下的Jacobian,可理解为    。
注意:这里    与我们经常看到的    的方向相反,是为了保持与多变量下形式的一致性,如上例中的    和   。


03

Jacobian矩阵
  • Jacobian矩阵可被视为是一种组织梯度向量的方法。
  • 梯度向量可以被视为是一种组织偏导数的方法。
  • 故,Jacobian矩阵可以被视为一个组织偏导数的矩阵。
多变量的情况下,坐标变换描述的是从    到    连续的1对1变换,注意此处    是自变量,与上面的    为自变量的函数互为反函数,可见Jacobian可以是双向的, 一般从积分难度较大指向积分较容易的方向。
  
  
  
以矩阵形式来表示:
,其中 即为Jacobian矩阵。
假设在   映射中,输入为  ,输出   。Jacobian矩阵告诉我们:如果  是一个位移向量,那么  则是其在对应的坐标变换后的空间中的位移向量  的最佳一阶近似,这是一阶泰勒公式近似的思想在坐标变换中的体现。
下面从    方向来看:
从UV平面到XY平面的坐标变换
假设我们对    坐标下位于    的点进行扰动,分别增加    ,得到一个小区域    ,现在考察在    坐标系统下,微扰对应的变化量分别是:    ,    。
在    坐标下,平行四边形    的面积为两个边向量的叉积的模长:


04

Jacobian行列式
当    时,Jacobine矩阵为方阵,对应的Jacobian行列式计算给定矩阵线性变换的比例因子,告诉我们变换是空间放大还是缩小,而且,对空间的任何区域,该因子都保持不变(行列式)。
行列式等于向量所围成的面积或体积
  
 即雅可比行列式,简称"the Jacobian"。
上面平行四边形变矩形的例子中:    ,即   
这意味这在平行四边形和矩形上积分的比例缩放因子为1。


05

神经网络BP误差反向传播

在神经网络反向传播误差信号时,使用Jacobian矩阵 来源:PRML
BP反向传播是最经典的神经网络权重训练方法,今天仍是最重要的方法。BP算法有个别名———“永远求偏导”,在将误差信号    一直向前传导直至输入层的过程中,对权重    进行调整/学习。上图中,红色模块对应要计算的Jacobian矩阵和下面公式中的    :
   ,其中   ,    为估计值。
前面我们提到行列式的值告诉我们空间是膨胀还是收缩,如果在输入空间的某个输入点,输出空间膨胀的很厉害,说明神经网络在该区域可能有些不稳定,任何输入的扰动,可能导致输出的巨大波动;相反,如何行列式比较小,则输入的变化对输出影响不大。
神经网络Jacobian矩阵的计算流程:将输入向量通过前向传递(Forward Propagate)在神经网络正向传播,获得所有输出层和隐藏层的激活值 (Activation),对第    个输出单元进行反向传播,对应Jacobian 矩阵中的第    行,反向传播直至输入层。计算结果可通过数值方法进行验证:    。


06

Jacobian Regularization
参考文献:Robust Learning with Jacobian Regularization

https://arxiv.org/pdf/1908.02729.pdf

近年来,Jacobian被应用与正则化(Regularization),不同于    正则,Jacobian Regularization的重点是神经网络对输入波动的鲁棒性。大家对对抗样本(adversarial examples)可能并不陌生,对熊猫的图片(左)中混入极少量的长臂猿的梯度(中),导致分类算法以99.3%的置信度将将图片错误的识别为长臂猿(右)。

Jacobian Regularization的想法很简单,Jacobian矩阵中的值越小,输入空间中小波动对输出空间的影响越小。具体来说就是取Jacobian矩阵的Frobenius norm,    ,即矩阵所有元素的平方和开根号。


07

Carl Jacob Jacobi简介
Carl Gustav Jacob Jacobi(1804 – 1851)
Jacobian矩阵与行列式由德国数学家Carl Gustav Jacob Jacobi(1804 – 1851)提出,他在椭圆函数、动力学、微分方程、行列式和数论等方面做出了重要贡献。他推动了偏微分符号   的广泛使用,只要看一眼Jacobian公式就知道原因了。不要和学术豪门的雅各布·伯努利(Jacob Bernoulli‎,1654-1705)搞混了。
以Jacob命名的月球环形山

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。

“强基固本”历史文章


更多强基固本专栏文章,

请点击文章底部“阅读原文”查看



分享、点赞、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存