CBOW(Continuous Bag of Words)模型输入层详解

一、CBOW 模型概述

CBOW(Continuous Bag of Words)模型是 Word2Vec 提出的两种核心模型之一,其基本思想是:利用上下文词(context words)来预测中心词(target word)

与 Skip-gram 模型"由中心词预测上下文词"不同,CBOW 模型将多个上下文词的信息进行汇聚,形成一个整体表示,再用于预测中心词。

在 CBOW 模型中,输入层的设计直接决定了上下文信息如何被表示与融合,因此对输入层的理解是掌握该模型的关键。


二、CBOW 输入层的基本组成

CBOW 模型的输入层主要包含以下三个核心要素:

  1. 词表(Vocabulary)及其规模
  2. 上下文词的独热表示(One-Hot Encoding)
  3. 输入层到隐藏层的权重矩阵(词向量矩阵)

下面逐一展开说明。


三、词表与输入维度的确定

3.1 词表定义

设训练语料中共有 (∣V∣)( |V| )(∣V∣) 个不同的词,构成词表:

V=w1,w2,...,w∣V∣\]\[ V = {w_1, w_2, \\dots, w_{\|V\|}} \]\[V=w1,w2,...,w∣V∣

词表大小 (∣V∣)( |V| )(∣V∣) 决定了:

  • 输入层向量的维度
  • 权重矩阵的行数
  • 模型的参数规模

在 CBOW 中,每一个词在输入层均以一个 (∣V∣)( |V| )(∣V∣) 维向量表示


3.2 上下文窗口的设定

设定窗口大小为 (c)( c )(c),即:

  • 中心词左右各取 (c)( c )(c) 个上下文词
  • 上下文词总数为 (2c)( 2c )(2c)

例如,对于句子:

"深度 学习 改变 了 自然 语言 处理"

若中心词为"改变",窗口大小 ( c = 2 ),则上下文词为:
学习,了,自然,语言 {\text{学习}, \text{了}, \text{自然}, \text{语言}} 学习,了,自然,语言

这些上下文词将共同作为 CBOW 模型的输入。


四、输入层的词表示方式:独热编码

4.1 独热向量的定义

在 CBOW 模型中,每个上下文词首先被表示为一个 独热向量(One-Hot Vector)

xi∈R∣V∣ \mathbf{x}_i \in \mathbb{R}^{|V|} xi∈R∣V∣

其特点为:

  • 向量中只有一个位置为 1
  • 该位置对应词在词表中的索引
  • 其余位置均为 0

例如,若词表大小为 10,"学习"在词表中的索引为 3,则其独热向量为:

x学习=(0,0,1,0,0,0,0,0,0,0)⊤ \mathbf{x}_{\text{学习}} = (0,0,1,0,0,0,0,0,0,0)^\top x学习=(0,0,1,0,0,0,0,0,0,0)⊤


4.2 多个上下文词的输入形式

对于 CBOW 模型而言,输入并非单个词,而是 多个上下文词的集合

x1,x∗2,...,x∗2c {\mathbf{x}_1, \mathbf{x}*2, \dots, \mathbf{x}*{2c}} x1,x∗2,...,x∗2c

需要注意的是:

  • 输入层并不是将这些向量简单拼接
  • 而是分别映射后再进行聚合(通常为求和或取平均)

这一设计保证了模型对上下文词顺序不敏感,符合 "Bag of Words" 的假设。


五、输入层到隐藏层的线性映射

5.1 权重矩阵的定义

CBOW 输入层与隐藏层之间存在一个共享的权重矩阵:

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

其中:

  • (∣V∣)( |V| )(∣V∣):词表大小
  • (d)( d )(d):词向量维度(embedding size)

该矩阵的每一行对应一个词的向量表示:

v∗w=W∗w,: \mathbf{v}*w = \mathbf{W}*{w,:} v∗w=W∗w,:


5.2 独热向量到词向量的映射机制

当独热向量 (xi)( \mathbf{x}_i )(xi) 与权重矩阵相乘时:

hi=xi⊤W \mathbf{h}_i = \mathbf{x}_i^\top \mathbf{W} hi=xi⊤W

由于 (xi)( \mathbf{x}_i )(xi) 只有一个位置为 1,该运算等价于:

从矩阵 (W)( \mathbf{W} )(W) 中直接查找对应词的词向量

这也是 Word2Vec 被称为"Embedding Lookup"的原因之一。


六、输入层的向量聚合(Aggregation)

6.1 聚合的必要性

CBOW 模型需要将多个上下文词的信息融合为一个固定维度的表示,以作为隐藏层的输入。

因此,需要对各上下文词向量进行聚合操作。


6.2 常见的聚合方式

最常见的两种方式为:

(1)向量求和

h=∑i=12chi \mathbf{h} = \sum_{i=1}^{2c} \mathbf{h}_i h=i=1∑2chi

(2)向量平均(更常用)

h=12c∑i=12chi \mathbf{h} = \frac{1}{2c} \sum_{i=1}^{2c} \mathbf{h}_i h=2c1i=1∑2chi

平均操作可以避免上下文窗口大小变化导致向量尺度不一致的问题。


6.3 输入层的最终输出

经过聚合后,输入层向隐藏层传递的是:

h∈Rd \mathbf{h} \in \mathbb{R}^{d} h∈Rd

该向量是 上下文词语义信息的综合表示,后续将用于预测中心词。


七、输入层设计的关键特点总结

  1. 输入维度高但稀疏

    独热向量维度为 (∣V∣)( |V| )(∣V∣),但仅一个非零元素。

  2. 参数共享机制

    所有上下文词共用同一权重矩阵 (W)( \mathbf{W} )(W)。

  3. 顺序无关性

    输入层不区分上下文词顺序,符合 Bag-of-Words 假设。

  4. 本质为词向量查表与求平均

    输入层的主要计算并非矩阵乘法,而是高效的向量索引与聚合。


八、小结

CBOW 模型的输入层通过独热编码 → 词向量查表 → 向量聚合的方式,将多个上下文词映射为一个低维、稠密、语义集中的表示。这一设计在保证模型表达能力的同时,极大降低了计算复杂度,为 Word2Vec 在大规模语料上的高效训练奠定了基础。

相关推荐
l12345sy3 个月前
Day31_【 NLP _1.文本预处理 _(2)文本张量表示方法】
人工智能·自然语言处理·word2vec·word embedding·cbow·skipgram
xidianjiapei0019 个月前
LLM架构解析:词嵌入模型 Word Embeddings(第二部分)—— 从基础原理到实践应用的深度探索
llm·bert·word2vec·elmo·cbow·llm架构·词嵌入模型
思想在拧紧1 年前
文本表示方法
tf-idf·glove·词向量·cbow·bow
cooldream20092 年前
深入理解Word Embeddings:Word2Vec技术与应用
人工智能·word2vec·cbow·skip gram
征途黯然.2 年前
一文了解Word2vec 阐述训练流程
word2vec·cbow·skip-gram