Il corso si divide in due parti, che trattano rispettivamente: i) monitoring, testing, fault injection, anomaly detection, e ii) l'analisi di problematiche e soluzioni basate su deep learning per la costruzione di sistemi critici.
Slides mostrate durante il corso ed articoli scientifici per approfondimento
Obiettivi Formativi
KNOWLEDGE AND UNDERSTANDING
Gli studenti acquisiranno conoscenze sui seguenti argomenti:
Metrologia e monitoraggio
Black/White Box Testing,
Fault/Error Injection,
Anomaly Detection per rilevare errori e/o intrusioni,
Adversarial attacks, robustezza di deep learners
APPLYING KNOWLEDGE AND UNDERSTANDING
Alla fine del corso, lo studente dovrebbe essere in grado di pianificare ed implementare un sistema di monitoraggio e installarlo in un sistema obiettivo, pianificare e implementare esperimenti di iniezione di guasti/test di robustezza, analizzare i dati raccolti per il rilevamento di anomalie.
MAKING JUDGEMENTS
Gli studenti saranno in grado di argomentare sull'adeguatezza di uno specifico sistema di monitoraggio e il relativo processo di rilevamento delle anomalie per un compito specifico in un dato sistema.
COMMUNICATION SKILLS
Alla fine del corso, lo studente dovrebbe essere in grado di relazionare su tutta l'attività tecnica alla base dell'installazione di un sistema di monitoraggio e di discutere approfondimenti sui processi di analisi dei dati
LEARNING SKILLS
Il corso fornirà allo studente le conoscenze per esplorare la letteratura su argomenti di monitoraggio e machine learning
Prerequisiti
Laurea Triennale, Basi di Dependability
Metodi Didattici
Didattica frontale, lezioni teoriche affiancate da esercitazioni in aula ove ritenuto necessario per migliorare la comprensione dei temi trattati
CFU: 6
Altre Informazioni
Frequenza delle lezioni ed esercitazioni: Raccomandata
Strumenti a supporto della didattica UniFi E-Learning: http://e-l.unifi.it
Orario di ricevimento:
Dott. Tommaso Zoppi,
Su appuntamento. Contattare il docente (tommaso.zoppi@unifi.it).
DiMai, Università di Firenze, Viale Morgagni, 65 - 50134 Firenze
Dott. Andrea Ceccarelli,
Su appuntamento. Contattare il docente (andrea.ceccarelli@unifi.it).
DiMai, Università di Firenze, Viale Morgagni, 65 - 50134 Firenze
Modalità di verifica apprendimento
Progetto riassuntivo relativo ad uno degli aspetti principali del corso.
Esame Orale (facoltativo): eventualmente per migliorare la votazione ottenuta col progetto
Programma del corso
Il corso approfondirà le applicazioni delle tecniche di Machine Learning (ML) a supporto della progettazione, monitoraggio e validazione di sistemi cyber-fisici che forniscono funzionalità critiche. Gli studenti saranno prima guidati negli attributi principali dei sistemi critici, per introdurre come algoritmi o componenti ML possono consentire di soddisfare i requisiti di sicurezza e/o sicurezza in modo più efficiente o più affidabile rispetto alle tecniche all'avanguardia.
Dopo aver introdotto la necessità di integrare il ML in sistemi critici, il corso si sposterà verso tecniche per misurare gli indicatori di performance di sistemi che diventano caratteristiche degli algoritmi di ML. Pertanto, ricapitoleremo sulla metrologia e approfondiremo il monitoraggio e la raccolta dei dati, presentando strumenti e buone pratiche per estrarre conoscenza da un sistema cyber-fisico (distribuito). Le attività di monitoraggio in genere forniscono dati che sono stati e sono attualmente utilizzati per supportare campagne di fault Injection e Robustness Testing. Nonostante non si basino molto sul machine learning, di solito integrano le attività di monitoraggio e consentono di raccogliere dati etichettati da utilizzare per addestrare algoritmi di machine learning e costituiscono quindi un pilastro importante di questo corso.
Quindi, introdurremo il rilevamento delle anomalie e il loro ruolo per eseguire sia il rilevamento degli errori che la previsione dei guasti, che sono mezzi importanti per raggiungere l'affidabilità. Inizieremo da approcci basati sulle firme, passando ad algoritmi ML supervisionati e non supervisionati, evidenziandone i meccanismi, le famiglie e le differenze principali. Questi algoritmi sono ampiamente applicati per rilevare le intrusioni e proteggere i sistemi implementando classificatori lineari e non lineari. Pertanto riepilogheremo gli attacchi comuni e applicheremo i rilevatori di anomalie per rilevare le intrusioni nei set di dati di attacco pubblici.
Nell'ultima parte del corso, si esamineranno problematiche nell'utilizzo di soluzioni basate su deep learning in sistemi safety critical. In particolare, si studierà la robustezza dei deep learners, e la costruzione e identificazione di adversarial attacks.