1.摘要
統(tǒng)計語言建模的目的是學(xué)習(xí)單詞序列的聯(lián)合概率函數(shù)哗脖。 由于維度的復(fù)雜導(dǎo)致概率函數(shù)計算困難:我們建議用自己的方法來對付它剪撬。 在所提出的方法中官辽,同時學(xué)習(xí)(1)每個單詞的分布式表示(即單詞之間的相似性)以及(2)用這些表示表示的單詞序列的概率函數(shù)蝶棋。 獲得泛化是因為如果由與形成已經(jīng)看到的句子的單詞類似的單詞形成的赐稽,以前從未被看到的單詞序列獲得高概率板甘。 我們報告使用神經(jīng)網(wǎng)絡(luò)進(jìn)行概率函數(shù)的實驗党瓮,在兩個文本語料庫上顯示,所提出的方法在最先進(jìn)的三元模型上非常顯著地改善盐类。
2.介紹
造成語言建模和其他學(xué)習(xí)難題的根本問題是復(fù)雜的維度寞奸。 在這種情況下,當(dāng)想要建立許多離散隨機(jī)變量(如句子中的單詞或數(shù)據(jù)挖掘任務(wù)中的離散屬性)之間的聯(lián)合分布時這種困難特別明顯在跳。 例如枪萄,如果想用10個大小為100000的詞匯V的自然語言對10個連續(xù)詞的聯(lián)合分布進(jìn)行建模,則可能存在(1)個自由參數(shù)猫妙。 語言的統(tǒng)計模型可以由所有先前句子序列中的下一個詞條件概率表示,即(2),wt是第t個詞,句子序列為(3).
當(dāng)建立自然語言的統(tǒng)計模型時瓷翻,可以通過利用單詞排序來減少難度,并且單詞序列中的時間上更接近的詞在統(tǒng)計學(xué)上更具依賴性割坠。因此齐帚,n-gram模型為大量上下文中的每一個構(gòu)成下一個單詞的條件概率表,即最后n個1個詞的組合:p(wtlwf-1)?P(WtIW彼哼!=?+ l)只考慮實際發(fā)生在訓(xùn)練語料庫中(或者經(jīng)常發(fā)生的)連續(xù)單詞的組合对妄。當(dāng)訓(xùn)練語料庫中沒有出現(xiàn)n個單詞的新組合時,會發(fā)生什么情況沪羔?一個簡單的答案是使用較小的上下文大小來查看預(yù)測的概率饥伊,如反向三叉模型[7]或平滑(或內(nèi)插)三元模型[6]象浑。那么在這樣的模型中,泛化是如何從訓(xùn)練語料庫中看到的單詞序列到新的單詞序列呢琅豆?簡單地通過觀察足夠短的上下文愉豺,即通過在訓(xùn)練數(shù)據(jù)中經(jīng)常足夠地看到的長度為1,2或3個字的非常短的片段來獲得長字符序列的概率。顯然茫因,序列中有更多的信息在單詞預(yù)測之前蚪拦,而不僅僅是前幾個單詞的身份。在這種方法中至少有兩個明顯的缺陷(盡管如此冻押,很難被擊敵鄞):首先,它沒有考慮比1或2個字更遠(yuǎn)的語境洛巢,其次沒有考慮到“相似性”之間的話例如括袒,看過句子貓在訓(xùn)練語料庫中走在盥洗室里應(yīng)該有助于我們推廣,使得句子在一個房間里幾乎是可能的稿茉,只是因為“狗”和“貓”(分別是“和”一個“锹锰,”房間“和”臥室“等)具有相似的語義和語法作用。
1.1 用我們的方式來戰(zhàn)勝維度難題
簡而言之漓库,擬議方法的思想可概括如下:
1.與詞匯中的每個單詞相關(guān)聯(lián)的分布式“特征向量”(m維中的實數(shù)向量)恃慧,從而創(chuàng)建詞之間的相似性概念,2.根據(jù)序列中的單詞的特征向量的詞序列來表示單詞的聯(lián)合概率函數(shù) ,以及3.同時學(xué)習(xí)單詞特征向量和該函數(shù)的參數(shù)渺蒿。
特征向量表示單詞的不同層面:每個單詞與向量空間中的一個點相關(guān)聯(lián)痢士。特征的數(shù)量(例如,實驗中的m = 30,60或100)遠(yuǎn)小于詞匯的大小茂装。概率函數(shù)表示為給定前一個詞的下一個詞的條件概率的乘積(例如怠蹂,在實驗中使用多層神經(jīng)網(wǎng)絡(luò))。該函數(shù)具有可以迭代調(diào)整的參數(shù)训唱,以便最大化訓(xùn)練數(shù)據(jù)的對數(shù)似然性或正則化標(biāo)準(zhǔn)褥蚯。通過加重減輕衰減。學(xué)習(xí)與每個單詞關(guān)聯(lián)的特征矢量况增,但可以使用先驗知識進(jìn)行初始化。為什么它能工作训挡?在前面的例子中澳骤,如果我們知道dog和cat扮演著相似的角色(語義上和語法上),并且對于(t he澜薄,a)为肮,(bedroo m,room)肤京,
(is颊艳,was)茅特,(running,walking),我可以從貓在行動在一個房間里棋枕,一只狗在一個房間里運行自然地概括同樣許多其他的組合白修。在所提出的模型中,由于“相似”的詞應(yīng)該具有相似的特征向量重斑,因此概率函數(shù)是這些特征值的平滑函數(shù)兵睛,所以特征的小變化(獲得相似的詞)會引起一個概率的小變化::只看到上述句子之一將不僅會增加句子的概率,而且會增加句子空間(由特征向量序列表示)中的“鄰居”的組合數(shù)窥浪。
1.2與以前工作的關(guān)系
在[3]中已經(jīng)發(fā)現(xiàn)使用神經(jīng)網(wǎng)絡(luò)來模擬高維離散分布的想法是有用的祖很,其中Zl ... Zn的聯(lián)合概率被分解為條件概率的乘積:P(Zl = Zl, Zn = Zn)= Oi P(Zi = zilgi(Zi-1漾脂,Zi-2假颇,...,Zl)),其中g(shù)(.)是由神經(jīng)網(wǎng)絡(luò)的一部分表示的函數(shù)劲装,并且其產(chǎn)生表達(dá)ZI的分布.在四個VCI數(shù)據(jù)集上的實驗表明淘太,這種方法工作相對較好[3,2]镜豹。符號分布式表示的想法在連接主義的早期就提出了[5],最近蓝牲,Hinton的方法被改進(jìn)并成功地在一些代表關(guān)系中被證明[9]趟脂,在語言模型上使用神經(jīng)網(wǎng)絡(luò)的思想也不是新的,例如[8]例衍,相比之下昔期,我們把這個想法大量地推廣到了詞序分布的統(tǒng)計模型,而不是在句子中學(xué)習(xí)詞佛玄。所提出的方法也與以前的方法有關(guān)
------(4)
3. 加速等技巧
縮短列表.
主要原理是將神經(jīng)網(wǎng)絡(luò)的努力集中在具有最高概率的單詞的“縮短列表”上硼一。這可以節(jié)省大量的計算,因為在所提出的兩個結(jié)構(gòu)中梦抢,計算觀察到的下一個字的概率的時間幾乎與詞匯表中的單詞的數(shù)量成線性關(guān)系的時間(因為與詞匯表中的每個單詞i相關(guān)聯(lián)的分?jǐn)?shù)hi必須用softmax計算正確的歸一化概率)般贼。加速技巧的思想如下:沒有計算下一個單詞的實際概率,神經(jīng)網(wǎng)絡(luò)用于計算該短列表中下一個單詞的相對概率奥吩。短列表的選擇取決于當(dāng)前上下文(前面的n個單詞)哼蛆。我們使用我們平滑的三元模型來預(yù)先計算一個包含與前兩個詞相關(guān)聯(lián)的最可能的下一個單詞的簡短列表。因此霞赫,條件概率P(Wt = ilht)如下計算腮介,用ht表示在Wt之前的歷史(上下文)。并且L t是用于預(yù)測Wt的短列表端衰。如果i EL t叠洗,則概率為PNN(Wt = ilWt E Lt甘改,ht)Ptrigram(Wt E Ltlht),否則為Ptrigram(Wt = ilht)灭抑,其中PNN(Wt = ilWt EL t十艾,ht)為歸一化分?jǐn)?shù)通過神經(jīng)網(wǎng)絡(luò)計算的單詞,其中“softmax”僅對短列表Lt中的單詞和Ptrigram(Wt E Ltlht)=?iEL進(jìn)行標(biāo)準(zhǔn)化名挥。 Ptrigram(ilht)疟羹,Ptrigram(ilht)代表由平滑三-gram計算的下一個字概率。請注意禀倔,Lt和Ptrigram(Wt E Ltlht)都可以預(yù)先計算(并存儲在由最后兩個字索引的哈希表中)榄融。-----(5)
表查找以進(jìn)行識別。
為了加快訓(xùn)練模型的應(yīng)用救湖,可以在哈希表中預(yù)先計算神經(jīng)網(wǎng)絡(luò)的輸出愧杯,至少對于最常用的輸入上下文這么做。在這種情況下鞋既,神經(jīng)網(wǎng)絡(luò)只會很少被調(diào)用力九,平均計算時間將非常小。注意邑闺,在語音識別系統(tǒng)中跌前,僅需要計算每個語境中的聲學(xué)歧義詞的相對概率,也能大大降低了計算量陡舅。
隨機(jī)梯度下降抵乓。
由于我們有數(shù)以百萬計的例子,所以重要的是僅在數(shù)據(jù)傳遞之間進(jìn)行匯總靶衍。對于非常大的數(shù)據(jù)集灾炭,隨機(jī)梯度下降收斂時間似乎隨著數(shù)據(jù)集的大小而線性增加(參見下面對Brown與Hansard的實驗)。加速訓(xùn)練使用隨機(jī)梯度三元組颅眶。在Brown最好的神經(jīng)網(wǎng)絡(luò)系統(tǒng)中蜈出,根據(jù)驗證困惑度(在不同的體系結(jié)構(gòu)中嘗試,見下文)涛酗,產(chǎn)生258的困惑度铡原,而平滑的三-gram產(chǎn)生348的困惑度,大約差了35%煤杀。這是使用具有與三元組(條件混合)混合的直接架構(gòu)的網(wǎng)絡(luò)獲得的眷蜈,具有用SVD方法初始化的30個詞特征,40個隱藏單元和n = 5個上下文單詞沈自。在“國會議事錄”中,神經(jīng)網(wǎng)絡(luò)的相應(yīng)數(shù)字為44.8辜妓,平滑三-gram的相應(yīng)數(shù)字為54.1枯途,相差20.7%忌怎。這是一個包含具有直接架構(gòu),100個隨機(jī)初始化的字特征酪夷,120個隱藏單元和n = 8個上下文的字的神經(jīng)網(wǎng)絡(luò)榴啸。
更多的上下文是有用的
用Brown的循環(huán)架構(gòu)做實驗,這個架構(gòu)包括30個單詞特征和30個隱藏單元晚岭,改變上下文單詞的數(shù)量:n = 1(n為2一樣)產(chǎn)生302的測試?yán)Щ蠖扰赣。琻 = 3,困惑度291坦报,n = 5困惑度281库说,n = 8困惑度279(平滑三-gram困惑度348)。
隱藏單元幫助片择。
用Brown的直接架構(gòu)做實驗(輸入到輸出直接連接)潜的,該架構(gòu)具有30個單詞特征,5個單詞的上下文字管,改變隱藏單元數(shù)量:0產(chǎn)生275的測試?yán)Щ蠖龋?0困惑度267啰挪,20困惑度266,40困惑度265,80困惑度265.
共同學(xué)習(xí)單詞特征是重要的。
用Brown的直接架構(gòu)做實驗(40個隱藏單元嘲叔,5個上下文)亡呵,其中單詞特征用SVD初始化,同時在訓(xùn)練期間SVD方法保持固定,產(chǎn)生了345.8的測試?yán)Щ蠖攘蚋辏绻麊卧~特征與其余參數(shù)聯(lián)合訓(xùn)練锰什,則困惑度是265.
初始化不那么有用。
用Brown的兩種架構(gòu)做實驗,實驗表明掏愁,對于隨機(jī)初始化歇由,單詞特征的SVD初始化沒有帶來太多的改進(jìn):它加速初始收斂(節(jié)省大約2個時期),并且產(chǎn)生小于0.3%的困惑度改善果港。
直接架構(gòu)更好一點沦泌。
直接架構(gòu)比循環(huán)架構(gòu)大約要好2%。
有條件的混合有助于神經(jīng)網(wǎng)絡(luò)更好辛掠。
在布朗的架構(gòu)實驗中谢谦,沒有混合的最佳神經(jīng)網(wǎng)絡(luò)產(chǎn)生了265的測試?yán)Щ蠖龋交娜?gram困惑度348萝衩,并且它們有條件混合,困惑度為258(即比兩者更好)回挽。在Hansard的實驗中,改進(jìn)較少:神經(jīng)網(wǎng)絡(luò)產(chǎn)生46.7的困惑度,與三-gram混合(54.1)猩谊,困惑度45.1千劈。
5. 結(jié)論和未來研究
在兩個語料庫上實驗,一個中等的一個0.2萬字)和一個大的(3400萬字)的實驗表明牌捷,所提出的方法比最先進(jìn)的方法產(chǎn)生更好的困惑度墙牌,平滑的三-gram為20%至35%不等涡驮。我們認(rèn)為,這些改進(jìn)的主要原因是喜滨,所提出的方法允許用我們的方法更好的利用所學(xué)習(xí)的分布式表示來抵抗維度災(zāi)難:每個訓(xùn)練句通知模型與其他句子的組合數(shù)量捉捅。請注意,如果我們?yōu)槊總€“上下文”(短序列)都有一個獨立的特征向量虽风,則該模型將具有更多的容量(可以像n-gram那樣增長)棒口,但是它不會自然地在許多不同的方式之間推廣可以使用一個字。更合理的替代方案是探索除單詞之外的語言單元(例如辜膝,一些短單詞序列无牵,或者替代地,一些子詞語單元)内舟。
為了改進(jìn)模型,還有很多需要做,包括在架構(gòu)水平上,計算效率上,更好的利用先驗知識合敦。未來研究的一個重要優(yōu)先事項應(yīng)該是評估和改進(jìn)這里提出的加速技巧,并設(shè)法在不增加培訓(xùn)時間的基礎(chǔ)上增加能力.