最近のニュースで『Transformerが主流になっても、音声処理や軽量モデルではLSTMが現役』という話題が出ていました。今日はLSTMとGRUという、RNNの進化形を扱います。現代でもエッジAIで活躍する重要なアーキテクチャです。
あらあら、つむぎさんがまた論文を読んでいたそうね。
最新のAIニュースでも、エッジデバイス向けのモデルにはまだLSTMが多いという話があったけれど、今日はその根本を押さえましょう。
つまり、通常のRNNでは長い文章の冒頭の情報が消えてしまう 勾配消失問題 を、LSTMがどう解決したのか、という回ですね。
そう。
LSTM (Long Short-Term Memory) は1997年にHochreiterらが提案したもので、『ゲート機構』を導入したの。
忘却ゲート・入力ゲート・出力ゲートの3つで、どの情報を覚え、どれを忘れ、どれを出力するかを制御するのよ。
ゲートって、門番みたいなやつ? あたし細かいとこはわかんないけど、イメージは湧きそう!
まさに門番よ。
『この情報は通してよし、こっちは忘れなさい』と選別するの。
おかげで長い文脈でも重要な情報を保てるのね。
セル状態という『長期記憶用の専用通路』もあって、そこを通じて過去の重要情報を先まで運べるのが大きな違いなの。
ぽわわ……大事なものだけしまっておく宝箱みたいですぅ……。
でもさ、ゲート3つって多くない? もっとシンプルなのは無いの?
良い着眼点。
GRU (Gated Recurrent Unit) はLSTMを簡略化したモデルで、ゲートがリセットゲートと更新ゲートの2つだけ。
パラメータが少ないので計算が速く、タスクによってはLSTMと同等の性能を発揮するの。
GRUは2014年にCho らが提案しました。
機械翻訳の論文で初めて登場したのも覚えやすい話題ですね。
えへへ、歴史で覚えるの、ましろ得意かもしれませんぅ! 年号と一緒に人物もセットで覚えますぅ!
今はTransformerが主流だけど、音声認識・音声合成・軽量な時系列予測では今もLSTMが現役で活躍しているわ。
リアルタイム処理が必要な場面では、並列処理が難しいTransformerよりLSTMが好まれることもあるの。
実装面でも、PyTorch や TensorFlow に nn.LSTM / nn.GRU として標準実装されていて、すぐ使えます。
産業界でも今なお広く使われている技術ということですね。
つまり、TransformerがすごくてもLSTMが引退したわけじゃないってことか〜! なるほど〜!
そう、それぞれに得意な場面があるのよ。
試験では『LSTM = ゲート機構で長期依存を学習可能』と『GRU = LSTMの簡略版』のセットで押さえておきましょう。
確認クイズ
LSTMが通常のRNNに対して改善した最大のポイントはどれか?
- 計算速度を大幅に向上させた
- 長期的な依存関係を学習できるようにした
- 画像も処理できるようにした
- 教師データなしで学習できるようにした
こたえを見る
正解: 2. 長期的な依存関係を学習できるようにした
LSTMはゲート機構 (忘却・入力・出力) を導入することで勾配消失問題を緩和し、長い系列の中の長期的な依存関係を学習できるようにしました。計算速度はむしろ通常RNNより増える傾向があります。