語言模型及RNN模型

語言模型

一段自然語言文本可以看作是一個離散時間序列,給定一個長度爲TT的詞的序列w1,w2,,wTw_1, w_2, \ldots, w_T,語言模型的目標就是評估該序列是否合理,即計算該序列的概率:

P(w1,w2,,wT). P(w_1, w_2, \ldots, w_T).

語言模型

假設序列w1,w2,,wTw_1, w_2, \ldots, w_T中的每個詞是依次生成的,我們有

在這裏插入圖片描述

例如,一段含有4個詞的文本序列的概率

P(w1,w2,w3,w4)=P(w1)P(w2w1)P(w3w1,w2)P(w4w1,w2,w3). P(w_1, w_2, w_3, w_4) = P(w_1) P(w_2 \mid w_1) P(w_3 \mid w_1, w_2) P(w_4 \mid w_1, w_2, w_3).

語言模型的參數就是詞的概率以及給定前幾個詞情況下的條件概率。設訓練數據集爲一個大型文本語料庫,如維基百科的所有條目,詞的概率可以通過該詞在訓練數據集中的相對詞頻來計算,例如,w1w_1的概率可以計算爲:

在這裏插入圖片描述

其中n(w1)n(w_1)爲語料庫中以w1w_1作爲第一個詞的文本的數量,nn爲語料庫中文本的總數量。

類似的,給定w1w_1情況下,w2w_2的條件概率可以計算爲:

在這裏插入圖片描述

其中n(w1,w2)n(w_1, w_2)爲語料庫中以w1w_1作爲第一個詞,w2w_2作爲第二個詞的文本的數量。

n元語法

序列長度增加,計算和存儲多個詞共同出現的概率的複雜度會呈指數級增加。nn元語法通過馬爾可夫假設簡化模型,馬爾科夫假設是指一個詞的出現只與前面nn個詞相關,即nn階馬爾可夫鏈(Markov chain of order nn),如果n=1n=1,那麼有P(w3w1,w2)=P(w3w2)P(w_3 \mid w_1, w_2) = P(w_3 \mid w_2)。基於n1n-1階馬爾可夫鏈,我們可以將語言模型改寫爲

P(w1,w2,,wT)=t=1TP(wtwt(n1),,wt1). P(w_1, w_2, \ldots, w_T) = \prod_{t=1}^T P(w_t \mid w_{t-(n-1)}, \ldots, w_{t-1}) .

以上也叫nn元語法(nn-grams),它是基於n1n - 1階馬爾可夫鏈的概率語言模型。例如,當n=2n=2時,含有4個詞的文本序列的概率就可以改寫爲:
在這裏插入圖片描述

循環神經網絡

本節介紹循環神經網絡,下圖展示瞭如何基於循環神經網絡實現語言模型。我們的目的是基於當前的輸入與過去的輸入序列,預測序列的下一個字符。循環神經網絡引入一個隱藏變量HH,用HtH_{t}表示HH在時間步tt的值。HtH_{t}的計算基於XtX_{t}Ht1H_{t-1},可以認爲HtH_{t}記錄了到當前字符爲止的序列信息,利用HtH_{t}對序列的下一個字符進行預測。
Image Name

循環神經網絡的構造

我們先看循環神經網絡的具體構造。假設XtRn×d\boldsymbol{X}_t \in \mathbb{R}^{n \times d}是時間步tt的小批量輸入,HtRn×h\boldsymbol{H}_t \in \mathbb{R}^{n \times h}是該時間步的隱藏變量,則:

Ht=ϕ(XtWxh+Ht1Whh+bh). \boldsymbol{H}_t = \phi(\boldsymbol{X}_t \boldsymbol{W}_{xh} + \boldsymbol{H}_{t-1} \boldsymbol{W}_{hh} + \boldsymbol{b}_h).

其中,WxhRd×h\boldsymbol{W}_{xh} \in \mathbb{R}^{d \times h}WhhRh×h\boldsymbol{W}_{hh} \in \mathbb{R}^{h \times h}bhR1×h\boldsymbol{b}_{h} \in \mathbb{R}^{1 \times h}ϕ\phi函數是非線性激活函數。由於引入了Ht1Whh\boldsymbol{H}_{t-1} \boldsymbol{W}_{hh}HtH_{t}能夠捕捉截至當前時間步的序列的歷史信息,就像是神經網絡當前時間步的狀態或記憶一樣。由於HtH_{t}的計算基於Ht1H_{t-1},上式的計算是循環的,使用循環計算的網絡即循環神經網絡(recurrent neural network)。

在時間步tt,輸出層的輸出爲:

Ot=HtWhq+bq. \boldsymbol{O}_t = \boldsymbol{H}_t \boldsymbol{W}_{hq} + \boldsymbol{b}_q.

其中WhqRh×q\boldsymbol{W}_{hq} \in \mathbb{R}^{h \times q}bqR1×q\boldsymbol{b}_q \in \mathbb{R}^{1 \times q}

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