Nuova ricerca

ELISA FICARRA

Professore Ordinario
Dipartimento di Ingegneria "Enzo Ferrari"

Insegnamento: Intelligenza artificiale in medicina

Bioingegneria per l'innovazione in medicina (Offerta formativa 2024)

Obiettivi formativi

Il corso si propone di studiare soluzioni software per l'analisi di immagini biomediche, dati genetici e molecolari, dati da sensori. Attraverso il corso, gli studenti apprenderanno modelli AI avanzati e problemi relativi alle generiche applicazioni AI, oltre a quelli specifici dell'Intelligenza Artificiale applicata alla medicina e alla salute. Infatti, durante il corso, gli studenti impareranno ad affrontare problemi quali, ad esempio:
1) la scarsità di annotazioni
2) l'affidabilità dei modelli di IA
3) l'integrazione di diverse fonti di informazione

Attraverso numerosi esempi pratici e sessioni di laboratorio, gli studenti apprenderanno le tecniche per:
- Self-supervised learning (SSL)
- Multiple-instance learning (MIL)
- Valutazione e Correzione dei bias attraverso opportuni modelli AI
- Multimodal learning
- Segmentazione 2D e 3D (ad es. tramite architetture UNet e Visual Transformers)


Questi argomenti saranno organizzati in moduli, ciascuno composto da lezioni teoriche seguite da sessioni di laboratorio. In un primo momento verranno forniti esempi comunemente utilizzati di applicazione AI generiche; successivamente verranno presentate applicazioni biologiche e biomediche per imparare ad adattare le soluzioni teoriche e generiche a sistemi complessi, quali sono i sistemi biologici.
Relativamente poi a questi, verranno esplorate fonti di dati eterogenee, che vanno dai dati omici, molecolari e clinici, alle annotazioni testuali, alle immagini istologiche e mediche e ai dati da sensori.

Durante il corso verranno in primis introdotte e utilizzate tecnologie deep learning quali: Graph Neural Networks, Transformers, Vision Transformers, e alcune architetture multimodali.

Lo scopo del corso è quindi duplice. In primo luogo, esso formerà gli studenti nelle più avanzate tecnologie di AI per la salute. In secondo luogo, il corso offrirà un'ampia gamma di problemi e tecnologie AI che consentiranno agli studenti di affrontare problemi generali di Intelligenza Artificiale che trascendono le applicazioni genetiche e mediche.


Prerequisiti

È richiesta una solida base di informatica, compresi algoritmi, strutture di dati e programmazione (ad esempio, python, C, C++ o Java).

E' raccomandabile aver seguito un corso di machine learning e deep learning (anche senza superamento) o comunque avere concetti di base di machine e deep learning.
Gli studenti che non frequentano questi corsi riceveranno spiegazioni e materiale off-line per comprendere le basi del corso.

Programma del corso

Introduzione al corso (0.5 CFU):
• Obiettivi del corso
• Struttura del corso e Regole per l'Esame
• Set-up per le sessioni di laboratorio
Linguaggio Python (4 CFUs):
• Tipi di dato primitivi
• Variabili e costanti numeriche
• Stringhe e metodi per stringhe
• Input e Output di dati numerici e di stringhe
• Operatori aritmetici elementari, potenze, funzioni matematiche
• Variabili booleane e operatori
• Costrutti di controllo di flusso
• Funzioni e passaggio di parametri
• Liste, Insiemi, Dizionari
• Strutture complesse (dizionari di insiemi e dizionari di liste)
• Lettura e scrittura di file di testo
• Gestione delle eccezioni
• Esempi di librerie python specifiche per la programmazione in ambito biomedico e della bioingegneria

Linguaggi di scripting e ambienti di sviluppo e condivisione codice (1 CFU):
- R, istruzioni da finestra di comando e altri
- Servizi di hosting per progetti software: Github

Gestione dei processi con Nextflow ed esempi di utilizzo di pipeline disponibili su Nf-core (0.5 CFU)

Il corso è organizzato con laboratori e attività progettuali che consentono allo studente una migliore comprensione sia delle problematiche che delle soluzioni software implementate.

Metodi didattici

Il corso sarà erogato in presenza. Se tuttavia ci saranno delle emergenze da parte del docente o esigenze particolari da parte della classe la modalità di erogazione potrà essere anche in modalità ibrida, e comunque in linea con le direttive di ateneo.

Il corso è obbligatorio, ma la frequenza è facoltativa. L’insegnamento è erogato in inglese.
L’insegnamento avverrà attraverso lezioni frontali, esercitazioni pratiche, attività pratiche di laboratorio.
Le lezioni copriranno le basi teoriche dell'IA in diversi scenari reali, tra cui il mondo biologico, e le sue applicazioni in bioinformatica. Le esercitazioni permetteranno agli studenti di applicare le tecniche di IA a problemi biologici e problemi generici del mondo reale. I laboratori permetteranno agli studenti di lavorare con dati biologici e di sviluppare soluzioni basate sull'IA.

Verranno forniti strumenti di comunicazione tramite social media per condividere con i docenti e con gli studenti dubbi, domande e risposte.

Testi di riferimento

- Course slides,
- scientific research papers,
- web documents
- short educational movies.
- optionally, ML and deep learning books, such as
i) "Deep Learning" by Ian Goodfellow, Yoshua Bengio and Aaron Courvill, MIT Press;
ii) "Deep Learning Illustrated: A Visual, Interactive Guide to Artificial Intelligence" (Addison-Wesley Data & Analytics Series) by Jon Krohn, Grant Beyleveld, Aglaé Bassens. Addison-Wesley Professional; 1 edition (August 5, 2019);
iii) others suggested during the course.

Verifica dell'apprendimento

L'esame consiste, a scelta, in un progetto individuale o di gruppo con discussione orale sul progetto più alcune domande aperte su argomenti di teoria relativi al soggetto del progetto.

Progetto individuale o di gruppo (punteggio max 30L / 30L):
• I docenti del corso illustreranno i progetti disponibili nella seconda parte del corso.
• I progetti presentati saranno caratterizzati da obiettivi analitici, di progettazione e implementazione/ottimizzazione a seconda del progetto specifico.
• A seconda della complessità specifica del progetto, il numero di studenti all’interno dei gruppi sarà limitato.
• Non ci saranno scadenze intermedie per il completamento del progetto.
• I progetti possono essere sviluppati senza vincoli di tempo e presentati in qualunque momento dell’anno.
• I progetti saranno discussi in una presentazione orale (tramite slide); la data corretta per la presentazione sarà concordata con lo studente.

Preparazione alla presentazione e discussione del progetto:
• La presentazione orale riguarderà lo sviluppo del progetto, le alternative tecnologiche di letteratura, i problemi riscontrati, le soluzioni sviluppate e i risultati ottenuti (presentazione tramite slide).
• Le domande riguarderanno lo sviluppo del progetto, i risultati e i relativi argomenti teorici trattati durante il corso.
• Sarà necessaria anche una demo.
• Un manuale utente sulle questioni tecniche, così come il codice sviluppato e i risultati, sarà fornito al personale docente entro e non oltre tre giorni prima della presentazione del progetto.

Valutazione della discussione del progetto: la valutazione è composta da quanto segue
• 24 punti per la progettazione, l'implementazione, la documentazione e la presentazione del progetto
• 2 punti facoltativi per la lode se il progetto presenta passaggi/analisi/obiettivi aggiuntivi rispetto a quelli richiesti nelle specifiche. Ovviamente il contributo aggiuntivo deve essere relativo al progetto assegnato e significativo.
• 6 punti per domande aperte su argomenti teorici visti durante il corso e relativi all’argomento del progetto.

L'esame sarà in presenza.
Tuttavia, in caso di giustificati problemi personali o restrizioni sanitarie la procedura sarà identica a quella utilizzata per gli esami in presenza e la sessione, svolta tramite piattaforma online, sarà registrata per tenere traccia dello svolgimento dell’esame.

Risultati attesi

Lo studente acquisirà:

- La comprensione delle tecniche di IA per la progettazione di modelli predittivi e la valutazione della loro affidabilità in contesti particolarmente impegnativi, caratterizzati, ad esempio, dalla mancanza e/o dall'incertezza di label e annotazioni, dalla scarsità dei dati, dalla multi-risoluzione e dalle grandi dimensioni del dato, dall'integrazione di modalità diverse di dati con dati parzialmente mancanti, dall'adattamento al dominio.
- la comprensione di tecnologie deep learning di frontiera basate su Graph Neural Networks, Transformers, Visual Transformers, Attention mechanisms, ecc.
- la comprensione delle problematiche relative all’integrazione di dati eterogenei e la comprensione delle metodologie per l’integrazione dei dati basate sulla statistica e il deep learning.
- la comprensione delle biotecnologie di ultima generazione per lo screening genetico e molecolare e dei principali approcci SW per analisi bioinformatiche complesse.

In questo corso, lo studente imparerà come funzionano le metodologie esistenti e come progettare nuove architetture e algoritmi.

Inoltre, lo studente:
- imparerà ad adattare e trasferire metodologie IA avanzate in studi genetici, analisi di bio-immagini e applicazioni cliniche.
- imparerà a progettare e implementare nuove soluzioni algoritmiche affidabili nell'ambito dei Sistemi Complessi, come quelli biologici.
- sperimenterà tecniche di esecuzione e ottimizzazione SW su infrastrutture cluster.

Il corso fornirà allo studente sia competenze teoriche che pratiche, tramite l’esperienza della progettazione, da sfruttare in applicazioni generali, anche al di fuori dell'ambito genetico e medico.
Infine, la biologia computazionale per la comprensione delle malattie complesse è, in effetti, un dominio molto impegnativo che consente allo studente di comprendere i pro e i contro di diversi approcci IA, statistici e computazionali.