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

相关推荐
lxs-2 小时前
使用 OpenCV 进行图像识别:人脸与物体检测
人工智能·opencv·计算机视觉
薛定e的猫咪2 小时前
【ICRA 2025】面向杂技机器人的分阶段奖励塑形:一种约束多目标强化学习方法
人工智能·深度学习·机器学习·机器人
高洁012 小时前
产品数字孪生体与数字样机及数字化交付的应用
人工智能·深度学习·算法·数据挖掘·transformer
chatexcel2 小时前
ChatExcel 多模态解析能力上线:AI 自动生成结构化表格实践
人工智能
CHrisFC2 小时前
江苏硕晟LIMS pro3.0:引领实验室信息管理新高度
大数据·人工智能
LOnghas12112 小时前
YOLO11-SPPF-LSKA实现橡胶密封圈表面缺陷检测,提升检测精度与效率
人工智能·计算机视觉·目标跟踪
bclshuai2 小时前
深度学习算法辅助股票分析
人工智能·深度学习·算法
ai_xiaogui2 小时前
SoVitsSvc 4.0 人声转换整合包:羽毛布版一键启动,零环境配置实现高质量 AI 歌声克隆
人工智能·机器学习·sovitssvc 4.0·羽毛布版 ai 变声器一键安装·高保真 ai 歌声转换环境部署·零基础安装 sovitssvc
weisian1512 小时前
入门篇--知名企业-40-中国AI生态全景图:浪潮奔涌,未来已来
人工智能