AI用語集・違い比較

RNNとLSTMの違い

RNNとはLSTMとは

最終更新日:作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未出典

結論

LSTMはRNNの一種で、隠れ状態だけで過去の情報を受け渡す単純なRNNに、記憶セルと3つのゲートを加え、情報の書き込み・保持・読み出しを調整できるようにしたものです。記憶セルを足し算で更新する経路があるため、単純なRNNで起きやすい勾配消失が緩和され、時間的に離れた入力との関係を学習しやすくなります。

比較表

RNNとLSTMの違いの比較表
観点 RNNLSTM
英語 recurrent neural networklong short-term memory
代表例・提案 エルマンネットワーク(1990年)、ジョルダンネットワーク1997年にHochreiterとSchmidhuberが提案。忘却ゲートは2000年の研究で追加
過去の情報を保つ場所 隠れ状態だけ隠れ状態と、それとは別の記憶セル
時刻ごとの更新 前の隠れ状態と入力にそれぞれ重みを掛けて足し、tanh関数などに通して隠れ状態を作り直す記憶セル=忘却ゲート×前の記憶セル+入力ゲート×新しい候補。隠れ状態=出力ゲート×tanh(記憶セル)
ゲート なし入力ゲート・忘却ゲート・出力ゲート(シグモイド関数で0から1の割合を出す)
長期の依存関係 BPTTで重みと微分が繰り返し掛かり、勾配消失が起きやすい。遠い過去の入力との関係を学びにくい記憶セルを通る足し算の経路で誤差が伝わりやすく、離れた時刻の関係も学びやすい
勾配爆発 起こりうる。勾配クリッピングで抑える起こりうる。勾配クリッピングを併用することが多い
パラメータ数(入力と隠れ状態の大きさが同じとき) 重みとバイアスが1組3つのゲートと新しい候補の分で4組(単純なRNNの約4倍)
学習方法 BPTTBPTT(同じく時間方向に展開して誤差逆伝播法を適用する)
シラバス項目 技術分野 項目22 回帰結合層技術分野 項目22 回帰結合層(CECは項目27 自然言語処理のキーワード)
G検定での問われ方 隠れ状態の受け渡し、BPTT、勾配消失・勾配爆発の原因、エルマンネットワークとジョルダンネットワークの違い3つのゲートの役割、記憶セルの更新計算、CECが勾配消失を防ぐ理由、GRUとの違い

最終確認日:2026年11月1日

それぞれの説明

単純なRNN

RNNは、各時刻の隠れ状態を次の時刻へ持ち越して、時系列データの前後関係を扱うネットワークです。ゲートを持たない基本の形を、LSTMなどと区別して単純なRNNと呼びます。各時刻では、前の隠れ状態と現在の入力にそれぞれ重みを掛けて足し、tanh関数などに通して、隠れ状態を毎回作り直します。

学習には、時間方向に展開して誤差逆伝播法を適用するBPTTを使います。誤差が時刻をさかのぼるたびに、同じ重みと活性化関数の微分が掛け合わされます。掛かる値が1より小さい状態が続くと勾配は急速に0に近づき(勾配消失)、1より大きい状態が続くと発散します(勾配爆発)。そのため、遠い過去の入力と現在の出力の関係を学習しにくいという弱点があります。

LSTM

LSTMは、この弱点を補うために1997年に提案されたRNNの一種です。隠れ状態とは別に記憶セルを持ち、現在広く使われる形では、入力ゲート・忘却ゲート・出力ゲートの3つで情報の出し入れを調整します。忘却ゲートは、2000年の研究で加わりました。各ゲートはシグモイド関数で0から1の割合を出し、その値を情報に掛けます。

記憶セルは、忘却ゲートで調整した前の内容に、入力ゲートで調整した新しい情報を足し算で加えて更新されます。毎時刻すべてを作り直す単純なRNNと違い、内容を保ったまま運ぶ経路があるので、誤差も過去へ伝わりやすくなります。1997年の元の論文は、記憶セルが重み1の自己結合で内容を運ぶ部分をCECと呼び、誤差を減衰させずに過去へ伝える仕組みとして説明しています。

違いのまとめ方

構造の差は「記憶セルとゲートがあるか」、効果の差は「長い期間の依存関係を学べるか」です。代償として、LSTMは入力と隠れ状態の大きさが同じなら重みが約4倍になり、計算も重くなります。勾配爆発はLSTMでも起こりうるので、勾配クリッピングを併用します。ゲートを2つに減らし、記憶セルを隠れ状態にまとめた簡略版がGRUです。

見分けるコツ

  1. LSTMはRNNと対立する手法ではなく、RNNの一種です。「RNNとLSTMの違い」は、正確には「単純なRNNとLSTMの違い」を指します。
  2. 「長期の依存関係を学習したい」「勾配消失を緩和したい」という場面なら、ゲート機構を持つLSTMやGRUが答えの候補です。勾配爆発への対策は勾配クリッピングで、ゲートとは分けて考えます。
  3. 前の記憶セルをどれだけ残すかは忘却ゲート、新しい候補をどれだけ書き込むかは入力ゲート、記憶セルの内容をどれだけ隠れ状態として出すかは出力ゲートが決めます。ゲートの名前だけで判断せず、どの値に掛かるかで確かめます。

◯×チェック

3問

次の文が正しいか、誤りかを選んでください。

  1. 単純なRNNでも、LSTMの記憶セルと同じく、前の時刻の隠れ状態をそのまま残し、そこに新しい情報を足し算で加えて次の隠れ状態を作る。

    答えを見る

    答え × 誤り

    単純なRNNは、前の隠れ状態に重みを掛け、入力と合わせてtanh関数などに通すので、毎時刻すべてを作り直します。前の内容を残したまま足し算で更新するのは、LSTMの記憶セルです。この経路が勾配を過去へ伝えやすくします。

  2. 単純なRNNの隠れ層の活性化関数をReLU関数に替えれば、時刻をさかのぼる勾配の大きさは常に一定に保たれるので、長い系列でもLSTMを使う必要はなくなる。

    答えを見る

    答え × 誤り

    ReLU関数の微分は正の範囲で1ですが、BPTTでは時刻ごとに同じ再帰の重みも掛かります。重みの大きさしだいで勾配はやはり消失や爆発を起こし、負の範囲では微分が0にもなります。

  3. 入力の次元数と隠れ状態の次元数をそろえて比べると、LSTM層の学習可能なパラメータの数は、単純なRNN層の約4倍になる。

    答えを見る

    答え ◯ 正しい

    LSTMは、入力ゲート・忘却ゲート・出力ゲートと新しい候補の4か所で、単純なRNNと同じ形の重みとバイアスを1組ずつ持つためです。その分、1時刻あたりの計算も重くなります。

関連問題

3問
  1. #0385長期依存の学習とモデル選択難易度 基礎・単一選択未回答
  2. #0221CECが勾配消失を防ぐ理由難易度 標準・単一選択未回答
  3. #0191LSTMの記憶セルの更新計算難易度 標準・単一選択未回答

出典

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未 最終確認日: 対応シラバス:シラバス第1.4版 技術22

誤りを報告

ほかの違い比較

違い比較の一覧

表示設定

テーマ
文字の大きさ
問題演習