リカレントニューラルネットワーク(Recurrent Neural Network, RNN)
リカレントニューラルネットワーク(Recurrent Neural Network, RNN)は、時系列データやシーケンシャルデータの処理に使用されるニューラルネットワークの一種です。RNNは、過去の情報を保持しながら現在の情報を処理するため、時間的な依存関係や文脈を捉えることができます。
通常のフィードフォワード型のニューラルネットワークでは、入力データと重みが固定されており、各入力に対して独立に処理されます。しかし、時系列データやシーケンシャルデータでは、前の時点での情報が後続の情報に影響を与えることがあります。このような場合、RNNは過去の情報を保持するための「隠れ状態」と呼ばれる内部メモリを持ちます。
RNNは、各時刻の入力と隠れ状態を受け取り、次の時刻の隠れ状態を生成します。この隠れ状態は、一つ前の時刻の隠れ状態と現在の入力を組み合わせて計算されます。この再帰的な構造により、RNNは過去の情報を保持しながら新しい情報を統合することができます。
RNNは、自然言語処理や音声認識、機械翻訳など、時系列データを扱う様々なタスクに応用されています。また、RNNの改良版として、LSTM(Long Short-Term Memory)やGRU(Gated Recurrent Unit)などの派生モデルが存在します。これらのモデルは、長期的な依存関係を捉える能力を強化し、RNNの学習の安定性を改善します。