RNNとは?仕組みとLSTM・Transformerまで

AI用語

時系列データや文章、音声のように「前後の流れ」が意味を持つデータを扱うとき、通常のニューラルネットワークでは限界が見えてきます。そこで登場したのがRNN(リカレントニューラルネットワーク)です。RNNとは、「過去の情報を状態として持ち運びながら、時系列や文章を順番に処理できるニューラルネットワーク」のことです。

この記事では、RNNがどんな発想のモデルなのか、なぜ長期依存が苦手なのか、LSTMやGRUがどう改善したのか、そしてTransformerやLLMとの関係までを一つのストーリーとして整理します。読み終えるころには、RNNの基本から弱点、進化の流れまでを自分の言葉で説明できる状態を目指します。

📖この記事のポイント

  • RNNはhidden stateで過去情報を持ち運び、時系列や文章など「順番のあるデータ」の文脈を扱うモデル1
  • 勾配消失や情報上書きの問題で長期依存が苦手という構造的な弱点がある!
  • LSTM・GRUはゲート機構で重要情報を選択し、この弱点を改善した発展系モデル!
  • RNNの発想は時系列予測や文章分類、音声・センサーデータ分析など多くの実務で使われてきた!
  • LLM時代でも、RNN→LSTM→Transformerの進化理解の土台として重要で、軽量モデルとしての活用余地も残る!
  • たった2時間の無料セミナー会社に依存しない働き方&AIスキルを身につけられる!
  • 今すぐ申し込めば、すぐに月収10万円UPを目指すための超有料級の12大特典も無料でもらえる!

\ 累計受講者10万人突破 /

無料特典を今すぐ受け取る
監修者プロフィール
森下浩志
日本最大級のAI情報プラットフォーム「romptn ai」編集長。著書に「0からはじめるStable Diffusion」「0からはじめるStable Diffusion モデル・拡張機能集編」など、AmazonベストセラーのAI関連書籍を多数執筆。AIにおける情報の非対称性を解消するための社内研修や出張講義も行う。

RNNとは

RNN(Recurrent Neural Network)は、日本語では「リカレントニューラルネットワーク」と呼ばれます。最大の特徴は、ネットワークの中に「ループ構造」を持ち、前のステップの情報を次のステップに引き継ぐ点です。このループによって、時系列や文章のような連続したデータの「文脈」を扱えるようになります。

なぜ通常のニューラルネットでは文脈が扱えないのか

通常のニューラルネット(フィードフォワードニューラルネットワーク)は、「ある入力」に対して「ある出力」を一度だけ計算する構造です。入力は毎回独立していて、前の入力が次の入力に直接影響しません。

例えば、レビュー文の感情分析を考えてみます。

  • フィードフォワード型では「文全体」を固定長ベクトルにして一度に入力するか、単語ごとにバラバラに扱う必要がある
  • 単語ごとにバラバラに扱うと、「前の単語との関係」が失われてしまう

つまり、通常のニューラルネットは「今見ている入力だけ」にしか反応できず、「過去の流れを踏まえた判断」ができません。これが、文脈や時間的なパターンを扱ううえでの大きな限界になります。

「状態(hidden state)を持つ」とはどういうことか

RNNは、各ステップで「hidden state(隠れ状態)」と呼ばれるベクトルを持ち回ります。イメージとしては、次のようなものです。

  • 入力:今の単語や今時点の数値
  • hidden state:これまで見てきた情報の要約
  • 出力:その時点での予測や特徴量

毎ステップで「今の入力」と「ひとつ前のhidden state」を合わせて新しいhidden stateを計算し、それを次のステップに渡します。これにより、「これまで何が起きてきたか」を1本のベクトルに圧縮して、逐次的に持ち運ぶことができます。

RNNが時系列・文章・音声に強い理由を直感で理解する

RNNが得意とするのは、「今を理解するには過去の流れが重要になるデータ」です。具体的には次のようなケースです。

  • 文章:主語や否定表現が前に出てきていて、それを踏まえないと意味を取り違える
  • 売上データ:直近数週間の動きや季節性を踏まえて、来週の売上を予測したい
  • 音声認識:前後の音素のつながりを見ないと、正しい単語が判別できない

RNNはhidden stateを通じて、過去の情報をまとめて持ち運びながら予測するため、「前後関係」や「時間の流れ」を自然に組み込めるのが強みです。

観点通常のニューラルネットRNN
入力の前提各入力は独立過去からの連続性を前提
過去の情報直接は保持しないhidden stateとして保持
得意なデータ静的な特徴量文章・音声・時系列

たった2時間の無料セミナーで
会社に依存しない働き方&AIスキル
を身につけられる!

今すぐ申し込めば、すぐに
月収10万円UPを目指すための
超有料級の12大特典も無料!

RNNの仕組みを理解する

RNNの直感をつかむには、「時間方向に展開したときにどう見えるか」と「どうやって学習するか」をセットで理解しておくと整理しやすくなります。

時間方向に展開したRNNの構造

RNNの図をよく見ると、中央に小さな箱(セル)があり、その箱から自分自身へ矢印が伸びています。これは「時間方向にループしている」ことを表しています。

このループを時間方向に引き伸ばして考えると、次のようなイメージになります。

  • 同じセルが横一列に並んでいる
  • 各セルが「その時点の入力」と「ひとつ前のhidden state」を受け取る
  • 計算したhidden stateを次のセルへ渡す

見た目はたくさんのセルが並んでいますが、実際に学習される重みは時間方向で共有されています。これにより、「どの時点でも同じルールで処理する」シンプルなモデルになります。

hidden stateの役割と「情報の圧縮」という概念

hidden stateは「それまでの情報の要約」です。ただし、過去のすべてのデータを完全に覚えているわけではなく、ネットワークが「重要だ」と判断した情報だけを圧縮して持ち運んでいます。

イメージしやすい比喩としては、次のようなものがあります。

  • 長い会議の内容を、A4一枚にまとめた議事メモ
  • 売上データの過去3年分を、「トレンド」「季節性」「直近の動き」に集約した指標

この「圧縮の仕方」は学習を通じて自動的に決まっていきます。RNNがうまく学習されると、hidden stateにはタスクに必要な文脈がぎゅっと詰まることになります。

BPTT(時間方向の誤差逆伝播)の発想

RNNも通常のニューラルネットと同様、誤差逆伝播(Backpropagation)で学習されます。ただし、時間方向に同じセルが何ステップも並ぶため、「時間方向に展開されたネットワークに対して、まとめて誤差を逆伝播する」という形になります。これがBPTT(Backpropagation Through Time)です。

直感的には、次のような流れになります。

  • 各時刻で損失(誤差)を計算する
  • それらを合計・平均し、時間方向にさかのぼって誤差を伝える
  • 時間方向に共有されている重みに対して、まとめて勾配を計算・更新する

この構造のため、RNNの学習では「未来の誤差」が「過去の計算」に影響しやすくなります。この性質が、次の「勾配消失・勾配爆発」の問題にもつながっていきます。

勾配消失・爆発を直感で理解する

時間方向に長く展開されたRNNでBPTTを行うと、勾配(パラメータ更新のための値)が何度も何度も掛け合わされます。この「何度も掛け算する」プロセスで次のようなことが起きます。

  • 絶対値が1より小さい数を何度も掛ける → どんどん0に近づく(勾配消失)
  • 絶対値が1より大きい数を何度も掛ける → どんどん大きくなる(勾配爆発)

勾配消失が起きると、「ずっと前の時刻の情報」が現在のパラメータ更新にほとんど影響しなくなり、長い文章の冒頭や、時系列のずっと昔のイベントが学習されにくくなってしまいます。これが「RNNは長期依存を捉えにくい」と言われる根本的な理由の一つです。

たった2時間のChatGPT完全入門無料セミナーで ChatGPTをフル活用するためのAIスキルを身につけられる!

今すぐ申し込めば、すぐに
ChatGPTをマスターするための
超有料級の12大特典も無料!

LSTMとGRUが何を変えたのか

RNNの勾配消失問題や情報の上書き問題を解決するために登場したのがLSTMとGRUです。どちらも「どの情報を残し、どの情報を忘れるか」を制御するメカニズムを持っています。

RNNはなぜ長期依存を扱いにくいのか

勾配消失の影響に加えて、もう一点重要なのは「hidden stateが何でもかんでも詰め込みすぎてしまう」という点です。

  • 新しい情報が入ってくるたびに、hidden stateを上書きしていく
  • 重要な情報も、どうでもいい情報も一緒くたに混ざってしまう
  • 結果として、本当に残したい情報が途中で薄まってしまう

このままだと、「数十ステップ前の重要な単語」や「1年前のイベント」の影響を保つことが難しくなります。こうした構造的な弱点を解決するために提案されたのがLSTMです。

LSTMのゲート構造

LSTM(Long Short-Term Memory)は、「長い期間にわたって重要な情報だけを保持する」ことを狙ったモデルです。その要となるのが3種類のゲートです。

  • 忘却ゲート:これまでの情報のうち、何を忘れるかを決める
  • 入力ゲート:新しくどの情報を記憶に書き込むかを決める
  • 出力ゲート:記憶のうち、どの部分を次のhidden stateとして表に出すかを決める

重要なのは、「記憶(セル状態)」と「hidden state」を分けて考えていることです。セル状態は「長期的な記憶」を担い、ゲートを通じて少しずつ更新されます。これにより、セル状態上で勾配が比較的安定して伝わりやすくなり、長期依存を学びやすくなります。

GRUは何を省略し、なぜ高速なのか

GRU(Gated Recurrent Unit)は、LSTMの構造を簡略化したモデルです。主な特徴は次の通りです。

  • ゲートの種類を減らし、「更新ゲート」と「リセットゲート」の2つにまとめている
  • セル状態とhidden stateを明確に分けず、ひとつの状態として扱う

これにより、パラメータ数が減り、計算もシンプルになります。その結果、学習が速くなり、小規模モデルやリアルタイム性が重要な用途で扱いやすくなります。

モデルゲートの数長期依存の扱いやすさ計算コスト
RNNなし低い低い
LSTM3つ以上高いやや高い
GRU2つ高い(LSTMに近い)中程度

RNN・LSTM・GRU・Transformerの違いをまとめる

ここまでの内容を、モデルごとの「発想の違い」としてざっくり整理すると次のようになります。

  • RNN:過去をhidden stateとして1本のベクトルに圧縮して持ち回る枠組み
  • LSTM:ゲートとセル状態を導入し、「何を残し何を捨てるか」を制御して長期依存に強くしたRNN
  • GRU:LSTMの仕組みを簡略化し、少ないパラメータで似た効果を狙うRNN
  • Transformer:そもそも「順番に処理する」発想から離れ、Attentionで一気に関係性を捉えるモデル

この違いを押さえておくと、「なぜRNNの次にLSTMやGRUが生まれ、その先にTransformerが出てきたのか」という進化の筋が見えやすくなります。

RNNは今どこで使われているのか

ここでは、「どんなビジネスの現場でRNNの発想が使われてきたか」「現在はどこまで役割が残っているのか」を整理します。

時系列予測(需要・アクセス・売上の例)

代表的なのは、売上やアクセス数、在庫数などの時系列予測です。過去の推移や季節性、直近の変動を踏まえて、未来の値を予測するタスクにRNNはよく使われてきました。

  • 小売業:店舗ごとの日次売上予測、キャンペーン期間の需要予測
  • EC:商品のアクセス数や購入数の時系列予測
  • 製造業:部品の需要や稼働状況を踏まえた在庫最適化

最近では、RNNに限らず、LSTMやGRU、さらには時系列特化のアーキテクチャやTransformer系モデルも使われますが、「過去の流れを見ながら未来を予測する」という発想はRNNと共通しています。

自然言語処理での役割(LLM以前の文章分類・生成)

LLMが登場する前、自然言語処理の中心的なアーキテクチャはRNN系(特にLSTM)でした。

  • 文章分類:レビューのポジ・ネガ分類、ニュース記事のカテゴリ分類
  • 言語モデル:次の単語予測、文章生成
  • 機械翻訳:エンコーダ・デコーダ型のRNNによる翻訳

現在はTransformer系モデルが主流になりましたが、「文を左から右に順番に読んでいきながら、意味を理解していく」というRNN的な考え方は、今のモデルにも通底しています。

音声・センサーデータ処理(リアルタイム処理の強み)

音声やセンサーデータは、連続的に流れてくる値を順番に処理していく必要があります。ここでもRNNの構造は相性が良く、次のような用途で使われてきました。

  • 音声認識:音声波形から文字列への変換
  • 故障検知:機械から出力されるセンサーデータの時系列を監視し、異常パターンを検出
  • 行動推定:ウェアラブルデバイスの加速度データから、歩行・走行・停止状態などを推定

このような連続データには、今でもRNNやLSTMを使うシステムが多く残っていますし、軽量・省メモリな点が評価される場面もあります。

RNNが使われにくくなった理由(Transformerとの比較)

一方で、RNNには明確な限界もあります。

  • 長いシーケンスを扱うと勾配消失問題が顕在化しやすい
  • 時間方向に一歩ずつしか計算できず、GPUでの並列化に不向き
  • モデルが深くなると学習に時間がかかりやすい

Transformerは、Attention機構によって「どの単語がどの単語にどれくらい関係しているか」を直接計算できるようにし、長い文章でも情報が伝わりやすくしました。また、シーケンス全体を一度に処理できるため、並列計算にも向いています。この二つの理由から、大規模な自然言語処理や多くの時系列タスクでは、Transformer系モデルが主役になっています。

職種別にイメージしやすい活用例

自分の仕事に落とし込んで考えると、RNNの発想がどこで役立つかが見えやすくなります。

  • マーケティング担当:キャンペーン前後の流入数や売上の推移から、次回の施策の効果を予測する
  • カスタマーサポート:問い合わせ件数の時系列から、繁忙期やトラブルの兆候を早めに察知する
  • 人事・労務:勤務時間や残業時間の推移から、過重労働や退職リスクを早期に検知する

これらの例では、いずれも「単発の数字」ではなく「時間的な流れ」を見て判断することが重要であり、その発想はRNNの考え方と重なります。

LLM時代にRNNを学ぶ意味

「今はもうTransformerとLLMの時代なのに、RNNを学ぶ意味はあるのか?」という疑問は自然です。しかし、AIの仕組みを理解し、ビジネスに活かしていくうえで、RNNは今でも大きな役割を持っています。

RNNを知るとLSTM・GRU・Transformerの理解が深まる

LSTMもGRUも、Transformerも、元をたどれば「シーケンスデータをどう扱うか?」という問いに対する別々の解答です。RNNの発想を知っておくと、次のような理解が自然にできます。

  • LSTM:RNNの「長期依存が苦手」という弱点を、ゲートとセル状態でどう補ったか
  • GRU:その仕組みをどこまで簡略化して、どこを残したのか
  • Transformer:そもそも「順番に処理する」発想から離れて、Attentionに切り替えることで何を得たのか

このように、RNNは「なぜ次のモデルが必要だったのか」を理解する基礎になっています。

軽量モデルとしての現役性(小規模・リアルタイム等)

大規模なLLMは非常に強力ですが、現実のシステムでは「常に大規模モデルを使える」とは限りません。次のような制約があるケースも多いでしょう。

  • エッジデバイス上で動作させる必要がある(メモリや計算資源が少ない)
  • レイテンシを極限まで削りたいリアルタイム処理
  • 学習データがそう多くなく、過学習リスクも考えながらモデルを選びたい

このような場面では、RNNやLSTM、GRUなどの比較的軽いモデルが現実的な選択肢になります。RNNを理解しておくことで、「いつ大規模モデルを使い、いつ軽量モデルを選ぶか」という判断がしやすくなります。

RNN→LSTM→Transformer→LLMの進化を俯瞰する

AIの領域は、新しいモデルが次々に登場し、名称も多くて混乱しがちです。そこで、自分の中に「進化の物語」を持っておくと、情報の整理がぐっと楽になります。

  • RNN:過去をhidden stateとして持ち回る最初の枠組み
  • LSTM/GRU:重要な情報だけを選んで記憶する工夫
  • Transformer:順番に処理する発想から離れ、Attentionで一気に関係性を捉える
  • LLM:Transformerを大規模に学習し、多様なタスクをこなせる汎用モデルに拡張したもの

この流れを押さえることは、単にモデルの名前を暗記するのとは違い、AIの進化を「課題とその解決策の積み重ね」として理解することにつながります。RNNは、その物語の重要な序章にあたる存在です。

FAQ

Q1. RNNとは一言でいうとどんなモデルですか?

RNNは、過去の情報をhidden state(隠れ状態)として持ち運びながら、時系列や文章などの「順番のあるデータ」を処理するニューラルネットワークです。通常のニューラルネットのように入力が独立ではなく、「前後の流れ」を踏まえて判断できる点が特徴です。

Q2. RNNはなぜ長期依存を扱うのが苦手だと言われるのですか?

時間方向に何ステップも展開して学習する際、勾配が何度も掛け合わされることで0に近づいたり(勾配消失)、逆に大きくなりすぎたり(勾配爆発)しやすいからです。さらに、hidden stateに新しい情報を上書きし続けることで、昔の重要な情報が薄まってしまう構造的な問題もあります。

Q3. RNNとLSTM・GRUの違いは何ですか?

RNNは過去の情報をそのままhidden stateに詰め込むのに対し、LSTMやGRUは「どの情報を残し、どの情報を忘れるか」をゲート機構で制御します。LSTMは忘却・入力・出力の3つのゲートとセル状態を持ち、長期依存を扱いやすくしたモデルです。GRUはその仕組みを簡略化し、少ないパラメータで似た効果を狙う軽量モデルです。

Q4. RNNとTransformerの一番大きな違いは何ですか?

RNNはシーケンスを1ステップずつ順番に処理し、hidden stateに過去を圧縮して持ち運ぶ発想です。一方でTransformerは、Attention機構を使ってシーケンス全体の「どの要素がどれくらい関係しているか」を一度に計算します。そのため長いシーケンスでも情報が伝わりやすく、GPUでの並列計算にも向いているのが大きな違いです。

Q5. すでにLLMの時代なのに、今からRNNを学ぶ意味はありますか?

あります。RNNはLSTM・GRUやTransformerが生まれた背景にある「シーケンスデータをどう扱うか」という最初の解答であり、進化のストーリーを理解する土台になります。また、エッジデバイスやリアルタイム処理など、軽量モデルが必要な場面では、今でもRNN系モデルが現実的な選択肢になります。

まとめ

  • RNNは、hidden stateを通じて過去の情報を保持しながら処理することで、時系列や文章などの「文脈」を扱えるモデルである。
  • 時間方向に展開して学習するBPTTの性質から、勾配消失・勾配爆発が起こりやすく、さらにhidden stateの上書きによって長期依存を捉えにくいという限界がある。
  • LSTMやGRUは、ゲート機構やセル状態によって「何を残し、何を忘れるか」を制御し、この限界を構造的に改善したRNNの発展形である。
  • 時系列予測、自然言語処理、音声・センサーデータ解析など、RNNの発想は多くのビジネス領域で活用されてきており、職種ごとの業務イメージにも結びつけやすい。
  • TransformerとLLMが主流になった現在でも、RNNを理解することはモデル進化の全体像をつかむうえで重要であり、軽量モデルとしての活用余地も残っている。

RNNは、最新のLLMと比べるとやや古いモデルに見えるかもしれませんが、AIが「文脈」や「時間の流れ」をどう扱ってきたかを理解するうえで欠かせない存在です。RNNの考え方を押さえておくことで、LSTMやTransformer、そしてLLMの仕組みもより立体的に見えてきます。自分の業務で扱うデータの特徴を思い浮かべながら、「どのレベルのモデルが適切か」を考える際の土台として、RNNをしっかり自分の言葉で説明できるようになっておくと心強いはずです。

romptn ai厳選のおすすめ無料AIセミナーでは、AIの勉強法に不安を感じている方に向けた内容でオンラインセミナーを開催しています。

AIを使った副業の始め方や、収入を得るまでのロードマップについて解説しているほか、受講者の方には、ここでしか手に入らないおすすめのプロンプト集などの特典もプレゼント中です。

AIについて効率的に学ぶ方法や、業務での活用に関心がある方は、ぜひご参加ください。

\累計受講者10万人突破/