当前位置: 首页 > news >正文

Word2Vec Skip-Gram 模型

Word2Vec 是什么?

Word2Vec 是一种将单词映射为固定长度稠密向量(词向量) 的神经网络模型。

它通过无监督学习从大规模语料中捕捉词的语义和句法信息,使语义相近的词在向量空间中距离较近(如 “king” 和 “queen”)。

核心思想是:一个词的含义可以由其上下文来体现。

Word2Vec 有两种主要架构:

  • CBOW (Continuous Bag-of-Words):用上下文词预测中心词。
  • Skip-gram:用中心词预测上下文词(本文重点)。

Skip-gram 模型结构

Skip-gram 是一个三层神经网络:

  • 输入层:中心词(one-hot 编码)
  • 隐藏层:词嵌入(低维稠密向量)
  • 输出层:softmax 多分类,预测上下文词训练目标:最大化给定中心词时,实际上下文词出现的概率。

具体例子

图例

设定

  • 词表大小 V=5V=5(词汇:[the, cat, dog, mouse, bird])
  • 嵌入维度 N=3N=3
  • 中心词 = “cat”(索引 1)
  • 上下文词 = “dog”(索引 2)

输入层 → 隐藏层

输入向量:“cat” 的 one-hot 表示(长度为 5,位置 1 为 1,其他为 0):
x=[01000] x = \begin{bmatrix} 0 \\ 1 \\ 0 \\ 0 \\ 0 \end{bmatrix}x=01000

权重矩阵W 是 V×N 的矩阵,随机初始化(例如):
W=[0.20.10.50.30.60.80.90.40.20.70.10.30.50.20.4] W = \begin{bmatrix} 0.2 & 0.1 & 0.5 \\ 0.3 & 0.6 & 0.8 \\ 0.9 & 0.4 & 0.2 \\ 0.7 & 0.1 & 0.3 \\ 0.5 & 0.2 & 0.4 \end{bmatrix}W=0.20.30.90.70.50.10.60.40.10.20.50.80.20.30.4

隐藏层h 计算:h=WT⋅xh = W^T \cdot xh=WTx。由于 x 是 one-hot,结果就是 W 的第 1 行(索引从 0 开始):
$
W^T = \begin{bmatrix}
0.2 & 0.3 & 0.9 & 0.7 & 0.5 \
0.1 & 0.6 & 0.4 & 0.1 & 0.2 \
0.5 & 0.8 & 0.2 & 0.3 & 0.4
\end{bmatrix}
$ , $
h = W^T \cdot x = \begin{bmatrix}
0.2 * 0 + 0.3 * 1 + 0.9 * 0 + 0.7 * 0 + 0.5 * 0 \
0.1 * 0 + 0.6 * 1 + 0.4 * 0 + 0.1 * 0 + 0.2 * 0 \
0.5 * 0 + 0.8 * 1 + 0.2 * 0 + 0.3 * 0 + 0.4 * 0
\end{bmatrix}
$

然后得到 $
h = \begin{bmatrix}
0.3 & 0.6 & 0.8
\end{bmatrix}
$, 这行的值就是“cat”的初始词向量。

隐藏层 → 输出层

输出权重矩阵W′W'W是 N×V 矩阵(也随机初始化):
W′=[0.10.20.30.40.50.60.70.80.91.00.20.30.40.50.6] W' = \begin{bmatrix} 0.1 & 0.2 & 0.3 & 0.4 & 0.5 \\ 0.6 & 0.7 & 0.8 & 0.9 & 1.0 \\ 0.2 & 0.3 & 0.4 & 0.5 & 0.6 \end{bmatrix}W=0.10.60.20.20.70.30.30.80.40.40.90.50.51.00.6

输出得分u=h⋅W′u = h \cdot W'u=hW(形状为 1×V):
u=[0.30.60.8]⋅[0.10.20.30.40.50.60.70.80.91.00.20.30.40.50.6]=[0.3∗0.1+0.6∗0.6+0.8∗0.20.3∗0.2+0.6∗0.7+0.8∗0.30.3∗0.3+0.6∗0.8+0.8∗0.40.3∗0.4+0.6∗0.9+0.8∗0.50.3∗0.5+0.6∗1.0+0.8∗0.6]T=[0.550.720.891.061.23] u = \begin{bmatrix} 0.3 & 0.6 & 0.8 \end{bmatrix} \cdot \begin{bmatrix} 0.1 & 0.2 & 0.3 & 0.4 & 0.5 \\ 0.6 & 0.7 & 0.8 & 0.9 & 1.0 \\ 0.2 & 0.3 & 0.4 & 0.5 & 0.6 \end{bmatrix} = \begin{bmatrix} 0.3 * 0.1 + 0.6 * 0.6 + 0.8 * 0.2 \\ 0.3 * 0.2 + 0.6 * 0.7 + 0.8 * 0.3 \\ 0.3 * 0.3 + 0.6 * 0.8 + 0.8 * 0.4 \\ 0.3 * 0.4 + 0.6 * 0.9 + 0.8 * 0.5 \\ 0.3 * 0.5 + 0.6 * 1.0 + 0.8 * 0.6 \end{bmatrix}^T = \begin{bmatrix} 0.55 & 0.72 & 0.89 & 1.06 & 1.23 \end{bmatrix}u=[0.30.60.8]0.10.60.20.20.70.30.30.80.40.40.90.50.51.00.6=0.30.1+0.60.6+0.80.20.30.2+0.60.7+0.80.30.30.3+0.60.8+0.80.40.30.4+0.60.9+0.80.50.30.5+0.61.0+0.80.6T=[0.550.720.891.061.23]

Softmax 归一化得到概率分布:先计算指数:
e0.55=1.733,e0.72=2.054,e0.89=2.435,e1.06=2.886,e1.23=3.421 e^{0.55} = 1.733, e^{0.72} = 2.054, e^{0.89} = 2.435, e^{1.06} = 2.886, e^{1.23} = 3.421e0.55=1.733,e0.72=2.054,e0.89=2.435,e1.06=2.886,e1.23=3.421

总和 = 1.733+2.054+2.435+2.886+3.421 = 12.529

概率:
p(the)=1.733/12.529=0.138p(cat)=2.054/12.529=0.164p(dog)=2.435/12.529=0.194p(mouse)=2.886/12.529=0.230p(bird)=3.421/12.529=0.273 \begin{aligned} p(\text{the}) &= 1.733 / 12.529 = 0.138 \\ p(\text{cat}) &= 2.054 / 12.529 = 0.164 \\ p(\text{dog}) &= 2.435 / 12.529 = 0.194 \\ p(\text{mouse}) &= 2.886 / 12.529 = 0.230 \\ p(\text{bird}) &= 3.421 / 12.529 = 0.273 \end{aligned}p(the)p(cat)p(dog)p(mouse)p(bird)=1.733/12.529=0.138=2.054/12.529=0.164=2.435/12.529=0.194=2.886/12.529=0.230=3.421/12.529=0.273

实际上下文词是"dog"索引 (2),我们希望其概率尽量大,当前为 0.194。

损失函数与反向传播

使用交叉熵损失:
L=−log⁡p(context)=−log⁡(0.194)=1.640 L = -\log p(\text{context}) = -\log(0.194) = 1.640L=logp(context)=log(0.194)=1.640

通过反向传播,计算损失对 W 和 W′ 的梯度,然后更新权重(例如学习率 0.1)。

更新后的权重会使"dog"的预测概率增大。反复迭代大量语料后,W 矩阵被逐步调整,其每一行最终成为一个高质量的稠密词向量。

权重矩阵的来源与作用

来源

  • 初始时随机赋值(如上述示例)。
  • 通过训练过程中的反向传播不断调整,使模型能更准确地预测上下文。
  • 最终收敛后,WW 和 W′W′ 都包含了词汇的语义信息(实践中通常只用 WW 作为词向量)。

作用

输入权重矩阵 W:将 one-hot 向量映射为低维词向量。它的第 ii 行就是词 ii 的最终向量表示。

输出权重矩阵 W′:将词向量映射回词表大小的空间,用于计算概率。它也是词向量的另一个版本(常被忽略,但有时也可作为词向量使用)。

矩阵大小的意义

  • 对于词表大小 VV 和嵌入维度 NN(通常 100~300),W 是 V×N,W′ 是 N×V。
  • 整体参数量为 V×N+N×V=2NV,对于大词表(如 10 万词)仍是巨大的,因此实际训练中常用负采样等技术加速。
http://www.gsyq.cn/news/1552269.html

相关文章:

  • AI代码评审落地失败的三大结构性断点与工程解法
  • 高校AI落地四层防御体系:从业务信任到决策闭环
  • 自主飞行系统实战解析:从模块化架构到适航落地
  • AI驱动数字孪生的实时闭环:从建模到产线落地的7个关键步骤
  • 多维聚合不是终点:让聚合结果可再操作的数据变形术
  • 2026年好用的网层板加工厂,金帆丝网口碑出众 - mypinpai
  • 低功耗高精度ADC选型:Σ-Δ架构原理与TC3402实战应用
  • DeepSeek-R1模型深度解析:推理增强原理与本地部署实践
  • 咳嗽声AI诊断:医疗音频分类的工程落地实践
  • YOLO26工业级对象裁剪:精准坐标映射与产线落地实践
  • C++SFINAE与enable_if应用
  • 在 Python 中,字符串切片使用语法 `s[start:stop:step]
  • 大模型深度思考能力实战评测:5个真实场景压力测试
  • 一站式跨平台影音管家:zyfun如何用技术重新定义桌面播放体验
  • 深度学习图像相似度实战:从特征嵌入到线上服务
  • 影刀RPA初学者必读:5个最常见误区与正确做法
  • Stable Diffusion生产级项目落地:从WebUI到可交付服务架构
  • AI可信四支柱:透明性、可追责性、隐私保护与无偏见性工程实践
  • Rnote:开源矢量手写笔记应用的终极指南
  • 口碑好的烘焙培训中心综合实力推荐 - myqiye
  • 豆包AI视频总结:重构视频信息处理工作流
  • 2026年南昌市PMP培训机构哪家好?官方授权R.E.P.报考指南 - 众智商学院课程中心
  • 聚焦AI时代反网络钓鱼,筑牢跨境通信安全防线——“一带一路”国家网络安全人才技能培训班成功举办
  • 专业的openclaw哪家更好
  • 漏洞修复实战指南:热修复与根治性修复的核心策略与工程实践
  • Qwen3.6Flash解析:A3B不是量化,而是动态计算调度范式
  • 中兴光猫终极解锁指南:zteOnu工具深度解析与实战应用
  • Playwright自动化测试:page.get_by_xx定位器实战指南
  • 三步掌握Electron Fiddle:桌面开发效率翻倍指南
  • 2026国内比较好的高速线切割厂家排行榜 - 品牌排行榜