视频封面

视频元信息

  • 课程:吴恩达深度学习专项课程 · 自然语言处理与词嵌入(Word Embeddings)
  • 小节:2.7 负采样(Negative Sampling)
  • 主讲:吴恩达(Andrew Ng)
  • 核心思想来源:Thomas Mikolov 等人(Word2Vec 论文作者)

内容摘要(TL;DR)

上一节的 Skip-Gram 模型虽然能学习词向量,但 Softmax 目标函数计算代价极高(每次迭代要更新整个词表)。本节引入负采样(Negative Sampling),把"10,000 类 Softmax 分类"转化为"10,000 个二分类逻辑回归问题",每次迭代只训练 k+1 个二分类器(1 个正样本 + k 个负样本),从而大幅提升训练效率。同时讲解负样本的采样策略:按词频的 3/4 次方采样。


一、背景:为什么要负采样 [00:00]

上一节的 Skip-Gram 模型构造了一个监督学习任务:从上下文词(context)映射到目标词(target),从而学习有用的词嵌入。

Skip-Gram 的致命缺陷:Softmax 目标函数计算太慢。 每次更新都要对整个词表(例如 10,000 个词)做归一化,计算量随词表规模线性增长。

本节目标:用一种改进的学习问题——负采样(Negative Sampling),实现与 Skip-Gram 类似的效果,但使用更高效的学习算法。

本节大部分思想归功于 Thomas Mikolov 等人(Word2Vec 原始论文作者)。


二、核心思路:构造新的监督学习问题 [00:38]

不再做"多分类",而是构造一个二分类问题:

给定一对词(如 orange, juice),预测它们是否是上下文—目标配对。

词对 标签 y 说明
orange — juice 1 正样本(真实相邻)
orange — king 0 负样本(随机采样)
orange — book 0 负样本
orange — the 0 负样本
orange — of 0 负样本

正样本生成方式 [01:23]:与上一节完全相同——选定一个上下文词,在 ±10 词窗口内挑选一个目标词。例如 orange 附近出现 juice,则 (orange, juice) 标为 1。

负样本生成方式 [01:42]:保持同一个上下文词(orange),从词典中随机抽取 k 个词作为目标词,全部标为 0。

易错点:即使随机抽到的词(如 "of")恰好真的出现在 orange 附近,也仍然标注为 0。 吴恩达特别强调这一点:标签 0 并不代表"这两个词在现实中无关",而只代表"这个词是从词典里随机采样的,不是从窗口里挑出来的"。

总结数据集的生成流程 [02:30]:

  1. 选一个上下文词,选一个真实相邻的目标词 → 得 1 条正样本,标签 1;
  2. 重复 k 次:取同一个上下文词,从词典随机抽词 → 得 k 条负样本,标签 0。

理解:这个监督学习问题的本质,是让模型区分两种"词对采样分布"——一种是"两个词在文本中真的挨着",另一种是"一个来自文本、一个来自词典随机"。能区分开,就说明模型学到了词的语义/共现关系。


三、如何选择 k(负样本数量) [04:06]

考点:k 的取值经验法则

  • 小数据集:k 取 5 ~ 20(数据少,需要更多负样本来提供学习信号)
  • 大数据集:k 取 2 ~ 5(数据多,正样本已经足够,负样本可以少一些)
  • 视频示例中取 k = 4

易错点:k 与数据集规模是反向关系——数据集越大,k 越小。不要记反。


四、监督学习模型:逻辑回归 [04:37]

4.1 符号约定

  • c:context(上下文词)
  • t:target(目标词)
  • y:标签,取 0 或 1
  • (c, t):一个上下文—目标词对

4.2 概率模型公式

给定输入词对 (c, t),y = 1 的概率建模为:

P(y = 1 | c, t) = σ(θ_tᵀ · e_c)

其中:

  • σ:Sigmoid 函数
  • θ_t:每个目标词 t 对应的参数向量
  • e_c:每个上下文词 c 对应的嵌入向量(embedding vector)

理解:这与上一节 Softmax 模型使用相似的参数——每个目标词有一个参数向量,每个上下文词有一个嵌入向量。区别在于这里用 Sigmoid 做二分类,而不是 Softmax 做多分类。

4.3 正负样本比例

对于每个正样本,有 k 个负样本,即 k:1 的负正比例,用逻辑回归方式训练。


五、从神经网络视角理解:10,000 个二分类器 [06:21]

5.1 前向过程

以输入词 orange(词表编号 6257)为例:

  1. 输入 orange 的 One-hot 向量;
  2. 乘以嵌入矩阵 E,得到 orange 的嵌入向量 e₆₂₅₇;
  3. 该嵌入向量送入 10,000 个二分类逻辑回归分类器(词表大小 = 10,000)。

理解:可以想象成网络输出层有 10,000 个独立的二分类单元,每个对应一个词——"目标词是不是 juice?"、"目标词是不是 king?"……

5.2 关键效率优化

考点:负采样为什么快?

  • 不在每次迭代训练全部 10,000 个二分类器;
  • 每次迭代只训练 k+1 个:1 个对应真实目标词的分类器 + k 个随机负样本对应的分类器;
  • 对比原 Softmax 每次都要更新整个 10,000 类,计算量从 O(词表大小) 降到 O(k+1)。

以 k=4 为例,每次迭代只训练 5 个二分类器,而不是 10,000 个。

核心结论 [08:18]:把一个昂贵的 10,000 类 Softmax 分类器,拆成 10,000 个廉价的二分类问题,且每次迭代只更新其中 k+1 个,因此计算成本大幅降低。

思考:这是一种"用采样近似全量"的思想——用少量负样本近似整个词表的分布,是 Word2Vec 高效训练的关键工程技巧。


六、为什么叫"负采样" [08:32]

  • 已有正样本(orange, juice);
  • 主动故意构造一批负样本(随机抽词,标签 0);
  • 每次迭代选取 k 个不同的随机负样本词来训练。

因此该技术得名 Negative Sampling(负采样)。


七、关键细节:如何采样负样本 [09:01]

这是本节另一个重点。选定上下文词 orange 后,如何抽取负样本词?

7.1 两种极端做法及问题

采样方式 问题
按词频(经验频率)采样 高频词(the、of 等)被过度采样,占比过高
均匀采样(1/词表大小) 完全不符合英语词的真实分布

7.2 推荐做法:按词频的 3/4 次方采样

考点:负采样概率公式 采样概率 ∝ f(wᵢ)^(3/4) 其中 f(wᵢ) 是词 wᵢ 在英语语料(或训练集)中的观测频率。

推导/理解:3/4 次方把频率"压平"了——高频词的采样概率被降低,低频词的采样概率被相对提高,结果介于"纯经验频率"和"均匀分布"两个极端之间。

吴恩达的坦白 [10:47]:这个 3/4 次方理论上并没有严格的证明,但多位研究者使用后效果不错,属于经验性启发式(heuristic)。

易错点:3/4 次方是采样概率的幂次,不是频率本身。别记成"频率的 4/3 次方"或"频率的 3/4 倍"。


八、总结与延伸建议 [10:56]

8.1 本节总结

  • Softmax 分类学习词向量计算代价昂贵;
  • 通过把问题改造成一组二分类问题,可以高效学习词向量;
  • 运行该算法能得到质量不错的词向量。

8.2 实用建议 [11:15]

实践建议:不必从零训练词向量。业界有开源实现,也有他人训练好、以宽松许可(permissive license)在线发布的预训练词向量。做 NLP 任务时,直接下载别人的词向量作为起点是合理的做法。

8.3 下节预告 [11:41]

下一节将介绍另一种词嵌入学习算法——GloVe(Global Vectors)算法,可能比目前看到的更简单。


【拓展】背景与延伸

拓展 1:Word2Vec 的三种训练方式

  • Skip-Gram:用中心词预测上下文词(本课程上一节);
  • CBOW:用上下文词预测中心词;
  • Negative Sampling:本节——是 Skip-Gram 的高效训练改进,不是独立模型。

拓展 2:为什么负采样有效(直觉)

真正的 Softmax 要求模型对每个词都给出正确概率,代价是每次更新全词表。负采样把任务弱化为"区分真实词对 vs 随机词对",模型只需学会"哪些词更可能共现",就足以让嵌入向量携带语义信息。这是一种用二分类近似多分类的思路。

拓展 3:常见踩坑点汇总

  1. 标签 0 ≠ 语义无关:随机抽到的词可能真的相邻,仍标 0;
  2. k 与数据量反向:大数据集用小 k;
  3. 采样用 3/4 次方:不是均匀,也不是纯词频;
  4. 每次迭代只更新 k+1 个分类器,不是全部词表;
  5. 3/4 次方无严格理论证明,属经验技巧。

关键标签 / 关键词

负采样、Negative Sampling、Skip-Gram、Word2Vec、词嵌入、Word Embeddings、Softmax、二分类、逻辑回归、Sigmoid、上下文词、目标词、正样本、负样本、采样策略、3/4 次方、词频、k 值选择、Mikolov、计算效率、NLP、吴恩达深度学习


生成时间:2026-10-11 00:26:24 生成平台:VideoNote www.xygy.top