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
Principi teorici e basi matematiche dell'Intelligenza Artificiale
Principali algoritmi di Intelligenza Artificiale
Reti neurali supervisionate: il percettrone multistrato (MLP) e matrici dei pesi sinaptici
Applicazione di un MLP in Matlab e Python per interpolazione ed approssimazione (regressione non lineare).
Configurazione di un server esterno per la programmazione a basso livello
Realizzazione di un MLP in C/C++ from scratch
Reti neurali convolutive (CNN): progettazione in Matlab e Python
Realizzazione di una CNN in C/C++ from scratch
Reti neurali ricorsive (RNN): progettazione in Matlab e Python
Realizzazione di una RNN in C/C++ from scratch
Reti neurali generative avversarie (GAN): progettazione in Matlab e Python
Realizzazione di una GAN in C/C++ from scratch
Reti neurali non supervisionate
Reti neurali con apprendimento a rinforzo
https://d2l.ai/
Mutuazione: 20810549-1 ARTIFICIAL INTELLIGENCE: ALGORITHMS AND METHODS in Ingegneria delle Telecomunicazioni LM-27 RIGANTI FULGINEI FRANCESCO
Programma
Introduzione all’Intelligenza Artificiale e campi di applicazionePrincipi teorici e basi matematiche dell'Intelligenza Artificiale
Principali algoritmi di Intelligenza Artificiale
Reti neurali supervisionate: il percettrone multistrato (MLP) e matrici dei pesi sinaptici
Applicazione di un MLP in Matlab e Python per interpolazione ed approssimazione (regressione non lineare).
Configurazione di un server esterno per la programmazione a basso livello
Realizzazione di un MLP in C/C++ from scratch
Reti neurali convolutive (CNN): progettazione in Matlab e Python
Realizzazione di una CNN in C/C++ from scratch
Reti neurali ricorsive (RNN): progettazione in Matlab e Python
Realizzazione di una RNN in C/C++ from scratch
Reti neurali generative avversarie (GAN): progettazione in Matlab e Python
Realizzazione di una GAN in C/C++ from scratch
Reti neurali non supervisionate
Reti neurali con apprendimento a rinforzo
Testi Adottati
Dive into deep learninghttps://d2l.ai/
Modalità Frequenza
Frequenza facoltativa ma altamente raccomandata.Modalità Valutazione
Progettazione ed implementazione di un modello di machine learning