再帰ニューラルネットワーク(RNN)は、時間的な順序や文脈を考慮して時系列データや自然言語を処理するニューラルネットワークの一種です。中間層の出力を次の処理へ再帰的に入力する構造により、過去の情報を記憶して処理に反映できるのが特徴です。音声認識や機械翻訳の基礎として広く用いられてきました。
再帰ニューラルネットワークとは
再帰ニューラルネットワーク(RNN)とは、時系列データや文章などのシーケンシャルなデータを扱うために設計されたニューラルネットワークの一種です。過去の情報を内部に保持して記憶しながら処理を行うことで、文脈や時間の流れを考慮した高度なパターン認識を実現します。
詳しく解説
従来のニューラルネットワークは、各入力データが独立して処理され、入力間の時間的な依存関係を扱えませんでした。これに対し、再帰ニューラルネットワークは、中間層の出力を次のステップの中間層の入力として再帰させる構造を持っています。この仕組みにより、過去の処理結果が現在の処理に影響を与えるため、データ全体の文脈や時間的な前後関係をモデル化することが可能になりました。これはディープラーニングにおけるシーケンス処理の基礎として、音声認識や自然言語処理の発展に大きく貢献しました。
具体例・使われ方
具体的な利用例としては、スマートスピーカーなどに使われる音声認識、ある言語から別の言語へと文脈を維持して翻訳する機械翻訳、検索エンジンのテキスト入力予測、株価や気象の予測などの時系列データ解析が挙げられます。また、画像の特徴から説明文を自動生成するタスクなどでも利用されています。
似た用語との違い
再帰ニューラルネットワークと畳み込みニューラルネットワークの違いは、扱うデータの特性にあります。畳み込みニューラルネットワークは画像の空間的な特徴の抽出に優れる一方、時系列データのような順序関係の処理には不向きです。また、近年登場したTransformerは、再帰的な構造を持たずに文脈を双方向から捉えるため、より効率的な並列処理が可能となり、多くの自然言語処理タスクで再帰ニューラルネットワークに代わり主流となっています。
注意点
再帰ニューラルネットワークの最大の弱点は、入力データが長くなると、過去の情報を維持できなくなる勾配消失問題が発生しやすい点です。これにより、長い文章の初期の文脈を後半の処理に反映させることが困難になります。この問題を解決するためにLSTMやGRUなどの拡張モデルが開発されましたが、本質的な計算の並列化の難しさは残るため、大規模なデータ処理ではTransformerなどの最新アーキテクチャに席巻されています。