【CS224n课程笔记】Lecture 01 Introduction and Word Vectors

目录

1. word vectors 词向量

2. Representing words by their context

3. objective function 目标函数

4. 梯度下降:链式法则(基础的求导知识)

 


 

Lecture Plan

1. The course (10 mins)
2. Human language and word meaning (15 mins)
3. Word2vec introduction (15 mins)
4. Word2vec objective function gradients (25 mins)
5. Optimization basics (5 mins)
6. Looking at word vectors (10 mins or less)

 

 

1. word vectors 词向量

有时被称为词嵌入 word embeddings 或词表示 word representations,Word2vec 本质上是一个学习单词向量的框架,为每个单词构建一个 密集 的向量,使其与出现在相似上下文中的单词向量相似。例如,

                                                                              【CS224n课程笔记】Lecture 01 Introduction and Word Vectors_第1张图片

2. Representing words by their context

一个单词的意思是由经常出现在它附近的单词给出的。当一个单词w出现在文本中,使用w的许多上下文来构建w的表示。

                                 【CS224n课程笔记】Lecture 01 Introduction and Word Vectors_第2张图片

 

具体到文本中的每个位置 t,其中有一个中心词 c 和上下文(“外部”)单词 o,使用 c 和 o 的 词向量的相似性 来计算给定 c 的 o 的 概率 (反之亦然),不断调整词向量来调整这个概率。如下图,使用固定窗口的大小(这里为2),中心词c分别为into和banking,其中P(w_{t-1}|w_{t})P(w_{t+1}|w_{t})分别表示w_{t}的近邻上下文单词的概率;

                                             【CS224n课程笔记】Lecture 01 Introduction and Word Vectors_第3张图片

3. objective function 目标函数

对于位置t=1,...,T,使用固定大小为3的窗口内预测上下文单词,中心词为w_{j} ,整体的似然率就可以写成这些条件概率的联乘积形式,其中\theta为所有需要优化的参数。目标函数(代价函数/损失函数)是(平均)负对数似然对数是为了方便将连乘转化为求和,添加负号是将极大化似然函数转化为极小化损失函数。

                                                              【CS224n课程笔记】Lecture 01 Introduction and Word Vectors_第4张图片

  • 如何最小化目标函数?

对于每个单词w,当w为中心词时,使用v_{w}表示;当w为上下文单词时,使用u_{w}表示表示;条件概率写作上下文单词与中心词的点乘形式再对其做softmax运算(向量之间进行点乘,点乘结果越大,向量之间越相似,归一化之后的概率值也越大;模型训练目的是使具有相似上下文的单词,具有相似的向量)。

                                                                                          【CS224n课程笔记】Lecture 01 Introduction and Word Vectors_第5张图片

取幂之后为正值;点乘比较向量之间的相似性,点乘越大概率越大;分母是求和形式,对整个词汇表进行标准化,给出概率分布

softmax function:将任意值 xi 映射到概率分布 pi

                                                                                       【CS224n课程笔记】Lecture 01 Introduction and Word Vectors_第6张图片

  • max :因为放大了最大的概率
  • soft :因为仍然为较小的 xi 赋予了一定概率
  • 深度学习中常用

4. 梯度下降:链式法则(基础的求导知识)

首先随机初始化 u_{w} \in \mathbb{R}^{d}和 v_{w} \in \mathbb{R}^{d} ,而后使用梯度下降法进行更新

\begin{aligned} \frac{\partial}{\partial v_{c}} \log P(o | c) &=\frac{\partial}{\partial v_{c}} \log \frac{\exp \left(u_{o}^{T} v_{c}\right)}{\sum_{w \in V} \exp \left(u_{w}^{T} v_{c}\right)} \\ &=\frac{\partial}{\partial v_{c}}\left(\log \exp \left(u_{o}^{T} v_{c}\right)-\log \sum_{w \in V} \exp \left(u_{w}^{T} v_{c}\right)\right) \\ &=\frac{\partial}{\partial v_{c}}\left(u_{o}^{T} v_{c}-\log \sum_{w \in V} \exp \left(u_{w}^{T} v_{c}\right)\right) \\ &=u_{o}-\frac{\sum_{w \in V} \exp \left(u_{w}^{T} v_{c}\right) u_{w}}{\sum_{w \in V} \exp \left(u_{w}^{T} v_{c}\right)} \end{aligned}

偏导数可以移进求和中,对应上方公式的最后两行的推导:

\frac{\partial}{\partial x} \sum_{i} y_{i}=\sum_{i} \frac{\partial}{\partial x} y_{i}

可以对上述结果重新排列如下,第一项是真正的上下文单词,第二项是预测的上下文单词。使用梯度下降法,模型的预测上下文将逐步接近真正的上下文。

\begin{aligned} \frac{\partial}{\partial v_{c}} \log P(o | c) &=u_{o}-\frac{\sum_{w \in V} \exp \left(u_{w}^{T} v_{c}\right) u_{w}}{\sum_{w \in V} \exp \left(u_{w}^{T} v_{c}\right)} \\ &=u_{o}-\sum_{w \in V} \frac{\exp \left(u_{w}^{T} v_{c}\right)}{\sum_{w \in V} \exp \left(u_{w}^{T} v_{c}\right)} u_{w} \\ &=u_{o}-\sum_{w \in V} P(w | c) u_{w} \end{aligned}

再对 Uo进行偏微分计算,注意这里的 Uo 是 Uw=o 的简写,故可知

\frac{\partial}{\partial u_{o}} \sum_{w \in V} u_{w}^{T} v_{c}=\frac{\partial}{\partial u_{o}} u_{o}^{T} v_{c}=\frac{\partial u_{o}}{\partial u_{o}} v_{c}+\frac{\partial v_{c}}{\partial u_{o}} u_{o}=v_{c}

\begin{aligned} \frac{\partial}{\partial u_{o}} \log P(o | c) &=\frac{\partial}{\partial u_{o}} \log \frac{\exp \left(u_{o}^{T} v_{c}\right)}{\sum_{w \in V} \exp \left(u_{w}^{T} v_{c}\right)} \\ &=\frac{\partial}{\partial u_{o}}\left(\log \exp \left(u_{o}^{T} v_{c}\right)-\log \sum_{w \in V} \exp \left(u_{w}^{T} v_{c}\right)\right) \\ &=\frac{\partial}{\partial u_{o}}\left(u_{o}^{T} v_{c}-\log \sum_{w \in V} \exp \left(u_{w}^{T} v_{c}\right)\right) \\ &=v_{c}-\frac{\sum \frac{\partial}{\partial u_{o}} \exp \left(u_{w}^{T} v_{c}\right)}{\sum_{w \in V} \exp \left(u_{w}^{T} v_{c}\right)} \\ &=v_{c}-\frac{\exp \left(u_{o}^{T} v_{c}\right) v_{c}}{\sum_{w \in V} \exp \left(u_{w}^{T} v_{c}\right)} \\ &=v_{c}-\frac{\exp \left(u_{o}^{T} v_{c}\right)}{\sum_{w \in V} \exp \left(u_{w}^{T} v_{c}\right)} v_{c} \\ &=v_{c}-P(o | c) v_{c} \\ &=(1-P(o | c)) v_{c} \end{aligned}

可以理解,当 P(o|c)→1 ,即通过中心词 c 我们可以正确预测上下文词 o ,此时我们不需要调整 uo ,反之,则相应调整 uo 。

 

 

 

 

 

你可能感兴趣的:(机器学习)