This is a set of exercises about Deep Learning. They are intended for people that have played with AI in the past and would like to improve their expertise and, maybe, apply neural netowrks in their research.
These exercises will help you better familiarize with PyTorch, fully connected networks (FC), convolutional neural networks (CNN), graph neural networks (GNN), attention mechanism and reinforcement learning (RL).
A good introduction to these concepts can be found here and here.
The goal of the exercise is to get used to the work flow and training a simple neural network. Important building blocks will be:
- building a data loader
- building the model
- training the model
In this exercise you will have a main Jupyter notebook and some .py files (where you will have to write your data loader and model).
Part 1: We want to use CNN to classify galaxies. We are going to take one of the pretrained models and we will use that to build a new model.
Part 2: We want to build a CNN in which both input and output are images. Not a classifier anymore. This to start opening up the idea that output doesn't have to be just an array.
Part 1: Point cloud classification.
Part 2: Message passing network (build edge and node networks). You REALLY need to understand what is happening in the code, otherwise you are lost... read about message passing if you are stuck!
You will be using a GNN to build boxes around different clusters of data. This exercise will allow you to get familiar with the concepts of “key, query and value.”
You have to build a RL network to play the game of Pong.