以下の論文を読みます。
Kyungwoo Song, Joonho Jang, Seung jae Shin, Il-Chul Moon. Bivariate Beta LSTM. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 34, 2020. [1905.10521] Bivariate Beta-LSTM
昨日のあらすじはこうでしょうか。
- LSTM のシグモイド型ゲートは、結局効果的に開閉しない(ゲートの値が0~1の間を動くというよりはほんの少ししか動かない)ことがあるし、入力ゲートと忘却ゲートは互いがどうなっているかを全く考慮していない。
- なお、このような問題意識で、過去に以下のようなゲートが提案されている。
- 温度パラメータ付きシグモイド型ゲート(シグモイド関数をステップ関数に近くする)
- G2-LSTM(入力ゲートと忘却ゲートが確率的に 0 か 1 を取る)
- CIFG-LSTM(入力ゲートと忘却ゲートが完全に -1 の相関をする)
- RNN におけるドロップアウト。
- Variational RNN(VRNN)。
- 確率的ゲート → 詳細は後述。
まあ、確率的な要素を取り入れて新しいことができるようになった例だと捉えればいいんじゃないのかな。次の段落からゲートの話になるけど、最初にパラメータを削減した話として以下が引用されているね。
この Simple Recurrent Unit: SRU(下図)は GRU 同様に自然言語処理の研究から提案されたネットワーク構造なんだね。ゲートが2つに集約されている点は GRU に似ているけど、GRU と違って出力と記憶セルが分離しているな…でも LSTM と違って前回のステップの出力は使用していない。出力が入力と記憶の線形和というのはかなり制約されているようにみえるけど、名前の通りこれ単体じゃなくてネットワーク構造の構成ユニットとして補助的に使うものなのかな。アブストラクトに Transformer に組み合わせることで翻訳タスクの精度を向上させたとあるね。LSTM | GRU | SRU | |
---|---|---|---|
記憶セルと出力が分離しているか | 出力とは別に記憶セルを設置する | もう記憶セルを出力として使用する | やっぱり記憶セルから出力を分離する |
記憶セルに足し合わせるもの(※)は | 入力と前回出力の線形変換の和を活性化したもの | 入力と前回出力をリセットゲートに通したものの線形変換の和を活性化したもの | 入力の線形変換 |
記憶セルと ※ の混合比を決めるのは | 忘却ゲート(記憶セル側)、入力ゲート(※ 側) | 更新ゲート | 忘却ゲート |
出力するのは | 記憶セルを活性化して出力ゲートに通したもの | 記憶セルをそのまま出力 | 記憶セルと入力をリセットゲートが決める混合比で混合したもの |
まとめると | 記憶セルを活用しながら現在のコンテクストを出力する | 記憶セルを現在のコンテクストによせる | コンテクストを出力するというより入力を modify する |