Academic Year 2021-2022



Lauro Snidaro
Unit Credits
Teaching Period
First Period
Course Type
Prerequisites. Requirements: Basic programming skills required. Knowledge of an object-oriented programming language is a plus.
Teaching Methods. The entire course will be held in the laboratory, thus allowing immediate hands-on practice on the concepts acquired.
Verification of Learning. The exam will be based on a project and oral discussion.

The objective of the evaluation will be to assess:

– the knowledge and understanding acquired through questions on the fundamental concepts of Deep Learning and Generative Learning.

– skills in applying acquired knowledge and use of correct terminology through a discussion on the presented project


Slides, video lessons. All material is available through


Theses are available. Contact the instructor.

The course aims to illustrate the fundamental concepts underlying the most recent artificial intelligence techniques for multimedia. In particular, deep neural networks will be presented based on current Deep Learning approaches, paying particular attention to generative models. The goal is to explore the dimension of creativity by tacking tasks that were impossible only until recently: the creation of artificial images or human faces, the application of a pictorial style on a sample image (neural style transfer), the creation of a Question&Answer generator, composing text paragraphs or music scores.

Experiments on generative models will be performed in class through the use of the Python programming language and Deep Learning libraries such as Keras and Tensorflow.


Part I: Fundamentals

Neural networks

Introduction to Deep Learning

Convolutional Networks

Introduction to Generative Models

Variational Autoencoders

Generative Adversarial Networks

Parte II: Applications

Generation of artificial images

Neural Style Transfer

Text generation

Composing music

Generative Deep Learning: Teaching Machines to Paint, Write, Compose, and Play, O’Reilly, 2019.

Rashid, Tariq. Make your own neural network: a gentle journey through the mathematics of neural networks, and making your own using the Python computer language. CreateSpace Independent Publ., 2016.

Goodfellow, Ian, et al. Deep learning. Vol. 1. Cambridge: MIT press, 2016.

Deep Learning with Keras: Implementing deep learning models and neural networks with the power of Python, Packt, 2017.