Up テンソル (数の配列のベクトル化) 作成: 2026-08-02
更新: 2026-08-13

AINNMLP, RNN, CNN の区別数の配列のベクトル化

    NN の説明は,数学をいくつか使うことになる。
    その数学の1つに,「数の配列のベクトル化」 の意味の 「テンソル」 がある。
    この 「テンソル」 を,ここで押さえてtおく。

    この押さえは,重要である。
    なぜなら,工学では 「テンソル」 の誤解があたりまえになっているからである。
    その誤解は,
      横1列に並べた配列   → 「ベクトル」
      平面に方形に並べた配列 → 「行列」
      空間に方形に並べた配列 → 「テンソル」

    これは,配列を図形として見て
      直線的 → 「ベクトル」 
      平面的 → 「行列」 
      空間的 → 「テンソル」 
    としているわけである。

    正しくは,
      横1列に並べた配列  :1-テンソル
      平面に方形に並べた配列:2-テンソル
      空間に方形に並べた配列:3-テンソル
    そして,n-テンソルはベクトルである。


    (1) 表記・用語
    自然数のn切片 {1, ‥‥, n} を [n] で表す。

    写像
        x : [n_1] × ‥‥ × [n_p] → ℝ
    を,(n_1, ‥‥ , n_p)-テンソルと呼ぶ。
    また,定義域がp個の切片の直積であることを指して,p-テンソルと呼ぶ。

    x( i_1, ‥‥, i_p ) を x_{i_1, ‥‥, i_p} で表す。
    また,xを ( x_{i_1, ‥‥, i_p} ) で表す。


    ○ 1-テンソルと 2-テンソルの場合
    1-テンソル
        x : [n] → ℝ
    の場合は,( x_i ) をさらに (x_1, ‥‥, x_n) と表す。
    よって,
       x = (x_1, ‥‥, x_n)

    2-テンソル
        x : [m] × [n] → ℝ
    の場合は,( x_ij ) をさらにつぎのように表す:
        x_11, ‥‥, x_1j, ‥‥, x_1n
           ‥‥‥‥
        x_i1, ‥‥, x_ij, ‥‥, x_in
           ‥‥‥‥
        x_m1, ‥‥, x_mj, ‥‥, x_mn
    2-テンソルは,即ち 「行列」 である。


    (2) テンソルのベクトル化
    (n_1, ‥‥ , n_p)-テンソル全体の集合を,T(n_1, ‥‥ , n_p) で表す。

    T(n_1, ‥‥ , n_p) は,
      e^{i_1, ‥‥, i_p} ( i_k ∈ [n_k], k = 1, ‥‥, p )
        e^{i_1, ‥‥, i_p} ( i_1, ‥‥, i_p ) = 1
        e^{i_1, ‥‥, i_p} ( j_1, ‥‥, j_p) = 0 
          ( ( j_1, ‥‥, j_p) ≠ ( i_1, ‥‥, i_p ) )
    を標準的な基底とする実線型空間になる。
    次元は,基底の要素の数の n_1× ‥‥ × n_p。 

    よって,
      (n_1, ‥‥ , n_p)-テンソルは
       n_1× ‥‥ × n_p 次元ベクトル


    ○ 1-テンソルと 2-テンソルの場合
    1-テンソルの T(n) は,
      e^i ( i = 1, ‥‥, n )
        e^i ( i ) = 1
        e^i ( j ) = 0 ( j ≠ i ) )
    を標準的な基底とする n次元実線型空間。

    よって,1-テンソル (x_1, ‥‥, x_n) は,n次元ベクトル。

    2-テンソルの T(m,n) は,
      e^ij ( i = 1, ‥‥, m; j = 1, ‥‥, n)
        e^ij ( i, j ) = 1
        e^ij ( k, l ) = 0 ( ( k, l) ≠ ( i, j ) )
    を標準的な基底とする m×n次元実線型空間。

    よって,2-テンソルの (m, n)-テンソル ── 即ち 「(m, n)-行列」 ── は,m×n次元ベクトル。


    注意. 「次元」
    ひとは,p ≧ 2 の p-テンソルに対し,p を次元と錯覚しやすい。
    即ち,p-テンソルがリアルに配置される空間はp次元になるが,このp次元をテンソルの次元だと勘違いする:
      「行列は平面に並ぶので,2次元,∈ ℝ^2。
       その行ベクトルは,(x_i1, ‥‥, x_in) ∈ ℝ^n
       あれ?
    次元は,「基底をつくる要素の数」。
    次元を 「直交軸の数」のイメージでわかったつもりでいると,行列/テンソルの次元を考えられなくなる。


    (3) テンソルの連続性
    テンソル
        x : [n_1] × ‥‥ × [n_p] → ℝ
    の定義域
      D = [n_1] × ‥‥ × [n_p]
    に対し,切片の標準的な距離位相の直積位相を考える。

     具体的には:
     つぎの関数dが距離関数になる:
      d : D × D → ℝ^+
        d( (i_1, ‥‥, i_p), (i'_1, ‥‥, i'_p) )
         = √( (i_1 - i'_1)^2 + ‥‥ + (i_p - i'_p)^2 )
     この d を以て,Dに距離位相を入れる。

    xの値域 ℝ にも,標準的な距離位相を入れる。
    このとき,xに対し,「連続性」 を考えることができる:
      「(i_1, ‥‥, i_p) ∈ D において,xは連続かどうか」