AI 课程网站首页
返回知识库

词元嵌入与上下文表示

连接离散词元、向量表示与上下文计算。

本篇目录
  1. 词元编号与嵌入查表
  2. 查表计算与梯度
  3. 位置与上下文混合
  4. 因果掩码与错位目标
  5. 与完整语言模型的关系
  6. 参考文献

词元 ID 提供文本的离散表示,网络则需要能够参与可学习变换的数值坐标。嵌入提供这些坐标,上下文计算进一步让同一词元的表示随周围词元变化,将可重复查询的向量转化为适合当前序列的表示。

语言模型通过词元的数值表示进行计算。分词规定离散单位及其编号,嵌入查表为编号分配向量,后续网络层再形成依赖上下文的表示。这些阶段具有不同的数学作用,不应混为同一操作。

1. 词元编号与嵌入查表

分词器将字符串映射为词元 ID 序列。根据具体规则,词元可以是单词、子词、标点或由字节构成的单位。ID 是索引,不是语义测量值;编号相邻并不意味着词元相似。[1]

设词表大小为 VV,嵌入宽度为 dd,嵌入矩阵 E∈RV×dE\in\mathbb R^{V\times d} 为每个词元存储一个向量。采用从零开始的 ID ii,以及独热列向量 ei∈RVe_i\in\mathbb R^V,查表可写为:

xi=E⊤ei∈Rdx_i=E^\top e_i\in\mathbb R^d

独热形式以代数方式表达行选择。实际实现可以直接索引矩阵的一行,无需分配长度为 VV 的向量。嵌入表可以参与训练,也可以保持固定,取决于规定的训练过程。[2]

2. 查表计算与梯度

为抽象词元 α,β,γ\alpha,\beta,\gamma 分别指定编号零、一、二,并定义:

E=(101011100101)E=\begin{pmatrix}1&0&1&0\\1&1&1&0\\0&1&0&1\end{pmatrix}

对于序列 (2,0)(2,0),查表得到:

X=(01011010)∈R2×4X=\begin{pmatrix}0&1&0&1\\1&0&1&0\end{pmatrix}\in\mathbb R^{2\times4}

嵌入矩阵包含 12 个参数,当前序列表示包含八个元素。在这张构造表中,平方距离为 ∥E0−E1∥22=1\|E_0-E_1\|_2^2=1、∥E0−E2∥22=4\|E_0-E_2\|_2^2=4,展示了如何通过向量坐标比较词元表示。

对于一般的长度 TT 序列,可写成 X=SEX=SE,其中 S∈{0,1}T×VS\in\{0,1\}^{T\times V} 的每一行对应一个位置的独热向量。给定标量损失 L\mathcal L 和上游梯度 G=∂L/∂XG=\partial \mathcal L/\partial X,由链式法则得到:

∂L∂E=S⊤G\frac{\partial \mathcal L}{\partial E}=S^\top G

同一 ID 多次出现时,各位置的梯度贡献累加到 EE 的同一行。该导数不同于优化器更新;更新可能包含其他项,也可能因为冻结设置而不改变嵌入表。

3. 位置与上下文混合

固定嵌入表对同一 ID 始终返回相同向量,对周围词元的依赖来自后续计算。采用相加的位置表示 P∈RT×dP\in\mathbb R^{T\times d} 时,单个自注意力头可定义为:

H=X+P,Q=HWQ,K=HWK,Vh=HWVH=X+P,\quad Q=H\mathbf{W}_Q,\quad K=H\mathbf{W}_K,\quad V_h=H\mathbf{W}_V

其中:

WQ,WK∈Rd×dk,WV∈Rd×dv\mathbf{W}_Q,\mathbf{W}_K\in\mathbb R^{d\times d_k},\quad \mathbf{W}_V\in\mathbb R^{d\times d_v}

由此得到 Q,K∈RT×dkQ,K\in\mathbb R^{T\times d_k}、Vh∈RT×dvV_h\in\mathbb R^{T\times d_v}。下标用于区分值矩阵 VhV_h 与词表大小 VV。查询向量通过点积与各键向量比较,逐行 softmax 将分数转换为非负且总和为一的权重,再用这些权重组合值向量。因子 1/dk1/\sqrt{d_k} 用于调节键宽度增大时的分数尺度。注意力权重及输出为:

A=softmax⁡row(QK⊤dk+M),O=AVhA=\operatorname{softmax}_{\mathrm{row}}\left(\frac{QK^\top}{\sqrt{d_k}}+M\right),\qquad O=AV_h

softmax 分别作用于每一行,得到 A∈RT×TA\in\mathbb R^{T\times T}、O∈RT×dvO\in\mathbb R^{T\times d_v}。每行输出是允许访问的值向量的加权和。本例采用相加的位置向量,为注意力计算提供序列顺序信息。[3]

4. 因果掩码与错位目标

自回归计算要求位置 ii 不使用后续位置 jj。这一限制可写为:

Mij={0,j≤i,−∞,j>iM_{ij}=\begin{cases}0,&j\le i,\\-\infty,&j>i \end{cases}

由于 exp⁡(−∞)=0\exp(-\infty)=0,未来位置在归一化后获得零权重,每行至少保留当前位置。位置 ii 的表示经过解码器后续计算后,用于预测 xi+1x_{i+1}。因此,目标相对输入错开一位;令 t=i+1t=i+1,即可与 p(xt∣x<t)p(x_t\mid x_{<t}) 对应。

考虑两个位置的算术例子:所有未屏蔽分数均为零,两个值向量分别为 (2,0)(2,0)、(0,4)(0,4),则:

A=(101/21/2),O=(2012)A=\begin{pmatrix}1&0\\1/2&1/2\end{pmatrix},\qquad O=\begin{pmatrix}2&0\\1&2\end{pmatrix}

第一个输出只使用第一个值向量,第二个输出因为两个允许位置的分数相等而取平均。掩码决定哪些位置可以参与,分数决定它们的相对权重。

5. 与完整语言模型的关系

嵌入查表将离散 ID 连接到向量,上下文层在允许的位置范围内组合信息,第二篇所述输出投影与 softmax 则产生下一词元概率。因此,静态嵌入与上下文隐藏状态是不同对象。

完整 Transformer 还需要规定多头结构、输出投影、残差路径、归一化、前馈层及其排列顺序。原始编码器—解码器 Transformer 也不同于因果解码器语言模型。上述单头计算为这一更大的结构提供注意力组件。 [3]

单个坐标或注意力权重都不能自动提供完整的语义解释或因果解释;其含义需要结合周围变换及参数拟合的目标分析。

参考文献