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