作者
Tomas Mikolov
Martin Karafiat
Lukas Burget
Jan “Honza” Cernock
Sanjeev Khudanpur
摘要
塊引用表示評(píng)論。
本文提出了一個(gè)基于 RNN 的語言模型(RNN LM)。實(shí)驗(yàn)表明與 backoff 語言模型相比,困惑度(perplexity)可能下降 50% 。
簡(jiǎn)單直接提出 RNN LM ,使用大量實(shí)驗(yàn)證明和 n-gram 相比效果不錯(cuò)(缺點(diǎn)是訓(xùn)練復(fù)雜度比較高)。
由于模型比較簡(jiǎn)單,因此在最后的評(píng)論中直接概括一下。這篇論文的引言寫得十分精彩,對(duì)問題的分析一針見血。(當(dāng)然說得這么堅(jiān)定也有實(shí)驗(yàn)效果撐著呢,想必下筆的時(shí)候也是激動(dòng)萬分。)我十分喜歡,主要呈現(xiàn)一下這部分。
引言
構(gòu)建語言模型,就是處理序列預(yù)測(cè)問題(sequential data prediction)。然而,很多自然語言方法都針對(duì)于特定的語言領(lǐng)域(very specific for language domain):假設(shè)自然語言可以使用分析樹(parse tree)來表示,需要考慮詞的形態(tài)學(xué)(morphology)、語法和語義。即使是基于 n-gram 的最通用的模型,也進(jìn)行了假設(shè):語言是由原子性的符號(hào)(也就是單詞)序列(也就是句子)所組成的。句子的結(jié)尾起著十分重要且特殊的作用。
特定于語言領(lǐng)域這個(gè)觀察十分有道理。 n-gram 以句子為單位本身已經(jīng)帶有很強(qiáng)的假設(shè),給予了“句子”一個(gè)很高的地位,因此也就無法對(duì)句間關(guān)系建模。然而衡量語言模型好像沒有不用句子假設(shè)的,即使是下面提出的 RNN 也是如此。這一段可能是為了反襯 RNN 的泛用性。
對(duì)簡(jiǎn)單的 n-gram 研究到底有沒有取得顯著進(jìn)步,值得懷疑。如果從序列預(yù)測(cè)數(shù)據(jù)的角度來看,的確取得了很大進(jìn)步。主要靠 cache models (描述長(zhǎng)語境信息)和 class-based models (通過相似詞之間共享參數(shù)改進(jìn)短語境的參數(shù)估計(jì))。其他進(jìn)步大多能歸結(jié)到這兩類的效果上。
如果從實(shí)際應(yīng)用的角度來看,那么幾乎沒有進(jìn)展。真實(shí)世界中的語音識(shí)別和機(jī)器翻譯的系統(tǒng)都是建立在大量的數(shù)據(jù)上的,一種流行的說法是我們只需要更多的數(shù)據(jù)就夠了。學(xué)術(shù)界的模型通常很復(fù)雜并且僅僅在基于數(shù)量十分有限的數(shù)據(jù)集上效果才好。事實(shí)上,大多數(shù)的先進(jìn)技術(shù)只比簡(jiǎn)單的 baseline 提高了一點(diǎn),且很少在實(shí)際中使用。
滿滿的即視感。不過 RNN 帶來的提升的確離現(xiàn)實(shí)應(yīng)用近了一大步。
評(píng)論
模型
本篇的模型十分樸素,是一個(gè)簡(jiǎn)單的三層 RNN 。Token 使用的是 one-hot 編碼。輸入層使用單詞編碼和隱藏層進(jìn)行拼接。隱藏層使用 sigmoid 激活函數(shù),輸出層使用 softmax 。訓(xùn)練算法是 truncated backpropagation through time , SGD 。如果沒有明顯改善,學(xué)習(xí)率每個(gè) epoch 減半。
Dynamic
模型中一個(gè)比較有趣的地方(也是讀這篇論文的原因)是使用了 dynamic 的方法。主要區(qū)別于傳統(tǒng)的 static 方法。Static 指的是模型在訓(xùn)練階段結(jié)束之后,將參數(shù)固定,在測(cè)試過程中不再改變。Dynamic 方法則是在測(cè)試時(shí),利用訓(xùn)練的真實(shí)標(biāo)簽繼續(xù)更新參數(shù)。
這種做法的一個(gè)結(jié)果是不再顯式地區(qū)分訓(xùn)練集與測(cè)試集,因?yàn)樗械臄?shù)據(jù)都只處理一次。
(Graves, 2013)[1] 中指出了 dynamic evaluation 比本篇論文報(bào)告的效果更好。
作者指出,效果和 cache 類似,但由于其在連續(xù)空間中學(xué)習(xí),如果兩個(gè)詞之間聯(lián)系比較緊密,那么測(cè)試數(shù)據(jù)中一個(gè)單詞的頻繁出現(xiàn)也會(huì)提高另一個(gè)單詞出現(xiàn)概率。
另一篇專注研究 dynamic evaluation 的論文解讀請(qǐng)看 {% post_link dynamic-evaluation 這里 %}。
全文
作者認(rèn)為 RNN 相比于 Bengio [3][2] 中的 FNN 的主要優(yōu)勢(shì)在于沒有指定固定的語境,而是使用隱藏層的狀態(tài)概括之前所有的語境信息。優(yōu)點(diǎn)包括需要指定的超參數(shù)數(shù)量少,通用性強(qiáng)。缺點(diǎn)是難以捕捉長(zhǎng)依賴問題,早在 1994 年的 [6][3] 中就已經(jīng)指出了。解讀請(qǐng)看這篇博客 。
本篇將 RNN LM 引入 NLP ,使用的是最樸素的模型(本文發(fā)表于 2010 年)。實(shí)驗(yàn)發(fā)現(xiàn)其效果遠(yuǎn)好于(各種) n-gram 。(從之后的發(fā)展來看,幾乎將 n-gram 送入歷史的廢紙堆了)。這一巨大的提升,打破了語言模型是關(guān)于各種 n-gram 以及只要有大量的數(shù)據(jù)就可以提升效果的神話。(結(jié)果現(xiàn)在出現(xiàn)了各種復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型,以及只要有大量數(shù)據(jù)就可以提升效果的神話x)
-
Graves, Alex. "Generating sequences with recurrent neural networks." arXiv preprint arXiv:1308.0850 (2013). ?
-
Yoshua Bengio, Rejean Ducharme and Pascal Vincent. 2003. A
neural probabilistic language model. Journal of Machine Learning
Research, 3:1137-1155 ? -
Yoshua Bengio and Patrice Simard and Paolo Frasconi. Learning Long-Term Dependencies with Gradient Descent is Difficult.
IEEE Transactions on Neural Networks, 5, 157-166. ?