| Up | CNN の数学 | 作成: 2026-07-31 更新: 2026-08-10 |
出力:1-テンソル (「特徴量ベクトル」) または 2-テンソル 中間層:2-テンソル 計算グラフは,「畳み込み」 と呼ばれる処理のハードコード。 「畳み込み」 は,数学を使って表現すると,以下のようになる: 1. [m]×[n] に距離位相を措く そしてこの位相の直積として,[m]×[n] に距離位相が入る。 (i, j), (i', j') ∈ [m]×[n] の距離: √((i - i')^2 + (j - j')^2) 2. (u, v) ∈ [m]×[n] の r-近傍 集合 V_r(u, v) = { ( i, j ) | | i - u |, | j - v | ≦ r } を, (u, v) の r-近傍 と呼ぶ。 3. [m]×[n] の (m',n'; r)-被覆 { (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 ) ∈ [m']×[n'] この被覆を, [m]×[n] の (m',n'; r)-被覆 と呼ぶことにする。 4. 写像 Conv_K : T(m, n) → T(m', n') { V_r(i_k, j_l) | (k, l) ∈ [m']×[n'] } を1つ固定する。 (k, l) ∈ [m']×[n'] に対し,x'_kl ∈ ℝ をつぎのように定義する: (x'_kl) は,(m', n')-テンソルである。 (x'_kl) のこの導出を,写像の形に表す: (x_ij) ↦ (x'_kl) 5. 関数 K K : {-r, ‥‥, r} × {-r, ‥‥, r} → ℝ CNN の訓練で値が定まっていくパラメータのなかに,関数 K を構築するものがある。 Kは,訓練の終了を以て定まる,というものである。 6. CNN 関数 K 被覆 V_r が定まっている。 こうして,レイアーごとに Conv_K が定まっている。 そしてこの Conv_K の連なりが,入力から出力までの処理プロセス (「畳み込み」)。 これが,CNN である。 「被覆」 は,つぎの思想: <局所的に見る> で全体を覆う 例: この互いに近いピクセルは 意味的に近いか・遠いか? 音声スペクトログラム : この互いに近い周波数は 意味的に近いか・遠いか? 2D/3D グリッド : この互いに近いセルは 意味的に近いか・遠いか? 近ければ,データはそこでは連続。 遠ければ,データはそこでは不連続。 |