結論
LSTMは、隠れ状態とは別の記憶セルと、入力・忘却・出力の3つのゲートで情報の出し入れを制御するRNNです。GRUは、記憶セルを持たず、リセットゲートと更新ゲートの2つで制御するLSTMの簡略版で、パラメータが少なく計算が軽く済みます。
比較表
| 観点 | LSTM | GRU |
|---|---|---|
| 英語 | long short-term memory | gated recurrent unit |
| 提案 | 1997年(HochreiterとSchmidhuber)。忘却ゲートは2000年の研究で追加 | 2014年(Choら、機械翻訳の研究の中で) |
| ゲート | 入力ゲート・忘却ゲート・出力ゲートの3つ | リセットゲート・更新ゲートの2つ |
| 情報を保つ場所 | 隠れ状態とは別の記憶セル | 隠れ状態だけ(記憶セルを持たない) |
| 重みの組(隠れ状態の大きさが同じとき) | 4組 | 3組(LSTMの約4分の3) |
| 勾配消失への効果 | 記憶セルを足し算で更新する経路があり、単純なRNNより起きにくい | 更新ゲートが前の隠れ状態をそのまま残す経路を作り、単純なRNNより起きにくい |
| 精度 | GRUと同程度。課題によって優劣が入れ替わる | LSTMと同程度。課題によって優劣が入れ替わる |
| シラバス項目 | 技術分野 項目22 回帰結合層 | 技術分野 項目22 回帰結合層 |
最終確認日:2026年10月30日
それぞれの説明
LSTM
LSTMは、単純なRNNが苦手な、長い時間にわたる依存関係を学ぶために、1997年に提案されました。隠れ状態とは別に記憶セルを持ち、次の3つのゲートで情報の出し入れを調整します。
- 入力ゲート:新しい情報を記憶セルにどれだけ書き込むか
- 忘却ゲート:記憶セルの内容をどれだけ残すか
- 出力ゲート:記憶セルの内容をどれだけ隠れ状態として外に出すか
記憶セルは、前の内容に新しい情報を足し算で加えて更新されます。そのため、誤差が過去へ伝わる途中で消えにくくなります。最初のLSTMには忘却ゲートがなく、2000年の研究で加えられました。
GRU
GRUは、2014年にChoらが機械翻訳の研究の中で提案しました。記憶セルを持たず、隠れ状態だけで情報を保ちます。ゲートは次の2つです。
- リセットゲート:新しい隠れ状態の候補を作るとき、前の隠れ状態をどれだけ使うか
- 更新ゲート:前の隠れ状態をどれだけ残し、候補をどれだけ取り込むか
更新ゲートは、LSTMの忘却ゲートと入力ゲートを1つにまとめた働きをします。出力ゲートはありません。
どちらを選ぶか
隠れ状態の大きさが同じなら、LSTMは重みを4組、GRUは3組持ちます。GRUのほうがパラメータが少なく、学習も推論も軽く済みます。精度は、2014年のChungらの比較実験で同程度と報告され、課題によって優劣が入れ替わります。計算資源が限られるならGRUを試し、実際には両方を検証データで比べて選ぶこともあります。
どちらも単純なRNNで起きやすい勾配消失を緩和しますが、勾配爆発まで防ぐものではありません。学習では、勾配クリッピングを併用することがあります。
見分けるコツ
- ゲートの数で見分けます。入力・忘却・出力の3つならLSTM、リセット・更新の2つならGRUです。
- GRUの更新ゲートは、LSTMの忘却ゲートと入力ゲートの働きを1つにまとめたものと考えます。GRUには、出力ゲートにあたるものがありません。
- 「どちらかが常に高精度」という選択肢は誤りです。主な違いは構造の簡単さと計算量で、精度は課題しだいです。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
GRUの更新ゲートは、LSTMの出力ゲートにあたるもので、隠れ状態のうち外に出す量だけを決める。
答えを見る
答え × 誤り
更新ゲートは、前の隠れ状態をどれだけ残し、新しい候補をどれだけ取り込むかを決めます。LSTMの忘却ゲートと入力ゲートをまとめた働きで、GRUには出力ゲートにあたるものがありません。
-
GRUのリセットゲートが0に近いとき、新しい隠れ状態の候補は、前の時刻の隠れ状態をほとんど使わず、現在の入力を中心に作られる。
答えを見る
答え ◯ 正しい
リセットゲートは、候補を作るときに前の隠れ状態をどれだけ使うかを決めます。前の隠れ状態を最終的にどれだけ残すかは、更新ゲートが別に決めます。
-
LSTMでは、出力ゲートを閉じても記憶セルの内容そのものは消えず、記憶セルの内容を消すかどうかは忘却ゲートが決める。
答えを見る
答え ◯ 正しい
出力ゲートが調整するのは、記憶セルの内容を隠れ状態として外に出す量です。GRUには、この読み出しの量を調整するゲートがありません。
関連問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目22 回帰結合層)
- Sepp Hochreiter, Jürgen Schmidhuber, Long Short-Term Memory, Neural Computation 9(8), 1735–1780 (1997)
- Felix A. Gers, Jürgen Schmidhuber, Fred Cummins, Learning to Forget: Continual Prediction with LSTM, Neural Computation 12(10), 2451–2471 (2000)
- Kyunghyun Cho et al., Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation (2014)
- Junyoung Chung, Caglar Gulcehre, KyungHyun Cho, Yoshua Bengio, Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling (2014)
ほかの違い比較
- アジャイルとウォーターフォールの違い 進め方とAI開発での使い分け
- 赤池情報量規準(AIC)とベイズ情報量規準(BIC)の違い 罰則の重さ
- バギングとブースティングの違い 並列か逐次か、減らす誤差の違い
- バッチ正規化とレイヤー正規化の違い 平均と分散を計算する範囲の違い
- バッチ学習・ミニバッチ学習とオンライン学習の違い 更新回数とぶれ
- BERTとGPTの違い エンコーダとデコーダ、学習課題の違い
- CBOWとスキップグラムの違い 予測の向きと学習の速さ
- 分類問題と回帰問題の違い 出力の形で見分けるコツと評価指標
- CNN・RNNとTransformerの違い 得意なデータと計算の並列性
- 協調フィルタリングとコンテンツベースフィルタリングの違い 仕組み
- 共分散と相関係数の違い 式の関係と単位・値の範囲
- データ汚染とAdversarial Attackの違い 学習時か推論時かと対策
- 決定木とランダムフォレストの違い 解釈のしやすさと精度・安定性
- 深さ優先探索と幅優先探索の違い 調べる順番・最短解・メモリ
- 営業秘密と限定提供データの違い 3つの要件と刑事罰の有無
- Faster R-CNNとYOLOの違い 2段階型と1段階型、速度と精度
- GANと拡散モデル(Diffusion Model)の違い 学習と生成の仕組み
- GANとVAEの違い 識別器の有無と学習の仕組み
- GDPRと個人情報保護法の違い 法的根拠・本人の権利・制裁金
- 勾配降下法と誤差逆伝播法の違い 勾配を使う側と求める側
- グリッドサーチとランダムサーチの違い 試行回数の決まり方と効率
- ホールドアウト検証と交差検証の違い 分割回数・計算量・使い分け
- 画像分類(物体識別)と物体検出の違い 出力の形と使い分け
- 委託・第三者提供と共同利用の違い 同意の要否と受け手が使える範囲
- k-means法と階層的クラスタリングの違い クラスタ数を決める時期と計算量
- 個人情報・個人データと保有個人データの違い 範囲の入れ子とかかる義務
- 個人情報と個人識別符号の違い 包含関係と当たる例・当たらない例
- L1正則化とL2正則化の違い 罰則の形と重みが0になるか
- 最小二乗法と最尤法の違い 推定の基準と結果が一致する条件
- LIMEとSHAPの違い 局所近似とシャープレイ値の使い分け
- 機械学習とディープラーニングの違い 包含関係と特徴量の決め方
- 平均絶対値誤差(MAE)と平均二乗誤差(MSE)の違い 外れ値への強さ
- 正規化と正則化の違い 目的と代表的な手法を表で整理
- 主成分分析(PCA)と特異値分解(SVD)の違い 目的と計算の関係
- 主成分分析(PCA)とt-SNEの違い 線形か非線形か、保つ構造の違い
- 適合率と再現率の違い 分母の違いと重視する場面
- プルーニング・量子化と蒸留の違い 何を減らすかと元モデルの扱い
- Q学習とSARSAの違い 更新式の1か所と方策オン・オフ
- RNNとLSTMの違い 記憶セルと勾配消失の起きにくさ
- Self-AttentionとSource-Target Attentionの違い Q・K・Vの出どころ
- セマンティック・インスタンスとパノプティックの違い 背景と個体の扱い
- 新規性と進歩性の違い 比べ方とAI発明での論点
- シグモイド関数とソフトマックス関数の違い 出力の合計と使い分け
- ソフトローとハードローの違い 法的拘束力の有無と日本・EUの例
- 強いAIと弱いAIの違い 心をもつと考えるかの違い
- 教師あり学習・教師なし学習と強化学習の違い 学習の手がかりと代表例
- 特許権と著作権の違い 発生・保護対象・期間とAIでの使い分け
- 匿名加工情報と仮名加工情報の違い 加工の程度と第三者提供の可否
- 転移学習とファインチューニングの違い 重みを固定するか更新するか
- 請負契約と準委任契約の違い 完成義務とAI開発での使い分け
- Zero-shotとFew-shotの違い 与える例の数と重みを更新しない点