はじめに
こんにちは。2026年1月のG検定に合格した、文系出身のエンジニアです。
前回の記事ではCNN(畳み込みニューラルネットワーク)について書きましたが、今回はもうひとつのG検定頻出テーマ、RNN(再帰型ニューラルネットワーク) と LSTM を取り上げます。
「再帰?ループ?時系列データ?」と、テキストの説明を読んでも全然イメージが湧かなかった方、安心してください。私もそうでした。CNNが「画像のためのネットワーク」なら、RNNは 「順番のあるデータのためのネットワーク」 です。この一点を押さえるだけで、理解が一気に進みます。
※ この記事はJDLA公式の教材ではありません。個人の学習体験に基づく内容です。
RNNとは?「前のことを覚えながら読む」ネットワーク
RNN(Recurrent Neural Network)は、時系列データ(順番に意味があるデータ) を扱うためのニューラルネットワークです。具体的には、自然言語処理、音声認識、株価予測などに使われてきました。
では、なぜ普通のニューラルネットワークではダメなのか?
たとえば「私は東京に住んでいます」という文を考えてみてください。「住んでいます」の意味を理解するには、その前にある「私は」「東京に」という 文脈 が必要です。普通のニューラルネットワークは入力を独立に処理するので、「前の単語を覚えておく」ことができません。
RNNはこの問題を、自分自身にループする接続 を持つことで解決します。前の時点の出力を次の時点の入力に回すことで、「記憶」を持てるようになるのです。
文系向けのたとえ:「読書しながらメモを取る人」
私がRNNを理解するために使ったたとえは、本を読みながらメモ帳に要点を書き込む人 のイメージです。
1ページ読むたびに、メモ帳の内容を更新していく。次のページを読むときには、メモ帳の情報も参考にしながら内容を解釈する。最後のページまで読んだら、メモ帳には物語全体のエッセンスが残っている——。
RNNもまさにこの流れで動きます。
| ステップ | 読書する人 | RNNでの処理 |
|---|---|---|
| 1ページ読む | 新しい情報を目で見る | 新しい入力を受け取る |
| メモを更新 | 要点をメモ帳に書き加える | 隠れ状態(Hidden State) を更新 |
| 次を読む | メモを参考に次のページを解釈 | 前の隠れ状態+新しい入力で次を処理 |
| 読了 | メモ帳に全体の要約が残る | 最後の隠れ状態が系列全体の情報を持つ |
隠れ状態 というのがRNNの核心です。G検定では「RNNが過去の情報を保持する仕組みは何か?」という問われ方をすることがあるので、「隠れ状態を次のステップに渡すことで記憶を保持する」と言えるようにしておきましょう。
RNNの弱点:「勾配消失問題」と長い文脈
RNNには重大な弱点があります。文が長くなると、前半の内容を忘れてしまう のです。
先ほどのたとえで言えば、メモ帳のスペースが限られていて、100ページの本を読み進めるうちに1ページ目の要点が上書きされてしまうようなものです。
技術的にはこれを 勾配消失問題(Vanishing Gradient Problem) と呼びます。学習時に、時間をさかのぼるほど勾配(学習の手がかり)が小さくなっていき、遠い過去の情報を反映できなくなるという問題です。
この学習方法には BPTT(Backpropagation Through Time:時間方向の逆伝播) という名前がついています。G検定で「RNNの学習アルゴリズム」を聞かれたら、BPTTと答えましょう。
G検定での頻出ポイント
- RNNの学習方法 → BPTT
- RNNの弱点 → 勾配消失問題(長い系列の学習が苦手)
- 勾配が大きくなりすぎる場合 → 勾配爆発 も起こりうる
LSTMの登場:「大事なことだけ忘れない」仕組み
RNNの勾配消失問題を解決するために登場したのが LSTM(Long Short-Term Memory) です。1997年にHochreiterとSchmidhuberによって提案されました。
LSTMの核心はとてもシンプルで、「何を覚えて、何を忘れるか」を自分で判断できるゲートを追加した ことです。
先ほどの読書のたとえに戻りましょう。LSTMは、メモ帳を使う人が以下の3つの判断を毎ページ行うようになった状態です。
| ゲート | 読書する人の行動 | 役割 |
|---|---|---|
| 忘却ゲート | 「このメモはもう古いから消そう」 | 不要な過去の情報を捨てる |
| 入力ゲート | 「この情報は重要だからメモに追加しよう」 | 新しい情報をどれだけ記憶に加えるか |
| 出力ゲート | 「今必要な部分だけメモから取り出そう」 | 記憶の中から何を出力に使うか |
この3つのゲートによって、LSTMは長い系列でも重要な情報を保持し続けることができます。
G検定での落とし穴
「LSTMのゲートは何個か?」と聞かれたら、3つ(忘却ゲート・入力ゲート・出力ゲート)と答えましょう。「セル状態(Cell State)」はゲートではなく、長期記憶を保持する経路 です。ここを混同すると失点します。
GRU:LSTMの軽量版
LSTM以外にもう一つ覚えておくべきなのが GRU(Gated Recurrent Unit) です。2014年にChoらが提案しました。
GRUはLSTMのゲート構造を簡略化したもので、ゲートが2つ(リセットゲート・更新ゲート)しかありません。セル状態もないため、LSTMよりパラメータが少なく計算が軽いという特徴があります。
| 項目 | LSTM | GRU |
|---|---|---|
| ゲートの数 | 3つ | 2つ |
| セル状態 | あり | なし |
| パラメータ数 | 多い | 少ない |
| 計算コスト | 高い | 低い |
| 性能 | 長い系列に強い | 短い系列では同等 |
G検定では「GRUとLSTMの違い」が出ることがあります。「GRUはゲートが2つで軽量」 という一点だけ覚えておけば、だいたいの問題に対応できます。
系列変換モデル:Seq2Seq(Encoder-Decoder)
RNN/LSTMの応用としてG検定で頻出なのが Seq2Seq(Sequence to Sequence) モデルです。機械翻訳 がその代表例です。
仕組みは名前の通り「系列を入力して、系列を出力する」もの。Encoder(符号化器)で入力文を内部表現に変換し、Decoder(復号化器)でそこから出力文を生成します。
たとえば「I love cats」を「私は猫が好きです」に翻訳するとき、Encoderが英文を圧縮した表現に変え、Decoderがそこから日本語を一語ずつ生成する——というイメージです。
G検定での出題ポイント
- Seq2Seqは Encoder-Decoderモデル とも呼ばれる
- 入力と出力の系列の長さが 異なっていてもOK
- 後にAttention機構が追加され、さらにTransformerへと発展した
文系の私がつまずいたポイントと対処法
RNN/LSTMの勉強中、私が特に混乱した3つのポイントを共有します。
-
「再帰」のイメージが湧かない
→ 「自分の出力を次の自分に渡す」=「メモを引き継ぎながら順番に処理する」と割り切りました。数式のループ表記は無視してOKです。 -
LSTMの3つのゲートが覚えられない
→ 「忘(ぼう)・入(にゅう)・出(しゅつ)」と3文字で覚えました。読書する人の行動に紐づけたことで、丸暗記から脱出できました。 -
RNN・LSTM・GRU・Transformerの関係がごちゃごちゃになる
→ 進化の流れを整理しました:RNN → LSTM/GRU → Seq2Seq → Attention → Transformer。G検定では「なぜ次の技術が必要になったか(前の技術の弱点)」を問われることが多いので、この流れを押さえておくと強いです。
まとめ
| 概念 | ポイント |
|---|---|
| RNN | 隠れ状態で「記憶」を保持。学習方法はBPTT |
| 勾配消失問題 | 長い系列でRNNの学習がうまくいかなくなる現象 |
| LSTM | 3つのゲート(忘却・入力・出力)で長期記憶を実現 |
| GRU | LSTMの軽量版。ゲートは2つ |
| Seq2Seq | Encoder-Decoderで系列→系列の変換。機械翻訳に使用 |
RNNとLSTMは、Transformerが登場する前の「順番のあるデータ」処理の主役 でした。G検定では今でも頻出で、特にTransformerとの対比で「なぜ新しい技術が必要だったか」を問われます。仕組みの全体像さえ掴んでしまえば、得点源になるテーマです。
おすすめの学習リソース
G検定の学習には、出題範囲を体系的に整理してくれている教材を使うのが効率的です。私も勉強中に複数のサイトを横断しながら理解を深めていきました。
特に AI検定ナビ は、RNNやLSTMのような「技術の流れ」を分野ごとに整理してくれているので、「今週はRNN系を一気にやる」といった集中学習に向いています。CNNの記事と合わせて、ディープラーニング分野を効率的に攻略していきましょう。
これからG検定を受ける方、一緒に頑張りましょう!