Convolutional Neural Networks

An introduction to Convolutional Neural Networks (CNNs). We will explore how filters (kernels) scan images to detect spatial features, and break down critical hyper-parameters including padding, stride, and dilation. The session covers channel math for RGB inputs, pooling layers for down-sampling, and full CNN architecture design (convolution → pooling → dense classification layers). You’ll see how CNNs automatically learn a feature hierarchy, moving from simple edges in early layers to complex shapes in deeper layers to make accurate predictions.

Programming Convolutional NeuraL Networks

Part two of our neural network programming series, moving from theory into building a functional Image Classifier from scratch in PyTorch. After a brief recap of linear networks, we dive into coding a Convolutional Neural Network (CNN) to classify shapes. You will learn to generate synthetic datasets (squares vs. triangles) using DataLoaders, implement Conv2d, ReLU, and MaxPool2d layers, and master the flattening process for fully connected layers. The session covers managing kernels and padding, executing the training loop with backpropagation, and evaluating the model to achieve 90%+ prediction accuracy.

Download Code