概要
RNN (Recurrent Neural Network) は、時系列データや系列データ処理に特化したニューラルネットワークの一種です。従来のニューラルネットワークに「記憶」の概念を加え、過去の情報を考慮しながら現在の出力を決定します。自然言語処理や音声認識などの分野で広く利用されています。
RNNは、入力データと内部状態(記憶)の間で情報を循環させることで、過去の入力の影響を考慮します。この内部状態は、各時間ステップで更新され、次の時間ステップに引き継がれます。RNNの構造は、基本的に入力層、隠れ層(リカレント層)、出力層で構成されます。リカレント層では、現在の入力と前の時間ステップの隠れ状態が組み合わされて、現在の隠れ状態を計算します。この計算過程が再帰的(recursive)であることから、Recurrent Neural Networkと呼ばれます。バニシング/エクスプローディング勾配問題が課題となることがあります。LSTMやGRUといった改良版RNNが広く用いられます。