来自 Facebook ICML 2017 论文 Efficient softmax approximation for GPUs 。主要用于训练辞汇表巨大的语言模型。这篇文章还涉及了 GPU 优化方面的知识,很值得一看。
Idea
文中采用的模型可以简单理解为 LSTM + softmax
想法很简单,文章的大多数词都是有辞汇表里的少数词构成的,即长尾理论或28原则。而语言模型在预测词的时候往往需要预测每个词的概率(通常是softmax),辞汇表可能非常大,低频词非常多。
那么在训练时完全可以把词语分成高频词和低频次两类,先预测词属于哪一类,然后再预测具体是哪个词,这样简单的分类就使得softmax的计算量大大减少。
原来是每个词都要计算一次, 现在是: V(高频) + P(低频) * V(低频), V(高频) 大大变小, 而 V(低频 虽然大 但 P(低频) 很小。