入門通俗易懂的神經網絡語言模型(NNLM)詳解

神經網絡語言模型(NNLM)

在這裏插入圖片描述

輸入層(投射層)

一個文本,由N個詞語組成,現在呢:想根據 前N個詞語 來預測 第N個詞語 是啥?
我們採用的語料庫V(也就是我們最大限度能想到的的所有詞語集合)包含10萬個詞語

詞向量W:是一個one-hot向量,大小=[10W,1],W(t)表示第t個詞語的one hot(一個元素爲1,其餘全爲0

投影矩陣C:維度[D*V],V=10W,參數D根據文本大小不同來設定:谷歌測試時選取D=300

  • 計算時:投影矩陣C[300 * 10W] X 詞向量W(t)[10W *1] 得到= 矩陣[300 * 1]
  • 比如根據前3個詞來預測第4個詞語,那麼上述操作會重複三次,得到3個[300*1]的矩陣
  • 將這3個[300*1]的矩陣按行拼接,得到[900x1]的矩陣。

隱藏層

存在一個向量矩陣[Hx1],H根據文本集合情況設定(谷歌測試時選取H=500)

該層完成的功能主要是全連接!
說通俗一些:把輸入層計算得到的矩陣[900x1],轉換爲矩陣[Hx1],完成輸入層到隱藏層的數據傳輸,並且在全連接的過程中存在計算的權重。

最終得到矩陣[500x1]

輸出層

我們的詞語大小爲V=10W,隱藏層計算得到矩陣[500x1],要將這[500x1]的計算結果轉化爲[10Wx1],以此來預測第4個詞語是什麼?

得到矩陣[10Wx1],也就是所謂第4個詞ont-hot,最終經過SoftMax激活函數,選取行向量最大值,就是預測詞語。

計算複雜度

(NxD )+ (NxDxH) + (HxV)

文本詞語集大小N,投影矩陣維度D、隱藏層維度H、詞庫大小V

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