Salta al contenuto principale della pagina

MACHINE LEARNING

CODICE 106788
ANNO ACCADEMICO 2022/2023
CFU
  • 5 cfu al 1° anno di 8732 INGEGNERIA ELETTRONICA (LM-29) - GENOVA
  • 5 cfu al ° anno di 8732 INGEGNERIA ELETTRONICA (LM-29) - GENOVA
  • SETTORE SCIENTIFICO DISCIPLINARE ING-INF/01
    SEDE
  • GENOVA
  • PERIODO 2° Semestre
    MODULI Questo insegnamento è un modulo di:
    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

    DOCENTI E COMMISSIONI

    Commissione d'esame

    ALBERTO OLIVERI (Presidente)

    RICCARDO BERTA (Presidente Supplente)

    EDOARDO RAGUSA (Presidente Supplente)

    LEZIONI

    Orari delle lezioni

    L'orario di tutti gli insegnamenti è consultabile su 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.