MACHINE LEARNING FOR SIGNAL PROCESSING

Obiettivi formativi

ITA GENERALI Il corso “Machine Learning for Signal Processing” ha l’obiettivo di fornire una comprensione solida delle tecniche di apprendimento automatico applicate al trattamento dei segnali. Partendo da una revisione dei concetti fondamentali dell’apprendimento supervisionato, non supervisionato e generativo, il corso guida lo studente nell’analisi, nella modellazione e nella sintesi di segnali complessi mediante modelli neurali e probabilistici. Vengono approfondite architetture classiche come reti multilivello, reti convoluzionali e ricorrenti, fino a modelli generativi moderni come autoencoder, GAN e diffusion models, con applicazioni a segnali audio, biomedici e temporali. Il corso è strutturato per sviluppare la capacità di progettare sistemi intelligenti per l’analisi del segnale, integrando teoria, implementazione in notebook Python e analisi critica dei risultati. SPECIFICI • Conoscenza e capacità di comprensione: Comprendere i principi dell’apprendimento automatico e le loro applicazioni al processamento dei segnali. • Capacità di applicare conoscenza e comprensione: Saper implementare e adattare modelli di machine learning a differenti domini di segnali (audio, biomedicali, temporali). • Autonomia di giudizio: Saper scegliere e giustificare le metodologie più adatte in relazione al tipo di segnale e al problema da affrontare. • Abilità comunicative: Comunicare in modo chiaro approcci, risultati e implicazioni dell’analisi di segnali con tecniche di machine learning. • Capacità di apprendimento: Sviluppare l’autonomia nello studio di nuove tecniche e nella sperimentazione di modelli su nuovi set di dati.

Canale 1
DANILO COMMINIELLO Scheda docente

Programmi - Frequenza - Esami

Programma
INTRODUZIONE AL MACHINE LEARNING FOR SIGNAL PROCESSING (MLSP). Utilizzo delle metodologie di machine learning per problemi di elaborazione delle informazioni. Introduzione ai segnali e possibili rappresentazioni. Introduzione alle problematiche di regressione e classificazione. Tassonomia metodologica per l’MLSP. Tipici campi applicativi dell’MLSP. (Rif: [1: Cap. 1], [2: Cap. 1]) CONCETTI DI BASE PER MLSP. Richiami dei concetti fondamentali di algebra lineare, probabilità e variabili aleatorie, con riferimento al contesto MLSP. Esempi pratici utilizzando dati e scenari tipici dell’MLSP. (Rif: [1: Cap. 2], [2: Cap. 2], [3: Cap. 2]) ALGORITMI DI APPRENDIMENTO. Stima parametrica. Polarizzazione e varianza. Funzioni costo. Fondamenti di ottimizzazione di funzioni costo per il machine learning. Stima ottima ai minimi quadrati. Regressione lineare. Algoritmi basati sul gradiente. Introduzione alla classificazione. Classificazione Bayesiana. Regressione logistica. Algoritmi di machine learning per la classificazione. Regolarizzazione e apprendimento sparso. Esempi applicativi. (Rif: [1: Cap. 3, 4, 5, 10]) ALGORITMI DI APPRENDIMENTO NON LINEARI. Modellamento e stima non lineari. Algoritmi non lineari di apprendimento online. Metodi basati sui kernel. Regressione e classificazione con metodi a kernel. Apprendimento online con kernel. Esempi applicativi. (Rif: [1: Cap. 11], [2: Cap. 18]) DEEP LEARNING PER MLSP. Introduzione al deep learning, operazioni di calcolo nel deep learning. Reti neurali convoluzionali. Reti neurali ricorrenti per l’elaborazione dei segnali. Metodi long short-term memory. Metodi generativi di deep learning. Reti neurali su grafi. Esempi applicativi con segnali audio, vocali, biomedici, immagini, musica. (Rif: [1: Cap. 18], [3: Cap. 5, 6, 8, 17]) Durante l'intero corso, verranno organizzate sessioni di laboratorio in Python, compresa l'implementazione dei principali metodi di apprendimento automatico in diversi contesti applicativi di elaborazione del segnale (ad es. Audio e parlato, immagini, segnali biomedici, segnali musicali, segnali multicanale da sensori eterogenei e processi di manutenzione predittiva, tra gli altri).
Prerequisiti
Sono utili ai fini del corso alcune conoscenze di base di algebra lineare, elementi di teoria dei segnali e processi stocastici. Inoltre, conoscenze dei fondamenti di programmazione sono utili ai fini delle esercitazioni pratiche.
Testi di riferimento
Testo principale: - Aston Zhang and Zachary C. Lipton and Mu Li and Alexander J. Smola, “Dive Into Deep Learning”. Amazon, 2020. Testi alternativi - Sergios Theodoridis, “Machine Learning: A Bayesian and Optimization Perspective”. Elsevier, 2020. - Kevin P. Murphy, “Machine Learning: A Probabilistic Perspective”. The MIT Press, 2021. - Christopher M. Bishop, "Pattern Recognition and Machine Learning". Springer, 2006. Materiale integrativo a cura del docente (lucidi del corso, articoli) disponibile sul sito web http://danilocomminiello.site.uniroma1.it e sul pagina della classe virtuale del corso (Classroom).
Modalità insegnamento
Il corso prevede lezioni regolari in aula, le quali includono anche periodiche esercitazioni in Python su problemi pratici. Le esercitazioni possono includere lavori di gruppo.
Frequenza
La frequenza del corso è fortemente consigliata ma non obbligatoria. Lo studente non frequentante avrà a disposizione tutte le informazioni e il materiale didattico necessario per svolgere l'esame alle stesse condizioni e con le stesse modalità dello studente frequentante.
Modalità di esame
Il corso prevede un esame finale con votazione in trentesimi, basato su esercizi da svolgere a casa (30%) e su un progetto finale (70%). Lo studente verrà valutate sia sulle capacità acquisite di conoscenza e progettazione metodologica sia sulla capacità di applicare la conoscenza e implementare una specifica metodologia in un problema pratico.
Bibliografia
Riferimenti [1] Sergios Theodoridis, “Machine Learning: A Bayesian and Optimization Perspective”. Elsevier, 2020. [2] Kevin P. Murphy, “Machine Learning: A Probabilistic Perspective”. The MIT Press, 2021. [3] Aston Zhang and Zachary C. Lipton and Mu Li and Alexander J. Smola, “Dive Into Deep Learning”. Amazon, 2020. [4] S. Raschka, V. Mirjalili, “Python Machine Learning”, (3rd ed.), Packt Publishing, 2019. [5] Ian Goodfellow, Yoshua Bengio, Aaron Courville, “Deep Learning”. The MIT Press, 2016. [6] Christopher M. Bishop, "Pattern Recognition and Machine Learning". Springer, 2006.
Modalità di erogazione
Il corso prevede lezioni regolari in aula, le quali includono anche periodiche esercitazioni in Python su problemi pratici. Le esercitazioni possono includere lavori di gruppo.
  • Codice insegnamento1056158
  • Anno accademico2025/2026
  • CorsoIngegneria Elettronica - Electronics Engineering
  • CurriculumIngegneria Elettronica (percorso valido anche ai fini del conseguimento del doppio titolo italo-statunitense o italo-francese)
  • Anno1º anno
  • Semestre2º semestre
  • SSDING-IND/31
  • CFU6