情報処理試験を勉強していると、「RNNって普通のニューラルネットワークと何が違うの?」と引っかかる場面があります。

この記事では、RNN(リカレントニューラルネットワーク)の意味と仕組みを、例え話と図解でしっかり整理します。

対象試験と出題頻度

RNNは、基本情報技術者・応用情報技術者のシラバスに用語例として明記されているテーマです。

ディープラーニング関連の選択肢として登場するパターンが中心で、CNN(畳み込みニューラルネットワーク)やGANとの違いを正確に判別できるかが問われます。

詳細をクリックして確認
対象試験:
基本情報技術者
応用情報技術者
出題頻度:
★★★☆☆
ランクB(標準)覚えておくと有利

用語の定義

RNN(Recurrent Neural Network / リカレントニューラルネットワーク)とは、一言で言うと

 「中間層にループ構造を持ち、過去の情報を保持しながら時系列データを処理できるニューラルネットワーク

のことです。

イメージとしては、前の会話を覚えている人です。

通常のニューラルネットワークは、入力を受け取るたびに前回の情報をすべて忘れます。毎回「はじめまして」から始まる接客係のようなものです。

一方RNNは、直前までのやり取りを記憶したまま次の入力を処理するので、文脈を踏まえた判断ができます。

📊 RNNの基本情報

項目 内容
英語名 Recurrent Neural Network
分類 ディープラーニングの一手法(回帰型ニューラルネットワーク)
得意な入力 時系列データ(音声、自然言語、株価推移など順序を持つデータ)
シラバスでの位置 FE シラバスVer.9.0 / AP シラバスVer.7.2「AIの技法の応用」用語例

解説

通常のフィードフォワード型ニューラルネットワークは、入力層→中間層→出力層と一方向にデータが流れます。そのため、1つ前の入力が何だったかを保持する仕組みがありません。

しかし音声認識や機械翻訳では「今の単語の前に何が来たか」が極めて重要です。この課題を解決するために登場したのが、中間層の出力を自分自身へ再入力する「ループ構造(回帰結合)」を持つネットワークです。

フィードフォワード型との構造比較

フィードフォワード型(通常のNN)

入力層
中間層
出力層

データは一方向に流れるだけ。
前回の入力を記憶しない。

RNN(リカレント型)

入力層
中間層
出力層
ループ

中間層の出力が自分自身に戻る。
過去の情報を保持して処理する。

▲ RNNの最大の特徴は中間層のループ構造(回帰結合)

時間方向への展開図

ループ構造を時間軸で「展開(unfold)」すると、各時刻(t-1, t, t+1…)のステップごとに中間層が連鎖する構造として理解できます。

RNNの時間展開図(Unfolded View)

y(t-1)
h(t-1)
x(t-1)
y(t)
h(t)
x(t)
y(t+1)
h(t+1)
x(t+1)

x = 入力 / h = 隠れ状態(前の時刻から引き継がれる) / y = 出力
オレンジの横矢印が「過去の隠れ状態を次の時刻へ渡す」流れを表す

勾配消失問題とLSTM

単純なRNNには「勾配消失問題」という弱点があります。時系列が長くなるにつれて、学習時に古い情報の影響が指数的に小さくなり、遠い過去の文脈を反映できなくなる現象です。

この問題を克服するために開発されたのがLSTM(Long Short-Term Memory)です。LSTMは「忘却ゲート」「入力ゲート」「出力ゲート」という3つの制御機構を持ち、どの情報を保持し、どの情報を捨てるかを学習で自動調整します。IPAのシラバスではRNNとセットでLSTMも用語例に挙げられています。

CNN・GANとの比較

深層学習の代表的アーキテクチャを「得意な入力データ」で整理すると、選択肢の切り分けが一目で分かります。

アーキテクチャ 得意な入力 代表的な用途
RNN 時系列・シーケンスデータ 音声認識、機械翻訳、自然言語処理
CNN 画像・空間データ 画像認識、物体検出、顔認証
GAN 生成元となる学習データ 画像生成、データ拡張、フェイク検知

では、この用語が試験でどのように出題されるか見ていきましょう。

💡 RNNの核心を3行で

・中間層にループ(回帰結合)を持ち、過去の隠れ状態を次の時刻に引き継ぐ
・時系列データ(音声・言語・株価など)の処理に特化した深層学習手法
・勾配消失問題を克服した発展型がLSTM


試験ではこう出る!

RNN単体を直接問う午前問題は現時点では少なく、ディープラーニング全般の出題の中で選択肢の1つとして登場するパターンが中心です。

ただしIPAはFEシラバスVer.9.0・APシラバスVer.7.2でRNNを用語例に明記しており、今後の出題が見込まれるため、ここだけは確実に押さえてください。

📊 関連する出題実績

試験回 出題内容 RNNとの関連
AP R3秋
午前 問3
ディープラーニングに最も関連が深いものを選ぶ問題。正解は「神経回路網を模倣した多層構造のモデル」。 RNNを含むニューラルネットワーク全般が正解の根拠。エキスパートシステムや遺伝的アルゴリズムがひっかけ。
AP R1秋
午後 問3
ニューラルネットワークをテーマにしたプログラミング問題。パーセプトロンの計算過程を問う。 RNN自体は直接問われないが、ニューラルネットワークの基礎(重み・活性化関数)の理解が前提。
FE R6公開
科目A 問3
ディープラーニングに最も関連が深いものを選ぶ問題(AP R3秋 問3と同一構成)。 FEとAPで同じ論点が流用される典型例。深層学習=ニューラルネットワークの多層構造であることを理解していれば正答可能。

📝 今後予想される出題パターン

パターン1:「各ネットワークの特徴を選べ」
CNN・RNN・GANの説明文が並び、それぞれの特徴に合致するものを選ぶ形式。RNNのキーワードは「時系列」「回帰結合」「順序を持つデータ」。CNNの「畳み込み」「画像認識」と混同しないことがポイント。

 

パターン2:「LSTMの特徴を選べ」
LSTMが単純なRNNの勾配消失問題をゲート機構で解決したことを問う形式。「長期依存関係を学習できる」が正解の根拠になる。

 

試験ではここまででOKです。RNNの数式(重み行列の更新式など)が午前で問われることはないので、深追いは不要です。


【確認テスト】理解度チェック

ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。


Q. 深層学習のアーキテクチャのうち、中間層にループ構造(回帰結合)を持ち、音声認識や自然言語処理など時系列データの処理を得意とするものはどれか。

  • A. 畳み込み層とプーリング層を交互に重ねることで、画像から局所的な特徴を自動抽出するネットワーク構造。
  • B. 中間層の出力を自分自身へ再入力するループ構造を持ち、過去の隠れ状態を保持しながらシーケンスデータを処理するネットワーク構造。
  • C. 生成器と識別器の2つのネットワークを競わせ、本物と区別がつかないデータを生成させるネットワーク構造。

正解と解説を見る

正解:B

解説:
RNNは、中間層にループ構造(回帰結合)を備え、直前の時刻の隠れ状態を次の時刻の入力に合流させることで、順序を持つデータの文脈を保持して処理するネットワークです。

選択肢AはCNN(畳み込みニューラルネットワーク)の説明です。CNNは畳み込み層で局所的な特徴を抽出し、プーリング層で情報を圧縮する構造であり、画像認識に特化しています。選択肢CはGAN(敵対的生成ネットワーク)の説明です。GANは生成器(Generator)と識別器(Discriminator)を対立的に学習させることで新たなデータを生成する手法であり、データの順序処理とは目的が異なります。


よくある質問(FAQ)

Q. RNNは今でも実務で使われていますか?

使われています。ただし近年は、Transformer(トランスフォーマー)という並列処理に優れたアーキテクチャが主流になっており、ChatGPTなどの大規模言語モデルもTransformerベースです。RNNやLSTMは、リアルタイムのセンサーデータ処理やエッジデバイスなど、計算資源が限られる場面で引き続き採用されています。IPA試験の範囲ではTransformerまで問われないため、RNN/LSTMの理解で十分です。

Q. LSTMとGRUの違いは何ですか?

LSTMはゲートを3つ(忘却・入力・出力)持つのに対し、GRU(Gated Recurrent Unit)はリセットゲートと更新ゲートの2つに簡略化した構造です。GRUはパラメータが少ないぶん学習が速い傾向がありますが、性能面ではタスクによってどちらが優れるか変わります。IPA試験ではGRUが問われた実績はないため、LSTMの概要だけ押さえておけば問題ありません。

Q. 「リカレント」と「再帰的」は同じ意味ですか?

日本語では混同されやすいですが、厳密には異なります。「リカレント(Recurrent)」は同じ処理が繰り返しループする構造を指し、RNNがこれに該当します。一方「再帰的(Recursive)」は、木構造のように入れ子になったデータを処理するネットワーク(Recursive Neural Network)を指します。IPA試験のシラバスでは「リカレント」が用語例であり、「再帰的」と書かれた場合は別概念を指す可能性があるため、問題文の英語表記に注目すると確実です。

Q. RNNで株価を予測できますか?

技術的にはRNNやLSTMで株価の時系列データを入力し、将来の値動きパターンを学習させることは可能です。実際に研究や一部のフィンテック企業で利用されています。ただし、株価は経済指標・政治情勢・投資家心理など非定量的な要素にも左右されるため、モデル単体で安定した利益を出せるわけではありません。試験でこの話題が出ることはないですが、「時系列データの予測」がRNNの得意分野であるという理解を補強する実例として知っておくと有益です。