CODICE 106788 ANNO ACCADEMICO 2023/2024 CFU 5 cfu anno 1 INGEGNERIA ELETTRONICA 8732 (LM-29) - GENOVA 5 cfu anno INGEGNERIA ELETTRONICA 8732 (LM-29) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE ING-INF/01 LINGUA Italiano (Inglese a richiesta) SEDE GENOVA PERIODO 2° Semestre MODULI Questo insegnamento è un modulo di: APPLIED MATHEMATICAL MODELLING AND MACHINE LEARNING MATERIALE DIDATTICO AULAWEB PRESENTAZIONE OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI Obiettivo dell'insegnamento è quello di introdurre le competenze necessarie per comprendere ed utilizzare i più importanti paradigmi di Machine Learning. Il percorso formativo si svilupperà lungo due direttrici principali. La prima direttrice è basata sulla didattica frontale e persegue lo scopo di analizzare gli aspetti teorici che stanno alla base di paradigmi quali le reti neurali a singolo strato, il Deep Learning, i modelli di apprendimento basati su kernel, i metodi di clustering e gli alberi decisionali. La seconda direttrice è basata su esercitazioni pratiche e persegue lo scopo di coinvolgere lo studente nei processi implementativi. Nel complesso, le modalità didattiche saranno strutturate in modo da trasmettere allo studente non solo competenze teoriche sui modelli basati su Machine Learning, ma anche gli strumenti pratici per implementare tali modelli su microprocessore e GPU. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO Scopo dell'insegnamento è fornire le basi per la progettazione e lo sviluppo di algoritmi di classificazione e regressione. Lo studente viene introdotto a diversi concetti di machine learning (modelli lineari, alberi di decisione, ensemble learning, reti neurali, ecc.) e aiutato a comprenderli attraverso esercizi svolti al calcolatore durante le lezioni frontali sfruttando le principali librerie software del linguaggio Python (NumPy, Pandas, SciKitLearn e TensorFlow). Nella parte finale dell'insegnamento, particolare attenzione verrà posta sull'implementazione dei modelli su dispositivi embedded. MODALITA' DIDATTICHE L'insegnamento è costruito da una parte di lezione frontale e una parte di esercitazione. Durante la lezione frontale, il docente presenta gli argomenti fornendo sempre esempi di codice che vengono provati sul notebook Jupyter. Gli studenti possono utilizzare i propri calcolatori durante la lezione per mettere in pratica quanto proposto dal docente. Durante le esercitazioni, gli studenti devono affrontare al calcolatore problemi reali che possono essere risolti applicando le tecniche viste durante le lezioni frontali. PROGRAMMA/CONTENUTO Parte 1 - Algoritmi e tecniche fondamentali Introduzione e catalogazione degli approcci Regressione Classificazione Modelli Lineari Alberi di Decisione Ensemble Learning Dimensionality Reduction Algoritmi non supervizionati Parte 2 - Reti Neurali Percettrone MLP Backpropagation Reti a convoluzione Advanced Vision Parte 3 - Implementazione su dispositivi embedded Inferenza Quantizzazione TensorFlow Lite e TensorFlow Micro Deployment su piattaforma NVidia Jetson TinyML TESTI/BIBLIOGRAFIA Hands-on Machine Learning with Scikit-Learn, Keras and TensorFlow Papers with Code The Elements of Statistical Learning Data Science from Scratch Neural Networks for Machine Learning DOCENTI E COMMISSIONI RICCARDO BERTA Ricevimento: Il docente riceve su appuntamento, per prendere appuntamento è possibile contattare il docente tramite Microsoft Teams (preferibilmente) o tramite email a riccardo.berta@unige.it EDOARDO RAGUSA Commissione d'esame ALBERTO OLIVERI (Presidente) RICCARDO BERTA (Presidente Supplente) EDOARDO RAGUSA (Presidente Supplente) LEZIONI INIZIO LEZIONI https://corsi.unige.it/8732/p/studenti-orario Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME L'esame consiste in una interrogazione orale sugli argomenti presentati a lezione e nel commento delle esercitazioni svolte durante l'insegnamento. In particolare, lo studente deve dimostrare di aver compreso appieno i concetti alla base dello sviluppo di modelli basati sulle tecniche del machine learning e di saperli applicare alla progettazione e implementazione di applicazioni su dispositivi embedded. MODALITA' DI ACCERTAMENTO Durante l'orale, il docente chiederà allo studente di illustrare i concetti imparati a lezione. Per ogni concetto, lo studente dovrà, oltre alla definizione, descrivere le condizioni per la sua applicazione, gli eventuali vantaggi e svantaggi. Nel commentare le esercitazioni realizzate durante l’insegnamento, allo studente verrà richiesto di descrivere le scelte progettuali compiute, le possibili alternative scartate e le motivazioni. Calendario appelli Data appello Orario Luogo Tipologia Note 12/01/2024 09:00 GENOVA Orale 30/01/2024 09:00 GENOVA Orale 16/02/2024 09:00 GENOVA Orale 05/06/2024 09:00 GENOVA Orale 28/06/2024 09:00 GENOVA Orale 17/07/2024 09:00 GENOVA Orale 05/09/2024 09:00 GENOVA Orale