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$:必要なら各ステップで出力可能

数式で書くと、

h_t = \tanh(W_{hx} x_t + W_{hh} h_{t-1} + b_h)
読み方: 今の入力と、前の隠れ状態を合成して新しい隠れ状態を作る


RNNの問題点:長期依存が苦手

「昨日何を食べた?」と聞かれたとき、たいていの人は思い出せます。
でも「3週間前の水曜の昼は?」と聞かれたら…ちょっとムリですよね?

RNNもそれと同じで、「昔の情報」を保持するのが苦手です。

この問題を勾配消失(vanishing gradient)と言います。
学習のとき、古い入力の影響がどんどん小さくなって、ほぼ消えてしまうんです。


解決策①:LSTM(Long Short-Term Memory)

  • 開発年:1997年
  • 特徴:忘れるか覚えるかを自分で制御できる

LSTMの構造

LSTMには以下の3つのゲートがあります:

  1. 忘却ゲート(Forget gate)
     →「今の記憶をどれだけ忘れるか?」
  2. 入力ゲート(Input gate)
     →「今の入力をどれだけ記憶に追加するか?」
  3. 出力ゲート(Output gate)
     →「記憶から何を出力するか?」

図にすると、まるで記憶を整理整頓するノートのようなものです。

数式の一部(例)

f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f)
c_t = f_t \odot c_{t-1} + i_t \odot \tilde{c}_t

ポイント: 記憶 $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の進化の流れ

モデル年代特徴解決した課題
RNN1980s〜シンプルな時系列モデル一時的な記憶
LSTM1997ゲートで記憶を制御長期依存の解消
GRU2014LSTMの簡略版高速化と精度両立
Transformer2017並列処理・長期依存完全対応Attentionのみで処理可能

今後の学習の指針

  • 実際にRNN・LSTM・GRUをKerasやPyTorchで実装してみる
  • RNN系モデルとTransformerの性能を比較してみる
  • 時系列データや自然言語を対象に、どのモデルが適しているかを体験的に理解
  • AttentionやSelf-Attentionの数式も追ってみる

「古いモデル」として見られることもあるRNNですが、
仕組みを知っていることで、Transformerの理解もずっと深くなります

ぜひ、実装も交えながらRNNの奥深さを体感してみてください!

生成AI研修のおすすめメニュー

投稿者プロフィール

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