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

相关推荐
AI即插即用2 小时前
即插即用系列 | SliMamba——空谱维度魔术转换,打造高光谱分类的超轻量级 Mamba 架构
人工智能·深度学习·神经网络·目标检测·计算机视觉·数据挖掘
CDYXY3 小时前
2026年4月成都卡布灯箱源头口碑深度调研与避坑指南
大数据·人工智能
小真zzz8 小时前
2026年GEO监测工具深度横评:谁在AI时代守护品牌心智?
人工智能·百度·重构
ZFSS8 小时前
Localization Translate API 集成与使用指南
java·服务器·数据库·人工智能·mysql·ai编程
天行健,君子而铎8 小时前
合规对标·低误报漏报·稳定运行——知源-AI数据分类分级系统金融行业解决方案
人工智能·金融·分类
视觉&物联智能8 小时前
【杂谈】-游戏生成数据:人工智能训练中极易被低估的核心资源
人工智能·游戏·ai·chatgpt·openai·agi·deepseek
扫地的小何尚9 小时前
NVIDIA Vera Rubin 平台如何解决 Agentic AI 的 Scale-up 难题
大数据·人工智能·机器学习
莞凰9 小时前
昇腾CANN的“灵脉根基“:Runtime仓库探秘
android·人工智能·transformer
5201-9 小时前
ops-conv:卷积算子从 CPU 到昇腾 NPU 的优化之路
人工智能·深度学习
HIT_Weston10 小时前
92、【Agent】【OpenCode】edit 工具提示词
人工智能·agent·opencode