理解 AI 模型所需的基础数学原理
重点不是背 AI 名词,而是重新建立导数、梯度、链式法则、矩阵微积分、概率分布、信息论和递推方程的数学直觉。
局部变化 -> 导数多变量变化 -> 梯度复合函数求导 -> 链式法则 / 反向传播不确定性 -> 概率 / 期望 / 信息量这份 PPT 只回答一个问题:公式到底是什么意思
不是
不是 Transformer、CLIP、扩散模型、强化学习的概念串讲。
而是
把这些模型反复使用的数学概念讲清楚:定义、几何意义、计算意义。
目标
看到梯度、loss、softmax、KL、Bellman、MSE 时,知道它们在数学上到底做了什么。
函数:把输入映射到输出的规则
f: R -> Rf(x) = y
F: R^n -> R^mF(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 + 3ypartial 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|| = 1u 是方向
它只描述往哪里走,不描述走多远。
点积给投影
方向导数等于梯度在方向 u 上的投影。
最大值
当 u 和 ∇f 同方向时,方向导数最大。
梯度下降:沿负梯度方向做小步更新
theta_{t+1} = theta_t - eta ∇L(theta_t)eta 是学习率,控制每一步走多远。
为什么是负号
梯度指向 loss 增长最快的方向。训练要降低 loss,所以沿反方向走。
为什么要小步
梯度只是当前点附近的局部线性近似。步子太大,局部近似会失效。
链式法则:复合函数的变化如何层层传递
如果 y = f(g(x))dy/dx = df/dg · dg/dxx -> g(x) -> f(g(x)) -> loss反向传播就是链式法则在大型计算图上的自动化:从 loss 开始,把梯度一层层乘回去。
反向传播不是新数学,是链式法则的高效记账
前向:z = Wx + ba = activation(z)L = loss(a, y)
反向:dL/dW = dL/da · da/dz · dz/dW核心问题
每个中间变量都缓存前向值;反向时按计算图拓扑顺序,把上游梯度乘以局部导数,得到下游梯度。
所以“梯度回传”不是抽象说法,而是在传播“这个变量变一点,会让最终 loss 变多少”。
Jacobian:向量值函数的一阶导数矩阵
F: R^n -> R^mF(x) = [F_1(x), ..., F_m(x)]^T
J_F =[ partial F_i / partial x_j ]如果输出不是一个数,而是一组数,就需要 Jacobian 描述每个输出对每个输入的敏感度。
和梯度的关系
- 梯度:标量输出对向量输入的导数。
- Jacobian:向量输出对向量输入的导数。
- 神经网络每层通常都是向量到向量,所以局部导数本质上是 Jacobian。
矩阵微积分先看形状,再看公式
z = W x + bW: [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 = ∇²fH_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 AA: [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、扩散模型或强化学习,模型公式会自然很多。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!












