[线性代数]矩阵/向量求导为什么要区别分子布局和分母布局

概述

不同的应用领域,对"导数"用途的侧重点完全不同。

这就像在世界上有的国家靠左行驶,有的靠右行驶。两者没有绝对的对错,只是为了适应不同的交通(运算)需求。

原因如下:

1. 用途不同:"更新参数" 和 "线性映射"

这是造成分裂的最主要原因。

A. 优化与机器学习派(偏爱分母布局)
  • 目标: 我们求导的目的是为了利用梯度下降法(Gradient Descent)来更新参数。

  • 痛点: 假设你的神经网络权值矩阵 是一个 的矩阵。计算出损失 后,你需要更新 :

  • 需求: 为了能做减法,导数 的形状必须和 完全一样(也是 )。

  • 结论: 既然我要形状一样,那就强制规定:分母是什么形状,结果就是什么形状。这就是分母布局。如果不这样规定,每次更新参数前你都要手动转置一次,非常麻烦。

B. 纯数学与控制理论派(偏爱分子布局)
  • 目标: 我们求导的目的是为了研究函数局部的线性逼近(Taylor 展开)或者变量之间的变换关系。

  • 痛点: 考虑向量函数 。微分的核心思想是用矩阵乘法来模拟函数变化:

  • 需求: 根据矩阵乘法规则,如果 是 , 是 ,为了让乘法 成立,中间的导数矩阵 必须是 的。

  • 结论: 这种 的形式(行数等于分子维度,列数等于分母维度)就是雅可比矩阵(Jacobian) ,即分子布局。如果你用分母布局,这里的公式就要写成 ,数学家觉得这很不优雅。


2. 链式法则(Chain Rule)的顺滑度

当处理复合函数(层层嵌套)求导时,两种布局在书写公式时的体验完全不同。

  • 分子布局的优势:
    它让链式法则看起来和标量求导几乎一样,非常符合直觉。
    若 ,则:

(矩阵乘法直接相连,中间不需要转置,形式优美)。

  • 分母布局的劣势:
    由于维度的定义翻转了,链式法则通常需要颠倒顺序或者加转置符号:

这就造成了一个有趣的现象:

在推导复杂的数学理论时(如推导反向传播的公式本身),学者们可能倾向于用分子布局 (或混合布局)来保证推导过程的连贯性;但在编写代码库(如 PyTorch, TensorFlow)时,为了工程实现的便利,结果会强制转为分母布局


3. 行向量与列向量的历史遗留问题

这涉及到更底层的数学定义习惯。

  • 如果习惯把数据看作列向量(Column Vector,工程界主流),那么 对 求导最自然,产生雅可比矩阵(分子布局)。
  • 如果习惯把数据看作行向量(Row Vector,部分统计学和早期教材),那么 直接就在分母位置横着放,导数形式自然就变成了分母布局。

由于历史上不同学派的大师(如 Magnus & Neudecker vs. 其它学派)使用了不同的向量定义,导致后世教材一直没能统一。


总结

通过dydx=A⇒dy=Adx\frac{dy}{dx}=A \Rightarrow dy=A dxdxdy=A⇒dy=Adx判断

如果A的形状符合线代的数据习惯,那就是分子布局;如果是转置,那就是分母布局

通常来说,如果在做深度学习 ,默认分母布局 ,因为我们要的是梯度(Gradient)。如果在做纯数学推导或控制理论 ,默认分子布局,因为我们要的是雅可比矩阵(Jacobian)

相关推荐
金銀銅鐵15 小时前
斐波那契数列中连续10项的和总是能被11整除吗?
python·数学
-dzk-18 小时前
【矩阵】LC 48.旋转图像
线性代数·矩阵
TAN-90°-19 小时前
Deep Learning for Computer Vision——Attention and Transformers
人工智能·深度学习·神经网络·机器学习·计算机视觉·cnn·机器翻译
薛定e的猫咪21 小时前
(NeurIPS 2021)MatNet:面向矩阵型关系数据的神经组合优化编码器
人工智能·深度学习·线性代数·算法·矩阵
LaughingZhu1 天前
Product Hunt 每日热榜 | 2026-08-27
人工智能·深度学习·神经网络·搜索引擎·百度
陈年老古董1 天前
深度学习入门笔记:从神经元到深度神经网络
人工智能·笔记·深度学习·神经网络·学习
inquisiter2 天前
损失函数在标量和矩阵上的求导对比
线性代数·算法·矩阵
leoZ2312 天前
AI+前端提效-08 AI自动化文档:前端组件、接口、项目文档自动生成
前端·人工智能·深度学习·神经网络·目标检测·自然语言处理·自动化
-dzk-2 天前
【矩阵】LC 54.螺旋矩阵
线性代数·矩阵
CIO_Alliance2 天前
AI提示系列(2)| Few-shot与ReAct有何不同? 大模型工具调用的底层逻辑详解
前端·人工智能·深度学习·神经网络·react.js·前端框架·ai+ipaas