M02 / FOUNDATIONS

Convolution. A 3×3 kernel
scanning a 2D field.

A kernel is just nine numbers. Slide it across an image, multiply elementwise, sum. That's it — that's a feature. Everything in a CNN starts here.

EXPERIMENT 02.01 · CONVOLUTION.LIVE STATUS · REAL-TIME BACKEND · CPU / TYPED ARRAY LATENCY · ~4ms / frame
INPUT H×W·1 64×64×1
EQUATION 2D DISCRETE CONVOLUTION
y[i, j]  =  Σm Σn   K[m, n]  ·  x[i+m, j+n]
Where K is the kernel (3×3 here), x the input image, y the output feature map. Each output pixel is the dot product of the kernel with a local patch.
KERNEL 3×3
CLICK CELL · TYPE VALUE
CONTROLS
STRIDE 1
PADDING 1
SCAN SPEED 40
ABS · NORM 0.50
FEATURE MAP y = K * x 64×64×1
RESPONSE INTENSITY · HEATMAP
−
+
STEP READOUT i=0,j=0
patch ·
kernel ·
elementwise ·
sum   Σ · 0.00
// 02

Filter Bank · same image, eight kernels

Each kernel learns a different "look" — vertical edges, horizontal edges, blur, sharpen. A CNN's first layer is just dozens of these running in parallel.

// 03

Step-by-step · what happens at one pixel

SINGLE PIXEL EXPANSION step 1 / 4
PATCH FROM IMAGE
⊙
KERNEL (SOBEL X)
=
ELEMENTWISE PRODUCT
→ Σ
OUTPUT PIXEL
+0
Try this → Set the kernel to SOBEL X, then switch the input to CHECKER. The output lights up wherever there's a vertical transition. Now try SOBEL Y — exact opposite. That's how a CNN looks at the world.