Chapter 8 · Deep Learning

Slide, multiply, sum — before we call it "convolution"

A small rain-radar grid — two storm cells plus background noise. A 3×3 filter sits over part of it, multiplies matching cells, and sums the result into one number. That's the whole mechanic. Everything below — feature maps, learned filters, channels — is built from this one operation repeated.

1. Slide the filter yourself

Click any highlighted cell to move the filter there, or use the arrows. Guess the response before you reveal it.

Patch (radar values)
Filter weights
Products
Response = sum of products?

No guesses yet

2. Configure

Fixed filter

The Sobel edge detector — hand-designed, never trained. Finds boundaries.

Weights
Feature map

Learned filter

Starts at zero. Trained with the same update rule as Chapter 5 to spot storm-cell cores.

Weights
Feature map
0.40

No updates yet

Train accuracy:
Same rule, more numbers. The learned filter's 9 weights update with w ← w + η(y−a)x — identical in shape to SGD vs. LDA's 2-weight update, just with a 9-number patch instead of 2 features. Its training task: is this 3×3 patch centered near a storm cell's core? The fixed Sobel filter never sees a label at all — its numbers were picked by hand to respond to left-right contrast, so its feature map lights up at storm-cell edges. The learned filter, chasing a "core" label, tends to light up at storm-cell centers instead — two different filters, two different jobs, from the same slide-multiply-sum mechanic. A real CNN stacks many such filters (channels) across many layers; this lab stops at one filter, one layer, entirely in the browser — no framework, no GPU.