知行札记
专题AI 模型与系统语言模型与生成机制

向量、梯度与概率

用可追踪的算例建立模型表示、优化和生成所需的数学关系。

数学在模型中承担什么

向量表示对象,矩阵变换表示,概率分布描述候选,损失把训练目标变成数值,梯度说明参数怎样影响损失。本页从高中代数出发,建立阅读模型公式所需的运算。算例均为构造数据与手算推导,数值没有承担真实模型实验结果。

向量、内积与矩阵

向量是一组有顺序的数。x=(1,2)x=(1,2) 与 y=(3,4)y=(3,4) 的内积是 x⊤y=1×3+2×4=11x^\top y=1\times3+2\times4=11。上标 ⊤\top 表示转置,把列向量变成行向量,以便按矩阵规则相乘。欧氏长度是 ∥x∥=12+22=5\|x\|=\sqrt{1^2+2^2}=\sqrt5。余弦相似度将内积除以两个长度,得到方向相近程度:cos⁡(x,y)=x⊤y/(∥x∥∥y∥)\cos(x,y)=x^\top y/(\|x\|\|y\|)。零向量的余弦没有定义,实际实现需要规定处理方式。

内积会同时受到方向和幅度影响。把 yy 放大两倍,内积也翻倍,余弦保持不变。因此注意力中的内积打分、归一化后的向量检索和一般距离度量各有不同语义。向量的某一维通常没有事先指定的自然语言含义,维度之间共同承担表示。

矩阵是线性变换。例如

W=(2103),Wx=(46).W=\begin{pmatrix}2&1\\0&3\end{pmatrix},\qquad Wx=\begin{pmatrix}4\\6\end{pmatrix}.

矩阵的每一行与输入做内积,得到一个输出坐标。若 WW 为 m×nm\times n,它把 nn 维输入变成 mm 维输出。复合两次变换可以写成 W2W1xW_2W_1x;矩阵乘法可结合,通常不可交换。注意力中的 Q/K/V 投影、前馈网络和输出词表投影都用到这项运算。

矩阵的秩是其独立方向的数量。把一个大更新矩阵写成 BABA,其中 AA 输出 rr 维中间表示,BB 再变回原输出维度,更新的秩至多为 rr。参数数量从 mnmn 变为 r(m+n)r(m+n)。当 rr 很小时节省显著,也限制了可表达的更新;这正是 LoRA 的结构基础。

奇异值分解把矩阵写成 UΣV⊤U\Sigma V^\top。VV 给出输入方向,Σ\Sigma 给出各方向的拉伸幅度,UU 给出输出方向。少数大奇异值可以说明一个给定矩阵的作用集中在少数方向;它不能单独证明所有任务的最优更新都具有低秩。

导数、梯度与反向传播

导数测量输入的小变化怎样改变输出。f(w)=(w−3)2f(w)=(w-3)^2 的导数是 2(w−3)2(w-3);在 w=1w=1 时,导数为 −4-4。沿负导数走一小步,w′=w−ηf′(w)w'=w-\eta f'(w)。取学习率 η=0.1\eta=0.1,新值是 1.41.4,损失从 44 降到 2.562.56。更大的步长也可能越过最优点并发散。

多个参数分别求偏导,再排成向量,得到梯度 ∇L\nabla L。它在局部给出损失增长最快的方向。梯度下降沿其反方向更新;神经网络的损失通常非凸,局部下降没有全局最优保证。

链式法则连接多层计算。设 h=wxh=wx、y=h2y=h^2,则 ∂y/∂w=(∂y/∂h)(∂h/∂w)=2hx\partial y/\partial w=(\partial y/\partial h)(\partial h/\partial w)=2hx。反向传播保存或重算前向中间值,沿计算图传递这些局部导数。计算图分叉时,各路径贡献相加;共享参数接受多个使用位置的累计梯度。

很多小导数连乘会衰减,很多大导数连乘会放大。残差连接提供绕过部分变换的路径;归一化、初始化、精度、学习率和梯度裁剪共同影响稳定性。残差连接改善传播条件,仍需审查实际梯度与数值行为。

概率、条件与采样

概率分布给候选分配非负数,总和为一。若三个 token 的概率为 (0.6,0.3,0.1)(0.6,0.3,0.1),采样得到哪个取决于随机数;选择最大值则总取第一个。一个 token 的高概率说明它在当前模型条件下更受偏好,无法单独证明所表达事实为真。

条件概率 p(B∣A)p(B\mid A) 描述在 AA 已成立时 BB 的分布。联合概率可以写成 p(A,B)=p(A)p(B∣A)p(A,B)=p(A)p(B\mid A)。只有在独立条件成立时才能替换为 p(A)p(B)p(A)p(B)。自回归生成用条件链表达整句概率,每一步的前缀都会改变下一步分布。

softmax 将任意实数分数 ziz_i 转成概率:

pi=ezi∑jezj.p_i=\frac{e^{z_i}}{\sum_j e^{z_j}}.

所有分数同时加一个常数,结果不变。数值计算通常先减去最大分数,避免指数上溢。温度 TT 把分数改为 zi/Tz_i/T;TT 越小,概率通常越集中,TT 越大越平缓。温度与 top-k/top-p 截断不同,截断会移除候选并重新归一化。

随机变量的期望是按概率加权的平均。例如产出数为 1、2、3,概率分别为 0.5、0.3、0.2,期望是 1.7;单次产出仍为整数。方差是 E[(X−E[X])2]E[(X-E[X])^2],说明分散程度。评测平均值需要同时考虑样本数、波动与任务分布。

构造 logits 为 (2,1,0)(2,1,0),温度为一时,softmax 概率约为 (0.665,0.245,0.090)(0.665,0.245,0.090);温度为二时约为 (0.506,0.307,0.186)(0.506,0.307,0.186)。贪心都选择第一个;若在第一种分布上使用 top-p=0.8top\text{-}p=0.8,保留前两个候选,重新归一化约为 (0.731,0.269)(0.731,0.269)。采样可将 [0,1)[0,1) 按累计概率切成区间,再由均匀随机数落点选候选。概率给出重复试验的频率关系,不规定某一次必须得到哪个结果。

softmax 对 logits 的局部导数是

∂pi∂zj=pi(δij−pj),\frac{\partial p_i}{\partial z_j}=p_i(\delta_{ij}-p_j),

δij\delta_{ij} 在 i=ji=j 时为一,否则为零。当概率极度集中时,这个局部雅可比的很多项趋近零;整套训练的梯度还取决于损失和其他路径。对 softmax 与 one-hot 交叉熵的组合,logit 梯度为 pi−yip_i-y_i,错误而自信的预测仍可有显著训练信号,因此不能把“softmax 饱和”直接推成所有训练梯度消失。

对数、交叉熵与 KL

整句概率是很多条件概率的乘积,负对数把它变成可加的损失。真实 token 若概率为 0.5,其自然对数损失约 0.693;概率为 0.1 时约 2.303。使用哪个对数底数会改变单位,优化方向保持一致。

真实分布 pp 与预测分布 qq 的交叉熵为 H(p,q)=−∑ipilog⁡qiH(p,q)=-\sum_i p_i\log q_i;真实分布的熵为 H(p)=−∑ipilog⁡piH(p)=-\sum_i p_i\log p_i。两者之差是

DKL(p∥q)=∑ipilog⁡piqi≥0.D_{KL}(p\|q)=\sum_i p_i\log\frac{p_i}{q_i}\ge0.

当真实标签为一个 token 的 one-hot 分布,交叉熵就退化为该 token 的负对数概率。KL 有方向,交换 pp 与 qq 通常得到不同值。若 pi>0p_i>0 而 qi=0q_i=0,相应项发散,实际实现需正确处理支持范围和数值稳定性。

以自然对数计算的平均交叉熵 LL,困惑度为 eLe^L。它在同一分词器、数据和损失口径下衡量预测分布;更换词表、只计算回答 loss 或改变数据难度后,数值不能直接横比。低困惑度也不能代替事实正确、任务完成和工具执行评价。

编码解释使用以 2 为底的对数:概率 pp 对应理想码长 −log⁡2p-\log_2p 比特。它帮助理解为什么对数损失与信息压缩相连,真实编码器的离散码长、模型开销和数据分布需要另计。

最后更新于

本页目录