Circuiti e Algoritmi per il Machine Learning
Laurea Magistrale in Ingegneria Elettronica, Ingegneria delle Comunicazioni
(fino all'A.A. 2021/2022)
Il corso è andato in aula per l'ultima volta a settembre 2021 ed è formalmente sostituito, sebbene con un taglio e con un programma diverso, da "Machine Learning per i Sistemi Elettrici ed Elettronici"
Sito ufficiale del Corso di Laurea in Ingegneria Elettronica
Sito ufficiale del Corso di Laurea in Ingegneria delle Comunicazioni
Programma A.A. 2021/2022. Il programma a consuntivo fa riferimento a TUTTO E SOLO quanto presentato, spiegato e discusso durante le lezioni del corso:
Brevi richiami sull'elaborazione numerica dei segnali e dell’informazione. Sistemi e segnali tempo-discreti, trasformata z. Strutture di elaborazione e filtraggio, architetture FIR, IIR e a traliccio, effetti di quantizzazione.
Metodi di progettazione di processori vettoriali. Dependence Graph (DG) e analisi delle dipendenze. Proiezione e scheduling, mapping canonico da DG a SFG, esempi. Array sistolici, fused multiply-add (FMA), pipelining, sistolizzazione.
Calcolo parallelo su architetture multi-core, FPGA, GPU, TPU.
Machine Learning e Intelligenza Computazionale: reti neurali, logica fuzzy e algoritmi evolutivi.
Implementazione parallela di algoritmi di clustering e classificazione: C-Means, k-NN.
Implementazione hardware di architetture neurali “shallow”. Modelli di riferimento: Multilayer Perceptron (MLP); Radial Basis Function (RBF); Extreme Learning Machine (ELM) o Random Vector Functional-Link (RVFL); Echo State Network (ESN). Vincoli di precisione numerica finita. Vincoli architetturali. Tecniche di virtualizzazione e condivisione.
Apprendimento e inferenza di reti neurali “deep” su architetture parallele. Modelli di riferimento: Convolutional Neural Network (CNN); Long Short-Term Memory (LSTM).
Introduzione al calcolo quantistico. Porte e array quantistici. Algoritmi quantistici per l’ottimizzazione e il trattamento dell’informazione (QFFT, Grover, Schor). Quantum machine learning. Reti neurali quantistiche.
Studi di caso per applicazioni parallele e distribuite:
quantizzazione, classificazione, predizione, approssimazione, interpolazione e filtraggio di dati meccatronici, biologici, energetici, economici, ambientali e aerospaziali;
il caso particolare di Smart Grid, analisi comportamentale e biometria;
algoritmi di machine learning in ambiente CUDA;
apprendimento parallelo in ambiente Matlab;
implementazione di reti neurali e neurofuzzy su microcontrollori, sistemi embedded e smart sensor.
Materiale didattico:
Appunti e dispense forniti dal Docente.
Nota: gli script Matlab utilizzati durante le esercitazioni sono stati condivisi su Google Classroom con gli studenti registrati che hanno frequentato il corso.P. Pacheco, An introduction to Parallel Programming, MK Publisher.
H.T. Kung, R. Sproull, G. Steele, VLSI Systems and Computations, Springer.
S.O. Haykin, Neural Networks and Learning Machines (3rd Ed.), Pearson.
I. Goodfellow, Y. Bengio, A. Courville, Deep Learning, MIT Press.
Ulteriori letture facoltative
B.N. Barney, HPC Training Materials, Lawrence Livermore National Laboratory's Computational Training Center.
C.M. Bishop, Pattern Recognition and Machine Learning, Springer.
S. Theodoridis, K. Koutroumbas, Pattern Recognition, Academic Press
B. Kosko, Neural Networks and Fuzzy Systems, Prentice-Hall
L. Deng, Deep Learning: Methods and Applications, Microsoft Research
AVVISO. Per ogni tipo di comunicazione legata al corso, gli interessati sono pregati di inviarmi una e-mail indicando nell'OGGETTO "Machine Learning CA" e nel testo i seguenti dati: nome, cognome e numero di matricola. Cercherò di rispondere al più presto.