論文筆記 | Recurrent neural network based language model

作者

Tomas Mikolov
Martin Karafiat
Lukas Burget
Jan “Honza” Cernock
Sanjeev Khudanpur

摘要

塊引用表示評論。

本文提出了一個基於 RNN 的語言模型(RNN LM)。實驗表明與 backoff 語言模型相比,困惑度(perplexity)可能下降 50% 。

簡單直接提出 RNN LM ,使用大量實驗證明和 n-gram 相比效果不錯(缺點是訓練複雜度比較高)。
由於模型比較簡單,因此在最後的評論中直接概括一下。這篇論文的引言寫得十分精彩,對問題的分析一針見血。(當然說得這麼堅定也有實驗效果撐着呢,想必下筆的時候也是激動萬分。)我十分喜歡,主要呈現一下這部分。

引言

構建語言模型,就是處理序列預測問題(sequential data prediction)。然而,很多自然語言方法都針對於特定的語言領域(very specific for language domain):假設自然語言可以使用分析樹(parse tree)來表示,需要考慮詞的形態學(morphology)、語法和語義。即使是基於 n-gram 的最通用的模型,也進行了假設:語言是由原子性的符號(也就是單詞)序列(也就是句子)所組成的。句子的結尾起着十分重要且特殊的作用。

特定於語言領域這個觀察十分有道理。 n-gram 以句子爲單位本身已經帶有很強的假設,給予了“句子”一個很高的地位,因此也就無法對句間關係建模。然而衡量語言模型好像沒有不用句子假設的,即使是下面提出的 RNN 也是如此。這一段可能是爲了反襯 RNN 的泛用性。

對簡單的 n-gram 研究到底有沒有取得顯著進步,值得懷疑。如果從序列預測數據的角度來看,的確取得了很大進步。主要靠 cache models (描述長語境信息)和 class-based models (通過相似詞之間共享參數改進短語境的參數估計)。其他進步大多能歸結到這兩類的效果上。

如果從實際應用的角度來看,那麼幾乎沒有進展。真實世界中的語音識別和機器翻譯的系統都是建立在大量的數據上的,一種流行的說法是我們只需要更多的數據就夠了。學術界的模型通常很複雜並且僅僅在基於數量十分有限的數據集上效果纔好。事實上,大多數的先進技術只比簡單的 baseline 提高了一點,且很少在實際中使用。

滿滿的即視感。不過 RNN 帶來的提升的確離現實應用近了一大步。

評論

模型

本篇的模型十分樸素,是一個簡單的三層 RNN 。Token 使用的是 one-hot 編碼。輸入層使用單詞編碼和隱藏層進行拼接。隱藏層使用 sigmoid 激活函數,輸出層使用 softmax 。訓練算法是 truncated backpropagation through time , SGD 。如果沒有明顯改善,學習率每個 epoch 減半。

Dynamic

模型中一個比較有趣的地方(也是讀這篇論文的原因)是使用了 dynamic 的方法。主要區別於傳統的 static 方法。Static 指的是模型在訓練階段結束之後,將參數固定,在測試過程中不再改變。Dynamic 方法則是在測試時,利用訓練的真實標籤繼續更新參數。

這種做法的一個結果是不再顯式地區分訓練集與測試集,因爲所有的數據都只處理一次。

(Graves, 2013)[1] 中指出了 dynamic evaluation 比本篇論文報告的效果更好。

作者指出,效果和 cache 類似,但由於其在連續空間中學習,如果兩個詞之間聯繫比較緊密,那麼測試數據中一個單詞的頻繁出現也會提高另一個單詞出現概率。

另一篇專注研究 dynamic evaluation 的論文解讀請看 {% post_link dynamic-evaluation 這裏 %}。

全文

作者認爲 RNN 相比於 Bengio [3][2] 中的 FNN 的主要優勢在於沒有指定固定的語境,而是使用隱藏層的狀態概括之前所有的語境信息。優點包括需要指定的超參數數量少,通用性強。缺點是難以捕捉長依賴問題,早在 1994 年的 [6][3] 中就已經指出了。解讀請看這篇博客

本篇將 RNN LM 引入 NLP ,使用的是最樸素的模型(本文發表於 2010 年)。實驗發現其效果遠好於(各種) n-gram 。(從之後的發展來看,幾乎將 n-gram 送入歷史的廢紙堆了)。這一巨大的提升,打破了語言模型是關於各種 n-gram 以及只要有大量的數據就可以提升效果的神話。(結果現在出現了各種複雜的神經網絡模型,以及只要有大量數據就可以提升效果的神話x)


  1. Graves, Alex. "Generating sequences with recurrent neural networks." arXiv preprint arXiv:1308.0850 (2013).

  2. Yoshua Bengio, Rejean Ducharme and Pascal Vincent. 2003. A
    neural probabilistic language model. Journal of Machine Learning
    Research, 3:1137-1155

  3. 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.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章