[1707.05589] On the State of the Art of Evaluation in Neural Language Models

自然言語処理 深層学習

概要

Neural Language Model のSOTAなアーキテクチャを同じ環境で比較実験をする

Models

  1. Long Short-Term Memory (LSTM) (Hochreiter & Schmidhuber, 1997)
  2. Recurrent Highway Network (RHN) (Zilly+, 2016)
  3. NAS (Zoph & Le, 2016)

Dataset

  1. Penn Treebank (Marcus+, 1993), preprocessed (Mikolov+, 2010)
  2. Wikitext-2 (Merity+, 2016)
  3. Enwik8 from the Hutter Prize dataset (Hutter, 2012)

内の最初の90M文字を train に用いて残りの10M文字で validation と test を作った.

Training

Penn Treebank と Wikitext-2 には以下の通りにする.

Enwik8 は char-level にしたいので以下のように変える

Evaluation

validation での perlexity が best の時点のモデルで評価する. 評価時には batch size は 1 にする. Word-level だと, 訓練のときのバッチサイズのままにすると 0.3 PPL くらい悪くなる. Char-level だと影響は無いのでどうでも良いらしい.

Hyperparameter tuning

Google Vizier (Golovin+, 2017) を使う. こいつはブラックボックス最適化をしてくれる. 簡単のために以下に限って最適化をした:

  1. learning rate
  2. input embedding ratio
  3. input dropout
  4. state dropout
  5. output dropout
  6. weight decay

Results

論文報告との比較. Perplexity なので小さい方が良い (PPL\(=2^H\)).

パラメータを注意深く選べば報告よりも良くなる.