Up RNN の数学 作成: 2026-07-31
更新: 2026-08-11

AINNMLP, RNN, CNN の数学RNN

    入力:1-テンソル
    出力:1-テンソル

    1-テンソルの順序列
      x^0 → x^1 → ‥‥
    から,1-テンソルが順番に入力される。つ

     註: 下付きの添字は,n-テンソルxを
       x = (x_{i_1, ‥‥, i_n} )
    と書き,テンソルの成分の位置を示すものとした。
    そこで,テンソルの順序列の中のテンソルxは,その順番を上付き添字で示すことにする。


    RNN (LSTM/GRU) は,LLM と並べると,わかりやすい。

    LLM は,入出力がつぎのようになっている:
     1. 出力したトークン x^t を,つぎの入力にする
     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
    h_t はメモリの内容。
    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) になる関数は一般に存在しないからである。
    実際,この式からは,
      h^{t+1} = f( h^t, x^t )
          = f( h^t}, g(h^t) )
    が導かれ, h^t が h^{t+1} を決定することになってしまう。
    しかし h^t の実際の遷移は,「状態 s^t 」 という<偶然>が介在してくる:
      出力 x^t
       → 状態 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}