前回の講義では、CNN(畳み込みニューラルネットワーク)について学びました。
CNNは、画像認識や特徴抽出に優れたモデルであり、畳み込み層とプーリング層を用いることで、局所的な特徴を効率的に捉えることができました。
しかし、CNNには時間の流れを考慮する仕組みがないため、時系列データや自然言語処理(NLP)には適していません。
そこで今回のテーマである RNN(Recurrent Neural Network) の登場です。
RNNは、過去の情報を保持しながら逐次処理が可能なニューラルネットワークであり、時系列データや言語処理などに適しています。
例えば、文章の文脈を考慮した翻訳や、過去のデータから未来を予測する株価分析などに応用されます。
しかし、RNNにも勾配消失問題や長期依存関係の学習が困難といった課題があります。
そのため、RNNの問題を解決する手法として開発された LSTM(Long Short-Term Memory) についても詳しく解説していきます。

1. RNNとは
RNN(Recurrent Neural Network)の基本概念
RNN(再帰型ニューラルネットワーク)は、時系列データや系列データを扱うために設計されたニューラルネットワークの一種です。
従来のフィードフォワード型ニューラルネットワーク(MLPやCNN)とは異なり、過去の情報を保持し、次の出力に影響を与える仕組みを持っています。
RNNの基本構造は、以下のように表現できます。
- 入力:
時系列データ(例:音声、テキスト、株価の変動) - 隠れ層:
前の時刻の情報を内部状態(メモリ)として保持 - 出力:
時系列データに基づいた予測(例:次の単語、次の株価)
一般的なRNNの数式表現は次のようになります。

ここで、
- xtは時刻 tの入力データ
- htは時刻 tの隠れ状態
- Wx,Whは重み行列
- bはバイアス
- fは活性化関数(通常はtanhやReLU)
このように、過去の情報を隠れ状態(hth_tht)に保持しながら処理を行う点が、RNNの大きな特徴です。
2. RNNと可変長データ
可変長データとは?
RNNは、可変長のデータ(長さが一定ではないデータ)を扱うことができる点が大きなメリットです。例えば、以下のようなケースで活用されます。
- 自然言語処理(NLP):
文の長さは一定ではない(短い文章もあれば長い文章もある) - 音声認識:
発話の長さが異なる(短い単語と長い文が混在) - 時系列データ分析:センサーデータや株価の変動の長さが一定ではない
RNNは、各時刻のデータを順番に処理しながら、前の情報を活用するため、こうした可変長データを自然に扱うことが可能です。
可変長データ処理の利点
- 柔軟な入力サイズ:
MLPのように固定サイズのベクトルに変換する必要がない - 時間の流れを考慮できる:
過去の情報を保持しながら学習できる
ただし、この可変長データ処理の仕組みがRNN特有の課題を引き起こすこともあります。
3. RNNの学習における課題
RNNは強力なモデルですが、以下のような学習上の課題があります。
(1) 勾配消失・勾配爆発問題
RNNの学習は、誤差逆伝播法(Backpropagation Through Time, BPTT)を用います。
しかし、系列が長くなると、誤差が次第に0に近づいてしまい(勾配消失)、遠い過去の情報が学習されなくなる問題が発生します。
逆に、勾配が異常に大きくなる(勾配爆発)こともあります。
(2) 長期依存関係の学習が困難
たとえば、文章の冒頭に登場した主語が、文の終わりでの動詞の選択に影響を与えるような場合、通常のRNNでは数十単語離れた情報を適切に保持することが難しいです。
(3) 計算コストが高い
RNNは時系列に沿って順番に計算を行うため、並列処理がしにくく、計算が遅くなりやすいという欠点もあります。
これらの問題を解決するために開発されたのが LSTM(Long Short-Term Memory) です。
4. 課題を解決するLSTM
LSTMとは?
LSTMは、RNNの欠点を克服するために開発されたモデルで、長期間の依存関係を記憶しやすい構造を持っています。
RNNの隠れ層を改良し、「セル状態(Cell State)」と「ゲート機構(Gate Mechanism)」を導入することで、勾配消失問題を解決します。
LSTMの構造
LSTMは以下の3つのゲートを持ちます。
- 忘却ゲート(Forget Gate)
- 重要でない情報を削除する
- 数式:

- 入力ゲート(Input Gate)
- どの情報を記憶するか決める
- 数式:

- 出力ゲート(Output Gate)
- どの情報を次のステップに渡すか決める
- 数式:

この3つのゲートが適切に機能することで、LSTMは長期依存関係を保持しつつ、必要な情報のみを効果的に学習できます。
5. まとめ
- RNNは時系列データを扱うのに適したモデルだが、勾配消失や長期依存関係の学習が難しいといった問題がある。
- 可変長データを自然に扱えるが、計算コストの高さが課題。
- LSTMはRNNの問題を解決するために開発され、長期依存関係の学習を可能にする。
- LSTMのゲート機構(忘却・入力・出力)により、重要な情報を選択的に保持できる。
このように、時系列データや自然言語処理においてLSTMは非常に有効な手法です。
さらに発展したモデルとしてGRU(Gated Recurrent Unit)やTransformerも存在するため、用途に応じた選択が重要になります。