Il corso di Reinforcement Learning in Artificial Intelligence introduce i fondamenti teorici e computazionali dell'apprendimento per rinforzo attraverso un percorso progressivo e orientato alla programmazione.
In particolare, vengono presi in esame: l'interazione tra agente e ambiente; i processi decisionali di Markov; politiche, ricompense, ritorni e funzioni di valore; le equazioni di Bellman; il problema dell'esplorazione e dello sfruttamento; i metodi di programmazione dinamica; i metodi Monte Carlo e temporal-difference; SARSA e Q-learning; l'approssimazione delle funzioni di valore; Deep Q-Network; i metodi policy gradient, actor-critic e Proximal Policy Optimization.
Le lezioni sono affiancate da attività pratiche in Python. Gli studenti implementano algoritmi di base e utilizzano ambienti e librerie moderne, tra cui NumPy, Gymnasium, PyTorch e Stable-Baselines3, per addestrare e valutare agenti in semplici problemi decisionali sequenziali.
Particolare attenzione è dedicata alla progettazione dello stato, delle azioni e della funzione di ricompensa, alla valutazione sperimentale degli agenti, alla riproducibilità dei risultati e ai principali problemi di stabilità e affidabilità dell'apprendimento per rinforzo.
Introduzione al reinforcement learning
- apprendimento supervisionato, non supervisionato e per rinforzo;
- agente, ambiente, stato, azione e ricompensa;
- episodi, ritorno e fattore di sconto;
- politiche deterministiche e stocastiche;
- esplorazione e sfruttamento;
- primi ambienti e agenti in Python.
Processi decisionali di Markov e programmazione dinamica
- proprietà di Markov e processi decisionali di Markov;
- funzioni valore di stato e valore di azione;
- equazioni di Bellman;
- policy evaluation e policy improvement;
- value iteration e policy iteration;
- implementazione su piccoli ambienti discreti.
Multi-armed bandit e apprendimento tabulare
- problemi multi-armed bandit;
- strategie greedy ed epsilon-greedy;
- metodi Monte Carlo;
- temporal-difference learning;
- SARSA e Q-learning;
- metodi on-policy e off-policy;
- confronto sperimentale tra algoritmi e strategie di esplorazione.
Deep Q-learning
- limiti delle rappresentazioni tabulari;
- approssimazione delle funzioni di valore;
- reti neurali come approssimatori;
- Deep Q-Network;
- experience replay e target network;
- stabilità dell'addestramento e principali iperparametri;
- implementazione guidata con PyTorch e utilizzo di librerie esistenti.
Policy gradient e actor-critic
- politiche parametrizzate;
- principio dei metodi policy gradient;
- struttura actor-critic;
- funzione vantaggio;
- introduzione a Proximal Policy Optimization;
- addestramento di agenti PPO mediante Stable-Baselines3;
- confronto tra metodi basati sul valore e metodi basati sulla politica.
Progettazione e valutazione degli esperimenti
- definizione dello stato, delle azioni e della ricompensa;
- reward design e comportamenti inattesi;
- scelta dell'algoritmo e degli iperparametri;
- curve di apprendimento e ricompensa media;
- confronto con baseline;
- uso di più random seed;
- riproducibilità e interpretazione dei risultati;
- modifica o costruzione di semplici ambienti Gymnasium.
Progetto applicativo
- definizione di un problema decisionale sequenziale;
- scelta o realizzazione dell'ambiente;
- implementazione o configurazione dell'agente;
- addestramento e valutazione;
- confronto tra metodi o configurazioni;
- produzione di grafici, codice documentato e breve relazione;
- discussione critica dei risultati e dei limiti.
Cenni a sviluppi recenti
- reinforcement learning offline;
- sistemi multi-agente;
- imitation learning;
- reinforcement learning from human feedback;
- principali applicazioni nei giochi, nel controllo, nella robotica e nell'allocazione di risorse.
SEDE DI CHIETI
Via dei Vestini,31
Centralino 0871.3551
SEDE DI PESCARA
Viale Pindaro,42
Centralino 085.45371
email: info@unich.it
PEC: ateneo@pec.unich.it
Partita IVA 01335970693