論文分享-語言模型-1-Breaking the Softmax Bottleneck:A High-Rank RNN Language Model

轉眼間,論文分享的第二次也結束了,主題是語言模型,這次也是兩篇,這裡是第一篇。

  • 背景
    • 語言模型和矩陣分解
      • 參數化的語言模型可以近似為 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 |