# RNN
## 定義
RNN(再帰型ニューラルネットワーク、Recurrent Neural Network)は、時系列・系列データを処理するニューラルネットワークのクラスである。共通の遷移関数 $f$ を全時刻に適用し、固定次元のベクトル状態 $h_t \in \mathbb{R}^d$ を更新しながら系列を逐次処理する。形式的には、時刻 $t$ の入力 $x_t$ を受け取り、$h_{t+1} = f(x_t, h_t)$、出力 $y_t = g(h_t)$ という規則で動作する。状態が固定次元であることが特徴であり、推論時は 1 ステップあたり定メモリ・定計算量で動作する。(Source: [[joisino-トランスフォーマーはRNN-2024]])
## 横断的知見
- [[Transformer]] は KV キャッシュを状態とした RNN として形式的に見なすことができ、両者は二項対立ではなく同質の計算モデルを異なる角度から捉えたものである。KV キャッシュの状態はアテンションのカーネル法再定式化を通じて固定次元ベクトル $w_n$ に変換でき、完全な RNN 形式が得られる。(Source: [[joisino-トランスフォーマーはRNN-2024]])
- 状態次元のスペクトルとして、無限次元(通常の Transformer)から低次元 RNN まで連続的に配置できる。テキストには高次元(低圧縮)、動画・音声には低次元(高圧縮)が適するという設計指針が導ける。(Source: [[joisino-トランスフォーマーはRNN-2024]])
## 未解決の問い
- Transformer と RNN の「等価変換」において、有限次元近似の精度とモデル性能はどのようにトレードオフするか。現実の LLM ではどの次元数が適切か。
- RWKV、Mamba 等の[[状態空間モデル]]は具体的にどの近似カーネルを使っており、通常の Transformer に対してどの程度性能を保持できるか。
## 関連
- [[Transformer]] — RNN と等価変換できることが示されたアーキテクチャ
- [[線形注意]] — 有限次元カーネルで RNN モードを実現するモデル群
- [[状態空間モデル]] — RNN の一般化として位置づけられる系列モデル
- [[文脈内学習]] — Transformer の RNN 状態更新として解釈できる
## 出典
- [[joisino-トランスフォーマーはRNN-2024]](§「この議論の問題点」〜§「トランスフォーマーは RNN である(再)」)