Salta ai contenuti. | Salta alla navigazione

Strumenti personali

DEEP LEARNING

Academic year and teacher
If you can't find the course description that you're looking for in the above list, please see the following instructions >>
Versione italiana
Academic year
2022/2023
Teacher
RICCARDO ZESE
Credits
6
Didactic period
Primo Semestre
SSD
INF/01

Training objectives

The aim of the course is to learn the methodologies and techniques based on deep neural networks for the realization of applications of Artificial Intelligence, acquiring the ability to apply such techniques to solve complex problems.

The acquired knowledge will be:
- the Python language;
- knowledge of the main architectures of deep neural networks (convolutional and recurrent networks).

The main skills (i.e., the ability to apply the acquired knowledge) will be:
- the ability to use Python as a language for the development of applications based on neural networks;
- the ability to develop an application that applies neural networks to solve tasks typical of Artificial Intelligence systems, such as image recognition and classification, text analysis, etc.

Prerequisites

It is necessary to have acquired and assimilated the following knowledge provided by the “Fondamenti di Informatica” courses:
Good knowledge of imperative programming languages, and good programming skills.

Course programme

Introduction to Python (15 hours)

Introduction to Machine Learning (5 hours)
- Classification
- Regression (Logistic regression)

Introduction to Neural Networks (20 hours)
- Modelization, shallow/deep
- Introduction to Keras/Tensorflow with exercises
- Back propagation
- Regularization
- Practical Methods

Convolutional NN (8 hours)
- Drop out
- Parameter Sharing
- Alexnet, VGG, GoogleNet

Recurrent/Recursive NN (5 hours)

Practical applications and research directions (7 hours)
- Computer Vision, Object Detection
- Autoencoders
- GAN
- Transfer Learning

Didactic methods

Teaching activities are carried out with theoretical lectures and practical laboratory-type exercises delivered via video. Focus groups will be organized periodically to accompany individual study.

Learning assessment procedures

The final exam verifies the degree of achievement of the training objectives indicated above. The exam consists in:
- a written test (three open-ended questions) at the end of the course;
- the evaluation of a project assigned by the professor.
The project can be carried out individually or in groups of up to 2 students. The assignment of the project by the teacher will be at the request of the student (or the pair of students). This request can be made at any time from the moment the teacher has completed the important parts of the course (approximately two weeks before the end of the course) and will be independent of the registration to the written test.

Therefore, the exam consists of a written test (three open-ended questions) and an explanation - also with presentation tools - of the project carried out and the results obtained.
The writing part will be done on dates set by the teacher (approximately three per session) to which the student can register online. The presentation of the project will be made by the individual student (in case of individual activity) or by the group (maximum 2) of students by appointment to be agreed with the teacher. In the latter case, each student in the group must be responsible for a clearly identified part of the project, demonstrate that he/she understands the application architecture and functions of all the main software components, as well as a detailed presentation of the components created. Registration for the written test is independent of the assignment of the project (which may be requested both before and after the date of the test) but will be a prerequisite for the final evaluation of the project, which must be presented after passing the written test.

NOTE: The scores of the single tests will be valid until September 30, 2024. After that date, all earned grades will be cancelled.

Reference texts

The following items are a list of sources that can be used to deepen and accompany the study.
Studying the teaching material provided via Google Classroom is sufficient to pass the exam.
Bibliography:
- Jake VanderPlas. Python data science handbook: essential tools for working with data. O'Reilly Media, Inc., 2016.
- Ian Goodfellow, Yoshua Bengio, and Aaron Courville. Deep learning. MIT press, 2016.

Sitography:
- https://jakevdp.github.io/PythonDataScienceHandbook/
- https://www.tensorflow.org
- https://keras.io/