Quasi-Recurrent Neural Network (QRNN)

深層学習

RNN と言えば LSTM だが、とにかく学習 (1回の逆伝播) が遅い. また、ユニットの状態を見て一体どんな特徴を捉えているのかの分析も難しい. QRNN はこれら2つを解決する.

手法

入力は系列:

\[x_1, x_2, \ldots, x_t, \ldots, x_T\]

\(x_i\) はベクトル \(\mathbb{R}^n\).

次のようにして、LSTMライクなことをする.

  1. Convolution
  2. Pooling

\[c_t = f_t \odot c_{t_1} + i_t \odot z_t\] \[h_t = o_t \odot c_t\]

どれを省略するかによって、\(\mathit{f}\)-pooling, \(\mathit{fo}\)-pooling, \(\mathit{ifo}\)-pooling と呼ぶ.

系列に沿った逆伝播は pooling のところだけだけど、LSTM と異なってただの掛け算だけなので、 マシな計算量で済むのが特長.

Dropout

\(f_{tj} = 1, i_{tj} = 0\) なる要素があれば、時刻 \(t\) の成分 \(j\) は落ちる.