理解 AI 模型所需的基础数学原理

2963 字
15 分钟
理解 AI 模型所需的基础数学原理

重点不是背 AI 名词,而是重新建立导数、梯度、链式法则、矩阵微积分、概率分布、信息论和递推方程的数学直觉。

局部变化 -> 导数
多变量变化 -> 梯度
复合函数求导 -> 链式法则 / 反向传播
不确定性 -> 概率 / 期望 / 信息量

这份 PPT 只回答一个问题:公式到底是什么意思#

不是#

不是 Transformer、CLIP、扩散模型、强化学习的概念串讲。

而是#

把这些模型反复使用的数学概念讲清楚:定义、几何意义、计算意义。

目标#

看到梯度、loss、softmax、KL、Bellman、MSE 时,知道它们在数学上到底做了什么。

函数:把输入映射到输出的规则#

f: R -> R
f(x) = y
F: R^n -> R^m
F(x_1, ..., x_n) = (y_1, ..., y_m)

AI 模型本质上也是函数:输入可以是 token、图片、状态;输出可以是概率、噪声、价值或动作分布。

先区分三类函数#

  • 标量到标量:一条曲线,如 f(x)=x^2
  • 向量到标量:一个打分函数,如 loss。
  • 向量到向量:一个变换,如神经网络层。

极限:用越来越小的局部变化逼近真实变化#

lim_{h -> 0} g(h)

直觉#

不是把 h 直接设成 0,而是看 h 越来越接近 0 时,表达式趋向哪个稳定值。

f(x) x

图示:曲线和局部割线

导数的定义:函数在某一点的瞬时变化率#

f'(x) = lim_{h -> 0} [f(x + h) - f(x)] / h

分子#

f(x+h)-f(x) 是输出变化量。

分母#

h 是输入变化量。

极限#

让输入变化无限小,得到一点附近最准确的线性斜率。

导数有三个等价直觉:斜率、速度、敏感度#

几何意义:斜率#

曲线在某一点切线的斜率。导数越大,曲线越陡。

物理意义:速度#

如果 f(t) 是位置,f'(t) 就是瞬时速度。

工程意义:敏感度#

输入改一点,输出大约会改多少。训练模型时,这是参数更新的基础。

当 dx 很小时:
f(x + dx) ~= f(x) + f'(x) dx

例子:为什么 x² 的导数是 2x#

f(x) = x^2
f'(x) = lim_{h -> 0} [(x+h)^2 - x^2] / h
= lim_{h -> 0} [2xh + h^2] / h
= lim_{h -> 0} (2x + h)
= 2x

这个推导说明什么#

导数不是魔法公式。它来自“输出变化 / 输入变化”的极限。所有复杂梯度,最终都在做类似的局部变化估计。

微分:用线性近似描述很小的变化#

df = f'(x) dx

如果 dx 很小,真实变化 f(x+dx)-f(x) 可以用 df 近似。

为什么重要#

神经网络训练关心的不是一次跳到最优,而是每次在当前点附近做一个小修正。微分就是“小修正”背后的数学语言。

偏导数:多变量函数中,只看一个变量的影响#

f(x_1, x_2, ..., x_n)
partial f / partial x_i
= 固定其他变量,只让 x_i 变化时的导数

例子#

f(x,y) = x^2 + 3xy + y^2
partial f / partial x = 2x + 3y
partial f / partial y = 3x + 2y

工程直觉#

一个模型有大量参数。偏导数回答的是:只改某个参数,loss 会怎样变化。

梯度:所有偏导数组成的向量#

grad f = ∇f =
[partial f / partial x_1,
...,
partial f / partial x_n]^T

严格说,梯度主要用于 f: R^n -> R 的标量值函数,比如 loss。

导数和梯度的关系#

  • 一元函数:导数是一个数。
  • 多元标量函数:每个方向都有变化率。
  • 梯度把所有坐标方向的变化率打包成一个向量。

梯度的几何意义:最陡上升方向#

∇f 指向哪里#

在当前点,如果允许你走一小步,沿着梯度方向走,函数值增加最快。

-∇f 指向哪里#

沿着负梯度方向走,函数值下降最快。这就是梯度下降的核心。

等高线#

梯度方向垂直于等高线,因为沿等高线移动时函数值不变。

方向导数:沿任意方向的变化率#

D_u f(x) = ∇f(x) · u
其中 ||u|| = 1

u 是方向#

它只描述往哪里走,不描述走多远。

点积给投影#

方向导数等于梯度在方向 u 上的投影。

最大值#

u∇f 同方向时,方向导数最大。

梯度下降:沿负梯度方向做小步更新#

theta_{t+1} = theta_t - eta ∇L(theta_t)

eta 是学习率,控制每一步走多远。

为什么是负号#

梯度指向 loss 增长最快的方向。训练要降低 loss,所以沿反方向走。

为什么要小步#

梯度只是当前点附近的局部线性近似。步子太大,局部近似会失效。

链式法则:复合函数的变化如何层层传递#

如果 y = f(g(x))
dy/dx = df/dg · dg/dx
x -> g(x) -> f(g(x)) -> loss

反向传播就是链式法则在大型计算图上的自动化:从 loss 开始,把梯度一层层乘回去。

反向传播不是新数学,是链式法则的高效记账#

前向:
z = Wx + b
a = activation(z)
L = loss(a, y)
反向:
dL/dW = dL/da · da/dz · dz/dW

核心问题#

每个中间变量都缓存前向值;反向时按计算图拓扑顺序,把上游梯度乘以局部导数,得到下游梯度。

所以“梯度回传”不是抽象说法,而是在传播“这个变量变一点,会让最终 loss 变多少”。

Jacobian:向量值函数的一阶导数矩阵#

F: R^n -> R^m
F(x) = [F_1(x), ..., F_m(x)]^T
J_F =
[ partial F_i / partial x_j ]

如果输出不是一个数,而是一组数,就需要 Jacobian 描述每个输出对每个输入的敏感度。

和梯度的关系#

  • 梯度:标量输出对向量输入的导数。
  • Jacobian:向量输出对向量输入的导数。
  • 神经网络每层通常都是向量到向量,所以局部导数本质上是 Jacobian。

矩阵微积分先看形状,再看公式#

z = W x + b
W: [m, n], x: [n, 1], z: [m, 1]
如果上游梯度 delta = dL/dz: [m, 1]
dL/dW = delta x^T -> [m, n]
dL/db = delta -> [m, 1]
dL/dx = W^T delta -> [n, 1]

这组公式是理解深度学习训练最实用的矩阵微积分入口。它说明线性层的参数梯度、偏置梯度、输入梯度分别长什么样。

二阶导数描述曲率:梯度本身如何变化#

一元:
f''(x) = d/dx f'(x)
多元:
H = ∇²f
H_ij = partial² f / partial x_i partial x_j

曲率大#

loss 地形很陡或很弯,学习率太大容易震荡或发散。

曲率小#

loss 地形平缓,更新可能很慢。

Hessian#

完整 Hessian 很贵,但它解释了为什么优化器要调节不同方向的步长。

向量空间:表示、方向、距离的共同语言#

向量#

一组有序数字,可以表示点,也可以表示方向。

#

一组坐标轴。换一组基,相同对象的坐标会变,但对象本身不变。

范数#

||x|| = sqrt(sum_i x_i^2)

衡量向量长度,常用于归一化和正则化。

Embedding 空间、latent 空间、状态特征空间,本质上都是模型学习出来的向量空间。

点积:衡量两个方向有多一致#

a · b = sum_i a_i b_i
cos(theta) = (a · b) / (||a|| ||b||)

如果向量已归一化,点积就是余弦相似度。

几何意义#

  • 同方向:点积大于 0。
  • 垂直:点积等于 0。
  • 反方向:点积小于 0。
  • 点积也等于“一个向量在另一个方向上的投影长度 × 另一个向量长度”。

矩阵:把一个向量空间线性变换到另一个空间#

y = W x
W 可以做:
- 旋转
- 缩放
- 投影
- 混合不同维度

神经网络里的线性层,就是可训练的线性映射。

秩:矩阵真正能表达的独立方向数#

rank(W) = W 的列空间或行空间维度
低秩分解:
Delta W = B A
A: [r, n], B: [m, r], r << min(m, n)

数学意义#

低秩限制了变化只能发生在少数独立方向上。

工程意义#

LoRA 用低秩增量替代完整矩阵更新,减少训练参数,同时保留定向修改能力。

概率:描述不确定事件的数学语言#

随机变量#

结果不确定的变量,例如下一个 token、动作、噪声。

分布#

所有可能取值及其概率。离散分布求和,连续分布积分。

条件概率#

P(A | B) = P(A,B) / P(B)

已知 B 发生后,A 发生的概率。

期望和方差:平均水平与不稳定程度#

离散:
E[X] = sum_x x P(X=x)
连续:
E[X] = integral x p(x) dx
Var(X) = E[(X - E[X])^2]

为什么 AI 里常见#

  • 强化学习的 Value 是未来回报的期望。
  • 采样训练时,梯度估计有方差。
  • 扩散模型的噪声来自概率分布。

最大似然:让观测数据在模型下更可能出现#

给定数据 D = {x_1, ..., x_N}
模型参数 theta
Likelihood:
L(theta) = product_i p_theta(x_i)
Log likelihood:
log L(theta) = sum_i log p_theta(x_i)

训练语言模型时,最大化正确 token 的概率,等价于最小化负 log likelihood。交叉熵就是这个思想的常见形式。

信息量:越意外的事件,信息量越大#

I(x) = -log p(x)

直觉#

高概率事件发生,不太惊讶,信息量小。低概率事件发生,很意外,信息量大。

和 loss 的关系#

如果正确答案概率很低,-log p(correct) 很大,模型会被强烈惩罚。

熵、交叉熵、KL:比较概率分布的基础工具#

#

H(P) = -sum_x P(x) log P(x)

分布本身的不确定性。

交叉熵#

H(P,Q) = -sum_x P(x) log Q(x)

用 Q 去编码来自 P 的数据,平均需要多少信息量。

KL 散度#

D_KL(P||Q) = sum_x P(x) log(P(x)/Q(x))

两个分布的差距,不是对称距离。

Softmax:把任意实数分数变成概率分布#

softmax(z_i) = exp(z_i) / sum_j exp(z_j)

输出每一项都大于 0,总和等于 1,所以可以解释为概率。

为什么用 exp#

  • 保证正数。
  • 保留大小顺序。
  • 放大分数差异,让高分项概率更高。
  • 和 log likelihood / 交叉熵配合有良好求导性质。

递推方程:当前量由下一步或上一步决定#

一般形式:
x_{t+1} = F(x_t)
Bellman 形式:
V(s) = E[r + gamma V(s') | s]

数学直觉#

不是一次性求答案,而是用局部关系反复更新,直到估计稳定。RNN、动态规划、TD learning 都依赖这种思想。

高斯分布:噪声建模最常用的基础分布#

一维高斯:
N(mu, sigma^2)
标准高斯:
epsilon ~ N(0, I)

均值控制中心,方差控制扩散程度。

和扩散模型的关系#

训练时给样本加不同强度的高斯噪声,模型学习从带噪样本中估计噪声成分。

loss = E[||epsilon_pred - epsilon||^2]

读 AI 公式时,按数学类型拆开#

  • 先判断函数类型:标量到标量、向量到标量,还是向量到向量。
  • 再追踪 shape:每个矩阵、向量、batch、时间步的维度是什么。
  • 看到梯度,问:这是哪个标量目标对哪个变量的敏感度。
  • 看到概率,问:随机变量是什么,条件是什么,分布归一化了吗。
  • 看到 loss,问:它在惩罚数值误差、概率太低,还是分布差异。

最小数学主线#

函数 -> 局部变化 -> 导数
多变量函数 -> 偏导数 -> 梯度
复合函数 -> 链式法则 -> 反向传播
不确定性 -> 概率 -> 期望 / 交叉熵 / KL
时间关系 -> 递推 -> Bellman / 动态系统

先把这些数学定义和含义讲清楚,再去看 Transformer、扩散模型或强化学习,模型公式会自然很多。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

理解 AI 模型所需的基础数学原理
https://wiyac5.xyz/posts/ai-math-principles/
作者
未央
发布于
2026-07-28
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
未央
AI Agent 与工程实践。
公告
博客正在持续整理与更新中。
分类
标签
最新动态

还没有发布动态

更多动态
站点统计
文章
7
动态
0
分类
2
标签
17
总字数
47,905
运行时长
0
最后活动
0 天前