畳み込みを一歩ずつ
「ぼかし」や「エッジ検出」が、内部では何をしているのか——12×12 の小さな画像で、計算が一マスずつ進む様子を、カーネル行列ごと見るための場所だよ。
3×3 の窓(カーネル)が入力を左上から舐めていき、その都度「カーネル ⊙ 入力の窓 → 各積の合計」を計算して、出力の1マスを埋める。これが畳み込み(convolution)の正体なんだ。下の行列ビューで、重み・入力・積がそのまま見える。カーネルを切り替えて、ぼかしと各種エッジ、シャープやエンボスがどう違うか見比べてみて。入力画像も切り替えられる——「インパルス(1点)」を選ぶと、出力にカーネルの形そのものが浮かぶ(=インパルス応答。カーネルの"正体"が見える)。さらにグリッドを 12×12 / 24×24 で切り替えると、同じ絵(連続関数として持っている)を粗く/細かく標本化したのが見える——「顔」だと 12 は四角ばって、24 は滑らか。連続の絵を格子に写し取る、それが標本化なんだ。
グリッド
入力画像
カーネル
見せ方
「▶ 再生」か「1ステップ」を押すと、今まさに計算している1マスが——カーネル行列・入力の窓・その積——として、ここに見えるよ。