CBOW 模型中的输出层

1. 输出层在 CBOW 模型中的功能定位

在 CBOW(Continuous Bag of Words)模型中,输出层位于隐藏层之后,其主要功能是:

基于隐藏层所编码的上下文语义表示,对中心词进行条件概率建模。

从建模角度看,输出层完成了从连续向量空间离散词表空间的映射,是损失函数定义和参数优化的直接对象。


2. 输出层的直观理解(概念层面)

2.1 隐藏层向量的语义含义

隐藏层输出一个向量:

h∈RD \mathbf{h} \in \mathbb{R}^{D} h∈RD

该向量可被视为:

由上下文词共同决定的语义表示,反映当前上下文的整体语义信息。


2.2 输出层的核心操作:词级打分

CBOW 输出层并不直接生成一个离散词,而是:

对词表中的每一个词,计算其作为中心词的匹配程度。

这一匹配程度通过向量内积来度量。


2.3 向量内积作为相似性度量

设词 (wi)(w_i)(wi) 在输出层中对应的向量为 (Wi′)(W'_i)(Wi′),则其得分定义为:

ui=Wi′⋅h u_i = W'_i \cdot \mathbf{h} ui=Wi′⋅h

向量内积刻画了词向量与上下文向量在同一语义空间中的相容性。


3. 输出层的形式化建模

3.1 输出层参数结构

设:

  • 词表大小为 (V)(V)(V)
  • 隐藏层维度为 (D)(D)(D)

CBOW 输出层包含一个参数矩阵:

W′∈RV×D W' \in \mathbb{R}^{V \times D} W′∈RV×D

其中:

  • 第 (i)(i)(i) 行 (Wi′)(W'_i)(Wi′) 表示词 (wi)(w_i)(wi) 的输出向量
  • 输出向量与输入 embedding 向量在参数上相互独立

该设计源自 Word2Vec 的双向量表示机制。


3.2 线性打分函数

对于隐藏层向量 (h)(\mathbf{h})(h),输出层对词 (wi)(w_i)(wi) 的打分函数为:

ui=f(wi,h)=Wi′⋅h u_i = f(w_i, \mathbf{h}) = W'_i \cdot \mathbf{h} ui=f(wi,h)=Wi′⋅h

该函数是线性的,不包含非线性变换。


4. 基于 Softmax 的输出层建模(理论完整形式)

4.1 条件概率定义

CBOW 使用 softmax 函数对打分结果进行归一化,从而定义中心词的条件概率:

p(wt∣context)=exp⁡(W′∗t⋅h)∑∗i=1Vexp⁡(Wi′⋅h) p(w_t \mid \text{context}) = \frac{\exp(W'*t \cdot \mathbf{h})} {\sum*{i=1}^{V} \exp(W'_i \cdot \mathbf{h})} p(wt∣context)=∑∗i=1Vexp(Wi′⋅h)exp(W′∗t⋅h)

该概率分布覆盖整个词表。


4.2 损失函数

训练目标通过最小化负对数似然实现:

L=−log⁡p(wt∣context) \mathcal{L} = - \log p(w_t \mid \text{context}) L=−logp(wt∣context)

该损失函数直接驱动输出向量与输入 embedding 的联合学习。


4.3 计算复杂度分析

softmax 输出层的主要缺陷在于:

  • 分母涉及对全部 (V)(V)(V) 个词的求和
  • 单次前向与反向传播的时间复杂度为 (O(V))(O(V))(O(V))

在大规模词表条件下,该方法在工程上难以直接应用。


5. Negative Sampling 输出层(工程可行方案)

5.1 设计动机

Negative Sampling 通过重新定义训练目标,避免对整个词表进行归一化计算。其基本思想是:

将多分类问题转化为若干二分类判别问题。


5.2 概率建模形式

对于任意词 (w)(w)(w),定义其为中心词的概率为:

p(D=1∣w,h)=σ(Ww′⋅h) p(D=1 \mid w, \mathbf{h}) = \sigma(W'_w \cdot \mathbf{h}) p(D=1∣w,h)=σ(Ww′⋅h)

其中:

  • (D=1)(D=1)(D=1) 表示"词 (w)(w)(w) 与上下文匹配"
  • (σ(⋅))(\sigma(\cdot))(σ(⋅)) 为 sigmoid 函数

5.3 Negative Sampling 的目标函数

给定真实中心词 (wt)(w_t)(wt) 和 (K)(K)(K) 个负样本词 (wn1,...,wnK)({w_{n_1}, \dots, w_{n_K}})(wn1,...,wnK),损失函数定义为:

L=log⁡σ(Wt′⋅h)∑k=1Klog⁡σ(−Wnk′⋅h) \mathcal{L} = \log \sigma(W't \cdot \mathbf{h}) \sum{k=1}^{K} \log \sigma(- W'_{n_k} \cdot \mathbf{h}) L=logσ(Wt′⋅h)k=1∑Klogσ(−Wnk′⋅h)

该目标函数仅涉及有限数量的词向量,显著降低了计算复杂度。


6. 输出层对词向量学习的影响

6.1 梯度传播机制

输出层损失函数对隐藏层向量的梯度为:

∂L∂h \frac{\partial \mathcal{L}}{\partial \mathbf{h}} ∂h∂L

该梯度进一步反向传播至隐藏层与输入 embedding 层,从而更新上下文词的输入向量。


6.2 语义空间结构的形成

通过反复优化上述目标函数:

  • 真实中心词的输出向量被拉近上下文向量
  • 负样本词的输出向量被推离上下文向量

最终在向量空间中形成具有语义结构的词表示。


7. 输入向量与输出向量的关系

向量类型 符号 主要用途
输入向量 (W)(W)(W) 构造上下文表示
输出向量 (W′)(W')(W′) 建模预测目标

在实际应用中,通常选用输入向量,或输入向量与输出向量的组合,作为最终词向量表示。


8. 总结

CBOW 模型的输出层具有以下关键特征:

  1. 通过向量内积对词进行线性打分
  2. 理论上采用 softmax 建立完整条件概率模型
  3. 工程实践中常以 Negative Sampling 替代 softmax
  4. 同时学习输入向量与输出向量两套参数

从本质上看,CBOW 的输出层:

通过对上下文与词之间匹配关系的建模,在向量空间中塑造词语的语义结构。

相关推荐
汇智信科2 小时前
智慧矿山和工业大数据解决方案“智能设备管理系统”
大数据·人工智能·工业大数据·智能矿山·汇智信科·智能设备管理系统
静听松涛1332 小时前
跨语言低资源场景下的零样本迁移
人工智能
SEO_juper2 小时前
AI+SEO全景决策指南:10大高价值方法、核心挑战与成本效益分析
人工智能·搜索引擎·seo·数字营销
阿里云大数据AI技术2 小时前
Hologres Dynamic Table 在淘天价格力的业务实践
大数据·人工智能·阿里云·hologres·增量刷新
许泽宇的技术分享2 小时前
BotSharp 入门教程-第03章-快速启动
人工智能·botsharp
数字游民95273 小时前
2小时VibeCoding了一个看图猜词小程序:猜对了么
人工智能·ai·小程序·ai绘画·数字游民9527
每天学一点儿3 小时前
【SimpleITK】从 Python 闭包到空间几何
人工智能
心态与习惯3 小时前
深度学习中的 seq2seq 模型
人工智能·深度学习·seq2seq