RNNの進化を完全解説:基本原理からLSTM、GRU、Transformerへの道のり

こんにちは。ゆうせいです。
今回はRNN(リカレント・ニューラル・ネットワーク:Recurrent Neural Network)についてお話しします。
画像に強いのがCNNなら、「時系列データ」や「文章」のように順番に意味があるデータに強いのがRNNです。
でも、こんな疑問をもったことはありませんか?
- 「RNNってどういうしくみ?」
- 「なんでLSTMやGRUが出てきたの?」
- 「最近はTransformerが主流って聞くけど、RNNはもう終わり?」
このページでは、RNNの誕生からその進化、そしてTransformerとの関係までを、図と例えを交えてやさしく解説します!
RNNとは?何が特別?
普通のニューラルネットワーク(全結合)は「記憶できない」
通常のニューラルネットワーク(たとえば多層パーセプトロン:MLP)は、入力を一つずつ処理します。
文章の例で言うと、「私は学校に行きました。」という5語の文を処理するには、全部の単語を一括で入れるしかありません。
でも、単語には順序があって、前の単語が意味に影響しますよね。
そこで登場したのが、RNNです。
RNNの仕組みを図で見よう!
RNNは、入力を一つずつ処理しながら、過去の情報を“隠れ状態”として保持する仕組みです。
t=1 t=2 t=3
x₁ ─▶ h₁ ─▶ h₂ ─▶ h₃ ─▶ …
▲ ▲
│ │
└──────┘ ← 情報が伝播
ここで:
- $x_t$:時刻 $t$ の入力(例:ある単語のベクトル)
- $h_t$:隠れ状態(hidden state)=記憶のようなもの
- 出力 $y_t$:必要なら各ステップで出力可能
数式で書くと、
読み方: 今の入力と、前の隠れ状態を合成して新しい隠れ状態を作る
RNNの問題点:長期依存が苦手
「昨日何を食べた?」と聞かれたとき、たいていの人は思い出せます。
でも「3週間前の水曜の昼は?」と聞かれたら…ちょっとムリですよね?
RNNもそれと同じで、「昔の情報」を保持するのが苦手です。
この問題を勾配消失(vanishing gradient)と言います。
学習のとき、古い入力の影響がどんどん小さくなって、ほぼ消えてしまうんです。
解決策①:LSTM(Long Short-Term Memory)
- 開発年:1997年
- 特徴:忘れるか覚えるかを自分で制御できる
LSTMの構造
LSTMには以下の3つのゲートがあります:
- 忘却ゲート(Forget gate)
→「今の記憶をどれだけ忘れるか?」 - 入力ゲート(Input gate)
→「今の入力をどれだけ記憶に追加するか?」 - 出力ゲート(Output gate)
→「記憶から何を出力するか?」
図にすると、まるで記憶を整理整頓するノートのようなものです。
数式の一部(例)
ポイント: 記憶 $c_t$ を足し算で更新することで、情報が消えにくくなっている!
解決策②:GRU(Gated Recurrent Unit)
- 開発年:2014年(LSTMの簡略版)
- 特徴:LSTMより軽くて速いが、精度も高い
GRUはLSTMの構造を2つのゲートに簡略化しています:
- 更新ゲート(Update gate)
- リセットゲート(Reset gate)
感覚的には: LSTMが「手帳+辞書」だとしたら、GRUは「ポケット手帳」。
扱いやすくて、小回りが利くのがGRUです。
応用範囲:どんなところに使われていた?
- 自然言語処理(機械翻訳、感情分析、文書要約)
- 音声認識
- 時系列予測(株価、気象、センサーデータ)
- 音楽生成や作曲支援
- 医療データの予測(ECGなど)
しかし、RNNの限界が…
- 時間順にしか処理できない(並列処理できない)
- 長文では学習効率が落ちる
- 計算が重く、トレーニングに時間がかかる
こうした背景から、RNNに依存しない新しいアーキテクチャが求められるようになりました。
Transformer登場(2017年)
- 開発者:Google(論文 "Attention is All You Need")
- ポイント:Attention(注意機構)だけで時系列データを処理
Transformerでは、すべての単語が互いに影響し合うことができるため、
「長期記憶」も「並列処理」も得意です。
一言でいうと、
「RNNが手紙のやり取り」なら、
「Transformerはグループチャット」!
まとめ:RNNの進化の流れ
モデル | 年代 | 特徴 | 解決した課題 |
---|---|---|---|
RNN | 1980s〜 | シンプルな時系列モデル | 一時的な記憶 |
LSTM | 1997 | ゲートで記憶を制御 | 長期依存の解消 |
GRU | 2014 | LSTMの簡略版 | 高速化と精度両立 |
Transformer | 2017 | 並列処理・長期依存完全対応 | Attentionのみで処理可能 |
今後の学習の指針
- 実際にRNN・LSTM・GRUをKerasやPyTorchで実装してみる
- RNN系モデルとTransformerの性能を比較してみる
- 時系列データや自然言語を対象に、どのモデルが適しているかを体験的に理解
- AttentionやSelf-Attentionの数式も追ってみる
「古いモデル」として見られることもあるRNNですが、
仕組みを知っていることで、Transformerの理解もずっと深くなります。
ぜひ、実装も交えながらRNNの奥深さを体感してみてください!
生成AI研修のおすすめメニュー
投稿者プロフィール

- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。