REINFORCEMENT LEARNING

Obiettivi formativi

Obiettivi Generali Il corso di Reinforcement Learning (RL) ha lo scopo di introdurre gli studenti alle tecniche fondamentali e avanzate del RL, un area di grande rilevanza nell'ambito dell'intelligenza artificiale e del machine learning. Gli studenti acquisiranno competenze per progettare e implementare algoritmi che permettano ai sistemi di apprendere e migliorare autonomamente attraverso l'esperienza, ottimizzando le loro decisioni in tempo reale. Obiettivi Specifici Gli studenti esploreranno i concetti chiave del RL, come le politiche di decisione, i processi decisionali di Markov, l'apprendimento Q, e l'apprendimento profondo rinforzato. Impareranno a: Modellare problemi complessi attraverso l'approccio del RL. Sviluppare e implementare algoritmi come Q-learning e Deep Q-Networks (DQN). Applicare tecniche di RL in scenari reali come robotica, giochi, etc. Conoscenza e Comprensione: Conoscenza approfondita degli algoritmi base e avanzati di RL. Comprensione dei modelli di apprendimento basati su ricompensa e delle loro applicazioni pratiche. Capacità di interpretare i risultati degli algoritmi di RL e di valutarne l'efficacia in diversi contesti. Applicazione di Conoscenza e Comprensione: Utilizzo di framework software come TensorFlow o PyTorch per implementare e testare algoritmi di RL. Analisi di case studies e progetti di ricerca attuali per capire l'applicazione del RL nel mondo reale. Sviluppo di prototipi funzionali che utilizzano RL per risolvere problemi specifici. Autonomia di Giudizio: Gli studenti svilupperanno la capacità di valutare criticamente gli algoritmi di RL, considerando la loro applicabilità, efficienza, e potenziali bias. Saranno anche in grado di scegliere l'algoritmo più adatto per un determinato problema. Abilità Comunicative: Gli studenti impareranno a comunicare efficacemente i concetti di RL, le decisioni di design degli algoritmi e i risultati ottenuti, sia a un pubblico tecnico che a non esperti, utilizzando una varietà di mezzi comunicativi. Capacità di Apprendimento Successivo: Questo corso preparerà gli studenti a perseguire studi avanzati e ricerca in RL, fornendo le basi necessarie per affrontare problemi aperti e innovare nel campo. Gli studenti saranno incentivati a contribuire attivamente alla comunità scientifica attraverso pubblicazioni, conferenze e collaborazioni.

Canale 1
Roberto Capobianco Scheda docente

Programmi - Frequenza - Esami

Programma
Panoramica e aspetti organizzativi del corso. Esplorazione nei bandits con analisi del regret; contextual bandits. Processi di Decisione di Markov. Metodi di programmazione dinamica: value iteration e policy iteration. Controllo Lineare-Quadratico e ottimizzazione di traiettoria: LQR, iLQR e MPC. Programmazione dinamica approssimata con approximate policy iteration. Controllo model-free: Q-learning e SARSA; n-step bootstrapping. Approssimazione della value function con metodi lineari. Apprendimento off-policy e Deep Q-Networks (DQN). Reinforcement learning model-based. Metodi di policy search: REINFORCE, baselines e riduzione della varianza. Ottimizzazione di policy con regolarizzazione KL e trust region (ad es., TRPO). Imitation learning e inverse reinforcement learning. Reinforcement learning multi-agente. Reinforcement learning open-ended e temi avanzati selezionati.
Prerequisiti
Questo è un corso con un forte contenuto matematico, incentrato sulla progettazione e l’analisi di algoritmi. Per questo motivo, richiediamo che gli studenti abbiano dimestichezza con le basi di calcolo, probabilità e algebra lineare. Una precedente formazione in Machine Learning è fortemente consigliata ma non obbligatoria. Poiché le esercitazioni e gli assignment consistono in problemi di programmazione, ci aspettiamo che TUTTI gli studenti siano in grado di implementare idee algoritmiche in codice e che siano competenti nella programmazione in Python. Per chi non conosce Python, è disponibile un tutorial qui: (http://cs231n.github.io/python-numpy-tutorial/). Se avete molta esperienza di programmazione ma in un linguaggio diverso (ad es. C/C++/Matlab/Javascript), probabilmente andrà bene lo stesso.
Testi di riferimento
Il corso è in inglese, e di conseguenza le risorse per lo studio sono tutte in inglese. Theory: * Reinforcement Learning: An Introduction, Sutton and Barto: PDF http://incompleteideas.net/book/RLbook2020.pdf, online resources http://incompleteideas.net/book/the-book.html * Reinforcement Learning: Theory and Algorithms Alekh Agarwal, Nan Jiang, Sham Kakade, Wen Sun: PDF https://rltheorybook.github.io/rltheorybook_AJKS.pd Practical: * Basic Python: http://cs231n.github.io/python-numpy-tutorial/ * OpenAI Gym Documentation: https://www.gymlibrary.dev/
Frequenza
In classe e remota quando previsto
Modalità di esame
Struttura della valutazione (95% del totale): * Oppure 3 assignment (15% ciascuno, 45% in totale) o esame scritto (45%). * Progetto finale: 50%. * Voto massimo secondo il sistema italiano (30 e lode / 33). Bonus (5%): Attribuito per interazione/partecipazione in aula o contributo valido al repository del corso (previo accordo con i TAs). Validità: Gli assignment e la prova scritta restano validi fino all’ultima sessione dell’anno accademico (settembre 2026). Tracciamento dell’engagement: Domande/risposte a lezione e contributi approvati al repo vengono tracciati e possono assegnare il bonus.
Modalità di erogazione
Schedule: * Martedì 8:00 - 10:00 (pratica), Aula B2, Via Ariosto * Venerdì 08:00 - 11:00 (teoria), Aula 201, Regina Elena Ricevimento: Mercoledì, 10:30am-12:30pm
  • Codice insegnamento10606827
  • Anno accademico2025/2026
  • CorsoArtificial Intelligence and Robotics - Intelligenza Artificiale e Robotica
  • CurriculumCurriculum unico
  • Anno2º anno
  • Semestre1º semestre
  • SSDING-INF/05
  • CFU6