01 Overview
The question behind the course
In applied deep learning the hard part is rarely “can I write a model?”. It is:
- Is the model learning the right thing?
- Why does it fail on some inputs?
- What does it actually see?
- How do I explain its decisions?
Deep learning is not just about accuracy — it is about understanding, diagnosing, visualising and improving.

01 — CNNs: learning visual features
Convolutional networks for image classification, with filter inspection and activation maps to see how early layers detect edges and textures and deeper layers build up shapes.

02 — U-Net: semantic segmentation
Instead of one label per image, the model predicts a mask for every pixel. This required dense prediction, skip connections to preserve spatial detail, and careful evaluation at object boundaries.

03 — Variational Autoencoders
Compressing images into a low-dimensional latent space and reconstructing them — a hands-on look at representation learning, generative modelling and the trade-off between compression and reconstruction quality.

04 — Sentiment analysis
Text classification from word patterns: tokenisation, embeddings and sequence models, with frequency analysis to interpret what drives each class.

Diagnosing training
Training curves reveal more than a final score — over- and under-fitting, learning-rate problems and data issues all show up here first.

What I learned
- Data quality, preprocessing and architecture choices matter more than model size
- Model inspection matters as much as model performance
- Visualisation exposes bias, overfitting and poor representations
- A model is useful when you can explain how it behaves and where it fails
Tech stack
- Python
- TensorFlow / Keras
- PyTorch
- scikit-learn
- NumPy
- Matplotlib
- Seaborn
Metrics
- 4 – Architectures
- CNN – Image classification
- U-Net – Semantic segmentation
- VAE – Generative model