20810549-2 - DESIGN OF LEARNING ALGORITHMS

L'insegnamento ha come obiettivo principale fornire agli studenti una solida base teorica sulla progettazione e l'implementazione di algoritmi di apprendimento automatico. Gli studenti impareranno a progettare e implementare algoritmi di apprendimento supervisionato, non supervisionato e per rinforzo, e ad applicare i principi di ottimizzazione non lineare per migliorare le prestazioni degli algoritmi di apprendimento automatico. Al termine dell'insegnamento, gli studenti saranno in grado di progettare e implementare algoritmi di apprendimento personalizzati per specifici problemi e domini.

Curriculum

scheda docente | materiale didattico

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/

Bibliografia Di Riferimento

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

scheda docente | materiale didattico

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/

Bibliografia Di Riferimento

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