| 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 |