附录 B — 术语中英对照
这份表有三个用途:读论文时查、写代码时对字段名、讲课时统一说法。
每一行给三样东西:中文、English、一句话解释。 最后一列是首次出现的章——想不起来上下文时,回去看那一章。
B.1 注意力与 Transformer
| 中文 | English | 一句话解释 | 章 |
|---|---|---|---|
| 注意力 | attention | 用 query 和 key 的相似度给 value 加权求和 | 1 |
| 自注意力 | self-attention | Q,K,V 都来自同一串 token | 1 |
| 交叉注意力 | cross-attention | Q 来自图像、K,V 来自文本 | 1, 8 |
| 联合注意力 | joint attention | 两串 token 拼成一条,做一次自注意力 | 8 |
| 多头注意力 | multi-head attention | 把 d 维切成 h 份,各自做注意力再拼回 | 1 |
| 缩放点积注意力 | scaled dot-product attention | 点积除以 \sqrt{d_k} 再 softmax | 1 |
| 查询 | query | “我要找什么” | 1 |
| 键 | key | “我有什么可以被匹配” | 1 |
| 值 | value | “匹配上之后我提供什么” | 1 |
| 注意力权重 | attention weights | softmax 之后的那个概率分布 | 1 |
| 注意力图 | attention map | 把权重画成热图(不等于解释) | 1, 4, 8 |
| 因果掩码 | causal mask | 每个位置只能看左边 | 1 |
| 填充掩码 | padding mask | 忽略补齐出来的位置 | 1 |
| 位置编码 | positional encoding | 把”第几个”注入表示 | 1 |
| 正弦编码 | sinusoidal encoding | 用不同频率的 sin/cos 表示位置 | 1 |
| 可学习位置嵌入 | learned positional embedding | 每个位置一个可训练向量 | 1 |
| 旋转位置编码 | RoPE (rotary position embedding) | 用旋转矩阵把相对位置编进 q,k | 1 |
| 相对位置 | relative position | 只关心两个位置差多少 | 1 |
| 残差连接 | residual connection | h\leftarrow h+F(h) | 2 |
| 层归一化 | layer normalization | 对每个 token 的特征维归一化 | 2 |
| RMSNorm | root-mean-square normalization | 只除以均方根,不减均值 | 2 |
| 前馈网络 | FFN (feed-forward network) | 每个位置独立的 两层 MLP | 2 |
| 激活函数 | activation function | 非线性,常见 GELU / SwiGLU | 2 |
| 词嵌入 | token embedding | 词表里每个 token 一个向量 | 1 |
| 输出投影 | output projection | 把隐藏状态映射回词表大小 | 1 |
| 权重共享 | weight tying | 输出投影复用词嵌入矩阵 | 1 |
| 上下文窗口 | context window | 一次能看多少个 token | 1 |
| KV 缓存 | KV cache | 推理时缓存已算过的 K,V | 1 |
| 分组查询注意力 | GQA | 多个 query 头共享一组 K,V | 1 |
| 多查询注意力 | MQA | 所有头共享一组 K,V | 1 |
| 闪存注意力 | FlashAttention | 分块计算,不把 N\times N 矩阵写进显存 | 1 |
| 头数 | number of heads | 注意力切成几份 | 1 |
| 头维度 | head dimension | 每个头多少维 | 1 |
注意力里的 scaling factor 是 1/\sqrt{d_k}。
VAE 里的 scaling factor 是 0.18215。
两者没有关系,中文都叫”缩放因子”。 看到这个词,先看上下文有没有 VAE。
B.2 训练与优化
| 中文 | English | 一句话解释 | 章 |
|---|---|---|---|
| 预训练 | pretraining | 在大数据上先训一个通用模型 | 3 |
| 微调 | fine-tuning | 在特定数据上继续训 | 3 |
| 学习率 | learning rate | 每步走多远 | 3 |
| 热身 | warmup | 前若干步把学习率从 0 升上去 | 3 |
| 余弦调度 | cosine schedule | 学习率按余弦曲线衰减 | 3 |
| 梯度裁剪 | gradient clipping | 梯度范数超过阈值就按比例缩 | 3 |
| 权重衰减 | weight decay | 每步把权重往 0 拉一点 | 3 |
| 批量 | batch | 一次前向用多少样本 | 3 |
| 轮次 | epoch | 把训练集过一遍 | 3 |
| 交叉熵 | cross-entropy | 语言模型的训练损失 | 3 |
| 困惑度 | perplexity | e^{\text{交叉熵}},可解释成”几选一” | 3 |
| 过拟合 | overfitting | 训练集好、验证集差 | 3 |
| 正则化 | regularization | 任何抑制过拟合的手段 | 3 |
| 丢弃 | dropout | 训练时随机把激活置零 | 2 |
| 标签平滑 | label smoothing | 把 one-hot 的 1 改成 0.9 | 3 |
| 混合精度 | mixed precision | 前向用 bf16,部分运算用 fp32 | 3 |
| 梯度累积 | gradient accumulation | 累几个小批的梯度再更新一次 | 3 |
| 检查点 | checkpoint | 存下来的模型权重 | 3 |
| 消融 | ablation | 去掉一个部件,看性能变化 | 全书 |
| 超参数 | hyperparameter | 人定的、不通过梯度学的参数 | 3 |
| 验证集 | validation set | 调超参数用的、不参与训练的数据 | 3 |
| 数据泄漏 | data leakage | 验证集的信息漏进了训练 | 3 |
B.3 扩散模型
| 中文 | English | 一句话解释 | 章 |
|---|---|---|---|
| 扩散模型 | diffusion model | 加噪再学会去噪的生成模型 | 5 |
| 前向过程 | forward process | 逐步加高斯噪声,q(x_t\mid x_{t-1}) | 5 |
| 反向过程 | reverse process | 逐步去噪,p_\theta(x_{t-1}\mid x_t) | 5 |
| 噪声调度 | noise schedule | \beta_t 随 t 怎么变 | 5 |
| 后验 | posterior | 已知 x_0 和 x_t 时 x_{t-1} 的分布 | 5 |
| 重参数化 | reparameterization | 把随机采样写成”确定性变换 + 标准噪声” | 5 |
| 变分下界 | ELBO | 对数似然的下界,训练目标从它来 | 5 |
| 去噪器 | denoiser | 预测噪声(或 x_0、或 score)的网络 | 5 |
| ε-预测 | epsilon prediction | 网络输出噪声 | 5 |
| x_0-预测 | x0 prediction | 网络输出干净样本 | 5 |
| v-预测 | v prediction | 网络输出噪声与样本的混合 | 5 |
| 分数 | score | \nabla_x\log p_t(x) | 5 |
| 分数匹配 | score matching | 直接学 score 的目标 | 5, A |
| 朗之万动力学 | Langevin dynamics | 用 score 做梯度上升采样 | 5 |
| 随机微分方程 | SDE | 连续时间的随机过程 | 5 |
| 概率流 ODE | probability flow ODE | 和 SDE 边缘分布相同的确定性方程 | 5 |
| 采样器 | sampler | 从噪声走到样本的算法 | 6 |
| DDPM | denoising diffusion probabilistic model | 1000 步、每步加噪声的原始采样 | 5, 6 |
| DDIM | denoising diffusion implicit model | 确定性、可跳步的采样 | 6 |
| 步数 | steps | 采样走多少步 | 6 |
| 函数求值次数 | NFE (number of function evaluations) | 网络被调用几次,比较成本的正确单位 | 6 |
| 离散化误差 | discretization error | 用有限步近似连续过程带来的误差 | 6 |
| 截断 | truncation | 把 \hat x_0 限制在合理范围 | 5, 6 |
| 分类器引导 | classifier guidance | 用外部分类器的梯度指方向 | 7 |
| 无分类器引导 | classifier-free guidance | 用有条件/无条件两个分支的差指方向 | 7 |
| 引导强度 | guidance scale (w) | 那个差放大多少倍 | 7 |
| 潜空间 | latent space | VAE 压缩后的表示空间 | 8 |
| 变分自编码器 | VAE | 编码到潜空间再解码的自编码器 | 8 |
| 缩放因子 | scaling factor | 潜变量乘 0.18215 那个常数 | 8 |
| 潜变量 | latent | 潜空间里的张量 | 8 |
| 模式坍塌 | mode collapse | 生成样本挤到一个模式上 | 7 |
| 多样性 | diversity | 同样条件下样本的分散程度 | 7 |
| 越界 | out-of-bounds | 样本跑出训练数据的范围 | 7 |
B.4 条件生成
| 中文 | English | 一句话解释 | 章 |
|---|---|---|---|
| 条件 | conditioning | 生成时额外给的信息 c | 7, 8 |
| 无条件 | unconditional | 不给条件的生成 | 7 |
| 空条件 | null condition | CFG 里”无条件”那一路的输入 | 7, 8 |
| 条件注入 | conditioning injection | 条件以什么方式进网络 | 7, 8 |
| 文本编码器 | text encoder | 把文字变成向量的模型 | 8 |
| 分词器 | tokenizer | 把字符串切成 token | 8 |
| 词表 | vocabulary | token 的全集 | 8 |
| 子词 | subword | 比词小、比字大的单位 | 8 |
| 字节对编码 | BPE | 反复合并最高频相邻对的算法 | 8 |
| 池化 | pooling | 把一串向量压成一个 | 8 |
| 均值池化 | mean pooling | 取平均(丢顺序) | 8 |
| 绑定 | binding | 把属性正确分配给对象 | 8 |
| 属性绑定 | attribute binding | “红色的方块”里的红属于方块 | 8 |
| 组合性 | compositionality | 用有限部件组合出无限句子/图像 | 8 |
| 提示词 | prompt | 给模型的文字条件 | 8 |
| 负面提示词 | negative prompt | 希望远离的描述 | 7, 8 |
| 提示词权重 | prompt weighting | word:1.3 这种强调语法 |
8 |
| 文本丢弃 | text dropout | 训练时随机把整段文本换成空串 | 8 |
| 标签丢弃 | label dropout | 类别条件版的同一件事 | 7 |
| 区域提示词 | regional prompting | 把画面分区,各区用不同提示词 | 8 |
| 控制网 | ControlNet | 用额外结构图控制生成的旁路网络 | 8 |
| 零卷积 | zero convolution | 初始化为 0 的卷积,保证”从不动开始” | 8 |
| 适配器 | adapter | 冻结主干、只训一小块的结构 | 8 |
| 联合注意力 | joint attention | 文本和图像拼成一条做注意力 | 8 |
| 自适应层归一化 | adaLN | 用条件算出 LN 的缩放和平移 | 7, 8 |
| 时间步嵌入 | timestep embedding | 把 t 编成向量的正弦编码 | 5 |
B.5 评估与工程
| 中文 | English | 一句话解释 | 章 |
|---|---|---|---|
| CLIP 分数 | CLIP score | 图文相似度,看不见顺序和否定 | 8 |
| FID | Fréchet inception distance | 生成分布和真实分布的距离 | 8 |
| 人类评估 | human evaluation | 让人打分(最贵、最可信) | 8 |
| 视觉问答 | VQA | 让模型回答关于图像的问题 | 8 |
| 基准 | benchmark | 一组固定任务和指标 | 8 |
| 槽位准确率 | slot accuracy | 每个属性/位置分别判对错 | 8 |
| 消融差分 | ablation delta | 改一个词,输出差多少 | 8 |
| 可复现性 | reproducibility | 同样的输入能否得到同样的输出 | 全书 |
| 种子 | seed | 伪随机数发生器的初始状态 | 全书 |
| 推理 | inference | 训练完之后跑模型 | 3 |
| 推理成本 | inference cost | 出一次结果要多少计算 | 6 |
| 显存 | VRAM | 显卡上的内存 | 6 |
| 吞吐 | throughput | 单位时间能出多少 | 6 |
| 延迟 | latency | 出一次结果要等多久 | 6 |
| 量化 | quantization | 用更低位宽存权重 | 3 |
| 蒸馏 | distillation | 用大模型教小模型 | 3 |
| LoRA | low-rank adaptation | 给权重加一个低秩补丁 | 8 |
| 文本反转 | textual inversion | 只学一个新词向量 | 8 |
| DreamBooth | DreamBooth | 用少量图微调整个模型 | 8 |
B.6 十组最容易混的词
术语表只能解决”叫什么”,解决不了”区别在哪”。 这一节专治十组最容易混的。
B.6.1 注意力权重 vs 注意力图
权重是数(N\times M 的矩阵)。图是把权重画出来的热图。
“权重不可解释”说的是数本身不携带因果信息; “图不可信”说的是画法会进一步误导(选了哪层、哪个头、有没有基线)。
第 8 章的实测:权重熵 0.998(几乎均匀)仍然绑定成功。 所以问题不在”图画得好不好”,在”数本身不是因果”。
B.6.2 条件 vs 引导
条件是”给什么”(文本、类别、参考图)。 引导是”把条件的效应放大多少”(w)。
换条件是改输入;调 w 是改采样过程。 前者能带来新信息,后者只能放大已有信息。
B.6.3 潜空间 vs 嵌入空间
潜空间是 VAE 的 64\times64\times4,有空间结构,每个格子对应原图一块。
嵌入空间是 CLIP 的 768 维向量空间,没有空间结构,只表示语义。
两者都叫”空间”,但一个是图像的下采样,一个是语义的坐标。
B.6.4 两个缩放因子
注意力的 1/\sqrt{d_k}:防止点积方差随维度爆炸。
VAE 的 0.18215:把潜变量标准差拉到 1。
一个在模型内部,一个在模型边界。没有关系。
B.6.5 步数 vs NFE
步数是”循环跑了几次”。NFE 是”网络被调用了几次”。
CFG 让每一步调用两次,所以 NFE = 2 × 步数。 比较采样器时,必须统一到 NFE,否则不公平。
B.6.6 采样器 vs 调度器
采样器决定”怎么从 x_t 走到 x_{t-1}“(DDPM / DDIM / Euler)。
调度器决定”\beta_t 长什么样”(linear / cosine)。
diffusers 里 scheduler 这个词把两者混在一起了—— 它的 scheduler.step() 同时管噪声表和更新规则。 读文档时要看清它指的是哪一个。
B.6.7 分词 vs 编码
分词:字符串 → token 编号(tokenizer)。
编码:token 编号 → 向量(text encoder)。
“换个分词器”和”换个编码器”是两件事,但经常一起换。
B.6.8 参数 vs 超参数
参数是梯度学出来的(权重、偏置)。 超参数是人定的(学习率、层数、w)。
但 w 有点特殊:它是推理时的超参数,不参与训练。 所以”调 w“不需要重训。
B.6.9 绑定 vs 组合性
绑定是”红色属于方块”这种局部对应。
组合性是”用已知部件组合出新整体”的全局能力。
绑定失败是组合性失败的一种,但不是全部—— 数量、否定、关系都算组合性。
B.6.10 训练损失 vs 验证损失
训练损失是模型在见过的数据上的误差。 验证损失是它在没见过的数据上的误差。
两者差距大 = 过拟合。 两者都高 = 欠拟合。
第 8 章的容量对照看的是训练损失——因为要排除的是”容量不够”, 不是”泛化不好”。
B.7 中文译名的三个取舍
术语表给的是”标准译名”。但有些译名本身就会误导,值得说清楚。
B.7.1 token 为什么不译
“词元”“标记”“令牌”都有人用,本书保留 token。
因为它的边界是”分词器的输出”,不是任何语言学单位。
一个 token 可能是一个汉字、半个英文单词、三个字节、或者一个特殊符号。 译成”词”会让你以为它有语言学意义——它没有。
同理,“tokenizer”也不译。
B.7.2 attention 译”注意力”,但它不是”注意”
“注意力”暗示了一种主动的选择——“模型在看哪里”。
数学上它只是”用相似度做加权平均”。 没有意图、没有焦点、没有”看”。
第 4 章和第 8 章反复讲”注意力图不是解释”,根源就在这个译名上。 如果它一开始叫”加权查询”,很多误解不会发生。
但译名已经约定俗成,改不了。 能做的是:每次看到”注意力”,在心里替换成”相似度加权”。
B.7.3 diffusion 译”扩散”,来自物理,但不一样
热力学里的扩散是”粒子从高浓度走向低浓度”。
扩散模型里的”扩散”是”数据被噪声淹没”—— 方向相反:不是从有序到无序的物理过程,是”人为定义的加噪过程”。
所以”扩散模型”这个名字其实在说”我们借用了扩散的数学形式”, 不是说”模型在模拟扩散”。
更准确的名字是”加噪-去噪模型”,但没人这么叫。
B.7.4 latent 译”潜”,是”潜在”不是”潜伏”
“潜空间”对应 latent space,意思是”没有直接观测到的表示空间”。
不是”隐藏起来的空间”,是”解码之前的中间表示”。
中文的”潜”容易让人想到”潜伏”“隐藏”, 而它的本意是”潜在的、待解码的”。
当一个译名让你产生”模型在做某件像人一样的事”的联想时, 多半是译名在骗你。
- “注意力” → 模型在选择
- “记忆” → 模型在存储
- “理解” → 模型在懂
三个都是隐喻,不是机制。 看公式,不要看名字。
写论文时:第一次出现的术语给中英对照,之后统一用中文。
读代码时:先查字段名(encoder_hidden_states、scaling_factor), 这些名字比论文里的叫法更容易混。
讲课时:把 B.6 的十组讲一遍,比讲十个定义有用。