來自 Facebook ICML 2017 論文 Efficient softmax approximation for GPUs 。主要用於訓練辭彙表巨大的語言模型。這篇文章還涉及了 GPU 優化方面的知識,很值得一看。
Idea
文中採用的模型可以簡單理解為 LSTM + softmax
想法很簡單,文章的大多數詞都是有辭彙表裡的少數詞構成的,即長尾理論或28原則。而語言模型在預測詞的時候往往需要預測每個詞的概率(通常是softmax),辭彙表可能非常大,低頻詞非常多。
那麼在訓練時完全可以把詞語分成高頻詞和低頻次兩類,先預測詞屬於哪一類,然後再預測具體是哪個詞,這樣簡單的分類就使得softmax的計算量大大減少。
原來是每個詞都要計算一次, 現在是: V(高頻) + P(低頻) * V(低頻), V(高頻) 大大變小, 而 V(低頻 雖然大 但 P(低頻) 很小。