Salta al contenuto principale della pagina

TRUSTWORTHY ARTIFICIAL INTELLIGENCE

CODICE 108606
ANNO ACCADEMICO 2022/2023
CFU
  • 6 cfu al 2° anno di 11160 COMPUTER ENGINEERING (LM-32) - GENOVA
  • 6 cfu al 2° anno di 10852 COMPUTER SCIENCE (LM-18) - GENOVA
  • SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05
    LINGUA Inglese
    SEDE
  • GENOVA
  • PERIODO 1° Semestre
    MATERIALE DIDATTICO AULAWEB

    PRESENTAZIONE

    Oggi gli algoritmi di apprendimento automatico (machine learning) e i sistemi basati sull'intelligenza artificiale vengono utilizzati per molte applicazioni reali, tra cui il riconoscimento di immagini, i filtri antispam, il rilevamento di malware ed il riconoscimento biometrico. In queste applicazioni l'algoritmo di apprendimento automatico può essere oggetto di attacchi che possono manipolare i dati in ingresso per sovvertire di proposito sia la fase di apprendimento che quella operativa. La parte 1 del corso si propone di introdurre i fondamenti della sicurezza del machine learning e il settore dell’adversarial machine learning. La parte 2 introduce le normative internazionali alla base della cosiddetta "Trustworthy Artificial Intelligence". Il corso utilizza esempi di applicazioni reali, tra cui il riconoscimento di oggetti nelle immagini, il riconoscimento biometrico, il filtraggio dello spam, la robotica e il rilevamento di malware.

    OBIETTIVI E CONTENUTI

    OBIETTIVI FORMATIVI

    L'obiettivo di questo corso è fornire agli studenti concetti di base ed avanzati sulla sicurezza dell'apprendimento automatico e sulla "Trustworthy Artificial Intelligence".

    OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

    Comprensione dei concetti fondamentali e dei metodi avanzati per la sicurezza dell’apprendimento automatico e dell’intelligenza artificiale e delle loro applicazioni al “pattern recognition”. Capacità di rispondere a domande aperte con libri chiusi, risolvere esercizi numerici, utilizzare librerie software open source per la valutazione della sicurezza di algoritmi di machine learning.

    PREREQUISITI

    Questo corso è rivolto a studenti che abbiano già frequentato corsi di base (o abbiano una conoscenza di base/intermedia) di machine learning e intelligenza artificiale e abbiano una conoscenza di base/intermedia dei linguaggi di programmazione (in particolare il linguaggio Python).

    MODALITA' DIDATTICHE

    Lezioni frontali nelle quali il docente utilizzerà diapositive. Copia delle diapositive sarà fornite in anticipo agli studenti. Laboratorio su attacchi e difese degli algoritmi di apprendimento automatico utilizzando la libreria Python open source SecML per la valutazione della sicurezza degli algoritmi di apprendimento automatico (https://github.com/pralab/secml).

    PROGRAMMA/CONTENUTO

    Parte 1: Sicurezza dell'apprendimento automatico (30 ore)

    • Introduzione alla sicurezza dell'apprendimento automatico: introduzione con esempi pratici di computer vision, biometria, filtri antispam, rilevamento di malware. (2 ore)

    • Modelli di minacce e attacchi al machine learning. Modellazione dell’adversarial machine learning. Il modello a due giocatori (l'attaccante e il sistema di machine learning). Livelli di conoscenza reciproca dei due giocatori (conoscenza perfetta, conoscenza limitata, conoscenza per quesiti e feedback). Modelli di attacco contro il machine learning: attacchi di evasione, avvelenamento, backdoor e privacy. I concetti di sicurezza by design e “security by obscurity”. (6 ore)

    • Valutazione di algoritmi di machine learning in ambienti ostili. Valutazione delle vulnerabilità attraverso metodi formali e valutazioni empiriche. Valutazioni adattive e non adattive. (6 ore)

    • Progettazione di algoritmi di machine learning in ambienti ostili: tassonomia delle possibili strategie di difesa. Attacchi di evasione e contromisure. Difese contro attacchi di evasione, avvelenamento, backdoor e privacy. Attacchi di avvelenamento e contromisure. Avvelenamento da backdoor, minacce e difese legate alla privacy. (8 ore)

    • Sessioni pratiche di laboratorio con linguaggio Python. Sessioni pratiche sugli attacchi contro l'apprendimento automatico e le difese degli algoritmi di apprendimento automatico. (8 ore)

    Parte 2: Intelligenza Artificiale affidabile (18 ore)

    • Regolamentazione dell’AI: la legge europea sull'AI. Linee guida etiche europee per un'intelligenza artificiale affidabile. Normative AI nel mondo (3 ore)

    • Equità e privacy dell'apprendimento automatico: equità e minacce e difese legate alla privacy. (6 ore)

    • AI Robusta: ottimizzazione robusta nell'apprendimento automatico; progettazione di algoritmi di machine learning in the wild e riconoscimento di pattern out-of-distribution (3 ore)

    • Intelligenza artificiale spiegabile: metodi di spiegabilità. Metodi globali e locali. Metodi model-specific e model-agnostic. (3 ore)

    • Sessioni pratiche di laboratorio con linguaggio Python: lezioni pratiche su algoritmi spiegabili di machine learning e normative AI (3 ore).

    TESTI/BIBLIOGRAFIA

    A. Joseph, B. Nelson, B. Rubinstein, D. Tygar, Adversarial machine learning, Cambridge University Press, 2018

    B., Battista, F. Roli. Wild patterns: Ten years after the rise of adversarial machine learning. Pattern Recognition 84 (2018): 317-331

    B. Biggio, F.Roli, Wild Patterns, Half-day Tutorial on Adversarial Machine Learning: https://www.pluribus-one.it/research/sec-ml/wild-patterns

    Biggio, B., Corona, I., Maiorca, D., Nelson, B., Srndic, N., Laskov, P., Giacinto, G., Roli, F. Evasion attacks against machine learning at test time.  ECML-PKDD, 2013.

    Biggio, B., Fumera, G., Roli, F. Security evaluation of pattern classifiers under attack. IEEE Trans. Knowl. Data Eng., 26 (4):984–996, 2014.

    DOCENTI E COMMISSIONI

    LEZIONI

    INIZIO LEZIONI

    Secondo il calendario ufficiale

    Orari delle lezioni

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

    ESAMI

    MODALITA' D'ESAME

    Prove scritte in classe durante il semestre e realizzazione di un progetto sui contenuti del corso.

    MODALITA' DI ACCERTAMENTO

    Valutazioni in classe durante il semestre (soluzione a libro chiuso di esercizi numerici/programmazione e domande a risposta aperta) + progetto finale da preparare a casa. Gruppi di massimo 3 studenti possono svolgere il progetto finale a casa. Criterio di valutazione = valutazione intermedia in classe (15/30) + progetto finale a casa (15/30)

    Calendario appelli

    Data Ora Luogo Tipologia Note

    ALTRE INFORMAZIONI

    Contattare il docente per e-mail.