神經(jīng)網(wǎng)絡(luò)語言模型(NNLM)

首先看一個(gè)例子:

ztc/ 上下/ 齊/ 拼搏/ ,誓為/ 春戰(zhàn)/ 做/ 貢獻(xiàn)

這句話呢通順,意思明白,那如果換一下詞的位置:

上下/ 齊/ 拼搏/ ztc/ ,春站/ 做/ 貢獻(xiàn)/ 誓為

意思含糊了,但是大概意思還是能猜到,那如果在變換一下:

拼搏/ 齊/ ztc/ 上下/ ,貢獻(xiàn)/ 誓為/ 做/ 春戰(zhàn)

現(xiàn)在這句話已經(jīng)不知所云了,如何判斷這個(gè)由詞序組成的序列是否符合文法、含義是否正確?

統(tǒng)計(jì)語言模型:一個(gè)句子是否合理,就看他的可能性的大小,即他的概率大小。

假設(shè)一個(gè)句子S,由一連串特定順序的詞W1, W2,...WT 組成,T是句子中詞的個(gè)數(shù),則S出現(xiàn)的概率P(S) = P(w1, w2,...wT)

利用條件概率公式展開:

P(w1,w2,..wT) = P(w1)P(w2|w1)P(w3|w1,w2)...P(wT|w1,w2,..wT-1)

即:

當(dāng)語料中詞典大小為100,000,句子平均長(zhǎng)度為5時(shí),需要學(xué)習(xí)的參數(shù)大概100000 * 5 -1 個(gè),為了降低計(jì)算復(fù)雜度,并考慮到詞序列中離的更近的詞通常在語義上也更相關(guān),所以在計(jì)算時(shí)可以通過只使用前面n-1個(gè)詞來近似計(jì)算,即n-grams:

n-grams存在的問題:1.泛化時(shí)常常有訓(xùn)練語料中沒有出現(xiàn)過的詞序列;2.沒有考慮詞之間的相似性。

NNLM

Neural architecture

1.對(duì)詞庫里的每個(gè)詞指定一個(gè)分布的詞向量
2.定義聯(lián)合概率(通過序列中詞對(duì)應(yīng)的詞向量
3.學(xué)習(xí)詞向量和概率函數(shù)的參數(shù)

why it works?
如果我們已知 “走” 和 “跑” 是相似詞,那很容易通過 ”貓?jiān)谖堇锱堋?推出 “貓?jiān)谖堇镒摺?,因?yàn)橄嗨频脑~會(huì)有相似的詞向量,而且概率函數(shù)是特征的平滑函數(shù),所以特征的微小變化,只會(huì)對(duì)概率值產(chǎn)生一個(gè)很小的影響。即:1.相似詞在特征空間距離更接近;2.概率函數(shù)是一個(gè)相對(duì)平滑的函數(shù),對(duì)特征值的變化不是非常敏感。
所以訓(xùn)練語料中句子的出現(xiàn)不光增加了自身的概率,也增加了他與周圍句子的概率(句子向量空間)
目標(biāo):f(wt ,··· ,wt?n+1) = P?(wt |w1,w2,..wt-1 )
約束:
1 , ∑ |V| i=1 f(i,wt?1,··· ,wt?n+1) = 1
2.f>0
通過得到的條件概率進(jìn)行相乘,得到詞序列的聯(lián)合概率

模型被分成二部分:
1.特征映射:通過映射矩陣 C∈R ∣V∣×m
將輸入的每個(gè)詞映射為一個(gè)特征向量,C(i)∈Rm 表示詞典中第 i 個(gè)詞對(duì)應(yīng)的特征向量,其中 m 表示特征向量的維度。
2.概率函數(shù)g。通過context中詞的詞向量來映射下一個(gè)詞的條件概率。g的輸出是一個(gè)向量,其中第i個(gè)元素表示了字典中第i個(gè)詞的概率。完整的模型表達(dá)如下:

   f(i,wt?1,··· ,wt?n+1) = g(i,C(wt?1),··· ,C(wt?n+1))

函數(shù)f由兩個(gè)映射(g and c)組成,其中c由所有的上下文共享。

訓(xùn)練過程中的參數(shù)就由兩個(gè)映射組成,設(shè) g 對(duì)應(yīng)參數(shù)為w,c映射的參數(shù)就是自身,則 θ=(c, w)

訓(xùn)練過程就是學(xué)習(xí)θ的最大似然:

其中R(θ) 是正則項(xiàng)。

模型中參數(shù)與字典大小V成線性關(guān)系,且與n(n-grams)成線性關(guān)系,不過可以通過共享結(jié)構(gòu)降低參數(shù)數(shù)量,如延時(shí)神經(jīng)網(wǎng)絡(luò)或循環(huán)神經(jīng)網(wǎng)絡(luò)。
實(shí)驗(yàn)中,神經(jīng)網(wǎng)絡(luò)層只有一個(gè)隱層,有一個(gè)可選的詞向量到輸出的直連層,實(shí)際上就有兩個(gè)隱層,一個(gè)共享的詞向量C 層,該層沒有激活函數(shù),還有一個(gè)tanh激活函數(shù)的隱層;最后的輸出層是一個(gè)softmax層,來保證所有結(jié)果的和為1:


注意:第一層是沒有非線性激活函數(shù)的,因?yàn)榉蔷€性激活函數(shù)會(huì)帶來其他信息(聯(lián)想神經(jīng)網(wǎng)絡(luò)中非線性激活函數(shù)),而正是這種直接的線性變換,才能讓第一層的參數(shù)來作為詞向量
用yi表示每個(gè)輸出詞的對(duì)數(shù)概率,則
y = b+Wx+U tanh(d +Hx)
其中x是詞向量的拼接,x = (c(wt-1),c(wt-2),c(wt-n+1))

并行
參數(shù)與輸入的窗口大小和字典的大小成線性,但是計(jì)算量卻比n-grams 要大很多,首先n-grams中不需要每次都計(jì)算所有詞的概率,只需要相關(guān)詞頻的線性組合,另外神經(jīng)網(wǎng)絡(luò)中主要瓶頸是輸出層的激活計(jì)算。

out-of-vocabulary word
首先根據(jù)窗口上下文可能出現(xiàn)的詞,進(jìn)行加權(quán)求和初始化新詞的詞向量,然后將新詞 j 加入字典,然后利用這部分?jǐn)?shù)據(jù)集重新訓(xùn)練,進(jìn)行retune.

后續(xù)工作
1,分解網(wǎng)絡(luò)到子網(wǎng)絡(luò),如使用詞聚類,構(gòu)建許多小的子網(wǎng)絡(luò)可能更快更簡(jiǎn)單
2,用樹結(jié)構(gòu)來表達(dá)條件概率:神經(jīng)網(wǎng)絡(luò)作用在每一個(gè)節(jié)點(diǎn)上,每個(gè)節(jié)點(diǎn)代表根據(jù)上下問得到該詞類的可能性,葉子節(jié)點(diǎn)代表詞的可能性,這種結(jié)構(gòu)可以將計(jì)算復(fù)雜度從|v| 降低到 log|v|
3,梯度傳播時(shí)可以只在部分輸出詞上進(jìn)行,如某些條件下最相似的(如三元模型)。如果用在語音識(shí)別,可以只計(jì)算聽覺上相似的詞。
4,引入先驗(yàn)知識(shí),如語義信息和語法信息。通過在神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中共享更多的結(jié)構(gòu)與參數(shù),可以捕獲長(zhǎng)期的上下文信息,
5,如何解釋神經(jīng)網(wǎng)絡(luò)得到的詞向量
6,上述模型對(duì)每個(gè)單詞分配一個(gè)在語義空間的點(diǎn),所以無法解決一詞多義問題。如何擴(kuò)展當(dāng)前模型,在語義空間中為詞分配多個(gè)點(diǎn)來代表詞的不同語義。

作者提出的后續(xù)工作中,目前是很多人的研究方向,一些已經(jīng)被證明有效。

第一個(gè),優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),提到了從數(shù)據(jù)方向,構(gòu)建更多的子網(wǎng)絡(luò),還可以直接對(duì)網(wǎng)絡(luò)結(jié)構(gòu)本身進(jìn)行優(yōu)化,如word2vec,將神經(jīng)網(wǎng)絡(luò)層去掉;
第二個(gè),由于計(jì)算瓶頸在計(jì)算output的概率(對(duì)每個(gè)詞計(jì)算概率,需要softmax歸一化),所以提出可以通過樹結(jié)構(gòu),來避免直接對(duì)所有詞進(jìn)行計(jì)算,如 Hierarchical Softmax
第三個(gè)也是在計(jì)算輸出時(shí),只通過一部分詞來進(jìn)行梯度傳播,如負(fù)采樣
第四個(gè)是通過共享結(jié)構(gòu),來捕獲更多上下文信息,如GPT,Bert
第五個(gè)是如何解釋,也是目前很多人的研究方向
第六個(gè)是一次多義的解決方法,如ELMO
參考:

http://www.iro.umontreal.ca/~vincentp/Publications/lm_jmlr.pdf

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容