91250 - DEEP LEARNING

Academic Year 2024/2025

  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Computer Science (cod. 5898)

Learning outcomes

The course is centered on advanced Machine Learning techniques, with particular emphasis on Deep Learning. At the end of the course, the student understands the foundational ideas, the most recent advances and the potential applications of deep neural systems. The student lerans supervised and unsupervised techniques, basic neural topologies, methods for visualizing and understanding the behavior on neural nets, adversarial and generative techniques, reinforcement learning, and recurrent networks. The student is able to apply such technologies to address classification, interpretation and data mining problems in concrete applicative domains, comprising computer vision and natural languages processing.

Course contents

The course begins with an introduction to Neural Networks and Deep Learning, focusing on their typical training mechanism: the backpropagation algorithm.

We will discuss the main types of neural networks: feedforward, convolutional, and recurrent, providing concrete examples and examining architectures that have proven useful for image processing, localization, segmentation, style transfer, text processing, and many other applications.

Techniques for visualizing the behavior of hidden neural units will be explored, including those related to deep dreams and inceptionism. We will also cover techniques for fooling neural networks and modern generative techniques, including recent diffusion models.

The final part of the course will be dedicated to an introduction to Deep Reinforcement Learning, with particular attention to designing agents for video games, autonomous driving, and other situations that require complex and adaptive intelligent behaviors.

Prerequisites:

Knowledge of the following subjects is assumed:

  • Machine Learning
  • Analysis
  • Algebra
  • Python

Readings/Bibliography

Suggested readings:

Specific pointers to on line material will be provided at each lesson, in addition to the slides of the course.

Teaching methods

Frontal lessons based on slides, with discussion of practical examples via pyhton notebooks.

We also foresee laboratories held by tutors, for 12 additional hours.

Assessment methods

Individual project on topics defined by the teacher.

The grade can be optionally integrated by an oral examination.

The assesment method may change in relation with the attendance.

Teaching tools

Lectures will make extensive usage of slides. Working examples will be delivered by means on python notebooks.

Office hours

See the website of Andrea Asperti