20810549-2 - DESIGN OF LEARNING ALGORITHMS

L'insegnamento si propone di introdurre gli studenti nel campo dell'intelligenza artificiale partendo dallo studio degli algoritmi di base nella loro intima natura. Dopo una iniziale panoramica dello stato dell'arte, lo studente sarà guidato nello studio a basso livello del funzionamento degli algoritmi di machine learning per poi essere in grado di sviluppare meccanismi di previsione anche per livelli di astrazione maggiori. Al termine dell'insegnamento, lo studente sarà in grado di analizzare, progettare e realizzare un sistema di Intelligenza Artificiale applicato ad uno specifico problema.
scheda docente | materiale didattico

Mutuazione: 20810549-2 DESIGN OF LEARNING ALGORITHMS in Ingegneria delle Telecomunicazioni LM-27 RIGANTI FULGINEI FRANCESCO

Programma

Introduzione alla teoria dell’ottimizzazione
Ottimizzazione non-lineare: il problema dei minimi locali
Preparazione dei dati per un corretto addestramento del sistema neurale
Addestramento supervisionato: algoritmo di backpropagation per il calcolo del gradiente della funzione di errore di un MLP
Realizzazione dell’algoritmo di backpropagation in C/C++ from scratch
Algoritmo di addestramento a discesa del gradiente (Gradient Descent)
Realizzazione dell’algoritmo Gradient Descent in C/C++ from scratch
Algoritmo di addestramento a discesa stocastica del gradiente (Stochastic Gradient Descent)
Realizzazione dell’algoritmo Stochastic Gradient Descent in C/C++ from scratch
Algoritmo di addestramento Levenberg-Marquardt
Realizzazione dell’algoritmo Levenberg-Marquardt in C/C++ from scratch
Addestramento con algoritmi genetici e swarm intelligence
Addestramento non supervisionato
Addestramento a rinforzo


Testi Adottati

Dive into deep learning
https://d2l.ai/

Modalità Frequenza

Frequenza facoltativa ma altamente raccomandata.

Modalità Valutazione

Progettazione ed implementazione di un algoritmo/sistema di addestramento specifico