Skip to content

In questa repository una collezione di tutorial sulle basi del Reinforcement Learning, sviluppati in Python, interamente in italiano.

Notifications You must be signed in to change notification settings

FedeGap/Tutorial-Reinforcement-Learning-ITA-Python

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reinforcement-Learning-ITA-Python

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.

Contenuti:

Introduzione "sul campo" al Reinforcement Learning

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

Introduzione a OpenAI Gym

In questo notebook trovere un introduzione all'uso della libreria OpenAI Gym

File : Introduzione_OpenAI_Gym_ITA.ipynb

Reinforcement Learning - Fondamenti teorici

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

File : Programmazione_Dinamica_ITA.ipynb

Metodi Monte Carlo

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

Temporal Difference Learning (TD Learning)

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.

File : Temporal difference ITA.ipynb

Dyna

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

Introduzione al Deep Learning

In questo notebook verrà fornita un'introduzione alle reti neurali, illustrandone la matematica di base del loro funzionamento.

File : Introduzione_al_Deep_Learning.ipynb

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).

File : Introduzione_TensorFlow_v2_parte1_ITA.ipynb

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_TensorFlow_v2_parte2_ITA.ipynb

File : Introduzione_Keras_ITA.ipynb

Nel notebook successivo un'introduzione a PyTorch.

File : Introduzione_PyTorch_ITA.ipynb

Value Function Approximation

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.

File : Value_Function_Approximation_parte1_RL_ITA

Nel notebook successivo un'implementazione dell'algoritmo Deep Q Networks, contesto MsPacman(Atari), con Convolutional neural network(CNN).

File : Value_Function_Approximation_parte2_RL_ITA

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.

File : Value_Function_Approximation_Compendio

Policy Gradient

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

About

In questa repository una collezione di tutorial sulle basi del Reinforcement Learning, sviluppati in Python, interamente in italiano.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 100.0%