鴨川η

Alternative structures for character-level RNNs

メタデータとか

Piotr Bijanowski, Tomas Mikolov, Armand Joulinの論文. First authorがFAIRでインターンしてたときの成果をICLR2016に出したもの.

1行要約: 文字単位のRNNの学習がうまくいくような拡張

本題

表記
  • : ユニークな文字数
  • : ユニークな単語数
  • : 時刻
  • : 時刻 における文字のone-hot表現
  • : 時刻 における単語のone-hot表現
  • : の重み行列
  • : の重み行列
  • : 時刻 の隠れ層
  • : 時刻 の予測値 (: 時刻 の文字)
  • : 現在予測している文字を含む単語の1時刻前のRNNの中間層.実験では200次元.
  • : の重み行列.
  • : 時刻 における中間層
  • : n-gramのone-hot表現.ただし, 個未満十分な頻度のあるn-gramのみ.(nzw: 違うかもしれない)

ベースとなるモデル

次の文字を予測する際の中間層の計算は次のようになる.

このモデルでは,文字が単位なので記憶する長さが単語単位と比較して長くなりやすい. 中間層を十分にとれば単語単位のモデルと同じくらいの学習ができるが,計算量が増えるため好ましくない. というわけで2つのモデルを提案しているのがこの論文.

Conditioning on Words

提案モデルの1つ目.

中間層の式を次のようにして単語の情報も利用する.

ベースとなるモデルでは文字についてのRNNしかなかったが,ここでは単語についてのRNNも加えている. は, を含んでいる単語 の一つ前の単語 における単語RNNの中間層である.

単語の情報をすべて使うとsoftmaxの計算が重いので, 階層softmaxを使い,かつ単語は頻度順に3000~5000単語くらいしか使わないものとする.

Conditioning Prediction on Recent History

Conditioning on Wordsでは単語のRNNを加えたが,それをしないのが提案モデルの2つ目. ここでは,学習するパラメータの少ない文字だけのRNNを使いつつ文脈情報を加えるために,n-gramを使う. 中間層は,ベースとなるモデルのままで,出力層の計算にn-gramのone-hot表現 をかける. ただし, として複数のn-gramが該当する場合は,長い方を優先.

ただし, はテンソル.

実験

特徴だけまとめると

  • 同じ実行時間の文字RNNよりもentropyが小さい
  • 2つ目のモデルは,文字RNNと比較して中間層が200-500で変えた時に落ち幅が少ない

雑感

テンソル がよくわかっていない.

余談

ICLR2015で今回紹介した1つ目のネットワークと類似した構造のネットワークが提案されている (Learning Longer Memory in Recurrent Neural Networks).