【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 本質上是一個學習單詞向量的框架,爲每個單詞構建一個 密集 的向量,使其與出現在相似上下文中的單詞向量相似。例如,

                                                                              banking=\begin{bmatrix} 0.286\\ 0.792\\ -0.177\\ -0.107\\ 0.109\\ -0.542\\ 0.349\\ 0.271 \end{bmatrix}

2. Representing words by their context

一個單詞的意思是由經常出現在它附近的單詞給出的。當一個單詞w出現在文本中,使用w的許多上下文來構建w的表示。

                                 

 

具體到文本中的每個位置 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}的近鄰上下文單詞的概率;

                                             

3. objective function 目標函數

對於位置t=1,...,T,使用固定大小爲3的窗口內預測上下文單詞,中心詞爲w_{j} ,整體的似然率就可以寫成這些條件概率的聯乘積形式,其中\theta爲所有需要優化的參數。目標函數(代價函數/損失函數)是(平均)負對數似然對數是爲了方便將連乘轉化爲求和,添加負號是將極大化似然函數轉化爲極小化損失函數。

                                                              

  • 如何最小化目標函數?

對於每個單詞w,當w爲中心詞時,使用v_{w}表示;當w爲上下文單詞時,使用u_{w}表示表示;條件概率寫作上下文單詞與中心詞的點乘形式再對其做softmax運算(向量之間進行點乘,點乘結果越大,向量之間越相似,歸一化之後的概率值也越大;模型訓練目的是使具有相似上下文的單詞,具有相似的向量)。

                                                                                          

取冪之後爲正值;點乘比較向量之間的相似性,點乘越大概率越大;分母是求和形式,對整個詞彙表進行標準化,給出概率分佈

softmax function:將任意值 xi 映射到概率分佈 pi

                                                                                       

  • 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 。

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章