シーケンスには順序があります。リカレントニューラルネットワークは、入力を一度に1ステップずつ処理し、前のステップの内容を要約した隠れ状態を次のステップに引き継ぎます。すべてのステップで同じ重みが適用されるため、ネットワークは可変長の入力を処理できます。
この反復処理によってモデルに記憶機能が付与される一方で、学習速度は低下する。各ステップは前のステップに依存するため、時間軸に沿った並列処理が不可能となる。また、長いシーケンスでは勾配が消失したり爆発したりする原因にもなる。
一般的なRNNのバリアント
- 単純なリカレントネットワーク
- 長期短期記憶
- ゲート付き再帰ユニット
- 双方向RNN
- ディープスタックRNN
Transformerは、アテンション機構が並列処理を行い、長距離依存関係をより確実に捉えることができるため、ほとんどの言語処理タスクにおいてRNNに取って代わりました。RNNは、その効率性が重要なストリーミングや組み込み環境では依然として使用されています。
Comments
No comments yet. Be the first to share a thought.
Leave a comment