Topic outline

  • General

    Giochi combinatori e Machine Learning, 6 CFU lettera C.

    Questo corso nasce dai recenti progressi nel campo dell'intelligenza artificiale, ottenuti grazie allo sviluppo delle tecniche di apprendimento per rinforzo coadiuvate dall'utilizzo di reti neurali profonde.

    Per quanto possibile nel limite dei 6 CFU, impareremo a usare i processi decisionali di Markov per descrivere problemi di decisione, e ad affrontarli tramite tecniche di programmazione dinamica - se è disponibile un modello di distribuzione - o di vero e proprio apprendimento per rinforzo - se è disponibile soltanto esperienza vera o al più un modello di campionamento. Discuteremo se è veramente possibile per un computer "imparare da solo", sia dal punto di vista teorico - imprescindibile - sia dal punto di vista pratico - con programmazione di algoritmi classici.

    Il corso consta di 4 ore settimanali, nei seguenti orari:

    • lunedì ore 18:00-20:00, aula 32
    • martedì ore 18:00-20:00, aula informatica

    È consigliato iscriversi al gruppo Telegram del corso, per ricevere le notifiche con la massima celerità possibile.

    Ricevimento studenti: martedì dalle 11:00+\epsilon alle 13:00, ma anche dopo se mi avvertite. Se non mi trovate, mandate un messaggio sul gruppo Telegram, o chiamatemi al 349-5323-199.

    Bozza di programma, modificabile in corso d'opera.
    1. Il problema nell'apprendimento per rinforzo: interazione agente-ambiente.
    2. Il contesto nell'apprendimento per rinforzo: i processi decisionali di Markov.
    3. Predizione e controllo nella programmazione dinamica.
    4. Predizione e controllo nel caso model-free: metodi TD e MC.
    5. Il dilemma esplorazione-sfruttamento: multi-armed bandits, sia stazionario che contestuale.
    6. Ricerca alberi tramite MCTS e sue varianti moderne tipo UCT.
    7. Apprendimento per rinforzo nei giochi a informazione perfetta a due giocatori e somma zero (cenni articolo originale Littman).
    8. Predizione e controllo con approssimazione (tempo permettendo, dipende dalla risposta della classe).
    9. Metodi di apprendimento diretto della policy (tempo permettendo, dipende dalla risposta della classe).

    Realisticamente, si farà approfonditamente la parte di programmazione dinamica, bene la parte di apprendimento per rinforzo tabellare, e gli altri argomenti saranno solo accennati.

    Il testo - bellissimo - che utilizzeremo è Reinforcement Learning: An Introduction, 2nd edition, di Sutton e Barto. La lettura/studio di questo testo prima e durante il corso è assolutamente necessaria!

    Tutto il materiale relativo al corso comparirà in questa pagina.

    L'esame è da concordare con il docente. Preferibilmente un progetto, ma anche esame orale e/o scritto vanno bene. Nel caso di esame scritto, le date degli appelli sono le seguenti:

    • 29/01/2020 ore 16:00 - 18:00
    • 19/02/2020 ore 16:00 - 18:00
    • 10/06/2020 ore 16:00 - 18:00
    • 01/07/2020 ore 16:00 - 18:00
    • 15/07/2020 ore 16:00 - 18:00
    • 02/09/2020 ore 16:00 - 18:00