deepseek原理综述
🔢 核心思想:下一个词的预测
大型语言模型的本质是一个概率模型。给定一个词序列(即上下文或提示),其根本任务是预测下一个最可能出现的词。
- 基本设定:设有一个词序列(w_1, w_2, w_3, \dots, w_{t-1}),其中每个(w_i)来自一个庞大的词汇表 (V)。
核心目标:计算在给定上文的情况下,下一个词 (w_t) 是词汇表中任意一个词的条件概率:
$$ P(w_t | w_1, w_2, \dots, w_{t-1}) $$
这个条件概率对词汇表中的所有词(例如5万个)构成一个概率分布。理想情况下,模型应使真实的下一个词的概率尽可能高。
🧮 模型架构:概率的计算路径
我们无法直接计算 (P(w_t | w_1, w_2, \dots, w_{t-1})),因为序列组合近乎无限。Transformer 架构通过以下步骤近似这个概率:
1. 词嵌入 (Embedding)
将每个离散的词 (w_i) 映射为一个连续的、稠密的向量表示 (\mathbf{x}_i \in \mathbb{R}^d)。这个向量能够捕捉词的语义和语法信息。
- 通过一个可学习的嵌入矩阵 (\mathbf{E} \in \mathbb{R}^{|V| \times d}) 实现。
2. 位置编码 (Positional Encoding)
由于 Transformer 的自注意力机制本身不包含位置信息,需要显式注入每个词在序列中的位置信息。
$$ \mathbf{h}_i^{(0)} = \mathbf{x}_i + \mathbf{p}_i $$
其中 ( \mathbf{p}_i ) 是位置 (i) 对应的编码向量。
3. 通过 Transformer 块进行上下文编码
这是模型的核心。序列中的每个词向量会通过多层(L 层)的 Transformer 块进行处理,每一层都包含自注意力 (Self-Attention) 和前馈神经网络 (Feed-Forward Network, FFN),逐步融合整个上下文的信息。
自注意力机制:允许序列中的每个词与其他所有词交互,动态计算"上下文相关"的表示。
查询 (Query)、键 (Key)、值 (Value):对于每个词 (i),通过线性变换生成三个向量:
$$ \mathbf{q}_i^{(l)} = \mathbf{W}_Q^{(l)} \mathbf{h}_i^{(l-1)}, \quad \mathbf{k}_i^{(l)} = \mathbf{W}_K^{(l)} \mathbf{h}_i^{(l-1)}, \quad \mathbf{v}_i^{(l)} = \mathbf{W}_V^{(l)} \mathbf{h}_i^{(l-1)} $$
注意力分数与权重:计算词 (i) 对词 (j) 的注意力分数,并通过 Softmax 转换为权重:
注意力分数:
$$ e_{ij} = \frac{\mathbf{q}_i^{(l)} \cdot (\mathbf{k}_j^{(l)})^T}{\sqrt{d_k}} $$
注意力权重:
$$ \alpha_{ij} = \frac{\exp(e_{ij})}{\sum_{k=1}^{t-1} \exp(e_{ik})} $$
- 加权求和:对所有的 Value 向量进行加权求和,得到词 (i) 新的表示:
$$ \mathbf{z}_i^{(l)} = \sum_{j=1}^{t-1}\alpha_{ij}\mathbf{v}_j^{(l)} $$
前馈神经网络 (FFN):对自注意力的输出进行非线性变换,增加模型的表达能力。
$$ \mathbf{h}_i^{(l)} = \text{FFN}^{(l)}(\mathbf{z}_i^{(l)}) = \text{ReLU}(\mathbf{z}_i^{(l)} \mathbf{W}_1^{(l)} + \mathbf{b}_1^{(l)}) \mathbf{W}_2^{(l)} + \mathbf{b}_2^{(l)} $$
经过 L 层这样的处理后,我们得到了序列中最后一个词 (w_{t-1}) 的最终、富含上下文信息的表示
$$ \mathbf{h}_{t-1}^{(L)} $$
这个向量可以被理解为整个上文 $(w_1,\, w_2,\, w_3,\, \dots,\, w_{t-1})$ 的浓缩编码。
4. 输出投影和 Softmax
将最终的隐藏状态 (\mathbf{h}_{t-1}^{(L)}) 投影回词汇表空间,并通过 Softmax 函数转换为概率分布。
输出投影(Output Projection):
$$ \mathbf{o}_{t} = \mathbf{h}_{t-1}^{(L)}\mathbf{W}_O + \mathbf{b}_O $$
其中 (\mathbf{W}_O \in \mathbb{R}^{d \times |V|}),因此 (\mathbf{o}_t) 是一个 (|V|) 维的向量(称为 logits)。
Softmax 层:将 logits 转换为下一个词的概率分布:
$$ P(w_t = v_i | w_1, \dots, w_{t-1}) = \frac{\exp(o_{t, i})}{\sum_{j=1}^{|V|} \exp(o_{t, j})} $$
其中 (v_i) 是词汇表中的第 (i) 个词,(o_{t, i}) 是 (\mathbf{o}_t) 的第 (i) 个分量。
至此,模型完成了从输入序列到下一个词概率分布的数学计算。
📚 模型训练:最大似然估计
训练的目标是找到一组模型参数 (\Theta)(包括所有的 (\mathbf{W}_Q, \mathbf{W}_K, \mathbf{W}_V, \mathbf{W}_O)、嵌入矩阵等),使得模型在大量训练数据上的似然函数最大化。
似然函数:对于一个长度为 (T) 的文本序列 ((w_1, w_2, \dots, w_T)),其似然函数是给定上文生成下一个词的联合概率:
$$ P(w_1, w_2, \dots, w_T; \Theta) = \prod_{t=1}^{T} P(w_t | w_1, \dots, w_{t-1}; \Theta) $$
对数似然与损失函数:实践中,我们通常使用对数似然,并将最大化问题转化为最小化负对数似然损失(即交叉熵损失)。对于单个样本 ((Context=w_1, \dots, w_{t-1}, Target=w_t)),其损失函数为:
$$ \mathcal{L}(\Theta) = -\log P(w_t | w_1, \dots, w_{t-1}; \Theta) $$
这个损失函数衡量了模型预测的概率分布与真实分布(一个 one-hot 向量,真实词位置为1,其余为0)之间的差异。
- 参数优化:通过反向传播算法计算梯度,并使用梯度下降优化器(如 Adam)不断调整参数 (\Theta),使得对于训练数据中的每一个真实的下一个词,其预测概率 (P(w_t | \text{context})) 尽可能接近 1。
🚀 文本生成:从概率到文本的创作
训练好模型后,我们可以用它来生成文本。这是一个自回归(Autoregressive) 的过程:
- 开始:给定一个初始提示(如 "今天天气很")。
- 计算分布:模型计算下一个词的概率分布 ( P(w |\text{"今天天气很"}))。
采样:根据这个分布进行采样。常见的策略有:
- 贪婪搜索 (Greedy Search):总是选择概率最高的词。但可能导致重复或单调的文本。
- 核采样 (Top-p Sampling):从概率最大的词开始累积,直到累积概率超过一个阈值 (p)(如 0.9),然后只从这些候选词中采样。这能在保证生成质量的同时,引入随机性和创造性。
- 追加并重复:将采样得到的词(比如 "好")附加到序列末尾,新的序列变为 "今天天气很好"。然后重复步骤 2-4,直到生成结束标记或达到最大长度。
🔄 扩展推导一:训练过程的数学优化
1. 批量训练与梯度累积
实际训练中,我们使用小批量(mini-batch)数据来估计梯度:
批量损失函数:
$$ \mathcal{L}_{\text{batch}}(\Theta) = -\frac{1}{B} \sum_{b=1}^{B} \sum_{t=1}^{T_b} \log P(w_t^{(b)} | w_1^{(b)}, \dots, w_{t-1}^{(b)}; \Theta) $$
其中 $B$ 是批量大小,$T_b$ 是第 $b$ 个序列的长度。
2. 梯度下降的数学细节
Adam 优化器的核心思想
Adam 通过计算梯度的一阶矩(均值)和二阶矩(未中心化的方差)的指数移动平均值,来为每个参数自适应地调整学习率。
🧮 完整数学步骤推导
设:
- ( \Theta_t ):第 ( t ) 次迭代时的模型参数。
- ( \mathcal{L}(\Theta_t) ):第 ( t ) 次迭代时的损失函数。
- $g_t = \nabla_{\Theta}\mathcal{L}(\Theta_t)$:第 ( t ) 次迭代时损失函数关于参数的梯度。
- ( \eta ):全局学习率。
- ( \beta_1, \beta_2 \in [0, 1) ):指数衰减率,通常分别取 0.9 和 0.999。
- ( \epsilon ):一个极小的常数,用于数值稳定(通常为 (10^{-8}))。
步骤 1:计算有偏一阶矩估计(动量)
计算梯度的指数移动平均值,它充当动量的角色,加速收敛并减少振荡。
$$ \mathbf{m}_t = \beta_1 \cdot \mathbf{m}_{t-1} + (1 - \beta_1) \cdot \mathbf{g}_t $$
- ( \mathbf{m}_t ) 是当前一阶矩的估计值。
- ( \mathbf{m}_{t-1} ) 是上一时刻的一阶矩估计值(初始时 ( \mathbf{m}_0 = \mathbf{0} ))。
步骤 2:计算有偏二阶矩估计(自适应学习率)
计算梯度平方的指数移动平均值,它反映了每个参数梯度幅度的历史变化,用于调整学习率。
$$ \mathbf{v}_t = \beta_2 \cdot \mathbf{v}_{t-2} + (1 - \beta_2) \cdot \mathbf{g}_t^2 $$
- ( \mathbf{v}_t ) 是当前二阶矩的估计值。
- ( \mathbf{v}_{t-1} ) 是上一时刻的二阶矩估计值(初始时 ( \mathbf{v}_0 = \mathbf{0} ))。
- ( \mathbf{g}_t^2 ) 表示逐元素平方。
步骤 3:计算偏差校正的一阶矩估计
由于 ( \mathbf{m}_t ) 和 ( \mathbf{v}_t ) 在初始时间步被初始化为 0,它们在训练初期会偏向于 0。因此需要进行偏差校正。
$$ \hat{\mathbf{m}}_t = \frac{\mathbf{m}_t}{1 - \beta_1^t} $$
- ( \beta_1^t ) 是 ( \beta_1 ) 的 ( t ) 次方。随着迭代次数 ( t ) 的增加,( 1 - \beta_1^t ) 会趋近于 1,校正的作用逐渐减弱。
步骤 4:计算偏差校正的二阶矩估计
同样地对二阶矩估计进行偏差校正。
$$ \hat{\mathbf{v}}_t = \frac{\mathbf{v}_t}{1 - \beta_2^t} $$
步骤 5:更新参数
使用校正后的矩估计来更新模型参数。
$$ \Theta_{t+1} = \Theta_t - \eta \cdot \frac{\hat{\mathbf{m}}_t}{\sqrt{\hat{\mathbf{v}}_t} + \epsilon} $$
🧠 扩展推导二:注意力机制的数学变体
1. 缩放点积注意力的数学推导
标准的注意力计算:
$$ \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V $$
缩放因子 $\sqrt{d_k}$ 的数学原理:
假设 $q$ 和 $k$ 的每个分量为独立随机变量,均值为0,方差为1,则:
$$ \text{Var}(q \cdot k) = d_k $$
因此,缩放后:
$$ \text{Var}\left(\frac{q \cdot k}{\sqrt{d_k}}\right) = 1 $$
这防止了softmax函数的输入值过大导致梯度消失。
2. 多头注意力的数学形式化
多头注意力的计算:
$$ \text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, \dots, \text{head}_h)W^O $$
其中:
$$ \text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V) $$
参数矩阵维度:
- $W_i^Q \in \mathbb{R}^{d_{\text{model}} \times d_k}$
- $W_i^K \in \mathbb{R}^{d_{\text{model}} \times d_k}$
- $W_i^V \in \mathbb{R}^{d_{\text{model}} \times d_v}$
- $W^O \in \mathbb{R}^{h \cdot d_v \times d_{\text{model}}}$
通常设置 $d_k = d_v = d_{\text{model}}/h$。
📊 扩展推导三:位置编码的数学基础
1. 正弦位置编码的数学形式
原始Transformer的位置编码:
$$ PE_{(pos, 2i)} = \sin\left(\frac{pos}{10000^{2i/d_{\text{model}}}}\right) $$
$$ PE_{(pos, 2i+1)} = \cos\left(\frac{pos}{10000^{2i/d_{\text{model}}}}\right) $$
这可以重写为:
$$ PE_{(pos, 2i)} = \sin(pos \cdot \omega_i) $$
$$ PE_{(pos, 2i+1)} = \cos(pos \cdot \omega_i) $$
其中 $\omega_i = \frac{1}{10000^{2i/d_{\text{model}}}}$
2. 相对位置编码的数学推导
RoPE (Rotary Position Embedding) 的数学形式:
对于位置 $m$ 的查询向量 $q$ 和位置 $n$ 的键向量 $k$:
$$ q_m^T k_n = (R_{\Theta, m}^d q)^T (R_{\Theta, n}^d k) = q^T R_{\Theta, n-m}^d k $$
其中旋转矩阵 $R_{\Theta, m}^d$ 为:
$$ R_{\Theta, m}^d = \begin{pmatrix} \cos m\theta_1 & -\sin m\theta_1 & 0 & 0 & \cdots & 0 & 0 \\ \sin m\theta_1 & \cos m\theta_1 & 0 & 0 & \cdots & 0 & 0 \\ 0 & 0 & \cos m\theta_2 & -\sin m\theta_2 & \cdots & 0 & 0 \\ 0 & 0 & \sin m\theta_2 & \cos m\theta_2 & \cdots & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ 0 & 0 & 0 & 0 & \cdots & \cos m\theta_{d/2} & -\sin m\theta_{d/2} \\ 0 & 0 & 0 & 0 & \cdots & \sin m\theta_{d/2} & \cos m\theta_{d/2} \end{pmatrix} $$
🏗️ 扩展推导四:现代架构的数学改进
1. Layer Normalization 的数学细节
LayerNorm的计算:
$$ \text{LayerNorm}(\mathbf{x}) = \gamma \cdot \frac{\mathbf{x} - \mu}{\sigma} + \beta $$
其中:
$$ \mu = \frac{1}{d} \sum_{i=1}^d x_i, \quad \sigma = \sqrt{\frac{1}{d} \sum_{i=1}^d (x_i - \mu)^2 + \epsilon} $$
2. 残差连接的数学原理
残差网络的前向传播:
$$ \mathbf{h}^{(l)} = f(\mathbf{h}^{(l-1)}) + \mathbf{h}^{(l-1)} $$
反向传播的梯度:
$$ \frac{\partial \mathcal{L}}{\partial \mathbf{h}^{(l-1)}} = \frac{\partial \mathcal{L}}{\partial \mathbf{h}^{(l)}} \cdot \left(\frac{\partial f(\mathbf{h}^{(l-1)})}{\partial \mathbf{h}^{(l-1)}} + I\right) $$
这缓解了梯度消失问题。
3. SwiGLU激活函数的数学形式
SwiGLU的计算:
$$ \text{SwiGLU}(x) = (\text{Swish}(xW) \odot (xV)) \cdot U $$
其中 $\text{Swish}(x) = x \cdot \sigma(\beta x)$,通常 $\beta=1$。
🎯 扩展推导五:损失函数的数学变体
1. 带标签平滑的交叉熵损失
标准交叉熵:
$$ \mathcal{L} = -\sum_{i=1}^{|V|} y_i \log(p_i) $$
标签平滑后的目标:
$$ y_i^{\text{smooth}} = (1 - \epsilon) \cdot y_i + \frac{\epsilon}{|V|} $$
其中 $\epsilon$ 是平滑参数(通常 0.1)。
2. 因果掩码的数学实现
自回归生成中的掩码:
$$ M_{ij} = \begin{cases} 0 & \text{if } i \geq j \\ -\infty & \text{if } i < j \end{cases} $$
掩码后的注意力分数:
$$ \text{Attention} = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}} + M\right)V $$
🔧 扩展推导六:推理优化的数学方法
1. 键值缓存(KV Cache)的数学原理
在自回归生成中,对于第 $t$ 个时间步:
没有KV Cache:
需要重新计算所有
$$ \mathbf{K}_{1:t}^{(l)}, \quad \mathbf{V}_{1:t}^{(l)} $$
有KV Cache:
只需计算 $K^{(l)}_t, V^{(l)}_t$ 并缓存,然后:
$$ K^{(l)}_{1:t} = [K^{(l)}_{1:t-1}, K^{(l)}_t] $$
$$ V^{(l)}_{1:t} = [V^{(l)}_{1:t-1}, V^{(l)}_t] $$
这减少了计算复杂度从 $O(t^2)$ 到 $O(t)$。
2. 量化的数学原理
线性量化:
$$ x_{\text{quant}} = \text{round}\left(\frac{x - \min(x)}{\max(x) - \min(x)} \cdot (2^n - 1)\right) $$
反量化:
$$ x_{\text{dequant}} = \frac{x_{\text{quant}}}{2^n - 1} \cdot (\max(x) - \min(x)) + \min(x) $$
📈 扩展推导七:模型评估的数学指标
1. 困惑度(Perplexity)的数学定义
困惑度:
$$ \text{PPL} = \exp\left(-\frac{1}{N} \sum_{i=1}^N \log P(w_i | w_1, \dots, w_{i-1})\right) $$
其中 $N$ 是测试集的词数。
2. BLEU分数的数学计算
n-gram精度:
$$ p_n = \frac{\sum_{C\in\{\text{Candidates}\}} \sum_{\text{n-gram}\in C} \text{Count}_{\text{clip}}(\text{n-gram})}{\sum_{C\in\{\text{Candidates}\}} \sum_{\text{n-gram}\in C} \text{Count}(\text{n-gram})} $$
BLEU分数:
$$ \text{BLEU} = BP \cdot \exp\left(\sum_{n=1}^N w_n \log p_n\right) $$
其中 $BP$ 是 brevity penalty。
🧮 扩展推导八:概率图模型视角
1. 自回归模型的图模型表示
LLM可以表示为概率图模型中的有向图模型:
联合概率分解:
$$ P(w_{1:T}) = \prod_{t=1}^T P(w_t | w_{1:t-1}) $$
图模型结构:
w₁ → w₂ → w₃ → ⋯ → w_T
↘ ↘ ↘ ↘
→ → → →
每个词只依赖于其前面的所有词,形成完全的因果依赖结构。
2. 马尔可夫假设的松弛
与传统n-gram模型不同,Transformer不强制严格的马尔可夫假设:
$$ P(w_t | w_{1:t-1}) \neq P(w_t | w_{t-n+1:t-1}) $$
而是通过自注意力机制实现可变长度的依赖关系。
📐 扩展推导九:信息论基础
1. 交叉熵与KL散度的关系
KL散度(相对熵):
$$ D_{KL}(P || Q) = \sum_x P(x) \log \frac{P(x)}{Q(x)} $$
交叉熵与KL散度的关系:
$$ H(P, Q) = H(P) + D_{KL}(P || Q) $$
其中 $H(P) = -\sum_x P(x) \log P(x)$ 是真实分布的熵。
在LLM训练中,我们最小化:
$$ \mathcal{L} = H(P_{\text{data}}, P_{\text{model}}) = -\mathbb{E}_{x \sim P_{\text{data}}}[\log P_{\text{model}}(x)] $$
2. 互信息与表示学习
词与上下文之间的互信息:
$$ I(w_t; w_{1:t-1}) = H(w_t) - H(w_t | w_{1:t-1}) $$
训练过程实际上是在最大化目标词与其上下文之间的互信息。
🎲 扩展推导十:贝叶斯学习视角
1. 参数的后验分布
从贝叶斯视角看,训练是在计算参数的后验分布:
$$ P(\Theta | D) = \frac{P(D | \Theta) P(\Theta)}{P(D)} $$
其中:
- $P(\Theta)$ 是先验分布(通过权重初始化实现)
- $P(D | \Theta)$ 是似然函数
- $P(\Theta | D)$ 是后验分布
2. 最大后验概率估计
实际训练中,我们使用最大后验概率估计:
$$ \Theta_{\text{MAP}} = \arg\max_{\Theta} \log P(D | \Theta) + \log P(\Theta) $$
权重衰减正则化对应高斯先验:
$$ P(\Theta) = \mathcal{N}(0, \lambda^{-1}I) $$
🌐 扩展推导十一:流形学习视角
1. 词嵌入空间的几何结构
词嵌入将离散符号映射到连续空间 $\mathbb{R}^d$,形成语义流形。
语义相似性的几何表示:
$$ \text{sim}(w_i, w_j) \approx \cos(\mathbf{e}_i, \mathbf{e}_j) = \frac{\mathbf{e}_i \cdot \mathbf{e}_j}{\|\mathbf{e}_i\| \|\mathbf{e}_j\|} $$
2. 注意力机制的几何解释
自注意力可以看作在语义流形上的消息传递:
$$ \mathbf{z}_i = \sum_j \alpha_{ij} \mathbf{v}_j $$
其中权重 $\alpha_{ij}$ 由查询-键相似度决定,实现了语义空间中的自适应邻域聚合。
🔢 扩展推导十二:张量分解视角
1. 语言模型作为张量分解
考虑整个序列的联合概率张量:
$$ \mathcal{P}_{i_1, i_2, \dots, i_T} = P(w_1 = v_{i_1}, w_2 = v_{i_2}, \dots, w_T = v_{i_T}) $$
这个张量的维度是 $|V|^T$,直接存储不可行。
2. 神经网络的低秩近似
Transformer通过参数化函数提供了低秩分解:
$$ \mathcal{P}_{i_1, i_2, \dots, i_T} \approx \prod_{t=1}^T f_\Theta(v_{i_t} | v_{i_1}, \dots, v_{i_{t-1}}) $$
其中 $f_\Theta$ 是神经网络定义的函数。
📊 扩展推导十三:动力系统视角
1. Transformer作为离散动力系统
每一层Transformer可以看作一个动力系统:
$$ \mathbf{H}^{(l)} = F(\mathbf{H}^{(l-1)}; \Theta^{(l)}) $$
其中 $\mathbf{H}^{(l)} \in \mathbb{R}^{T \times d}$ 是第 $l$ 层的隐藏状态矩阵。
2. 固定点与吸引子
训练好的Transformer在推理时寻找动力系统的固定点:
$$ \mathbf{H}^* = F(\mathbf{H}^*; \Theta) $$
不同的上下文输入对应不同的吸引子盆地。
🧩 扩展推导十四:组合数学视角
1. 序列生成的组合结构
长度为 $T$ 的序列有 $|V|^T$ 种可能组合。LLM通过学习为语义合理的序列分配高概率来减少有效搜索空间。
2. 束搜索的数学优化
束搜索(Beam Search) 维护前 $k$ 个最有可能的序列:
设 $B_t$ 是时间步 $t$ 的候选序列集合,每个序列的概率为:
$$ P(w_{1:t}) = \prod_{i=1}^t P(w_i | w_{1:i-1}) $$
束搜索选择:
$$ B_{t+1} = \underset{|S|=k}{\arg\max} \left\{ P(w_{1:t+1}) : w_{1:t} \in B_t, w_{t+1} \in V \right\} $$
🔍 扩展推导十五:泛化理论视角
1. 神经切线核(NTK)理论
在无限宽极限下,神经网络训练动力学由神经切线核描述:
$$ \Theta_0(x, x') = \langle \nabla_\Theta f(x; \Theta_0), \nabla_\Theta f(x'; \Theta_0) \rangle $$
训练动力学变为:
$$ f_t(x) \approx f_0(x) + \Theta_0(x, X)^T \Theta_0(X, X)^{-1} (Y - f_0(X)) $$
2. 双下降现象
LLM表现出双下降现象:
- 当参数数量 $P$ 小于数据点数量 $N$ 时,测试误差先下降后上升
- 当 $P > N$ 时,测试误差再次下降
这挑战了传统的偏差-方差权衡理论。
🎯 扩展推导十六:最优传输视角
1. 注意力作为最优传输
注意力机制可以解释为最优传输问题:
$$ \min_{\alpha_{ij}} \sum_{i,j} \alpha_{ij} c(\mathbf{q}_i, \mathbf{k}_j) - \epsilon H(\alpha) $$
其中:
- $c(\mathbf{q}_i, \mathbf{k}_j)$ 是传输成本
- $H(\alpha)$ 是熵正则化项
- $\epsilon$ 控制熵正则化强度
解就是softmax注意力权重。
📈 扩展推导十七:学习理论视角
1. Rademacher复杂度
对于函数类 $\mathcal{F}$,经验Rademacher复杂度为:
$$ \hat{\mathfrak{R}}_n(\mathcal{F}) = \mathbb{E}_\sigma \left[ \sup_{f \in \mathcal{F}} \frac{1}{n} \sum_{i=1}^n \sigma_i f(x_i) \right] $$
Transformer的复杂度与其深度、宽度和注意力头数有关。
2. 泛化界
基于Rademacher复杂度的泛化界:
$$ L(f) \leq \hat{L}(f) + 2\hat{\mathfrak{R}}_n(\mathcal{F}) + O\left(\sqrt{\frac{\log(1/\delta)}{n}}\right) $$
其中 $L(f)$ 是真实风险,$\hat{L}(f)$ 是经验风险。
🔮 扩展推导十八:量子力学类比
1. 注意力作为量子测量
可以将注意力机制类比为量子测量过程:
- 查询向量 $\mathbf{q}_i$ 对应测量算符
- 键向量 $\mathbf{k}_j$ 对应量子态
- 注意力权重 $\alpha_{ij}$ 对应测量概率:$|\langle \mathbf{q}_i | \mathbf{k}_j \rangle|^2$
2. 叠加态与混合态
词向量的线性组合可以看作量子叠加态:
$$ |\psi\rangle = \sum_i c_i |w_i\rangle $$
其中 $\{ |w_i\rangle \}$ 构成一组基态,$c_i$ 是复数系数且满足 $\sum_i |c_i|^2 = 1$。注意力机制实现了从叠加态到确定状态的坍缩。
🎓 扩展推导十九:微分几何视角
1. 损失景观的几何结构
参数空间 $\Theta \in \mathbb{R}^D$ 形成一个高维流形,损失函数 $\mathcal{L}(\Theta)$ 定义在这个流形上。
Hessian矩阵:
$$ \mathbf{H}(\Theta) = \nabla_\Theta^2 \mathcal{L}(\Theta) $$
其特征值分布揭示了损失景观的曲率性质:
- 大特征值:尖锐方向
- 小特征值:平坦方向
2. 流形假设与内在维度
自然语言数据存在于高维空间中的低维流形上:
设数据流形的内在维度为 $d_{\text{intrinsic}}$,通常有:
$$ d_{\text{intrinsic}} \ll d_{\text{ambient}} $$
LLM通过学习将这个低维流形嵌入到隐藏空间中。
📊 扩展推导二十:统计力学类比
1. 玻尔兹曼分布与能量模型
Softmax输出可以解释为玻尔兹曼分布:
$$ P(w_t = v_i | \text{context}) = \frac{e^{-\beta E(v_i)}}{\sum_j e^{-\beta E(v_j)}} $$
其中 $E(v_i) = - \mathbf{o}_{t,i}$ 可以看作"能量",$\beta=1$ 是逆温度。
2. 配分函数与自由能量
配分函数:
$$ Z = \sum_{j=1}^{|V|} e^{-\beta E(v_j)} $$
自由能量:
$$ F = -\frac{1}{\beta} \log Z $$
模型训练实际上是在学习一个能量函数,使得合理序列具有低能量。
🔄 扩展推导二十一:信息瓶颈理论
1. 信息瓶颈原理
对于输入 $X$、目标 $Y$ 和中间表示 $T$,信息瓶颈寻求:
$$ \min_{P(T|X)} I(X;T) - \beta I(T;Y) $$
其中:
- $I(X;T)$ 是输入与表示之间的互信息
- $I(T;Y)$ 是表示与目标之间的互信息
- $\beta$ 是权衡参数
2. Transformer中的信息流
在Transformer的每一层中:
$$ T_l = f_l(T_{l-1}) $$
信息瓶颈理论预测,在深度网络中:
- 前几层:$I(T;Y)$ 增加,$I(T;X)$ 增加
- 中间层:$I(T;Y)$ 达到平台,$I(T;X)$ 开始减少
- 深层:$I(T;X)$ 减少(压缩),$I(T;Y)$ 保持
🧠 扩展推导二十二:因果推理视角
1. 干预与反事实推理
LLM可以看作学习了一个因果图模型,其中词之间具有因果依赖关系。
干预操作 $do(w_t = v)$ 表示强制设定 $w_t$ 为 $v$,而不影响其父节点。
2. 因果注意力
标准注意力:
$$ \alpha_{ij} = \text{softmax}\left(\frac{\mathbf{q}_i \cdot \mathbf{k}_j}{\sqrt{d_k}}\right) $$
因果注意力添加掩码:
$$ \alpha_{ij} = \begin{cases} \text{softmax}\left(\frac{\mathbf{q}_i \cdot \mathbf{k}_j}{\sqrt{d_k}}\right) & \text{if } j \leq i \\ 0 & \text{otherwise} \end{cases} $$
这确保了因果性:未来词不影响过去词的表示。
📈 扩展推导二十三:动力系统稳定性
1. 李雅普诺夫稳定性
考虑Transformer层的迭代:
$$ \mathbf{H}^{(l+1)} = F(\mathbf{H}^{(l)}) $$
如果存在李雅普诺夫函数 $V(\mathbf{H})$ 使得:
$$ V(F(\mathbf{H})) < V(\mathbf{H}) \quad \forall \mathbf{H} \neq \mathbf{H}^* $$
则系统全局稳定到固定点 $\mathbf{H}^*$。
2. 梯度爆炸/消失的数学分析
梯度范数:
$$ \left\|\frac{\partial \mathcal{L}}{\partial \mathbf{H}^{(l)}}\right\| = \left\|\frac{\partial \mathcal{L}}{\partial \mathbf{H}^{(L)}} \prod_{k=l}^{L-1} \frac{\partial \mathbf{H}^{(k+1)}}{\partial \mathbf{H}^{(k)}}\right\| $$
梯度爆炸/消失取决于雅可比矩阵 $\frac{\partial \mathbf{H}^{(k+1)}}{\partial \mathbf{H}^{(k)}}$ 的谱半径。