Assignment solutions for the Advanced Machine Learning course (IBIO-4615). This repository covers a wide range of advanced topics in machine learning, from generative networks to reinforcement learning.
Implementation of Conditional GANs (CGAN) for MNIST image generation and CycleGAN for unpaired image-to-image translation (Van Gogh style to photographs). Includes ablation studies on the different CycleGAN loss functions.
CycleGAN results: Van Gogh style transfer to real photographs
Node classification on the OGBN-Proteins dataset using PyTorch Geometric. Several architectures are implemented and compared, including PlainGCN, GAT, ResGCN, and DenseGCN, along with hyperparameter tuning.
Deep GCN architecture: backbone, fusion, and prediction blocks
Implementation of NeRF for novel view synthesis from 2D images, trained on the Lego dataset. Additionally explores D-NeRF for dynamic scenes using pretrained models.
Two applications of recurrent neural networks:
- Text Generation: LSTM model trained on a jokes dataset
- Image Captioning: CNN-RNN encoder-decoder architecture on the COCO dataset
Implementation of classic reinforcement learning algorithms:
- Q-Learning on the Frozen Lake environment
- Deep Q-Network (DQN) on the CartPole environment
Frozen Lake environment for Q-Learning
Study of adversarial robustness in neural networks:
- Generation of adversarial attacks (FGSM and PGD) on ImageNet
- Adversarial training of robust models on MNIST
- Comparison between standard and robust models
Adversarial attack example: an imperceptible perturbation changes the model's prediction
Implementation of PiCIE (Unsupervised Semantic Segmentation using Invariance and Equivariance in Clustering) for unsupervised semantic segmentation. Explores the Siamese architecture and the effect of different transformations.
PiCIE architecture: cross-view training with invariance and equivariance
Fine-tuning of pretrained transformers for text classification. Predicts Yelp review scores (1-5 stars) using the Hugging Face libraries, experimenting with different hyperparameters and architectures.
Advanced-Machine-Learning/
├── GANs/ # Conditional GANs & CycleGAN
├── Graphs/ # Graph Neural Networks (PyTorch Geometric)
├── NeRF/ # Neural Radiance Fields & D-NeRF
├── RNN/ # Text Generation & Image Captioning
├── Reinforcement Learning/ # Q-Learning & DQN
├── Robustness/ # Adversarial attacks & robust training
├── Self Supervised/ # PiCIE - Unsupervised segmentation
├── Transformers/ # Transformer fine-tuning (Hugging Face)
└── Slides/ # Course presentations




