*nnlm是從語言模型出發(即計算概率角度),構建神經網路針對目標函式對模型進行最優化,訓練的起點是使用神經網路去搭建語言模型實現詞的**任務,並且在優化過程後模型的副產品就是詞向量。
*進行神經網路模型的訓練時,目標是進行詞的概率**,就是在詞環境下,**下乙個該是什麼詞,目標函式如下式, 通過對網路訓練一定程度後,最後的模型引數就可當成詞向量使用.
*nnlm的網路結構(四層神經網路)如右圖,主要引數有:
[1]詞庫大小(假定有8w個詞)
[2]轉化的詞向量大小(假定為300維長度)
[3]輸入層神經元數(即詞的滑動視窗容量,假定滑窗大小為4)
[4]隱層神經元數量(假定為100個)
[5]輸出層神經元數(對應詞容量,有8w個)
[6]由輸入層到投影層的矩陣c(乙個大的矩陣,大小為8w*300,是最後求解的目的,開始時隨機初始化)
[7]從投影層到隱層的權值矩陣h和偏置矩陣b
[8]從隱層到輸出層的權值矩陣u和偏置矩陣d
*現在咱們針對nnlm模型,由下往上進行分析:
[1]每次從語料庫中滑動4個資料,將其中前三個詞轉為one-hot編碼形式,將三個one-hot形式作為輸入餵入網路。
[2]從輸入到對映層所做的事情是(one-hot向量 * 矩陣c),這裡詞的one-hot編碼會根據為1的位置去對應c矩陣,去抽出對應位置的300維的詞向量,將此向量作為投影層的輸出。
[3]上一步投射層會將詞的one-hot表示表示成300維的稠密向量,從投影層到隱層是一種全連線的連線方式,線的數量是3*100個,每個隱層神經元有3條線相連線,最後使用tan函式結合h與b獲取啟用輸出。
[4]從隱層到輸出層也是一直全連線的形式,連線線數量為100*8w,使用softmax函式結合u與d獲取最後的概率輸出。 [5]計算交叉熵損失函式值,以梯度下降方式進行反向傳播,在反向傳播過程中對引數矩陣c、h、b、u、d進行更新。
*通過不斷的餵入批次資料,對網路進行反向傳播調參,最後訓練出乙個進行詞**任務的模型,並將訓練好模型中的c矩陣裡的每一列都作為,對應於one-hot編碼中位置為1詞的詞向量(大小為1*300),這個詞向量就是我們要轉化的結果。
優點:使用nnlm模型生成的詞向量是可以自定義維度的,維度並不會因為新擴充套件詞而發生改變,而且這裡生成的詞向量能夠很好的根據特徵距離度量詞與詞之間的相似性。
缺點:計算複雜度過大,引數較多(word2vec是一種改進)。
NNLM 神經網路語言模型
簡介 nnlm是從語言模型出發 即計算概率角度 構建神經網路針對目標函式對模型進行最優化,訓練的起點是使用神經網路去搭建語言模型實現詞的 任務,並且在優化過程後模型的副產品就是詞向量。進行神經網路模型的訓練時,目標是進行詞的概率 就是在詞環境下,下乙個該是什麼詞,目標函式如下式,通過對網路訓練一定程...
神經網路語言模型
基於計數的n gram語言模型 出現的問題 1 資料稀疏,有些資料未出現過 2 忽略語義的相關性,如 無聊 與 枯燥 雖然語義相似,但無法共享資訊。詞語表示為 one hot表示法。基於分布式表示的n gram語言模型 出現的問題 1 詞向量 如何將每個詞對映到實數向量空間中的乙個點 2 f函式的設...
神經網路模型
神經網路往往不需要人為的構造資料特徵,因為乙個神經元就可以看做是原始資料的不同特徵的組合,在神經元數目足夠大,層數足夠多的情況下,是很容易準確的進行分類的.神經網路是由具有適應性的簡單單元組成的廣泛並行互連的網路,它的組織能夠模擬生物神經系統對真實世界物體所做出的互動反應 神經元模型 m p神經元模...