Up CNN の数学 作成: 2026-07-31
更新: 2026-08-10

AINNMLP, RNN, CNN の数学CNN

    入力:2-テンソル (「行列」)
    出力:1-テンソル (「特徴量ベクトル」)
       または 2-テンソル

    中間層:2-テンソル

    計算グラフは,「畳み込み」 と呼ばれる処理のハードコード。


    「畳み込み」 は,数学を使って表現すると,以下のようになる:

    1. [m]×[n] に距離位相を措く
    [m], [n] には,自然数の距離位相の部分位相が入る。
    そしてこの位相の直積として,[m]×[n] に距離位相が入る。

      (i, j), (i', j') ∈ [m]×[n] の距離:
        √((i - i')^2 + (j - j')^2)


    2. (u, v) ∈ [m]×[n] の r-近傍
    (u, v) ∈ [m]×[n] と自然数 0 < r < m, n に対し,
    集合
      V_r(u, v) = { ( i, j ) | | i - u |, | j - v | ≦ r }
    を,
      (u, v) の r-近傍
    と呼ぶ。


    3. [m]×[n] の (m',n'; r)-被覆
    [m]×[n] の部分集合
       { (i_k, j_l) | (k, l) ∈ [m']×[n'] }
         m' < m
         n' < n
    が,つぎのようにつくられているとする:
      単調増加写像
        f : [m'] → [m]
        g : [n'] → [n]

      ( i_k, j_l ) = ( f(k), g(l) )
         ( k, l ) ∈ [m']×[n']

    さらに,つぎの対応が [m]×[n] の被覆になっているとする:
      ( k, l ) ↦ V_r(i_k, j_l)
         ( k, l ) ∈ [m']×[n']

    この被覆を,
      [m]×[n] の (m',n'; r)-被覆
    と呼ぶことにする。


    4. 写像 Conv_K : T(m, n) → T(m', n')
    [m]×[n] の (m',n'; r)-被覆
      { V_r(i_k, j_l) | (k, l) ∈ [m']×[n'] }
    を1つ固定する。

    (k, l) ∈ [m']×[n'] に対し,x'_kl ∈ ℝ をつぎのように定義する:
     x'_kl = Σ{ K(i - i_k, j - j_l) x_ij | (i, j) ∈ V_r(i_k, j_l) }
    K については,後述する。

    (x'_kl) は,(m', n')-テンソルである。

    (x'_kl) のこの導出を,写像の形に表す:
      Conv_K : T(m, n) → T(m', n')
            (x_ij) ↦ (x'_kl)


    5. 関数 K
    "Conv_K" の "K" は,関数
      K : {-r, ‥‥, r} × {-r, ‥‥, r} → ℝ

    CNN の訓練で値が定まっていくパラメータのなかに,関数 K を構築するものがある。
    Kは,訓練の終了を以て定まる,というものである。


    6. CNN
    NN のレイアーごとに
      関数 K
      被覆 V_r
    が定まっている。
    こうして,レイアーごとに Conv_K が定まっている。
    そしてこの Conv_K の連なりが,入力から出力までの処理プロセス (「畳み込み」)。
    これが,CNN である。


    「被覆」 は,つぎの思想:
      <局所的に見る> で全体を覆う
    翻って,CNN は 「<局所的に見る>で全体を覆う」 タイプのデータを扱う NN である。

     例:
      画像 :
       この互いに近いピクセルは
        意味的に近いか・遠いか?
      音声スペクトログラム :
       この互いに近い周波数は
        意味的に近いか・遠いか?
      2D/3D グリッド :
       この互いに近いセルは
        意味的に近いか・遠いか?

     近ければ,データはそこでは連続。
     遠ければ,データはそこでは不連続。