CBOW 模型中输入矩阵、输出矩阵与词表向量矩阵深入解析

一、CBOW 模型参数的整体视角

CBOW(Continuous Bag of Words)模型的训练目标是最大化在给定上下文条件下中心词出现的概率:

max⁡log⁡P(wt∣wt−c,...,wt+c) \max \log P(w_t \mid w_{t-c}, \dots, w_{t+c}) maxlogP(wt∣wt−c,...,wt+c)

为实现该目标,模型在训练阶段显式学习两组词相关参数矩阵

  • 输入层词向量矩阵(Input Embedding Matrix)
  • 输出层词向量矩阵(Output Embedding Matrix)

而所谓的"词表向量矩阵",并非模型训练时的独立参数,而是训练完成后从上述参数中派生出的表示


二、输入矩阵(Input Embedding Matrix)

2.1 定义与符号表示

设:

  • 词表大小为 (∣V∣)(|V|)(∣V∣)
  • 词向量维度为 (d)(d)(d)

输入层词向量矩阵定义为:

Win∈R∣V∣×d \mathbf{W}_{in} \in \mathbb{R}^{|V| \times d} Win∈R∣V∣×d

其中:

  • 第 (i)(i)(i) 行向量 (vwi∈Rd)(\mathbf{v}_{w_i} \in \mathbb{R}^d)(vwi∈Rd)
  • 表示词 (wi)(w_i)(wi) 的输入向量(input embedding)

2.2 功能角色

输入向量的主要功能是:

作为上下文建模的基本表示单元,用于构造上下文的隐藏表示。

在 CBOW 中:

  • 上下文窗口内的词对应的输入向量被查表取出
  • 这些向量通过求和或求平均,形成隐藏层向量

h=1C∑w∈contextvw \mathbf{h} = \frac{1}{C} \sum_{w \in \text{context}} \mathbf{v}_w h=C1w∈context∑vw


2.3 更新特性

在一次训练样本中:

  • 仅上下文词对应的输入向量会被更新
  • 不参与当前上下文的词,其输入向量保持不变

因此,输入矩阵主要编码:

  • 词作为上下文成员时的分布特征

三、输出矩阵(Output Embedding Matrix)

3.1 定义与符号表示

输出层词向量矩阵定义为:

Wout∈R∣V∣×d \mathbf{W}_{out} \in \mathbb{R}^{|V| \times d} Wout∈R∣V∣×d

其中:

  • 第 (i) 行向量 (\mathbf{u}_{w_i} \in \mathbb{R}^d)
  • 表示词 (w_i) 的输出向量(output embedding)

3.2 功能角色

输出向量的主要功能是:

刻画词作为"预测目标"时,与上下文隐藏表示之间的匹配关系。

在输出层中,对任意词 (w_i) 计算打分:

zi=uwi⊤h z_i = \mathbf{u}_{w_i}^\top \mathbf{h} zi=uwi⊤h

再经 Softmax 得到条件概率。


3.3 更新特性

在一次训练样本中:

  • 中心词(以及负样本词)对应的输出向量会被更新
  • 不作为预测目标的词,其输出向量不更新

因此,输出矩阵更偏向于:

  • 判别上下文与中心词是否匹配的特征表示

四、输入矩阵与输出矩阵的本质差异

4.1 参数独立性

尽管:

Win,Wout∈R∣V∣×d \mathbf{W}{in}, \mathbf{W}{out} \in \mathbb{R}^{|V| \times d} Win,Wout∈R∣V∣×d

但二者满足:

Win≠Wout \mathbf{W}{in} \neq \mathbf{W}{out} Win=Wout

它们:

  • 初始化不同
  • 梯度来源不同
  • 优化轨迹不同

4.2 语义角色差异

矩阵 语义角色
(Win)(\mathbf{W}_{in})(Win) 词作为上下文时的语义表示
(Wout)(\mathbf{W}_{out})(Wout) 词作为中心词时的判别表示

五、词表向量矩阵(Vocabulary Embedding Matrix)

5.1 概念澄清

所谓"词表向量矩阵"通常指:

为每个词提供一个统一、可用于下游任务的向量表示集合。

记为:

E∈R∣V∣×d \mathbf{E} \in \mathbb{R}^{|V| \times d} E∈R∣V∣×d

但必须强调:

(E)(\mathbf{E})(E) 不是 CBOW 模型训练过程中显式学习的参数矩阵。


5.2 构造方式

(E)(\mathbf{E})(E) 通常由以下方式之一构造:

  1. 直接取输入矩阵
    E=Win \mathbf{E} = \mathbf{W}_{in} E=Win

  2. 直接取输出矩阵
    E=Wout \mathbf{E} = \mathbf{W}_{out} E=Wout

  3. 输入与输出矩阵的组合
    E=W∗in+W∗out或E=12(W∗in+W∗out) \mathbf{E} = \mathbf{W}*{in} + \mathbf{W}*{out} \quad \text{或} \quad \mathbf{E} = \frac{1}{2}(\mathbf{W}*{in} + \mathbf{W}*{out}) E=W∗in+W∗out或E=21(W∗in+W∗out)


5.3 实践中的默认选择

在多数实现中:

  • 默认使用 (Win)(\mathbf{W}_{in})(Win) 作为词表向量矩阵
  • (Wout)(\mathbf{W}_{out})(Wout) 不对外暴露

这是工程与经验选择,而非理论约束。


六、三类矩阵的关系总结

名称 是否训练参数 是否唯一 主要用途
输入矩阵 (Win)(\mathbf{W}_{in})(Win) 构造上下文表示
输出矩阵 (Wout)(\mathbf{W}_{out})(Wout) 条件概率建模
词表向量矩阵 (E)(\mathbf{E})(E) 下游任务使用

七、规范总结性表述

CBOW 模型在训练阶段显式学习输入层与输出层两组词向量参数。二者虽共享相同的词表索引与向量维度,但在功能、更新方式及优化目标上均不相同。模型训练完成后,通常从这两组参数中选取或组合得到一组词表向量矩阵,用作词的最终分布式表示。

相关推荐
Shawn_Shawn14 分钟前
mcp学习笔记(一)-mcp核心概念梳理
人工智能·llm·mcp
33三 三like2 小时前
《基于知识图谱和智能推荐的养老志愿服务系统》开发日志
人工智能·知识图谱
芝士爱知识a2 小时前
【工具推荐】2026公考App横向评测:粉笔、华图与智蛙面试App功能对比
人工智能·软件推荐·ai教育·结构化面试·公考app·智蛙面试app·公考上岸
腾讯云开发者3 小时前
港科大熊辉|AI时代的职场新坐标——为什么你应该去“数据稀疏“的地方?
人工智能
工程师老罗3 小时前
YoloV1数据集格式转换,VOC XML→YOLOv1张量
xml·人工智能·yolo
Coder_Boy_4 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
啊森要自信4 小时前
CANN ops-cv:面向计算机视觉的 AI 硬件端高效算子库核心架构与开发逻辑
人工智能·计算机视觉·架构·cann
2401_836235864 小时前
中安未来SDK15:以AI之眼,解锁企业档案的数字化基因
人工智能·科技·深度学习·ocr·生活
njsgcs4 小时前
llm使用 AgentScope-Tuner 通过 RL 训练 FrozenLake 智能体
人工智能·深度学习