用語比較
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。
違いを表で確認
| 比較軸 | RNN | LSTM |
|---|---|---|
| 内部の構造 | RNN:隠れユニットが、入力と前の隠れ状態から次の隠れ状態を計算する | LSTM:隠れユニットをセルに置き換える。セルは外側の再帰に加え、内部の再帰(自己ループ)を持つ |
| ゲート | RNN:ゲートを持たない | LSTM:入力ゲート・忘却ゲート・出力ゲートを持ち、情報の流れを制御する |
| 長期の依存関係 | RNN:教科書は、多くの段階にわたる勾配が消えるか爆発する傾向があり、学習が難しいと述べる | LSTM:時間をまたぐ経路の微分が消えも爆発もしないようにする考えに基づく |
| 記憶を保つ仕組み | RNN:隠れ状態を毎回、重みと活性化関数で作り直す | LSTM:状態ユニットの線形の自己ループを、忘却ゲートが0から1の値で制御する |
| パラメータ数 | RNN:少ない | LSTM:教科書は、通常のRNNよりパラメータが多いと述べる |
G検定の学習に使う書籍(Amazon)
試験範囲を通して読むときの1冊です。読んだ章は、このサイトの章別問題で確かめられます。
どこで迷っているかを切り分ける
LSTMはRNNと別の種類のモデルだと考える人
LSTMは、RNNの一種です。教科書は、LSTMのセルが通常のRNNの隠れユニットを置き換え、入力と出力は通常のRNNと同じだと述べています。
勾配消失が起きる理由を聞かれる人
教科書は、長期の相互作用に掛かる重みが、多数のヤコビ行列の積のために、短期のものより指数的に小さくなると述べています。リカレント行列の固有値がt乗されるので、大きさが1未満なら0に近づきます。
忘却ゲートの役割を聞かれる人
忘却ゲートは、状態ユニットの自己ループの重みを、シグモイドで0から1の値に定めます。1に近ければ前の状態を保ち、0に近ければ忘れます。
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
ゲートの語を探す
入力ゲート・忘却ゲート・出力ゲートの語があれば、LSTMです。
- 2
長期の依存関係を読む
「長期の依存関係を学びにくい」はRNNの課題、「それを改善した」はLSTMの説明です。
- 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の一種だと言える
関連ページで確認する
同じ資格で次に知りたいこと
- 探索と活用の違い|ε-greedy法で両者を両立する仕組み(G検定・強化学習)
強化学習の探索と活用の違いを、選ぶ行動・短期と長期の報酬・ε-greedy法での選択確率で整理。行動が10個でε=0.1のときの選択確率の計算例と確認問題つき。G検定の強化学習の設問に使える。
- 過学習と未学習の違い|訓練誤差と検証誤差の組で見分ける(G検定・機械学習)
過学習と未学習の違いを、訓練誤差・訓練誤差とテスト誤差の差・モデルの容量・対処の向きで整理。訓練誤差と検証誤差の組から状態を判定する計算例と確認問題つき。G検定の機械学習の基礎の設問に使える。
- Xavier初期化とHe初期化の違い|ReLUを使うときの重みの初期値の選び方(G検定)
Xavier初期化とHe初期化の違いを、導出の前提(線形かReLUか)・式(一様分布かガウス分布か)・向く活性化関数で整理。256入力・128出力の層での計算例と確認問題つき。G検定の重みの初期化の設問に使える。
よくある質問
QLSTMはいつ提案された?
LSTMの層の説明に、Keras公式ドキュメントは「Hochreiter 1997」と書いています。LSTMは1997年の論文に基づきます。
QLSTMは何に使われてきた?
教科書は、制約のない手書き認識、音声認識、手書き生成、機械翻訳、画像の説明文生成、構文解析などへの成功した応用を挙げています。
QSimpleRNNとLSTMの活性化関数は違う?
Kerasでは、SimpleRNN層もLSTM層も、引数activationの既定は"tanh"です。LSTM層にはさらに、ゲート用のrecurrent_activationの既定"sigmoid"があります。
次に見る比較
- G検定・DS検定・統計検定2級で重なる用語10語の比較
同じ名前の用語の定義と収録章を、資格ごとに並べます。
- ベイズの定理と条件付き確率の違い(統計検定2級の式と計算例)
求める確率の向きの違いと、陽性になる確率の計算例を確かめます。
- 紛らわしい用語ペア早見表
混同しやすい用語の違いと判定の手掛かりを、資格別の一覧で確かめます。
執筆: ミナト編集部(運営者情報を見る)
