論文分享-語言模型-1-Breaking the Softmax Bottleneck:A High-Rank RNN Language Model
04-19
轉眼間,論文分享的第二次也結束了,主題是語言模型,這次也是兩篇,這裡是第一篇。
- 背景
- 語言模型和矩陣分解
- 參數化的語言模型可以近似為 context矩陣和word矩陣的乘積, 兩邊的秩近似相等
- LM中word的秩一般是幾百上千,而LM自身的秩 遠遠不止,word矩陣的秩限制了乘積的秩 - softmax bottleneck
- Motivation
- 解決softmax bottleneck來提升LM性能
- 難點
- 為了改善LM的softmax bottleneck,使用ngram語言模型?/ 增大??都會大幅增加參數數量
- Insight
- 線性的矩陣分解->非線性的log_sum_exp可以構建高秩LM
- 模型
- Mixture of Softmaxes (MoS)
- 1個softmax->K個softmax

- baseline:Mixture of Contexts (MoC)
- 為了證明模型的提升確實是由於秩帶來的,構造一個參數相同但秩不變的baseline
- MoS與MoC的區別僅在softmax的位置

- 實驗結果
- 小測試集


- 大測試集
- 結果分析
- MoS提升了Rank
- 取T個時刻的輸出概率向量,組成矩陣,類比於LM矩陣
- 計算矩陣的Rank
- MoS->幾乎滿秩
- Softmax和MoC->受限於embedding size
- Rank與Perplexity
- 保持其他參數不變,增加mixture數目,觀察PPL
- Rank飽和?->否->PPL正相關(表達能力增強)
- Rank飽和?->是->PPL負相關(過擬合)
- 缺點
- 速度
- LM中最耗費時間的是輸出層,而MoS要計算K個輸出層
- 在實際任務,比如NMT中,甚至可能為了提高速度,降低projection的大小
- 顯存
- LM中最耗費顯存的是輸出概率,而MoS要存儲K個概率
- 顯存一定的情況下,必須減小batchsize,進一步降低了速度

- 結論
- 為了解決LM中word矩陣的秩限制了整體的秩帶來的softmax bottleneck問題,本文引入Mixture of Softmaxes非線性log_sum_exp的方法來構建高秩LM
- MOS在多個測試集上都比基線系統效果要好,且在大測試集上效果更顯著
- MOS由於使用了多個輸出層,會佔用較多的顯存,速度也會變慢
推薦閱讀:
※簡單的Char RNN生成文本
※CW-RNN 收益率時間序列回歸
※開源代碼「All in One」:6 份最新「Paper + Code」等你復現 | PaperDaily #12
※追根溯源:深度學習架構譜系
※循環神經網路(RNN)介紹3:RNN的反向傳播演算法Backpropagation Through Time (BPTT)
TAG:深度學習DeepLearning | 神經網路語言模型 | RNN |



