23 lessons across 4 weeks, 0 verified past-year questions. Free preview below — sign in for the full interactive lessons, AI tutor, and mock exams.
Week 1
- Machine Learning Landscape and Transition to Deep Learning — Overview of traditional machine learning, its limitations, and how deep learning addresses them through automated feature learning.
- PyTorch Tensors: Fundamentals and Operations — Introduction to PyTorch tensors as the core data structure for deep learning, covering creation, manipulation, reshaping, indexing, GPU acceleration, reproducibility, and common errors.
- Linear Regression in PyTorch — End-to-end implementation of univariate linear regression in PyTorch, including data creation, visualization, model definition, custom loss functions, training loop, and model serialization.
- Biological Inspiration and the Mathematical Neuron — Traces the evolution from the biological neuron through the McCulloch-Pitts neuron and perceptron to the modern differentiable neuron used in deep learning.
- Fundamental Tricks in Deep Learning — Explains the numericization, learn-the-function, and parameterization tricks that frame deep learning as converting raw data into numbers and finding optimal parameters via loss minimization.
- Feedforward Network Architecture and Activation Functions — Describes how neurons are organized into input, hidden, and output layers, how vectorized forward-pass computations work, and the role of nonlinear activation functions including ReLU and its variants.
Week 2
- Universal Approximation Theorem — A single hidden layer neural network with nonlinear activations can approximate any continuous function on a bounded domain to arbitrary precision.
- Forward Pass and Loss Functions — The forward pass computes predictions by propagating inputs through network layers, and loss functions (MSE and cross-entropy) quantify the prediction error to be minimized.
- Gradient Descent — Gradient descent iteratively updates network parameters in the direction of steepest loss decrease, with batch, stochastic, and mini-batch variants offering different speed-memory trade-offs.
- Backpropagation — Backpropagation efficiently computes gradients of the loss with respect to all network weights by applying the chain rule layer-by-layer from output to input.
- The XOR Problem — The XOR problem demonstrates why nonlinear activations are necessary, showing mathematically that linear models fail and a two-layer network with sigmoid activations can solve it via backpropagation.
- Building and Training Neural Networks in PyTorch — End-to-end PyTorch implementations of feedforward neural networks for tabular (customer churn) and image (Fashion MNIST) classification, covering model definition, training loops, early stopping, and evaluation.
Week 3
- Images as Data and Computer Vision Tasks — Explains how digital images are represented as numerical grids (binary, grayscale, RGB), how computers interpret them, and the main computer vision tasks (classification, detection, segmentation) along with why MLPs are poorly suited for image data.
- Convolutional Layer: Locality and Weight Sharing — Derives the convolutional layer from an MLP by imposing translation invariance (weight sharing) and locality constraints, defining the convolution/cross-correlation operation, and extending it to multi-channel inputs and outputs.
- Filters, Feature Maps, and Receptive Fields — Illustrates how convolutional filters act as learned feature detectors (e.g., edge detectors), defines feature maps as the outputs of convolution layers, and explains how receptive fields grow as convolution layers are stacked to build a hierarchy of features.
- CNN Hyperparameters: Kernel Size, Stride, and Padding — Covers the key hyperparameters of a convolutional layer—kernel size (including 1×1 convolutions), stride, and padding—and provides the formula for computing output feature map dimensions.
- CNN Network Layers: Pooling, Batch Normalization, and Dropout — Introduces pooling (max and average) for spatial downsampling and translation invariance, batch normalization for stabilizing and accelerating training, and dropout as a regularization technique to prevent overfitting.
- CNN Architecture, Data Augmentation, and PyTorch Implementation — Describes the typical CNN pipeline (convolution blocks followed by a fully connected classifier), explains data augmentation strategies for improving generalization, and walks through a complete PyTorch implementation—including convolution, pooling, batch normalization, dropout, data loading, and training—applied to Fashion-MNIST classification.
Week 4
- Famous CNN Architectures — An overview of landmark CNN architectures—AlexNet, VGG, ResNet, and GoogLeNet—highlighting their design innovations such as residual/skip connections, inception modules, and the use of small 3×3 filters.
- Transfer Learning — Transfer learning reuses CNN models pre-trained on large datasets (e.g., ImageNet) as fixed feature extractors or fine-tuned backbones to achieve strong performance on smaller, related datasets.
- Image Classification with Transfer Learning in PyTorch — A hands-on PyTorch implementation of transfer learning for image classification, covering dataset acquisition, preprocessing pipelines, loading a pre-trained EfficientNet-B0, freezing base layers, retraining only the classifier head, and evaluating results.
- U-Net for Image Segmentation — The U-Net architecture uses a symmetric encoder-decoder structure with skip connections and transposed convolutions to perform pixel-wise classification (segmentation), originally developed for biomedical imaging.
- Image Segmentation in PyTorch: Data Pipeline and Custom Dataset — A practical walkthrough of building a PyTorch data pipeline for image segmentation, including downloading the leaf-disease dataset, exploring image-mask pairs, configuring augmentation transforms, and implementing a custom SegmentationDataset class with a DataLoader.
Unofficial, student-built, not affiliated with IIT Madras.