In questa repository un corso in italiano sulle basi del Reinforcement Learning, sviluppato in Python, attraverso la piattaforma di Google Colab ( o "Colaboratory")
Tutti i contenuti sono rilasciati sotto licenza "MIT License". Vedi: https://choosealicense.com/licenses/
In caso di pubblicazioni o distribuzioni, si richiede solo che l'autore (Mario Fiorino) sia citato nelle note bibliografiche.
In questo notebook troverete un'introduzione al reinforcement learning "pratica"; cioè che si concentra sulla comprensione e sull'applicazione pratica degli algoritmi di reinforcement learning tramite un esempio molto semplice ed accessibile a tutti coloro che si avvicinano per la prima volta a tale disciplina.
File : Intro_sul_campo_RL_ita.ipynb
Nel notebook sottostante è descritto lo sviluppo di un agente che impara a giocare e vincere a Tris (Tic-Tac-Toe Game) tramite un algoritmo di Q-learning.
File : Tris_game_RL_ITA.ipynb
In questo notebook trovere un introduzione all'uso della libreria OpenAI Gym
In questo notebook vengono presentate le basi teoriche del Reinforcement Learning, che affondano nella Programmazione Dinamica e nella Teoria del controllo ottimale. Sono inoltre presenti esempi applicativi
In questa sezione sono presentati una serie di notebook che trattano i metodi Monte Carlo.
Parte 1 : Introduzione, Monte Carlo with Exploring Starts, On-policy first-visit Monte Carlo control
File : Metodi_Monte_Carlo_RL_ITA
Parte 2 : Incremental v.s Non-incremental, Importance sampling, Off-Policy Monte Carlo Control.
File : Off_policy_Monte_Carlo_ITA
Il presente notebook offre un'introduzione al Temporal Difference Learning (TD Learning), in particolare sono trattati i seguenti argomenti: TD Prediction, Batch updating, one-step SARSA:On-policy TD Control, one-step Q-learning: Off-policy TD Control, Maximization Bias e Double Q-learning, n-step (o multi step) TD methods, n-step SARSA.
In questo notebook viene presentata un'introduzione ai metodi Dyna. Tali algoritmi cercano di migliorare l'efficienza dell'apprendimento del RL integrando tecniche di pianificazione (planning).
File : Dyna ITA.ipynb
In questo notebook verrà fornita un'introduzione alle reti neurali, illustrandone la matematica di base del loro funzionamento.
Nel notebook sottostante sarrà fornita un'introduzione, nei suoi aspetti basilari, ad una delle librerie di Machine Learning più usate: TensorFlow version 2 (sviluppata da Google).
Nei notebook sottostanti verrà illustrato l'utilizzo di TensorFlow v2 per la costruzione e l'addestramento di reti neurali; successivamente la stessa rete sarà implementata con la libreria Keras.
File : Introduzione_Keras_ITA.ipynb
Nel notebook successivo un'introduzione a PyTorch.
In questo notebook vedremo l'impiego di tecniche di approssimazione di funzioni per stimare la funzione-valore degli stati. In particolare, svilupperemo l'algorimo Semi-Gradient one step SARSA, con modellizzazione lineare, nel contesto Mountain Car (gymlibrary). Inoltre, daremo una prima occhiata alla tecnica di apprendimento per imitazione (Imitation Learning): come, osservando la strategia di un esperto, possiamo migliorare i risultati dell'apprendimento.
Nel notebook successivo un'implementazione dell'algoritmo Deep Q Networks, contesto MsPacman(Atari), con Convolutional neural network(CNN).
Nel notebook successivo, viene fornito un compendio sulle tecniche di Value Function Approximation, che si conclude con i suggerimenti di Sutton riguardo alla "Deadly Triad". Inoltre, viene mostrata la risoluzione del problema Cartpole (Gym) utilizzando prima un algoritmo DQN, poi Gradient Monte Carlo target control e infine un DQN con supporto imitation mode.
Nel notebook sottostante sono presentati i metodi policy-based, in particolare i metodi policy gradient. Troverete implementato un algoritmo Monte Carlo Policy Gradient nel contesto CartPole(Gym).
File : Policy_Gradient_ITA
Nel prossimo notebook troverete un'introduzione agli algoritmi Actor-Critic, una loro implementazione per la risoluzione dell'ambiente Pendulum(Gym); e un primo accenno alla tecnica di Entropy regularization.
File : Actor_Critic_ITA