
Build deep learning intuition from scratch by demystifying machine learning, calculus, and neural network optimizations, with hands-on Python coding and practical projects.
Explore how machine learning flips coding by using inputs and desired outputs to infer the underlying function through data-driven trial and error, with deep learning as a powerful approach.
Explore the three learning types—supervised, unsupervised, and reinforcement—and see how labels, inputs, and rewards drive model training.
See the big picture of deep learning by treating the world as data and learning input-to-output mappings with neural networks guided by loss minimization.
Learn how deep neural networks use layers of neurons and weights to transform input features into outputs, minimize the loss, and automatically learn meaningful representations.
Explore loss-driven training, back propagation, and inference in neural networks, with PyTorch features for image recognition and structured data like house prices.
Learn why deep learning feels unintuitive and how to get good by treating problems as data, balancing fast system 1 and slow system 2 thinking, and embracing experimentation.
Neural networks turn noisy sensory data into compact, meaningful features, using bottleneck layers to extract patterns in vision and language and reconstruct inputs.
Explore four course sections that build a flexible neural network and backpropagation from scratch. Apply PyTorch to a real-world MNIST handwritten digit problem and grasp universal function approximating.
Learn how linear regression fits house prices using y = w x + b, and mean squared error loss to determine the line’s slope w and intercept b.
Learn numerical analysis as a trial-and-error method that iteratively adjusts W and b to minimize mean squared loss across epochs, bridging to neural networks and high-dimensional feature visualization.
Visualize neural networks with a network graph, showing inputs, weights, bias, and outputs, and learn how loss and mean squared error guide training across epochs to fit multiple features.
Explore the perceptron as a binary output neuron model, showing how weights and a threshold plus bias drive decisions, while introducing artificial neurons that output continuous values for learning.
Understand how deep learning uses hierarchical multi-layer networks with hidden layers to build from small decisions to bigger ones, and what the universality theorem says about a single hidden layer.
Explain why stacked linear neurons stay linear and show how activation functions like sigmoid, tanh, and ReLU introduce non-linearity for hidden layers and outputs.
Explore how increasing model flexibility leads to overparameterization and overfitting, and learn to assess generalization using training, validation, and test splits.
Presents matrices as compact representations of equations and neural network weights, and explains why matrix computations on hardware like GPUs and TPUs accelerate learning while stressing dimension rules.
Vectorize neural network calculations by turning inputs and weights into matrices, using dimension analysis to verify shapes and enable parallel processing of data points.
Explore how scaling neural networks increases complexity and creates black-box decision making. Examine emergent properties that arise as models grow, and consider implications for practitioners.
Recap the forward pass in a deep neural network and introduce backward propagation, showing how backpropagation updates weights and biases to minimize loss with calculus-based intuition.
Discover how the back propagation algorithm uses calculus to compute each weight’s impact on loss, enabling a single forward pass to update all parameters and enable scalable deep learning.
Learn calculus as the study of infinitesimal change, using limits and the derivative to find the tangent slope that shows how changing weights reduces loss in backpropagation.
Apply the first fundamental theorem of calculus to neural networks, showing how tiny weight changes affect loss through derivatives and gradients.
Explore gradient descent for minimizing mse loss by updating weights with a learning rate. Understand convex versus non-convex losses, local and saddle minima, mse implications, and how hyperparameters shape learning.
Compute each parameter’s effect on the loss with partial derivatives, holding all other parameters constant, and apply gradient descent to reach the minimum, preparing backpropagation through multiple layers.
Apply the chain rule to decode how each layer's weights affect the loss in deep neural networks through function composition and backpropagation.
Explore the chain rule through function composition, apply backpropagation to compute gradients in deep neural networks, and understand how small weight changes propagate to the loss.
Explore a computational graph as an explicit, coding-friendly view of neural networks, showing forward data flow from inputs and parameters to a root node and how gradients drive backpropagation.
Explore backpropagation through a computational graph, comparing forward and backward passes, and compute gradients with upstream and local gradients, including the sigmoid activation and MSE loss.
expand the computational graph with a hidden layer and perform a backward pass to compute and accumulate gradients for W1 and W2, enabling coherent weight updates.
Explore how forward and backward passes update neural network parameters via gradients, enabling gradient descent toward minimum loss, with backpropagation replacing costly per-parameter passes.
Explore the vanishing gradient problem in back propagation for deep neural networks and how data and compute power revived deep learning.
This lecture explains the vanishing gradient in deep networks and shows remedies: smart weight initialization and the rectified linear unit, with Xabier initialization and cuming initialization to balance layer variances.
Explains how switching from sigmoid to the value (relu) activation reduces vanishing gradients, and how Xavier and Kaiming initializations, plus leaky variants, help keep neurons alive and training stable.
Explore batch, mini-batch, and stochastic gradient descent, and learn how mini-batch balances speed and accuracy in back propagation, with practical guidance on batch size and hardware.
Explore how gradient descent speeds up learning through momentum and RMSProp, smoothing updates with exponential moving averages to reduce zigzagging and adapt learning rates per weight.
Explore two advanced optimizers—momentum and Adam (adaptive moment estimation)—showing how exponential gradient averaging and per-parameter learning rates reduce zigzag during gradient descent for faster convergence.
Explore hyperparameter tuning strategies to improve neural network learning, including learning rate decay and input normalization, and see how these methods affect convergence and stability.
Explore patch normalization, a layer-wise normalization that uses mean, variance, gamma, and beta to stabilize learning, smooth the loss surface, and mitigate vanishing gradients.
Explore how overfitting arises from overparameterization and sampling error, and learn to improve generalization by using training, validation, and test sets, data expansion, and capacity control.
Learn how softmax activation converts multiple outputs into a probability distribution for multiclass classification, ensuring outputs sum to one, with dog-breed examples and intuition about its derivative.
Learn what a loss function is—the difference between model output and label—and how squared and cross-entropy losses quantify error, guiding optimization across single and multi-output cases.
Learn how cross entropy loss measures the difference between a neural network's output distribution and the true label distribution in multiclass classification, using softmax and entropy intuition.
Set up a coding environment with Anaconda and conda environments in VSCode, install Python and PyTorch Lightning, and run a Jupyter notebook to prototype on the Missed It digits dataset.
Learn to build an MNIST model from scratch in plain PyTorch, focusing on data loading, forward pass, loss, backward pass, and parameter updates.
Build and initialize a simple MNIST model in plain PyTorch, from 784 input to 10 output, using Xavier initialization, biases, and requires_grad tensors for automatic differentiation.
Define a plain PyTorch MNIST model, train on batches of 64, using a linear layer with bias, softmax activation, and cross-entropy loss.
Train an MNIST model from scratch in plain PyTorch by iterating over epochs and batches, computing cross-entropy loss, backpropagating, updating weights, and logging loss and accuracy.
Learn to train an mnist model using pytorch's nn module, torchvision datasets and transforms, with data loaders for training and validation to prevent overfitting.
Train MNIST model with pytorch's nn module ii using cross entropy loss with softmax and an optimizer such as Adam or SGD; evaluate on a validation set with eval mode.
learn how PyTorch Lightning enforces a standard structure, reduces boilerplate, and abstracts logging and parallelization to maximize gpu utilization when training MNIST models.
Train an MNIST model with PyTorch Lightning, implement training and validation steps with a shared step, and enable logging via tensorboard and torchmetrics and optional weights and biases.
Discover next steps to continue your deep learning journey, from passive learning options and advanced architectures to hands-on projects and data-centric strategies for real-world problems.
Are you interested in Artificial Intelligence (AI), Machine Learning and Artificial Neural Network?
Are you afraid of getting started with Deep Learning because it sounds too technical?
Have you been watching Deep Learning videos, but still don’t feel like you “get” it?
I’ve been there myself! I don’t have an engineering background. I learned to code on my own. But AI still seemed completely out of reach.
This course was built to save you many months of frustration trying to decipher Deep Learning. After taking this course, you’ll feel ready to tackle more advanced, cutting-edge topics in AI.
In this course:
We assume as little prior knowledge as possible. No engineering or computer science background required (except for basic Python knowledge). You don’t know all the math needed for Deep Learning? That’s OK. We'll go through them all together - step by step.
We'll "reinvent" a deep neural network so you'll have an intimate knowledge of the underlying mechanics. This will make you feel more comfortable with Deep Learning and give you an intuitive feel for the subject.
We'll also build a basic neural network from scratch in PyTorch and PyTorch Lightning and train an MNIST model for handwritten digit recognition.
After taking this course:
You’ll finally feel you have an “intuitive” understanding of Deep Learning and feel confident expanding your knowledge further.
If you go back to the popular courses you had trouble understanding before (like Andrew Ng's courses or Jeremy Howards' Fastai course), you’ll be pleasantly surprised at how much more you can understand.
You'll be able to understand what experts like Geoffrey Hinton are saying in articles or Andrej Karpathy is saying during Tesla Autonomy Day.
You'll be well equipped with both practical and theoretical understanding to start exploring more advanced neural network architectures like Convolutional Neural Network (CNN), Recurrent Neural Network (RNN), transformers, etc. and start your journey towards the cutting edge of AI, Supervised and Unsupervised learning, and more.
You can start experimenting with your own AI projects using PyTorch and Supervised Learning
This course is perfect for you if you are:
Interested in Deep Learning and PyTorch but struggling with the core concepts
Someone from a non-engineering background transitioning into an engineering career
Familiar with the basics but wish explore more advanced knowledge.
Already working with Deep Learning models, but want to supercharge your understanding
A Python Developer, looking to advance your career
This 9.5 hour course will teach you all the basic concepts as well as the application of your knowledge. You get 40 downloadable resources, full lifetime access, 30-Day Money-Back Guarantee and a Certificate of Completion.
So what stops you from taking a deep dive into the amazing world of Deep Learning?