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 的输出层:

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

相关推荐
chaser&upper4 分钟前
预见未来:在 AtomGit 解码 CANN ops-nn 的投机采样加速
人工智能·深度学习·神经网络
松☆8 分钟前
CANN与大模型推理:在边缘端高效运行7B参数语言模型的实践指南
人工智能·算法·语言模型
结局无敌14 分钟前
深度探究cann仓库下的infra:AI计算的底层基础设施底座
人工智能
m0_4665252914 分钟前
绿盟科技风云卫AI安全能力平台成果重磅发布
大数据·数据库·人工智能·安全
慢半拍iii16 分钟前
从零搭建CNN:如何高效调用ops-nn算子库
人工智能·神经网络·ai·cnn·cann
晟诺数字人20 分钟前
2026年海外直播变革:数字人如何改变游戏规则
大数据·人工智能·产品运营
蛋王派21 分钟前
DeepSeek-OCR-v2 模型解析和部署应用
人工智能·ocr
禁默26 分钟前
基于CANN的ops-cv仓库-多模态场景理解与实践
人工智能·cann
禁默34 分钟前
【硬核入门】无需板卡也能造 AI 算子?深度玩转 CANN ops-math 通用数学库
人工智能·aigc·cann
程序员清洒35 分钟前
CANN模型剪枝:从敏感度感知到硬件稀疏加速的全链路压缩实战
算法·机器学习·剪枝