最終更新日:2026年6月27日
gk neural_network rnn
G検定トップ
> RNN(再帰型ニューラルネットワーク)
まず結論
- RNNは時系列データを扱うためのニューラルネットワーク
- 過去の情報を内部状態として保持 しながら処理する
- 長い系列では 勾配消失・勾配爆発 が起きやすい
直感的な説明
RNNは、
「前の結果を覚えながら、次を判断する仕組み」
です。
- 文章を前から順に読む
- 音声を時間順に聞く
- センサ値の変化を見る
といった、 順序が意味を持つデータ に向いています。
定義・仕組み
基本構造
RNNでは、同じネットワークを 時刻ごとに繰り返し使う のが特徴です。
- 入力:(x_t)
- 隠れ状態:(h_t)
- 出力:(y_t)
各時刻で同じ重みを共有するため、系列長が変わっても同じ仕組みで処理できます。学習時にはネットワークを時間方向に展開し、誤差を過去へ伝える BPTT(Backpropagation Through Time) を使います。
内部状態(隠れ状態)
- 過去の情報を要約したもの
- 次の時刻の計算に引き継がれる
これにより、 時間的な依存関係 を表現できます。
いつ使う?(得意・不得意)
得意なこと
- 時系列データ解析
- 自然言語処理(文章・単語列)
- 音声認識
苦手なこと
- 長期依存関係の学習
- 並列計算がしにくい
これが LSTM / GRU や Transformer につながります。
RNN・LSTM・GRU・Transformerの違い
| モデル | 情報の扱い | 主な特徴 |
|---|---|---|
| 単純RNN | 隠れ状態を順番に更新 | 長期依存で勾配消失が起きやすい |
| LSTM | セル状態と3種類のゲート | 長期情報を保持しやすい |
| GRU | 隠れ状態と2種類のゲート | LSTMより構造が単純 |
| Transformer | Attentionで系列全体を参照 | 並列計算しやすい |
G検定ひっかけポイント
- ❌「RNNは過去の情報を使わない」→ 誤り
- ❌「RNNは画像認識に向く」→ 誤り
- ✅ 内部状態で過去情報を保持
- ✅ 時系列・系列データ向け
- ❌「各時刻で別々の重みを使う」→ 誤り
- ❌「系列を完全に並列処理できる」→ 単純RNNは前時刻の状態に依存する
まとめ(試験直前用)
- RNNは 時系列向けNN
- 過去情報を内部状態として保持
- 勾配問題が弱点
👉 次は 勾配消失・勾配爆発 を詳しく見ていきます。