Deep Learning Course

From Chrome
Revision as of 00:22, 27 February 2018 by Matteo (Talk | contribs) (Detailed course schedule)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The following are last minute news you should be aware of ;-)

* 21/02/2018: Added slides on Word Embedding, Attention Mechanism, and Deep Convolutional Architectures
* 16/02/2018: Added slides about Neural Networks Training and Recurrent Neural Networks
* 12/02/2018: Added slides about Course Intro, Deep Learning Intro, and Feedforward Neural Networks
* 12/02/2018: The course starts today!
* 09/02/2018: First version of this website ...

Course Aim & Organization

Deep Learning is nowadays becoming the dominant approach in learning cognitive systems which are nowdays able to recognize patterns in data (e.g., images, text, and sounds) or to perform end to end learning of complex behaviors. The proposed doctoral course will introduce the deep learning basics as well as its applications with an on-hands approach where students will be challenged with the practical issues of data collection, model design, model training and performance evaluation.

Starting from the foundations of Neural Networks and Deep Learning, the course will introduce the most successful models, algorithms, and tools, for image understanding, sequence prediction and sequence to sequence translation through deep neural models.

In the first part of the course we will provide attendee the theory and the computational tools to approach deep learning with an in hand experience. In this part, we will cover the theory of neural networks, including feed-forward and recurrent models, with a specific focus on Feed Forward Neural Networks (FFNN), Convolutional Neural Networks (CNNs) and Long-Short Term Memory networks (LSTMs). These models will be presented both from a theoretical point of view and from a practical point of view with simple self-contained examples of applications. In this context two deep learning frameworks will be introduced, i.e., TensorFlow and PyTorch, in practical sessions with a special emphasis on the TensorFlow library.

In the second part we will focus on different application domains. This will be done by presenting a selection of state of the art results in applying deep learning techniques to domains such as (but not limited to) pattern recognition, speech recognition and language modeling, geometric reasoning.

For the final evaluation groups of 3 to 5 students (depending on the number of attendee) will be required to implement one of the models from the papers taken into analysis during the course by using the TensorFlow library.

Course Program

To avoid overlap between the "Deep Learning, Theory Techniques and Applications" (DL) PhD course and the "Image Classification: modern approaches" (IC) PhD course, and leverage on the specific competencies of the teachers, topics presented in DL classes will not be covered by the IC classes. Similarly, topics in IC won’t be covered in DL. Please refer to the detailed program and the course logistics to see which are the mandatory classes to be attended from the Image Classification course.

The topics which will be covered by the course are:

  • Introduction to neural networks and the feed-forward architectures
  • Backpropagation, training and overfitting in neural networks
  • Recurrent Neural Networks and other classical architectures, e.g., Radial Basis Functions, Neural Autoencoders, etc.
  • Introduction and basics of image handling
  • Basic approaches to image classification
  • Data-driven features: Convolutional Neural Networks
  • TensorFlow and PyTorch introduction with examples
  • Structural learning, Long-Short Term Memories, and application to text and speech
  • Extended problems in image classification


The course is composed by a blending of theoretical lectures, practical exercises, and seminars


Please refer to the following websites for specific course materials and detailed calendars:

Detailed course schedule

A detailed schedule of the course can be found here; topics are just indicative while days and teachers are correct up to some last minute change. Please note that some days you have a lecture both in the morning and in the afternoon.

Please remind that the Deep Learning PhD course has some shared lectures with the Image Classification PhD course, students are required to attend these lectures which are listed below since those topic will not be covered by the Deep learning classes although they are part of the course program. You will find also the [Optional] lectures from the Image Classification course you might want to attend either because you are enrolled also in that course or for personal interest.

Note: Lecture timetable interpretation

* In the morning lecture starts at 9:30 sharp and ends at 13:00
* In the afternoon lecture starts at 14:15 sharp and ends at 17:45
Date Day Time Room Teacher Topic
12/02/2018 Monday 09:30 - 13:00 S.0.2 - Building 3 Matteo Matteucci Course introduction, Machine Learning vs. Deep Learning introduction, the perceptron, the feed forward neural network architecture, backpropagation and gradient descent, error measures for regression and classification.
12/02/2018 Monday 14:15 - 17:45 S.0.2 - Building 3 Giacomo Boracchi Introduction and basics of image handling in Python
14/02/2018 Wednesday 09:30 - 13:00 S.0.2 - Building 3 Matteo Matteucci Overfitting, Early Stopping, Weight Decay, Regularization
14/02/2018 [OPTIONAL] Wednesday 14:15 - 17:45 S.0.2 - Building 3 Giacomo Boracchi Hand-crafted features for image classification
16/02/2018 Friday 09:30 - 13:00 S.0.5 - Building 3 Matteo Matteucci Recurrent Neural Networks, Backpropagation through time, Vanishing Gradient, Long-Short Term Memories, Gated Recurrent Units
16/02/2018 [OPTIONAL] Friday 14:15 - 17:45 S.0.5 - Building 3 Giacomo Boracchi Computer Vision features for image classification
19/02/2018 Monday 09:30 - 13:00 S.0.5 - Building 3 Marco Ciccone TensorFlow and PyTorch Tutorial
19/02/2018 Monday 14:15 - 17:45 S.0.5 - Building 3 Alessandro Giusti Data-driven features: Convolutional Neural Networks
21/02/2018 Wednesday 09:30 - 10:30 S.0.2 - Building 3 Marco Ciccone Common deep architectures for image classification: LeNet, AlexNet, GoogleNet, ResNet, ...
21/02/2018 Wednesday 10:45 - 11:45 S.0.2 - Building 3 Matteo Matteucci Word Embedding
21/02/2018 Wednesday 12:00 - 13:00 S.0.2 - Building 3 Alberto Mario Pirovano Attention Mechanisms
21/02/2018 Wednesday 14:15 - 17:45 S.0.2 - Building 3 Alessandro Giusti Advanced CNNs and Best practices in image classification
23/02/2018 Friday 09:30 - 10:30 C.I.1 - Building 6 Luigi Malago' Variational Autoencoders
23/02/2018 Friday 10:45 - 11:45 C.I.1 - Building 6 Jonathan Masci Deep Learning on graphs and manifolds: going beyond Euclidean data
23/02/2018 Friday 12:00 - 13:00 C.I.1 - Building 6 Francesco Visin Graph Networks
23/02/2018 [OPTIONAL] Friday 14:10 - 17:45 S.0.5 - Building 3 Alessandro Giusti An overview on extended problems in image classification

Course Evaluation

Coming soon ...

Course Logistics

We would like to thank all the students for their enthusiastic participation, it has made course logistics quite challenging, but we have followed the motto “no student left behind” and we have done our best to accommodate the all of you.


Both DL and IC will be held in the following rooms so take note and spread the voice in case you know people who are going to attend and might not have received this email.

  • February 12th, Aula S.0.2. Ed 3, 260 seats
  • February 14th, Aula S.0.2. Ed 3, 260 seats
  • February 16th, Aula S.0.5. Ed 3, 174 seats
  • February 19th, Aula S.0.5. Ed 3, 174 seats
  • February 21th, Aula S.0.2. Ed 3, 260 seats
  • February 23th, Aula N.1.2. Ed 2, 168 seats

These classrooms should be able to fit the all of you, in case not we will check for alternative rooms and will notify this.

Course hours

Starting hours are sharp, i.e., they already include the “academic quarter”:

  • DL will be in the morning: from 9.30 to 13.00,
  • IC will be in the afternoon: from 14.15 to 17.45,


The Deep eThese are courses open to Master Students, PhD students and few external participants. Everybody who is interested in getting credits (CFU) or attendance certificates, will be asked to sign an attendance list on each class (a class is a block of hours in the morning or in the afternoon).

Notice that In particular DL students have to attend IC on: February 12th, February 19th, and February 21th. This makes the DL schedule:

  • February 12th Morning
  • February 12th Afternoon
  • February 14th Morning
  • February 16th Morning
  • February 19th Morning
  • February 19th Afternoon
  • February 21th Morning
  • February 21th Afternoon
  • February 23th Morning

Despite the fact you are attending just one of the courses (e.g., because as master student you can get credits only for one of them) we warmly suggest to attend all the lectures from both courses.

Programming Environment

The reference programming language for both courses is Python. In both DL and IC there will be sessions where you’ll be asked to implement yourself a few lines of codes and possibly we will give some simple assignment. The first lecture, bring your laptop and make sure to have Python 3.6 installed; install Miniconda / or Anaconda framework from … more informations will be provided later on regarding for additional tools and facilities.

Teaching Material

Lectures will be mostly based on presentations from the teachers and invited speakers. These slides are taken from several sources, tutorials, summer schools, papers and so on. In case you are interested in a reference book, you can read:

  • Deep Learning. Ian Goodfellow, Yoshua Bengio, and Aaron Courville, MIT Press, 2016.

Teachers Slides

In the following you can find the lecture slides used by the course teachers during classes.

Deep Learning Classes

These are the slides presented during Matteo Matteucci lectures

Slides for the tutorials by Marco Ciccone are published here:

Image Classification Classes

These are the slides presented during Giacomo Boracchi and Alessandro Giusti lectures:

  • ...
  • ...
  • ...


These are the presentations given by course special guests:

Additional Resources

Papers and links useful to integrate the slides from lecturers and guests:


About attendance

I heard you take signatures and attendance is mandatory, but I have an exam and I will mess one or two lessons. Do I still get the credits?

  • PhD students are required to attend 70% of the lectures, i.e., at least (9d x 4h x 0.7) ~= 25h. This means that in case of 4h blocks you have to attend at least 6 blocks out of the 9 blocks foreseen. For Master students we are little more flexible in case they have exams ... I suggest them not to push me writing here a number since then it stays ;-)