This repository contains the implementation of three laboratory assignments developed for the Deep Learning Applications course, part of the MSc in Artificial Intelligence at the University of Florence.
Each lab is organized into its own folder and includes code, documentation, and experiments. Dedicated README.md files inside each lab provide lab-specific details, but this top-level file offers a general overview and setup instructions.
This lab explores deep neural architectures using MLPs and CNNs, with a focus on residual learning. It includes:
- Training CNNs on CIFAR-like datasets
- Implementation of ResNet-style skip connections, inspired by:
Deep Residual Learning for Image Recognition – Kaiming He et al., CVPR 2016
- Exercise 2 focuses on using previous models to perform Knowledge Distillation
This lab explores core ideas in Reinforcement Learning (RL) using Policy Gradient methods, including:
-
The REINFORCE algorithm for training stochastic policies aswell as PPO algorithm
-
Implementing and visualizing learning in environments like CartPole and LunarLander
-
Key concepts: reward signals, return estimation, and gradient-based policy updates
This lab demonstrates two approaches to training a sentiment classifier using DistilBERT on the Rotten Tomatoes and sst2 dataset:
- ✅ Full fine-tuning of the DistilBERT model
- ⚡ Efficient fine-tuning using LoRA (PEFT):
LoRA: Low-Rank Adaptation of Large Language Models – Hu et al., 2021
- Includes a baseline model using SVM + BERT embeddings
git clone https://github.com/dvrkoo/DLA.git
cd DLA
pip install -r requirements.txt