07 负采样(Negative Sampling)
这一节在讲什么 这一节讲怎么解决上一节 Word2Vec 的最大问题: softmax 太慢。 办法就是把“大词表多分类”改造成“少量二分类”,这就是负采样。 核心思路 与其问: “orange 的附近到底是哪一个词?” 不如改成问: “orange 和 juice 这两个词,是不是一对真的邻近词?” 这就从一个巨大的多分类问题,...
这一节在讲什么 这一节讲怎么解决上一节 Word2Vec 的最大问题: softmax 太慢。 办法就是把“大词表多分类”改造成“少量二分类”,这就是负采样。 核心思路 与其问: “orange 的附近到底是哪一个词?” 不如改成问: “orange 和 juice 这两个词,是不是一对真的邻近词?” 这就从一个巨大的多分类问题,...
这一节在讲什么 这一节讲 Word2Vec,重点是其中的 Skip-Gram 思想。 它比上一节的完整神经语言模型更简单,也更高效。 Skip-Gram 的核心想法 不是“给很多上下文词,预测中间词”, 而是反过来: 给一个中心词,去预测它附近可能出现的词。 例如句子: [\text{I want a glass of orange juice to g...
这一节在讲什么 这一节开始讲: 词嵌入到底怎么学出来? 课程先从一个“预测下一个词”的神经语言模型讲起,因为这个思路最容易理解。 基本想法:用语言模型逼出好词向量 例子: [\text{I want a glass of orange ___}] 希望模型预测出最后的词: [\text{juice}] 如果要把这个任务做好,模型就会被迫学会: ...
这一节在讲什么 这一节把前面的词嵌入概念正式写成矩阵形式。 核心结论只有一句: 学习词嵌入,本质上就是在学习一个嵌入矩阵 $E$。 嵌入矩阵长什么样 假设: 词表大小是 $V=10000$ 每个词向量维度是 $d=300$ 那么嵌入矩阵可以写成: [E \in \mathbb{R}^{300 \times 10000}] 你可以把它理...
这一节在讲什么 这节课讲词嵌入一个非常有名的性质: 向量之间的差,能编码某些语义关系。 最著名的例子就是类比推理: [\text{man : woman :: king : queen}] 为什么这很神奇 如果词向量真的学得好,那么: man -> woman 这条变化方向 king -> queen 这条变化方向 应该很相似。...
这一节在讲什么 这节课讲的是: 词嵌入不是只拿来“看着很高级”,而是真的能帮助下游 NLP 任务泛化。 课程重点用命名实体识别(NER)说明这一点,并把它解释成一种迁移学习。 课程里的任务例子:识别人名 句子: [\text{Sally Johnson is an orange farmer.}] 模型需要判断 Sally Johnson 是不是人名。 ...
这一节在讲什么 这节课回答的是一个最基础的问题: 计算机到底怎么表示一个单词? 课程先讲了传统的 one-hot 表示为什么不够好,再引出更强的表示方法:词嵌入(word embedding)。 传统方法:one-hot 向量 假设词表有 10000 个词。 如果 man 在词表中的编号是 5391,那么它可以表示成: [O_{5391}] 如果 ...
1. 构建深层 RNN 的动机 标准的 RNN(单层隐藏层)在处理非常复杂的函数时能力有限。类似于深度前馈神经网络通过堆叠多个隐藏层来提取更高级的特征,RNN 也可以通过在时间步上堆叠多个循环层来构建深层 RNN,以学习更复杂的序列模式。 2. 符号定义与结构 在深层 RNN 中,激活值不仅随时间 $t$ 变化,还随层数 $l$ 变化。 符号表示:用 $a^{[l]\l...
1. 动机与背景 在标准的单向 RNN(包括标准 RNN、GRU 或 LSTM 单元)中,序列中某一点 $t$ 的预测 $\hat{y}^{\langle t \rangle}$ 仅依赖于该点之前的输入信息 $(x^{\langle 1 \rangle}, \dots, x^{\langle t \rangle})$。 局限性:在某些任务中(如命名实体识别),仅靠前文...
1. LSTM 的核心思想 LSTM 是由 Sepp Hochreiter 和 Jurgen Schmidhuber 提出的一种改进型 RNN 单元,旨在解决传统 RNN 中的梯度消失问题,从而能够学习序列中非常长期的依赖关系。它通过引入“门控机制”来控制信息的流动,比 GRU 更加强大和通用。 2. LSTM 的主要公式与结构 LSTM 的核心在于对记忆细胞(Cell Sta...