INTELLIGENZA ARTIFICIALE

Anno accademico 2023/2024 - Docente: Daniela GIORDANO

Risultati di apprendimento attesi

1) Conoscenza e comprensione: conoscenza dei paradigmi di sviluppo di sistemi basati su Intelligenza Artificiale (IA) classica e su apprendimento automatico, comprendendone limiti e problematiche associate; conoscenza della logica di funzionamento dei principali algoritmi di apprendimento automatico (supervisionato e non), delle reti neurali profonde e delle architetture su cui si basano gli attuali “Large Language Models”.

2) Capacità di applicare conoscenza e comprensione: gli studenti sapranno autonomamente prototipare e validare sistemi che apprendono dai dati, con particolare riferimento ai dati testuali e ai compiti di Natural Language Processing (NLP) e Natural Language Understanding (NLU). Sapranno effettuare l’allenamento di un modello da zero,  il “fine-tuning” di un modello pre-allenato, scegliendo le metriche appropriate per la valutazione delle prestazioni, in funzione del compito da apprendere.

3) Autonomia di giudizio: gli studenti sapranno valutare autonomamente se un problema può essere risolto con tecniche di apprendimento automatico; sapranno valutare, considerando i modelli e le architetture disponibili, quali siano quelli più appropriati per affrontare il problema, e interpretare criticamente i risultati ottenuti.

4) Abilità comunicative: gli studenti sapranno documentare chiaramente e con proprietà di linguaggio il problema affrontato, le caratteristiche del dataset, la configurazione del modello, e i risultati ottenuti. Saranno inoltre in grado di argomentare le scelte progettuali effettuate.

5) Capacità di apprendimento: a partire dalle nozioni apprese nel corso gli studenti saranno in grado di conoscere nuove applicazioni dell’IA leggendo la letteratura di riferimento nel settore delle Digital Humanities e di cimentarsi autonomamente nell’apprendimento di nuovi modelli e nuove librerie software.

Modalità di svolgimento dell'insegnamento

Lezioni frontali, esercitazioni pratiche, discussione di casi di studio

Prerequisiti richiesti

Conoscenza del linguaggio di programmazione Python; conoscenza delle tecniche di base di pre-elaborazione dei dati testuali.

Frequenza lezioni

Obbligatoria.

Contenuti del corso

Intelligenza Artificiale “classica”: Definizione di agente autonomo intelligente in relazione all’ambiente; Architettura di un sistema cognitivo (percezione, memoria, ragionamento, azione, metacognizione); Tecniche di rappresentazione della conoscenza; Tipologie di ragionamento: deduttivo e induttivo, analogico, basato su casi, probabilistico. Incertezza e inferenza.

Apprendimento automatico: Classificazione, regressione e predizione. Apprendimento supervisionato (Classificatori lineari, K-Nearest Neighbours). Apprendimento non supervisionato (clustering). Il “deep learning”: Reti neurali convoluzionali, cenni sulle Reti neurali ricorrenti. Architetture encoder-decoder: i Transformers. Modelli BERT-based, GPT-based e BART-based.  Metodologia di creazione, allenamento e testing dei modelli (overfitting e underfitting, split del dataset in training, validation e testing, funzioni di Loss, Cross-entropy, Softmax, metriche di valutazione dei modelli; cross-validazione). Modelli auto-supervisionati.  Fine-tuning di modelli pre-allenati. Apprendimento Zero-shot, One-shot, Few-shot. Prompt Engineering.

La libreria PyTORCH per il Deep Learning e l’ambiente Hugging Face. Limiti dei modelli (ispezionabilità, comprensibilità, Bias nei dataset)

Applicazioni: NLP e NLU, Recommender system, Sentiment analysis, Agenti conversazionali (Chatbot).

Testi di riferimento

Per la parte di IA classica:

Capitoli selezionati da S. Russell, P. Norvig, Artificial intelligence: a modern approach, Upper Saddle River, Pearson, 2020 (4th edition), cap. 1 (pp. 29-39, 63-93), cap.  2 (pp. 95-140), cap.  3 (pp. 147-179, 189-199), cap. 24 (pp. 856-878).

 

Per la parte di apprendimento automatico:

- A.W. Trask, Grokking Deep Learning, New York, Manning Publications, 2019 (pp 290)

- L. Tunstall, et alii, Natural Language Processing with Transformers: Building Language Applications with Hugging Face, O’Reilly Media, 2022 (pp. 370)

 

Documentazione tecnica sulle librerie di machine learning utilizzate per il progetto e disponibili sul sito di HuggingFace (https://huggingface.co/docs)

 

Si ricorda che, ai sensi dell’art. 171 della legge 22 aprile 1941, n. 633 e successive disposizioni, fotocopiare libri in commercio, in misura superiore al 15% del volume o del fascicolo di rivista, è reato penale.

Per ulteriori informazioni sui vincoli e sulle sanzioni all’uso illecito di fotocopie, è possibile consultare le Linee guida sulla gestione dei diritti d’autore nelle università (a cura della Associazione Italiana per i Diritti di Riproduzione delle opere dell’ingegno - AIDRO).

I testi di riferimento possono essere consultati in Biblioteca.

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

Prova orale

Prova pratica (sviluppo di un progetto)

 

Gli studenti svilupperanno un progetto, concordato con la docente, nel quale applicheranno le tecniche apprese a lezione. Il progetto dovrà essere corredato da una relazione sui risultati ottenuti e verrà presentato e discusso in sede di esame orale. Durante l’esame orale verrà presentato un articolo preventivamente scelto dal candidato/a da una selezione di articoli riguardanti applicazioni dell’IA alle Digital Humanities proposta dalla docente e verranno anche poste alcune domande riguardanti la teoria. Il progetto incide per il 50% sulla valutazione finale, la presentazione dell’articolo per il 20% e la teoria per il 30%. I criteri di valutazione del progetto includono: correttezza dell’approccio tecnico e metodologico, capacità di giustificare le scelte progettuali e i livelli di prestazione ottenuti, presenza di elementi innovativi. 

Per la valutazione dell’esame si terrà conto della padronanza dei contenuti e delle competenze acquisite, dell’accuratezza linguistica e proprietà lessicale, nonché della capacità argomentativa dimostrata dal/la candidato/a.

Esempi di domande e/o esercizi frequenti

Colloquio sul programma. 
ENGLISH VERSION