読者です 読者をやめる 読者になる 読者になる

MGUとかSGUといったLSTMの派生版をTensorFlowで実装したので、まとめておく

それぞれは以下の通り:

これらは基本的にLSTMの構造を簡略化して、LSTMブロック内のパラメータ(重み行列)の数を減らしている。例えばMGUはLSTMの約半分のパラメタ数になっている。こうすることで可視化や解析がしやすくなったり、学習時間やデコードの時間が減らせるので嬉しいらしい。今回の実装自体はTensorFlowのGRUCellを少しいじるだけであり、簡単である。ちなみに上記論文で比較対象に挙がっているGRU (Gated Recurrent Unit) はパラメタ数的にLSTMの約3/4になっている。

LSTMの各構成要素(ゲートとか)のうち、どれが一番性能が効くのか、ということをきちんと調べた論文は以下。
An Empirical Exploration of Recurrent Network Architectures
この論文によれば、性能を一番左右するのはForget gateだそうで、またForget gateのbiasは1.0にすると良いらしい。TensorFlowにおけるLSTM実装は既にそうなっている。上記各ネットワークアーキテクチャにおいて、簡略化されても残るのはForget gateの機能だったりする。

これら以外にも構造を簡略化した論文はあるのかしら?きっとあるだろうから、色々と勉強したいものである。