LSTMとは?RNN・GRUとの違いや4つの構成要素について解説

LSTMは、AI(人工知能)が過去の情報を覚えながら未来を予測するために使う仕組みです。
従来のモデルであった記憶力の限界を克服し、自然な言語処理や予測をするのに活用されています。
本記事では、LSTMとは何か、RNNやGRUとの違い、さらにLSTMの4つの構成要素についても分かりやすく解説しています。
LSTM(長・短期記憶)とは
LSTMとは、時系列データや自然言語など、情報の順序が重要なデータを処理するためにつくられたニューラルネットワークの一つです。
Long Short-Term Memory(長・短期記憶)の略であり、前に出てきた重要な情報を長く覚えておけるという点が特徴です。
従来のRNNが苦手としていた、長期的な情報の保持という課題を解決する目的で開発されました。
例えば、チャットボットや翻訳アプリでは、前のやりとりや長文の意味を理解して自然な会話や翻訳を実現するためにLSTMが使われています。
そのほかにも、株価や天気の予測、音声認識や文字認識など、時間の流れを考慮する必要がある分野でも幅広く利用されているのです。
LSTMとRNN・GRUの違い
時系列データを扱うモデルには、LSTMのほかにもさまざまな種類があります。
ここでは、LSTMとよく比較されるRNNとGRUについて解説します。
RNNとは短期的な記憶を持つAIモデル
RNNとは、Recurrent Neural Network(再帰型ニューラルネットワーク)の略であり、時間の流れを持つデータを扱うために設計されたAIモデルです。
1つ前の出力を次の処理に引き継ぐ構造を持っているため、過去の情報を生かした予測や処理が可能という点が特徴といえます。
例えば、天気の変化、株価の推移、文章の次の単語予測など、時間的なつながりがあるデータに対して機能を発揮します。
ただし、RNNは古い情報を長く保持することが苦手であり、勾配消失問題と呼ばれる現象によって学習がうまく進まないことがあります。
そのため、文章の前半と後半で意味がつながっている長文や、数十ステップにわたるような複雑な時系列の処理には向いておらず、短期的な文脈の理解やシンプルなデータパターン分析に適しています。
GRUとはLSTMを簡略化した軽量なAIモデル
GRUとは、Gated Recurrent Unit(ゲート付き回帰型ユニット)の略であり、LSTMの仕組みをもとに開発された軽量で高速なモデルです。
LSTMと同様に、過去の情報を保持しながら処理できますが、ゲートの数が少なく、構造が簡単であるため、計算量が少なく処理速度が速いという特徴があります。
例えば、計算リソースが限られているモバイル端末やIoT機器、エッジデバイスなどでも動作しやすく、リアルタイム性や省電力性を求められる現場で活用されています。
LSTMとほとんど同じ精度を保ちながらも、軽量・高速度というバランスのよさがGPUの魅力といえるでしょう。
LSTMの3つの構成要素
LSTMは誤差逆伝播法を拡張したBPTTという仕組みを使って、時間の流れに沿って学習のズレをたどりながら、モデル内部のパラメータを少しずつ調整していきます。
情報を効率よく保持・更新するために、複数のゲートと呼ばれる仕組みを組み合わせて動作させるのです。
続いては、LSTMの3つの構成要素について解説します。
入力ゲート
入力ゲートは、現在の入力データと過去の出力をもとに、新しくどの情報を記憶セルに加えるかを判断します。
まず、シグモイド関数を使ってどれくらいの情報を受け入れるか0~1の値で計算します。
次に、tanh関数で現在の入力を-1~1の範囲に変換します。
この2つの結果を掛け合わせて、最終的に記憶セルに保存する情報が決まります。
入力ゲートのおかげで、LSTMの無関係な情報を捨て、重要な情報だけを記憶することができるのです。
例えば、長文の中で特定のキーワードに反応して記憶を更新するような処理が可能です。
忘却ゲート
忘却ゲートは、記憶セルの中にある過去の情報のうち、どれを残して、どれを捨てるかを決定します。
現在の入力と過去の出力をもとにシグモイド関数が使われ、それぞれの情報に対して残すべきかの判断を0~1の値で計算します。
その結果、0に近いほど忘れられ、1に近いほど保持されるのです。
忘却ゲートによって、LSTMの時間が経過して不要となった情報を自動的に削除し、必要な情報だけを効率よく維持することができます。
例えば、数秒前の会話を忘れて、今の発言だけに集中できるような処理が可能です。
出力ゲート
出力ゲートは、記憶セルの現在の状態から、どの情報を次の出力として使うか決める役割があります。
まず、入力と過去の出力を使ってシグモイド関数で出力の重みを計算します。
そして、記憶セルの状態にtanh関数を適用して整え、シグモイド関数の出力と掛け合わせて最終的な出力が決まります。
出力ゲートの仕組みによって、LSTMは現在の文脈に応じて必要な情報だけを次の処理に引き渡すことができるのです。
LSTMの将来性
近年では、LSTMの代替技術としてTransformer(トランスフォーマー)という新しいAIモデルが注目されています。
Transformerは、RNNをもとにした手法とは異なり、Attention(アテンション)と呼ばれる仕組みを使って、文章の中の単語同士のつながりをまとめて把握できる点が特徴です。
Attentionという仕組みによって、Transformerは一つひとつの単語の意味を、文全体の文脈の中で理解することができます。
そのため、長文の翻訳や大規模な文章生成など、複雑な情報のやり取りが必要なタスクにおいて、高いパフォーマンスを発揮します。
特に自然言語処理の分野では、Googleが開発したBERTやOpenAIが開発したGPTといった、Transformerベースのモデルが次々と登場しています。
一方で、LSTMは言葉やデータを一つずつ順番に処理していく逐次処理が基本であり、リアルタイム性が求められるアプリケーションに適しています。
また、Transformerと比べて小型であるため、リソースが限られた環境でも使いやすい点はメリットといえます。
そのため、タスクの特性や使用環境に応じて、LSTMとTransformerを使い分ける動きが今後は加速していくでしょう。
LSTMはAI(人工知能)の記憶力を強化する重要な技術
LSTMは、会話の流れを理解したり、文章の続きを予測したりする際に活用される自然言語処理です。
従来のRNNが持つ欠点を克服し、長期記憶が可能となったのがLSTMの強みといえます。
ただし、計算量が多いため、高性能なハードウェア環境の確保が必要となる点はデメリットともいえるでしょう。
処理速度や計算コストなどを考慮した上で、LSTMだけでなくGRUやTransformerといった自社のニーズにマッチした選定を行うことが重要です。