Neural Networks for Data Science Applications

Course objectives

General objectives: The course provides an overview on the use of deep neural networks in the context of data science and data science applications. The course is split into a methodological part (introducing basic concepts and tools for building neural networks), and a practical part with several hands-on coding sessions, followed by one homework, one final project, and an oral examination. Specific objectives: The first part of the course will (briefly) reintroduce the mathematical skills required for the course, including linear algebra and numerical optimization. Then, we will survey basic neural network components ranging from linear models to fully-connected ones layers. We will then move to a selection of advanced models (convolutive networks, transformers, graph neural networks, autoregressive models), and a series of selected advanced topics (fairness, robustness, deployment of the models). Knowledge and understanding: At the end of the course, the students will have a broad knowledge of state-of-the-art tools and techniques for implementing deep neural networks in several fields, as long as practical hands-on ability to translate conceptual designs into practical coding. Critical and judgment skills: The students will learn to tackle a complex data science project, decomposing it into blocks that are solvable through one or more neural network models. Communication skills: The students will learn to effectively communicate their knowledge along three major axes, (i) via suitably describing their final projects with a final report, (ii) orally for the final exam, and (iii) through careful code documentation and restructuring. Learning ability: The students will be able to autonomously read and reimplement state-of-the-art papers and models going beyond the basic topics of the course, thanks to a selection of papers and tools that will be discussed during the lectures.

Channel 1
SIMONE SCARDAPANE Lecturers' profile

Program - Frequency - Exams

Course program
1. Prerequisites (linear algebra, numerical optimization). 2. Supervised learning with linear regression and logistic regression (+ a coding session in TensorFlow). 3. Fully-connected networks for vectorial data and automatic differentiation (+ a coding session in TensorFlow). 4. Convolutive networks for images and sequences (+ a coding session in TensorFlow). 5. Graph neural networks (+ a coding session in TensorFlow). 6. Attention-based networks for sequences and sets (+ a coding session in TensorFlow). 7. Continual and multi-task learning. 8. Hints on robustness, intepretability, and deployment of models.
Prerequisites
- Basic of linear algebra (matrix computations). - Calculus (taking derivatives and gradients of multivariate functions). - Numerical optimization (gradient descent for continuous functions). - Object-oriented programming in Python. - Hints of supervised learning.
Books
- Official book: https://www.sscardapane.it/alice-book/ - Slides and additional material released on the course's website.
Frequency
Classroom lectures, non mandatory attendance.
Exam mode
The exam is made by a final homework and an oral exam on the topics of the course. Both can be provided at any time during the academic year.
Bibliography
For each section, it's reported at the end of the slides.
Lesson mode
In-person lectures, with possible remote lectures depending on the audio-video equipment available in the classrooms. All news will be shared on a Google Classroom webpage.
  • Lesson code10589627
  • Academic year2025/2026
  • CourseData Science
  • CurriculumSingle curriculum
  • Year2nd year
  • Semester1st semester
  • SSDING-IND/31
  • CFU6