MACHINE LEARNING

MACHINE LEARNING

_
iten
Ultimo aggiornamento 28/06/2021 07:14
Codice
106788
ANNO ACCADEMICO
2021/2022
CFU
5 cfu al 1° anno di 8732 INGEGNERIA ELETTRONICA (LM-29) GENOVA
SETTORE SCIENTIFICO DISCIPLINARE
ING-INF/01
SEDE
GENOVA (INGEGNERIA ELETTRONICA )
periodo
2° Semestre
moduli
Questo insegnamento è un modulo di:
materiale didattico

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. 

Modalità 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

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 

LEZIONI

Modalità 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.

ORARI

L'orario di tutti gli insegnamenti è consultabile su EasyAcademy.

ESAMI

Modalità 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.

Modalità 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.