Learn Deep Learning the Other Way Round. 17 lessons, Python to diffusion, in PyTorch. Code first, maths when you ask why. Beside the text, a neural network with one path highlighted, labelled: result first, then open the box.Course · 17 lessons · 7 hr 38 min

Deep Learning Course

Seventeen lessons, from Python to diffusion models, taught top-down: every lesson starts with a working result in a few lines of code, then opens the box, and the mathematics arrives as answers to the questions the result raises.

Start the course →
  1. Lesson 0 32 min

    Essential Python for Machine Learning

    The Python you need for machine learning: pythonic idioms, lists, sets and dictionaries, mutability, everyday statements, and the NumPy and Pandas foundations every deep learning project is built on.

  2. Lesson 1 17 min

    Your First Deep Learning Model

    Train a 37-breed pet classifier in minutes with transfer learning, then see what goes in and what comes out: tensors, logits, softmax, and what makes a list of numbers a probability distribution.

  3. Lesson 2 23 min

    Pretrained Text Models and the Geometry of Meaning

    Sentiment, text generation and semantic search with Hugging Face, then how meaning becomes geometry: vectors, lengths, the dot product derived from the law of cosines, projections and cosine similarity.

  4. Lesson 3 25 min

    Exploratory Data Analysis and the Statistics Behind It

    Find and fix the problems in a dataset with Pandas, and the statistics that come with it: why variance squares and divides by n − 1, probability densities, the normal curve, correlation as an angle, and why scaling speeds up training.

  5. Lesson 4 22 min

    Is My Model Any Good?

    Why 96% accuracy can mean almost nothing: confusion matrices, precision, recall, F1, ROC and AUC, where cross-entropy comes from (likelihood and the Bernoulli distribution), and the binomial error bars on a test score.

  6. Lesson 5 25 min

    PyTorch Fundamentals, and What a Matrix Really Is

    Tensors, Datasets, DataLoaders, nn.Module, autograd and the GPU, written out by hand, and the matrix ideas underneath: matrices as functions, why multiplication goes row by column, and why mini-batches work.

  7. Lesson 6 23 min

    Inside a Neural Network

    From the perceptron to multi-layer networks: the geometry of a neuron, a proof that one neuron can't learn XOR, why depth needs non-linearity, universal approximation, and choosing initial weights from variances.

  8. Lesson 7 49 min

    How Networks Learn: Gradient Descent and Backpropagation

    Train a network in four lines, then open the box with a ladder of questions: tangent lines, limits and ε-δ, continuity, Taylor's theorem and the learning-rate limit, gradients, convexity and the chain rule.

  9. Lesson 8 30 min

    Training Well: Regularisation, Learning Rates and Tuning

    Why networks memorise and how to stop it: the bias-variance decomposition, weight decay as a Gaussian prior, why L1 gives zeros, dropout, early stopping, learning-rate schedules and random search.

  10. Lesson 9 32 min

    Convolutional Neural Networks for Computer Vision

    How CNNs see: convolution as a matrix with shared weights, translation equivariance, the output-size formula, receptive fields measured with autograd, and why skip connections keep deep networks trainable.

  11. Lesson 10 27 min

    Recurrent Neural Networks for Sequences

    Recurrent networks for sequences in PyTorch: the recurrence, backpropagation through time, and eigenvalues, which explain exactly why gradients vanish or explode, and how the LSTM's additive memory fixes it.

  12. Lesson 11 28 min

    NLP with Deep Learning: Word and Contextual Embeddings

    How words become vectors whose geometry captures meaning: co-occurrence, pointwise mutual information, the SVD, word2vec from scratch, why analogies work, and contextual embeddings from BERT.

  13. Lesson 12 26 min

    Attention and Transformers

    The transformer built piece by piece in PyTorch: attention as a soft lookup, why we divide by √d_k, attention as an expected value, why order must be added, and sinusoidal positions as rotations.

  14. Lesson 13 28 min

    Working with Large Language Models

    How LLMs predict, generate and become assistants, and how to adapt them: the chain rule of probability, perplexity, entropy and temperature, LoRA fine-tuning through matrix rank, and retrieval-augmented generation.

  15. Lesson 14 29 min

    VAEs and GANs for Image Generation

    Generating images with VAEs and GANs: multivariate Gaussians, the reparameterisation trick, the KL divergence derived, Jensen's inequality and the ELBO, and the calculus of the GAN's optimal discriminator.

  16. Lesson 15 25 min

    Diffusion Models and Generative AI

    Build a diffusion model that turns noise into data, with the maths of why it can jump to any noise level, then step back to generative AI as a whole: Bayes' rule, model families, synthetic data and responsibilities.

  17. Lesson 16 17 min

    Capstone Project

    Build and defend a deep learning project of your own: project options, a step-by-step plan, a reusable PyTorch template, an evaluation checklist, and the bootstrap for telling real improvements from luck.