リカレントニューラルネットワーク(RNN)は、時系列データや連続的な情報を扱うために設計された特別なニューラルネットワークの一種です。
通常のニューラルネットワークが各入力を独立したものとして扱うのに対し、RNNは過去の情報を記憶し、それを現在の入力の処理に反映させるという特徴を持っています。
これは、ネットワーク内に再帰的なループが存在するためで、以前のステップの出力が次のステップの入力として再利用されることで実現されます。
この「記憶」の機能により、文章の単語予測や音声認識、株価の変動予測など、時間的な文脈が重要なタタスクに非常に有効です。
たとえば、文章生成において「私は」という単語の後に「学校へ」という単語が続く確率を学習する場合、RNNは「私は」という過去の情報をもとに次の単語を予測します。
しかし、単純なRNNは長期的な依存関係、つまり離れた過去の情報までをうまく記憶できないという勾配消失問題を抱えていました。この問題を解決するために、長・短期記憶(LSTM)やゲート付き回帰型ユニット(GRU)といった改良版が開発されました。
これらは「ゲート」と呼ばれる機構を導入することで、どの情報を記憶し、どの情報を忘れるかを制御できるようになり、より長い時間軸の情報を扱うことが可能になりました。
RNNは、その革新的な構造によって、自然言語処理をはじめとする多くの分野で革命をもたらしました。
