神經網絡語言模型 -- Neural Network Language Model

背景

2003年,Bengio首次提出Neural Network Language Model(NNLM), 開創了神經網絡運用在語言模型的先河,論文 《A Neural Probabilistic Language Model》
上一章提到傳統的統計語言模型的缺點,在高維的情況下,由於N元組的稀疏問題,傳統的語言模型需要花大量時間解決平滑,插值等問題;N受限於算力,不大的時候文本的長距離依賴關係無法進行建模;同時N元組共現未必相似等問題。

模型介紹

針對這些傳統語言模型的問題,NNLM嘗試用三層神經網絡進行建模

NNLM架構
如圖所示,整個模型有三層

第一層是輸入層:模型的輸入wtn+1wt2,wt1w_{t-n+1}{\cdots}w_{t-2},w_{t-1}表示n-1個詞,目標是預測當前t時刻的wtw_t,模型引入詞向量(Word Vector)的概念,將輸入的詞通過look-up table映射成爲一個n-1個向量,這裏我們假設詞典大小V|V|, 向量的維度爲dd, look-up table C的爲VdV{\sdot}d的矩陣,將N-1個向量concat起來,輸入層維度爲(n1)d(n-1){\sdot}d的向量,這裏記爲xx

第二層是隱藏層,通過一個fully connect layer傳遞,神經元的激活函數是tanh,參數WhW_{h}(n1)dh(n-1){\sdot}d*h的矩陣,輸出爲tanh(Whx+bh)tanh(W_h{\sdot}x+b_h),維度大小爲h

第三層是輸出層,依賴隱藏層的輸出和輸入層的輸出之和Utanh(Whx+bh)+Wox+boU{\sdot}tanh(W_h{\sdot}x+b_h) +W_o{\sdot}x+b_o, 其中WoW_oVd(n1)V*d{\sdot}(n-1)的矩陣, UUVhV*h的矩陣,這裏輸出的向量維度爲VV,再通過softmax函數,每個神經元的節點即爲t時刻出現第i個詞的概率P(wtiwtn+1wt2,wt1)P(w_t^i|w_{t-n+1}{\cdots}w_{t-2},w_{t-1})

模型的參數 θ=(U,Wh,bh,W0,bo)\theta=(U, W_h, b_h, W_0, b_o), 參數總數爲V(1+nd+h)+h(1+(n1)d)|V |(1 + nd + h) + h(1 + (n − 1)d), 其中d爲look-up表C的維度, h爲隱藏層維度, V爲詞表大小,n-1爲輸入層的輸入的詞的個數

模型的損失函數loss function爲
L=1Ttlogf(wt,wt1,,wtn+1;θ)+R(θ)(1) L=\frac{1}{T}\sum_tlogf(w_t,w_{t-1},{\cdots},w_{t-n+1};\theta) + R(\theta) \tag1
其中f(wt,wt1,,wtn+1;θ)f(w_t,w_{t-1},{\cdots},w_{t-n+1};\theta)爲概率P(wtwtn+1wt2,wt1)P(w_t|w_{t-n+1}{\cdots}w_{t-2},w_{t-1}), R(θ)R(\theta)爲正則項,其中P(wtwtn+1wt2,wt1)=eywtiVeyiP(w_t|w_{t-n+1}{\cdots}w_{t-2},w_{t-1})=\frac{e^{y_{wt}}}{\sum_i^Ve^{yi}}, 即softmax後的概率,通過反向傳播公式優化算法即可得到模型參數θ\theta

優點

  1. 相比傳統的統計語言模型,Ngram的N增加只帶來線性提升,而非指數複雜的提升
  2. 通過高維空間連續稠密的詞向量解決統計語言模型中解決稀疏(sparse)的問題,不用進行平滑等操作
  3. 另外詞向量的引入解決統計語言模型部分相似性的問題,爲後續NLP詞向量時代的發展做鋪墊
  4. 相比傳統的統計語言模型,神經網絡的非線性能力獲得更好的泛化能力,perplexity(困惑度提升)

困惑度

困惑度(perplexity)的基本思想是:給測試集的句子賦予較高概率值的語言模型較好,當語言模型訓練完之後,測試集中的句子都是正常的句子,那麼訓練好的模型就是在測試集上的概率越高越好,公式如下:
PP(W)=P(w1w2wN)1N=1P(w1w2wN)N(2) PP(W) = P(w_1w_2{\cdots}w_N)^{-\frac{1}{N}}=\sqrt[N]{\frac{1}{P(w_1w_2{\cdots}w_N)}} \tag2
由公式可知,句子概率越大,語言模型越好,迷惑度越小。

缺點

參數較多,部分計算複雜,在word2vec等後續模型中陸續優化

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