それぞれは以下の通り(ただしTensorFlow 0.12でのみ動作確認):
- MGU (Minimal Gated Unit)
- S-LSTM (Simplified LSTM)
- SGU (Simple Gated Unit)
- Delta RNN
- SRU (Simple Recurrent Unit)
- MinimalRNN
これらは基本的にLSTMの構造を簡略化して、ゲートやパラメータ(重み行列)の数を減らしている。例えばMGUはLSTMの約半分のパラメタ数になっている。こうすることで可視化や解析がしやすくなったり、学習時間やデコードの時間が減らせるので嬉しい。また、パラメタ数削減によりL1正則化と類似した効果も期待できるだろう(ホントに?)。ちなみに上記論文で比較対象に挙がっているGRU (Gated Recurrent Unit) はパラメタ数的にLSTMの約3/4になっている。
LSTMの各構成要素(ゲートとか)のうち、どれが一番性能が効くのか、ということをきちんと調べた論文は以下が挙げられる。
これら論文によれば、性能を一番左右するのはForget gateだそうで、またForget gateのbiasは1.0にすると良いらしい。TensorFlowにおけるLSTM実装は既にそうなっている。上記各ネットワークアーキテクチャにおいて、簡略化されても残るのはForget gateの機能だったりする。