Topic Description & Objectives Resource
Introduction to Computer Vision and CNNs Why CNNs, kernels and filters, padding and strides, pooling, and industry use cases Open
Recurrent Neural Networks RNNs, LSTM and GRU, sequence-to-sequence models, captioning with attention, and their limitations Open
Transformers General attention, self-attention, permutation invariance, and the transformer compared with RNNs Open
Lab 1: CNN from Scratch on Fashion-MNIST Exercise: write the dataset class, the CNN and the training loop yourself Notebook Colab
Lab 2: Image Classification on CIFAR-10 Train and validate a CNN on colour images Notebook Colab
Lab 3: RNN, LSTM and GRU Classify Stack Overflow posts with LSTM and GRU models on GloVe embeddings Notebook Colab
Lab 4: Arabic-English Seq2Seq Translation An LSTM encoder-decoder that translates Arabic to English, and why Arabic text is hard Notebook Colab
Lab 5: Image Captioning with an RNN Pair a pre-trained ResNet encoder with an LSTM decoder that writes captions Notebook Colab
Lab 6: Self-Attention and Multi-Head Attention Why self-attention, how it works, and how multiple heads see the same sequence differently Notebook Colab
Lab 7: Image Captioning with a Transformer Swap the RNN for a Transformer decoder on top of a ResNet-50 encoder Notebook Colab
Optional: Vector Space and Word Embeddings Similarity measures, one-hot versus dense vectors, word2vec, GloVe and fastText Open
Optional: Pre-trained VGG for Image Classification Exercise: classify images with a pre-trained VGG network Notebook Colab
Optional: Pre-trained VGG (Solution) Worked solution to the VGG exercise Notebook Colab
Optional: Fine-tuning on Cats and Dogs Fine-tune a pre-trained EfficientNet, and why ImageNet normalization values matter Notebook Colab
Optional: Text Pre-Processing Tokenization, stop-word removal and normalization with NLTK and spaCy Notebook Colab
Optional: Word Embeddings (GloVe) Sparse versus dense vectors, and exploring pre-trained GloVe embeddings Notebook Colab
Optional: Vanilla RNN in NumPy An IMDB sentiment classifier with backpropagation through time derived and written by hand Notebook Colab