/DeepLearningLAB

MSc DeepLearning experiences at UNIPD 2020/21

Primary LanguageJupyter Notebook

DeepLearning LAB

MSc laboratory experiences and Homeworks at UNIPD 2020/21 for the NEURAL NETWORKS AND DEEP LEARNING course

Homeworks

Homework 1 - Supervised Deep Learning

Notebook link 1: Homework 1 - Regression
Notebook link 2: Homework 1 - Classification
Report: HW1 Ivancich Stefano 1227846.pdf
Content:

  • 2 pt: implement basic regression and classification tasks
  • 2 pt: explore advanced optimizers and regularization methods
  • 1 pt: optimize hyperparameters using grid/random search and cross-validation
  • 2 pt: implement CNN for classification task on MNIST
  • 1 pt: visualize weight histograms, activation profiles and receptive fields

Homework 2 - Unsupervised Deep Learning

Notebook link: Homework 2 - Unsupervised Deep Learning
Report: HW2 Ivancich Stefano 1227846.pdf
Content:

  • 1 pt: implement and test (convolutional) autoencoder, reporting the trend of reconstruction loss and some examples of image reconstruction
  • 1 pt: explore advanced optimizers and regularization methods
  • 1 pt: optimize hyperparameters using grid/random search and cross-validation
  • 1 pt: explore the latent space structure (e.g., PCA, t-SNE) and generate new samples from latent codes
  • 1 pt: implement and test denoising (convolutional) autoencoder
  • 1 pt: fine-tune the (convolutional) autoencoder using a supervised classification task (you can compare classification accuracy and learning speed with results achieved in homework 1)
  • 2 pt: implement variational (convolutional) autoencoder or GAN

Homework 3 - Deep Reinforcement Learning

Notebook link: Homework 3 - Deep Reinforcement Learning
Report: HW3 Ivancich Stefano 1227846.pdf
Content:

  • 2 pt: extend the notebook used in Lab 07, in order to study how the exploration profile (either using eps-greedy or softmax) impacts the learning curve. Try to tune the model hyperparameters or tweak the reward function in order to speed-up learning convergence (i.e., reach the same accuracy with fewer training episodes).
  • 3 pt: extend the notebook used in Lab 07, in order to learn to control the CartPole environment using directly the screen pixels, rather than the compact state representation used during the Lab (cart position, cart velocity, pole angle, pole angular velocity). This will require to change the “observation_space”.
  • 3 pt: train a deep RL agent on a different Gym environment. You are free to choose whatever Gym environment you like from the available list, or even explore other simulation platforms.

Laboratories

Lab 2 - Introduction to PyTorch

Notebook link: nndl_2020_lab_02_pytorch_intro
Content:

  • Basics: Tensors, Operations on GPU, Autograd
  • Network trainig procedure: initialization, process input, loss, backpropagation, Optimizer
  • Dataset and Dataloader

Lab 3 - Regression and Classification with PyTorch

Notebook link: nndl_2020_lab_03_regression
Content:

  • Regression with 2 FC layers
  • Classification with 2FC layers
  • Access to network parameters of a Fully connected layer
  • Weights histogram
  • Analyze activations

Lab 4 - Text Generation

Notebook link: nndl_2020_lab_04_text_generation
Content:

  • shakespeare sonnets
  • One hot encoding
  • Train LSTM
  • Generate text letter by letter

Lab 5 - Convolutional Autoencoder

Notebook link: nndl_2020_lab_05_convolutional_autoencoder
Content:

  • Encoder-Decoder
  • Encoded Space Visualization
  • Generate samples from the encoded space

Lab 6 - Transfer Learning

Notebook link: nndl_2020_lab_06_transfer_learning
Content:

  • Alex net
  • Network analysis

Lab 7 - Reinforcement Learning

Notebook link: nndl_2020_lab_07_deep_reinforcement_learning
Content:

  • DQN
  • Gym Environment (CartPole-v1)