| Up | RNN の数学 | 作成: 2026-07-31 更新: 2026-08-11 |
出力:1-テンソル 1-テンソルの順序列 x^0 → x^1 → ‥‥ から,1-テンソルが順番に入力される。つ
RNN (LSTM/GRU) は,LLM と並べると,わかりやすい。 LLM は,入出力がつぎのようになっている: 2. 入力の x^t を,ここまで生成のテクスト h^t (メモリ在中) に追加する: ( h^t, x^t ) → h^{t+1} 3. h^{t+1} はつぎのトークン x^{t+1} を導出 h^{t+1} → x^{t+1} 4. x^{t+1} を出力する ここで,h^t の内容は考えないで,対応 ( h^t, x^t ) → h^{t+1} h^{t+1} → x^{t+1} の形式だけを見る: そして,入出力がこの形式で特徴づけられる NN を,RNN と呼ぶ。 LLM の h^t はテクストであったが,RNNではこれが抽象化 (一般化) される。 その一般化された h_t を 「内部状態」 と呼ぶ。 記号 h^t の h は,"hidden" の読みから。 「内部状態」 を,「隠れ状態」 と読んでいるわけ。 また,h^t の t は,"time" の読みから。 対応 ( h^t, x^t ) → h^{t+1} h^{t+1} → x^{t+1} を見ることは,「過去が現在に影響する」 の一つの形式化。 ただし,tは 「離散時刻の順序列」 の 「項の順番」を示すもの: t = 0, 1, 2, ‥‥ 時間/時刻の読みは,捨象される。 注意1 NN のパラメータ値ではない。 パラメータは,訓練終了を以て固定。 一方 h_t は,t とともに変化。 注意2 ( h^t, x^t ) → h^{t+1} h^{t+1} → x^{t+1} は,1回性の出来事を追う記述である。 h^{t+1} = f( h^t, x^t ) x^{t+1} = g(h^{t+1}) と書くと,間違いになる。 f, g は関数の意味になるが,h^t が変数(variable) になる関数は一般に存在しないからである。 = f( h^t}, g(h^t) ) が導かれ, h^t が h^{t+1} を決定することになってしまう。 → 状態 s^{t+1} → 入力 : x^t + s^{t+1} → h^t + ( x^t + s^{t+1} ) → ( h^t + x^t ) + s^{t+1} → h^{t +1} + s^{t+1} → x^{t +1} |