今回は時系列データでの予測に関する内容となります。
RNNの概要
再帰型ニューラルネットワーク(RNN)は、系列データ(時系列データや文章など)を扱うためのニューラルネットワーク。
通常のニューラルネットワーク(DNNやCNN)は入力を独立したデータとして処理するが、RNNは 過去の情報を保持し、それを現在の処理に活かす ことができる。
RNNの仕組み
RNNの特徴は、隠れ状態(Hidden State)を持ち、過去の情報をフィードバックすることである。
基本的なRNNの計算式は以下のようになる。

RNNの課題
RNNにはいくつかの課題があります。
勾配消失・勾配爆発
- 長い系列データを扱うと、誤差逆伝播の際に勾配が極端に小さくなる(勾配消失)または極端に大きくなる(勾配爆発) ことがある。
- これにより、長期的な依存関係を学習しにくくなる。
長期依存の学習が難しい
- 例えば、文章の冒頭に出てきた情報を数十単語後に利用する必要がある場合、通常のRNNでは適切に記憶できない。
並列計算が難しい
- RNNは 前の時刻の計算結果が次の時刻の入力に影響する ため、通常のニューラルネットワークに比べて並列処理が困難。
RNNの改良モデル
RNNの課題を解決するために、以下の改良モデルが開発されている。
長・短期記憶(LSTM: Long Short-Term Memory)
- 勾配消失を抑え、長期間の依存関係を学習可能にする モデル。
- ゲート機構(入力ゲート・忘却ゲート・出力ゲート) を導入し、情報の保持・忘却を制御する。
✔ GRU(Gated Recurrent Unit)
- LSTMを簡略化したモデル。計算コストが低く、精度も高い ため、広く利用される。
✔ Transformer
- RNNを使わず、自己注意機構(Self-Attention) を用いることで、長期依存関係を効果的に学習できる。
- 並列計算が可能 であり、現在の自然言語処理(NLP)の主流。
RNNの応用例
RNNは時系列データや自然言語処理(NLP)で広く使われている。
自然言語処理(NLP)
- 機械翻訳(Google翻訳など)
- 文章生成(チャットボット、AIライティング)
- 音声認識(Siri、Google Assistant)
時系列データの解析
- 株価予測
- センサーデータ分析
- 気象予測
音声・映像処理
- 音楽の自動作曲
- 動画のキャプション生成
まとめ
- RNNは時系列データを扱うために設計されたニューラルネットワーク。
- 過去の情報を保持し、次の時刻の入力に影響を与える。
- 勾配消失・勾配爆発の課題があるため、LSTMやGRUなどの改良版が広く使われる。
- 現在はTransformer(BERT, GPTなど)が主流になりつつある。
演習
問1:
(1) RNNが通常のニューラルネットワーク(DNNやCNN)と異なる主な理由は何か?
- RNNは入力データを独立に処理する
- RNNは過去の情報を保持し、それを現在の処理に活用できる
- RNNは並列計算が容易である
- RNNは畳み込み演算を用いる
(2) RNNの隠れ状態(Hidden State)を更新する数式として正しいものはどれか?

問2
(1) RNNにおいて「勾配消失問題(Vanishing Gradient Problem)」とは何か?
- 学習が進むにつれて勾配が大きくなりすぎる問題
- 長い系列データを学習すると、誤差逆伝播の際に勾配が極端に小さくなる問題
- 隠れ状態の値が不安定になり、正しく学習できなくなる問題
- RNNの出力がランダムになってしまう問題
(2) RNNが長期依存関係を学習するのが難しい理由は?
- RNNは入力データを独立に処理するため、系列情報を考慮できない
- RNNは畳み込み演算を行うため、時間方向の依存関係を考慮できない
- 勾配消失問題の影響で、長い時系列データの情報が後の時刻に伝わりにくい
- RNNは学習パラメータを持たず、データの関係性を学習できない
問3
(1) LSTMがRNNの課題を克服できる理由として最も適切なものは?
- 勾配消失問題を軽減するため、ゲート機構 を導入して情報を制御する
- 計算コストを削減するため、隠れ状態を持たない
- 畳み込みフィルターを使用して特徴を抽出する
- RNNよりも浅い層で学習を行う
(2) LSTMに含まれる「忘却ゲート(Forget Gate)」の役割は何か?
- 新しい情報を追加する
- 過去の不要な情報を削除する
- 隠れ状態を初期化する
- 出力の確率分布を計算する
(3) LSTMよりも計算が軽量で、ほぼ同じ性能を持つRNNの改良モデルは?
- Transformer
- CNN
- GRU(Gated Recurrent Unit)
- SVM(Support Vector Machine)
問4
(1) RNNが適用されるタスクとして適切でないものはどれか?
- 機械翻訳
- 時系列データ解析(株価予測など)
- 画像分類(静止画像のクラス分類)
- 音声認識
(2) TransformerがRNNに代わって自然言語処理(NLP)の主流になった理由は?
- RNNよりも並列計算が可能で、計算効率が高い
- RNNと同じだが、新しい技術なのでよく使われる
- 畳み込み演算を使用しているため、高速に学習できる
- 勾配消失問題を解決するため、隠れ状態を持たない
↓
↓
↓
(解答)
問1: RNNの基本概念
(1) 答え: ② RNNは過去の情報を保持し、それを現在の処理に活用できる
- RNNは隠れ状態(Hidden State)を持ち、過去の情報を引き継ぐため、時系列データや文章の処理に適している。

問2 問2: RNNの課題
(1) 答え: ② 長い系列データを学習すると、誤差逆伝播の際に勾配が極端に小さくなる問題
- 勾配消失問題により、長い時系列データを扱うと、過去の情報が適切に伝わらなくなる。
(2) 答え: ③ 勾配消失問題の影響で、長い時系列データの情報が後の時刻に伝わりにくい
- RNNは短期間の依存関係は学習できるが、系列が長くなると情報が失われる。
問3 RNNの改良モデル
(1) 答え: ① 勾配消失問題を軽減するため、ゲート機構を導入して情報を制御する
- LSTMは入力ゲート・忘却ゲート・出力ゲートを用いて、重要な情報を保持し、不要な情報を削除できる。
(2) 答え: ② 過去の不要な情報を削除する
- 忘却ゲートは「どの情報を捨てるか」を決定し、勾配消失を抑える役割を持つ。
(3) 答え: ③ GRU(Gated Recurrent Unit)
- LSTMと似た動作をするが、ゲートの数が少なく、計算コストが低い。
問4 RNNの応用例
(1) 答え: ③ 画像分類(静止画像のクラス分類)
- 画像分類は通常、CNN(Convolutional Neural Network)が用いられる。
(2) 答え: ① RNNよりも並列計算が可能で、計算効率が高い
- Transformerは「自己注意機構(Self-Attention)」を用いることで、長期依存関係を学習しながら並列処理が可能になる。
参考資料
・データサイエンス数学ストラテジスト[上級]公式テキスト | 公益財団法人 日本数学検定協会 |本 | 通販 | Amazon