AI資格ドリル
資格を選ぶ↓

用語比較

RNNとLSTMの違い|忘却ゲートで長期の記憶を保つ仕組み(G検定・ディープラーニング)

RNNは、前の時刻の隠れ状態を次の時刻に渡して系列を処理するモデルです。LSTMは、RNNの隠れユニットを、ゲートで情報の流れを制御する「セル」に置き換えたモデルです。

G検定では、RNNが長期の依存関係を学びにくい理由と、LSTMがそれをどう改善するかが問われます。RNNは勾配が消えやすく、LSTMは忘却ゲートで消えにくくしたと覚えると、選択肢を整理できます。

このページは、Goodfellowらの教科書『Deep Learning』10章とKeras公式ドキュメントをもとに、勾配消失への強さ・内部の構造・ゲートの役割・パラメータ数で比べます。数値の例は、説明用の架空のデータです。

この記事の根拠と出典

各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。G検定の一次情報確認日: 2026-10-02。

結論

RNN

隠れ状態を次の時刻に渡す基本の再帰型ネットワーク。多くの段階にわたる勾配が消えやすく、長期の依存関係を学びにくい。

LSTM

セルに内部の自己ループとゲートを持つ。教科書は、実用で最も有効な系列モデルの1つだと述べる。

見分け方

忘却ゲート・入力ゲート・出力ゲートの語が出ればLSTM。ゲートの語が出ない再帰構造はRNN。

違いを表で確認

比較軸RNNLSTM
内部の構造RNN:隠れユニットが、入力と前の隠れ状態から次の隠れ状態を計算するLSTM:隠れユニットをセルに置き換える。セルは外側の再帰に加え、内部の再帰(自己ループ)を持つ
ゲートRNN:ゲートを持たないLSTM:入力ゲート・忘却ゲート・出力ゲートを持ち、情報の流れを制御する
長期の依存関係RNN:教科書は、多くの段階にわたる勾配が消えるか爆発する傾向があり、学習が難しいと述べるLSTM:時間をまたぐ経路の微分が消えも爆発もしないようにする考えに基づく
記憶を保つ仕組みRNN:隠れ状態を毎回、重みと活性化関数で作り直すLSTM:状態ユニットの線形の自己ループを、忘却ゲートが0から1の値で制御する
パラメータ数RNN:少ないLSTM:教科書は、通常のRNNよりパラメータが多いと述べる

どこで迷っているかを切り分ける

01

LSTMはRNNと別の種類のモデルだと考える人

LSTMは、RNNの一種です。教科書は、LSTMのセルが通常のRNNの隠れユニットを置き換え、入力と出力は通常のRNNと同じだと述べています。

02

勾配消失が起きる理由を聞かれる人

教科書は、長期の相互作用に掛かる重みが、多数のヤコビ行列の積のために、短期のものより指数的に小さくなると述べています。リカレント行列の固有値がt乗されるので、大きさが1未満なら0に近づきます。

03

忘却ゲートの役割を聞かれる人

忘却ゲートは、状態ユニットの自己ループの重みを、シグモイドで0から1の値に定めます。1に近ければ前の状態を保ち、0に近ければ忘れます。

04

LSTMのゲートに使う活性化関数を聞かれる人

教科書は、ゲートはいずれもシグモイドを使うと述べています。Kerasの既定も、LSTM層のrecurrent_activationが"sigmoid"、activationが"tanh"です。

具体例で使い分ける

例 1

20段階で勾配が減る割合(架空のデータ)

再帰の重みが0.9のとき、20時刻前の入力から届く勾配の大きさを比べる。簡単のため、重みは1つの数とする。

  • RNNでは、同じ重みを20回掛けます。0.9の20乗は約0.12なので、20時刻前の入力の影響は、約12%まで小さくなります。重みが0.5なら、20乗は約0.000001で、ほぼ0です。
  • 重みが1.1なら、20乗は約6.7になり、勾配は大きくなります。これが勾配爆発の考え方です。

結論: 同じ重みを何度も掛けるため、1未満なら消え、1より大きければ爆発します。LSTMは、忘却ゲートが1に近い間、状態をほぼそのまま次へ渡せるので、この掛け算の連鎖を避けやすくなります。

例 2

忘却ゲートの値と状態の保持(架空のデータ)

状態ユニットの値が10で、忘却ゲートが0.9のときと0.1のときを比べる。ほかの入力は0とする。

  • 忘却ゲートが0.9なら、次の状態は10×0.9=9です。0.1なら、10×0.1=1です。
  • 0.9のまま5時刻続けると、10×0.9の5乗で約5.9です。ゲートが状態に応じて値を変えられる点が、重みが固定のRNNとの違いです。

結論: 忘却ゲートは、残したい情報には1に近い値、不要な情報には0に近い値を取ることで、長期の記憶を選んで保ちます。

問題文から答えを選ぶ手順

  1. 1

    ゲートの語を探す

    入力ゲート・忘却ゲート・出力ゲートの語があれば、LSTMです。

  2. 2

    長期の依存関係を読む

    「長期の依存関係を学びにくい」はRNNの課題、「それを改善した」はLSTMの説明です。

  3. 3

    関係を確認する

    LSTMはRNNの一種です。「RNNの隠れユニットを置き換えた」と読めれば正しい記述です。

試験での見分け方

  • 1ゲートを持つのが、LSTM。
  • 2RNNは、勾配が消えやすく長期の依存関係が苦手。
  • 3忘却ゲートは、自己ループの重みを0から1で定める。
  • 4LSTMはRNNの一種で、パラメータは多い。

誤答しやすい選択肢

LSTMは、勾配消失を完全に無くすと考える

修正: 教科書は、時間をまたぐ経路の微分が消えも爆発もしないようにする考えに基づくと述べます。完全に無くすとは述べていません。

LSTMのゲートは、tanhを使うと考える

修正: 教科書は、ゲートはいずれもシグモイドを使うと述べています。入力の特徴の計算には、任意の圧縮型の非線形関数を使えます。

LSTMはRNNより軽く、パラメータが少ないと考える

修正: 教科書は、LSTMのセルはパラメータが多く、ゲートの仕組みを持つと述べています。

確認問題

Q1LSTMの状態ユニットの自己ループの重みを0から1の値に定めるのは?

答え: 忘却ゲート

シグモイドで0から1の値を取り、1に近いほど前の状態を保ちます。

Q2再帰の重みが0.9のとき、20段階で勾配はおよそ何倍になる?

答え: 約0.12倍

0.9の20乗は約0.12です。1未満の重みを繰り返し掛けるので小さくなります。

Q3LSTMのゲートに使う活性化関数は?

答え: シグモイド

教科書は、ゲートはいずれもシグモイドの非線形関数を持つと述べています。

到達チェック

  • RNNの勾配が消えやすい理由を、重みの累乗で言える
  • LSTMの3つのゲートの名前を言える
  • LSTMがRNNの一種だと言える

同じ資格で次に知りたいこと

よくある質問

QLSTMはいつ提案された?

A

LSTMの層の説明に、Keras公式ドキュメントは「Hochreiter 1997」と書いています。LSTMは1997年の論文に基づきます。

QLSTMは何に使われてきた?

A

教科書は、制約のない手書き認識、音声認識、手書き生成、機械翻訳、画像の説明文生成、構文解析などへの成功した応用を挙げています。

QSimpleRNNとLSTMの活性化関数は違う?

A

Kerasでは、SimpleRNN層もLSTM層も、引数activationの既定は"tanh"です。LSTM層にはさらに、ゲート用のrecurrent_activationの既定"sigmoid"があります。

次に見る比較

執筆: ミナト編集部(運営者情報を見る)