Salta al contenuto principale
CODICE 98216
ANNO ACCADEMICO 2023/2024
CFU
SETTORE SCIENTIFICO DISCIPLINARE ING-INF/01
LINGUA Inglese
SEDE
  • GENOVA
PERIODO 1° Semestre
MATERIALE DIDATTICO AULAWEB

PRESENTAZIONE

L’insegnamento presenta il tema della realizzazione di agenti autonomi, in grado di muoversi e interagire con un ambiente incognito al fine di raggiungere un determinato obiettivo, utilizzando algoritmi di apprendimento con rinforzo (Reinforcement Learning).

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Il corso fornisce metodologie e strumenti per lo sviluppo di sistemi software, secondo criteri di elevata efficienza e produttività. Viene offerta una panoramica generale sui sistemi multimediali e sulla modalità di interazione con gli utenti. Sono anche offerti elementi di programmazione di videogiochi e simulazione.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

La frequenza e la partecipazione attiva alle attività formative proposte (lezioni frontali e laboratori tecnico-pratici) e lo studio individuale consentiranno di:

  • acquisire una terminologia corretta per descrivere adeguatamente il comportamento di un agente autonomo
  • conoscere in modo approfondito i principali algoritmi di Reinforcement Learning ed essere in grado di analizzare criticamente le loro differenze
  • essere in grado di valutare quantitativamente le prestazioni di un agente autonomo in un dato problema
  • saper formulare un problema reale in termini di agenti autonomi
  • saper applicare gli algoritmi a problemi reali in linguaggio Python

PREREQUISITI

Sono necessarie per affrontare efficacemente i contenuti dell’insegnamento le seguenti conoscenze di base: programmazione con un linguaggio di programmazione di alto livello, meglio se Python (al fine di capire e implementare gli algoritmi considerati) e i principali algoritmi di machine learning supervisionato (per poter comprendere gli algoritmi basati su approssimatori di funzione).

MODALITA' DIDATTICHE

L’insegnamento si compone di lezioni frontali e di una parte di laboratorio tecnico-pratico. Durante le lezioni frontale, il docente presenta gli argomenti fornendo esempi di codice che vengono provati sfruttando gli ambienti OpenAI Gym. Gli studenti e le studentesse possono utilizzare i propri calcolatori durante la lezione per mettere in pratica quanto proposto dal docente. Durante i laboratori tecnico-pratici, il docente titolare dell’insegnamento, coadiuvato da tutor di laboratorio, chiederà di utilizzare il calcolatore per risolvere problemi reali applicando gli algoritmi visti durante le lezioni frontali.

PROGRAMMA/CONTENUTO

Il seguente elenco riporta i contenuti affrontati a lezione. Le slide e i notebook con le note utilizzate durante le lezioni possono essere scaricati qui: https://github.com/riccardoberta/autonomous-agents

  1. Introduzione agli agenti autonomi e al Reinforcement Learning
  2. Markov Decision Processes (MDPs)
  3. Dynamic Programming
  4. Metodi Monte Carlo
  5. Temporal Difference (TD) learning
  6. Q-learning e SARSA
  7. Function approximation
  8. Policy gradient methods
  9. Exploration and exploitation
  10. Deep Reinforcement Learning

Le Nazioni Unite hanno stilato un elenco di 17 obiettivi nell'ambito dell'agenda 2030 per lo sviluppo sostenibile, che spaziano dalla fine della povertà e della fame nel mondo al miglioramento della salute e dell'istruzione, fino alla riduzione delle disuguaglianze e delle ingiustizie. Ci sono alcune sfide che lo sviluppo di agenti autonomi deve affrontare per poter essere realmente impiegato per il bene sociale, come il problema di apprendimento con dati limitati, gli squilibri geografici, i dati parziali e l'apprendimento con memoria e potenza di calcolo limitati. L’insegnamento adotterà una prospettiva di progettazione responsabile, al fine di fornire allo studente la capacità di sviluppare sistemi socialmente intelligenti. In particolare, lo studente imparerà come i modelli possono essere progettati senza pregiudizi (10. Riduzione delle disuguaglianze), come possono diventare spiegabili (16. Pace, giustizia e istituzioni forti) e come mitigare i rischi etici posti dai comportamenti autonomi (16. Pace, giustizia e istituzioni forti). Inoltre, nel presentare esempi di implementazione, si utilizzeranno scenari volti a favorire un uso sostenibile delle risorse naturali (13. Azione per il clima, 15. Vita sulla terraferma, 14. Vita sotto l'acqua), al miglioramento della vita nelle città (11. Città e comunità sostenibili, 3. Buona salute e benessere) e nelle industrie (9. Industria, innovazione e infrastrutture) Alla termine dell’insegnamento, lo studente saprà quali insidie possono rende irresponsabili i comportamenti degli agenti autonomi e come progettare modelli responsabili, che aiutino le persone e non le danneggino, pur essendo utili e accurati.

TESTI/BIBLIOGRAFIA

Tutte le slides e il codice sorgente utilizzate durante le lezioni e altro materiale didattico saranno disponibili su aul@web. In generale, gli appunti presi durante le lezioni e il materiale su aul@web sono sufficienti per la preparazione dell'esame. I libri sotto indicati sono suggeriti come testi di appoggio, ma gli studenti possono comunque utilizzare anche altri testi recenti sul Reinforcement Learning di livello universitario.

  • Miguel Morales, Grokking Deep Reinforcement Learning, Manning
  • Richard S. Sutton, Andrew G. Barto, Reinforcement Learning: an Introduction, MIT Press

Questi libri possono fornire ulteriori approfondimenti e risorse per uno studio più approfondito sull'argomento del Reinforcement Learning.

 

DOCENTI E COMMISSIONI

Commissione d'esame

RICCARDO BERTA (Presidente)

ALESSANDRO DE GLORIA

FRANCESCO BELLOTTI (Presidente Supplente)

LEZIONI

Orari delle lezioni

L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy

ESAMI

MODALITA' D'ESAME

L'esame consiste in una prova scritta sugli argomenti teorici e pratici presentati a lezione. In particolare, lo studente deve dimostrare di aver compreso appieno il funzionamento degli algoritmi alla base dello sviluppo di agenti autonomi e di saperli implementare in linguaggio Python. L'esame valuterà la comprensione degli studenti dei concetti, la loro capacità di applicare gli algoritmi e le loro competenze pratiche di implementazione.

MODALITA' DI ACCERTAMENTO

I dettagli sulle modalità di preparazione per l’esame e sul grado di approfondimento di ogni argomento verranno dati nel corso delle lezioni. L’esame scritto verificherà l’effettiva acquisizione delle conoscenze di base sugli algoritmi di Reinforcement Learning e la loro applicazione per la realizzazione di agenti autonomi. I problemi presentati e le domande aperte permetteranno di valutare la capacità di applicare le conoscenze in situazioni pratiche che possono verificarsi nella realtà.

Calendario appelli

Data appello Orario Luogo Tipologia Note
15/01/2024 09:30 GENOVA Scritto
12/02/2024 09:30 GENOVA Scritto
17/06/2024 09:30 GENOVA Scritto
22/07/2024 09:30 GENOVA Scritto
09/09/2024 09:30 GENOVA Scritto

Agenda 2030

Agenda 2030
Ridurre le disuguaglianze
Ridurre le disuguaglianze
Consumo e produzione responsabili
Consumo e produzione responsabili
Lotta contro il cambiamento climatico
Lotta contro il cambiamento climatico
Pace, giustizia e istituzioni solide
Pace, giustizia e istituzioni solide