5 steps · 0 done
A loop over every pixel position is far too slow to train with. Real libraries turn convolution into one big matrix multiply using a trick called im2col: copy every patch the kernel will visit into a row of a matrix, then multiply by the kernels all at once. You'll build that, use it for a forward and backward pass, and train a CNN on the digits.
The network: 8 learned 3×3 filters → ReLU → flatten (6 × 6 × 8 = 288 numbers) → a dense layer to 10 classes.
The project uses everything in this module. Solve these first:
- 5.1 Theory test: Convolutional networks
- 5.1 Practical: Convolution and pooling
- 5.2 Theory test: Sequence models
- 5.2 Practical: An RNN forward pass
- 5.3 Theory test: Attention and transformers
- 5.3 Practical: Scaled dot-product attention
what you'll build
- Images and patches
- Convolution as one matrix multiply
- Forward and backward through the CNN
- Train it
- What did it learn?