SlideShare a Scribd company logo
(Deep) Reinforcement
Learning
VINCENZO DENTAMARO
CEO & CTO NEXTOME S.R.L.
GEORGIA INSTITUTE OF TECHNOLOGY
Apprendimento supervisionato
x: vettore delle features
a: labels (classi)
decision
rule
x a
learner
training set
x1 ⤇ a1
x2 ⤇ a2
x3 ⤇ a3
…
Goal: Costruire una regola di
classificazione
Istruttivo -> come raggiungere il
goal
Apprendimento non supervisionato
x
x: vettore delle featres
a: labels (classi) non presente
decision
rule
learner
esempi
x1 x2
x3
…
Il goal è costruire una regola
che clusterizzi, aggreghi,
esempi simili nello stesso
cluster e esempi differenti in
altri.
Apprendimento per rinforzo
x
x: vettore delle featres
a: labels (classi)
v: valore di feedback per quella
scelta
Il goal è costruire una regola
che massimizzi il valore atteso.
Valutativo -> quanto «bene»
abbiamo raggiunto il goal.
Nel RL descriviamo un
problema non la soluzione.
decision
rule
learner
Esempi
x1, a1 ⤇ v1
x2, a2 ⤇ v2
x3, a3 ⤇ v3
…
Apprendimento per
rinforzo bambini
Vi ricordate come avete imparato a camminare?
Qualcuno vi ha mostrato come si fa?
Trovare il percorso più rapido
Spiaggia
Sabbia bollente
GOAL:
Raggiungere la riva
nel minor tempo
possibile.
Reward?
IPOTESI alla base del
reinforcement learning
I comportamenti intelligenti nascono
dalle azioni del singolo individuo nella
ricerca di massimizzare i segnali di
feedback ricevuti in un ambiente
dinamico e complesso.
Ora siamo pronti ad incominciare… ma dove
vogliamo arrivare?
Conquiste
LA NOSTRA CONQUISTA (KEEP IT SIMPLE)
Ora possiamo incominciare
SCENARIO tipico
Ambiente
Agent
ActionState
Reward
Markov Decision Process (MDP)
Definizione:
S: Insieme di stati
A: Insieme di azioni
Pr(st|st-1,at): probabilità di transitare nello
stato st trovandoci nello stato st-1 e effettuando
azione at
rt : Funzione di Reward
 Discount factor μ ∈ [0,1]
○ Controlla l’importanza di rewards futuri , o =
reward immediati, 1 = tutti i reward egualmente
 Ambienti deterministici vs ambienti
stocastici
Meglio 100 euro adesso o 1000 euro in 1000 anni?
La proprietà markoviana
Il passato non conta
Conta solo il presente
Il presente sintetizza tutte le scelte passate
Policy
 Agente – Sceglie quale azione effettuare
 Policy – Funzione dello stato corrente
 Azione – Il sistema ritorna la migliore azione
da effettuare
Image courtesy: OpenAI Blog on Evolution
Strategies
Famiglie di algoritmi per
mdp
 Model based
1. L’agente conosce il modello
dell’MDP
2. Viene usato dall’agente in
modalità offline, per pianificare
in offline, quale azione
intraprendere a partire da ogni
stato
3. Eg: Value-iteration & policy-
iteration
 Model Free
1. Nessun modello di riferimento
2. L’agente, interagendo con
l’ambiente, migliora una
funzione, chiamata funzione di
qualità, che è il «cervello»
dell’agente e contiene una
rappresentazione imperfetta
dello spazio «state-action» in
ogni momento.
3. Eg: Q-Learning
L’equazione di Richard Bellman
U(s) è la funzione di utilità nello stato s, cioè il valore atteso per tutti i rewards a
partire dallo stato s utilizzando una policy.
R(s) è il reward immediato
è invece il reward dal futuro, l’utilita scontata dello stato s’ raggiunto a
partire dallo stato s mediante azione a
Gamma serve a dare più o meno importanza alla sommatoria dei valori di reward
futuri stimati.
Value Iteration
 Calcola iterativamente l’optimal state value function V(s)
 Convergenza garantita in un numero finito di iterazioni
Policy Iteration
 Ridefinisce la policy ad ogni step (iterativo anch’esso)
 Un metodo per la codifica dell’algoritmo di Policy Iteration prevede
l’utilizzo di Value Iteration per il calcolo della value function.
 Convergenza garantita in un numero di passi << di value iteration
 Costo di ogni passo?
Value vs Policy Iteration
 Usato per planning offline
 Conoscenza a priori di MDP
 In teoria, Policy Iteration è computazionalmente migliore di Value
Iteraiton
○ Minor numero di iterazioni
○ Ogni iterazione è molto costosa
○ siccome la maggiorparte delle implementazioni disponibili usano
value iteration per ogni step di policy iteration, il tempo di
esecuzione di policy iteration è > di value iteration.
Q Learning
 Model free
● Qualità dell’azione che si è deciso di intraprendere trovandosi in un determinato stato
● Bellman equation →
Q'[s, a] = (1 - α) · Q[s, a] + α · (r + γ · Q[s', argmax_a'(Q[s', a'])])
α = learning rate per variare il peso delle nuove esperienze rispetto i valori passati
r = è il reward immediato per aver intrapreso l’azione a trovandosi nello stato s
γ = è il fattore di sconto (discount factor) usato per scontare progressivamente i valori futuri.
s’ = è lo stato in cui finiamo
argmax_a’(Q[s’,a’]) = è l’azione risultante, che massimizza la Q-Value rispetto a tutte le possibili
azioni a’ nello stato s’.
Exploration / Exploitation
Exploitation:
Continua a prendere decisioni basandosi
sulla conoscenza attuale al fine di
massimizzare il guadagno a breve termine.
Exploration: Esplora lo spazio
degli stati. Aumenta la conoscenza
per un guadagno a lungo termine
di solito a spese di un guadagno a
breve termine.
alpha = 0.5
gamma = 0.9
episodes = 10000
epsilon = 0.5
epsilon_decay = 0.99
best_q = None
previous_reward = -10000
# Episodes
for episode in range(episodes):
# Refresh state
state = env.reset()
done = False
t_reward = 0
# Run episode
for i in range(episodes):
if done:
break
current = state
rnd = np.random.uniform(0,1)
action = np.argmax(Q[current])
#choose a greedy action with 1-epsilon
if epsilon >= rnd:
#random action
action = np.random.randint(0, env.action_space.n)
epsilon = epsilon * epsilon_decay
else:
state_action = Q[current]
action = np.argmax(state_action)
if exploration == 'greedy':
if np.random.uniform() < epsilon:
action = np.random.random_integers(0, env.action_space.n - 1)
action = np.argmax(Q[current, :] + np.random.randn(1, env.action_space.n) * (1 / float(episode + 1)))
state, reward, done, info = env.step(action)
t_reward += reward
Q[current, action] += alpha * (reward + gamma * np.max(Q[state, :]) - Q[current, action])
rewards.append(t_reward)
if(t_reward > previous_reward):
previous_reward = t_reward
iterations.append(i)
Q-LEARNING
 R. Sutton dice che Q learning converge se ogni stato è visitato indefinitamente
spesso.
env = gym.make("Taxi-v2")
# Q-function
Q = defaultdict(lambda : 0.) # Q-function
n = defaultdict(lambda : 1.) # number of visits
actionspace = range(env.action_space.n)
greedy_action = lambda s : max(actionspace, key=lambda a : Q[(s,a)])
max_q = lambda sp : max([Q[(sp,a)] for a in actionspace])
import random
epsilon = 0.1
gamma = 0.9
max_episodes = 30000
max_steps = 1000
# Simulation
episodescores = []
for _ in range(max_episodes):
nextstate = env.reset()
currentscore = 0.
for _ in range(max_steps):
state = nextstate
# Epsilon-Greedy
if epsilon > random.random() :
action = env.action_space.sample()
else :
action = greedy_action(state)
nextstate, reward, done, info = env.step(action)
currentscore += reward
# Q-learning
if done :
Q[(state,action)] = Q[(state,action)] + 1./n[(state,action)] * ( reward - Q[(state,action)] )
break
else :
Q[(state,action)] = Q[(state,action)] + 1./n[(state,action)] * 
( reward + gamma * max_q(nextstate) - Q[(state,action)] )
Q-LEARNING
LA VERSIONE TABULARE VA BENE SEMPRE?
Quanto è grande lo state-space di pacman ?
s
Quanti pellet può mangiare Ms.Pac-Man ? circa 250
Lo state-space è grande 2250
più del numero di atomi
presenti nell’universo osservabile.
Come si fa? Usiamo l’approssimazione!
Deep Q-Learning
Deep Q-Learning
Q� (s,a)
s
Convolutional Neural Net
Deep Q-Learning
Convolutional Neural Networks
Deep Q-Learning
Deep Q-Learning
Deep Q-Learning
Deep Q-Learning
Future of Deep Reinforcement Leanring
• Robotica
• Medicina
• Pubblicità
• Gestione Risorse
• Automobili
autonome….
Ma anche….
Equilibri di FoFOE, Nash, Correlati
Deep Q-Learning
Esempio CartPole di OpenAI Gym
Bibliografia
[1] SUTTON, Richard S., et al. Reinforcement learning: An introduction. MIT press,
1998. Anche versione 2 Draft https://goo.gl/3Hz88y
[2] N. Nikovski, Daniel, 1999/02/20, Fast Reinforcement Learning in Continuous
Action Spaces
[3]Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Alex Graves, Ioannis
Antonoglou, Daan Wierstra, and Martin A. Riedmiller. Playing atari with deep
reinforcement learning. CoRR, abs/1312.5602, 2013.
[4] VAN HASSELT, Hado; GUEZ, Arthur; SILVER, David. Deep Reinforcement
Learning with Double Q-Learning. In: AAAI. 2016. p. 2094-2100.
[5]Matiisen Tambet, Demystifying Deep Reinforcement Learning, December 22
2015, Intel AI.
CONTATTI
Vincenzo Dentamaro
Email vincenzodentamaro@gmail.com o
v.dentamaro@nextome.net oppure
vincenzo@gatech.edu
Linkedin
https://www.linkedin.com/in/vincenzodentamaro/

More Related Content

PPTX
Reti Neurali
PPTX
Rl meetup 29102018_andrea_mercuri
PPT
Machine Learning
PDF
Lesson 7 - Machine Learning.pdf
PPTX
JugMarche: Machine learning: usi pratici di supervised learning
PDF
Corso Introduttivo alle Reti Neurali
PDF
Umano vs Computer: La sfida
PDF
Machine Learning Workshop - EPS YM CT - parte 1 (8 Maggio 2021) Edit Details
Reti Neurali
Rl meetup 29102018_andrea_mercuri
Machine Learning
Lesson 7 - Machine Learning.pdf
JugMarche: Machine learning: usi pratici di supervised learning
Corso Introduttivo alle Reti Neurali
Umano vs Computer: La sfida
Machine Learning Workshop - EPS YM CT - parte 1 (8 Maggio 2021) Edit Details

Similar to (Deep) Reinforcement Learning (13)

PDF
RETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANE
PDF
Apprendimento di movimenti della testa tramite Hidden Markov Model
PPTX
Machine learning: a cosa servono
PDF
Machine learning - Schede
PDF
AIXMOOC 2.2 - Reti neurali e machine learning (Valerio Freschi)
PDF
Machine Learning: potenzialità e e applicazioni pratiche
PDF
Workshop introduttivo al Machine Learning in Python
PDF
Agenti intelligenti
PDF
Identificare feature significative per l’analisi nell’informatica forense uti...
PDF
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
PPTX
Extended Summary of "EVO-RL: Evolutionary-Driven Reinforcement Learning"
PDF
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
PDF
Machine Learning con Python: l'introduzione
RETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANE
Apprendimento di movimenti della testa tramite Hidden Markov Model
Machine learning: a cosa servono
Machine learning - Schede
AIXMOOC 2.2 - Reti neurali e machine learning (Valerio Freschi)
Machine Learning: potenzialità e e applicazioni pratiche
Workshop introduttivo al Machine Learning in Python
Agenti intelligenti
Identificare feature significative per l’analisi nell’informatica forense uti...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Extended Summary of "EVO-RL: Evolutionary-Driven Reinforcement Learning"
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
Machine Learning con Python: l'introduzione
Ad

More from Alumni Mathematica (20)

PPTX
Blockchain e Criptovalute
PDF
Intelligenza artificiale a supporto dell'agro alimentare
PDF
Reti Neurali Convoluzionali nella Computer Vision
PPTX
Theseus - presentazione | Partecipazione FORUMPA
PDF
Big: alla scoperta dei Big Data
PDF
Era Spaziale: Tra successi e fallimenti alla scoperta dello spazio profondo
PPTX
Bitcoin - Cos'è e come si usa la moneta virtuale
PDF
Insert Coin: storie e aneddoti sui videogames
PDF
Il fantastico mondo della teoria dei giochi
PDF
Viaggio alla Scoperta della Meccanica Quantistica | Prof. Pascazio | Festival...
PDF
La scienza del mangiare: il Cenone del Natale Barese
PDF
SSC - Aspetti matematici del Banking Risk Management
PDF
I-Cities 2016 | My Best District
PDF
Assemblea dei Soci 2016 - Presentazione attività
PDF
Dimostro i mostri | Talk B-Geek
PDF
La macchina più geek dell'universo: The Turing Machine | Laboratorio B-Geek
PDF
Teoria dei giochi ed arte della negoziazione | Laboratorio B-Geek
PDF
Crittografia | Talk B-Geek
PDF
Assemblea dei Soci 2015 - Presentazione attività
PDF
"SSC" - Mechatronics and new frontiers
Blockchain e Criptovalute
Intelligenza artificiale a supporto dell'agro alimentare
Reti Neurali Convoluzionali nella Computer Vision
Theseus - presentazione | Partecipazione FORUMPA
Big: alla scoperta dei Big Data
Era Spaziale: Tra successi e fallimenti alla scoperta dello spazio profondo
Bitcoin - Cos'è e come si usa la moneta virtuale
Insert Coin: storie e aneddoti sui videogames
Il fantastico mondo della teoria dei giochi
Viaggio alla Scoperta della Meccanica Quantistica | Prof. Pascazio | Festival...
La scienza del mangiare: il Cenone del Natale Barese
SSC - Aspetti matematici del Banking Risk Management
I-Cities 2016 | My Best District
Assemblea dei Soci 2016 - Presentazione attività
Dimostro i mostri | Talk B-Geek
La macchina più geek dell'universo: The Turing Machine | Laboratorio B-Geek
Teoria dei giochi ed arte della negoziazione | Laboratorio B-Geek
Crittografia | Talk B-Geek
Assemblea dei Soci 2015 - Presentazione attività
"SSC" - Mechatronics and new frontiers
Ad

(Deep) Reinforcement Learning

  • 1. (Deep) Reinforcement Learning VINCENZO DENTAMARO CEO & CTO NEXTOME S.R.L. GEORGIA INSTITUTE OF TECHNOLOGY
  • 2. Apprendimento supervisionato x: vettore delle features a: labels (classi) decision rule x a learner training set x1 ⤇ a1 x2 ⤇ a2 x3 ⤇ a3 … Goal: Costruire una regola di classificazione Istruttivo -> come raggiungere il goal
  • 3. Apprendimento non supervisionato x x: vettore delle featres a: labels (classi) non presente decision rule learner esempi x1 x2 x3 … Il goal è costruire una regola che clusterizzi, aggreghi, esempi simili nello stesso cluster e esempi differenti in altri.
  • 4. Apprendimento per rinforzo x x: vettore delle featres a: labels (classi) v: valore di feedback per quella scelta Il goal è costruire una regola che massimizzi il valore atteso. Valutativo -> quanto «bene» abbiamo raggiunto il goal. Nel RL descriviamo un problema non la soluzione. decision rule learner Esempi x1, a1 ⤇ v1 x2, a2 ⤇ v2 x3, a3 ⤇ v3 …
  • 5. Apprendimento per rinforzo bambini Vi ricordate come avete imparato a camminare? Qualcuno vi ha mostrato come si fa?
  • 6. Trovare il percorso più rapido Spiaggia Sabbia bollente GOAL: Raggiungere la riva nel minor tempo possibile. Reward?
  • 7. IPOTESI alla base del reinforcement learning I comportamenti intelligenti nascono dalle azioni del singolo individuo nella ricerca di massimizzare i segnali di feedback ricevuti in un ambiente dinamico e complesso. Ora siamo pronti ad incominciare… ma dove vogliamo arrivare?
  • 8. Conquiste LA NOSTRA CONQUISTA (KEEP IT SIMPLE)
  • 11. Markov Decision Process (MDP) Definizione: S: Insieme di stati A: Insieme di azioni Pr(st|st-1,at): probabilità di transitare nello stato st trovandoci nello stato st-1 e effettuando azione at rt : Funzione di Reward  Discount factor μ ∈ [0,1] ○ Controlla l’importanza di rewards futuri , o = reward immediati, 1 = tutti i reward egualmente  Ambienti deterministici vs ambienti stocastici Meglio 100 euro adesso o 1000 euro in 1000 anni?
  • 12. La proprietà markoviana Il passato non conta Conta solo il presente Il presente sintetizza tutte le scelte passate
  • 13. Policy  Agente – Sceglie quale azione effettuare  Policy – Funzione dello stato corrente  Azione – Il sistema ritorna la migliore azione da effettuare Image courtesy: OpenAI Blog on Evolution Strategies
  • 14. Famiglie di algoritmi per mdp  Model based 1. L’agente conosce il modello dell’MDP 2. Viene usato dall’agente in modalità offline, per pianificare in offline, quale azione intraprendere a partire da ogni stato 3. Eg: Value-iteration & policy- iteration  Model Free 1. Nessun modello di riferimento 2. L’agente, interagendo con l’ambiente, migliora una funzione, chiamata funzione di qualità, che è il «cervello» dell’agente e contiene una rappresentazione imperfetta dello spazio «state-action» in ogni momento. 3. Eg: Q-Learning
  • 15. L’equazione di Richard Bellman U(s) è la funzione di utilità nello stato s, cioè il valore atteso per tutti i rewards a partire dallo stato s utilizzando una policy. R(s) è il reward immediato è invece il reward dal futuro, l’utilita scontata dello stato s’ raggiunto a partire dallo stato s mediante azione a Gamma serve a dare più o meno importanza alla sommatoria dei valori di reward futuri stimati.
  • 16. Value Iteration  Calcola iterativamente l’optimal state value function V(s)  Convergenza garantita in un numero finito di iterazioni
  • 17. Policy Iteration  Ridefinisce la policy ad ogni step (iterativo anch’esso)  Un metodo per la codifica dell’algoritmo di Policy Iteration prevede l’utilizzo di Value Iteration per il calcolo della value function.  Convergenza garantita in un numero di passi << di value iteration  Costo di ogni passo?
  • 18. Value vs Policy Iteration  Usato per planning offline  Conoscenza a priori di MDP  In teoria, Policy Iteration è computazionalmente migliore di Value Iteraiton ○ Minor numero di iterazioni ○ Ogni iterazione è molto costosa ○ siccome la maggiorparte delle implementazioni disponibili usano value iteration per ogni step di policy iteration, il tempo di esecuzione di policy iteration è > di value iteration.
  • 19. Q Learning  Model free ● Qualità dell’azione che si è deciso di intraprendere trovandosi in un determinato stato ● Bellman equation → Q'[s, a] = (1 - α) · Q[s, a] + α · (r + γ · Q[s', argmax_a'(Q[s', a'])]) α = learning rate per variare il peso delle nuove esperienze rispetto i valori passati r = è il reward immediato per aver intrapreso l’azione a trovandosi nello stato s γ = è il fattore di sconto (discount factor) usato per scontare progressivamente i valori futuri. s’ = è lo stato in cui finiamo argmax_a’(Q[s’,a’]) = è l’azione risultante, che massimizza la Q-Value rispetto a tutte le possibili azioni a’ nello stato s’.
  • 20. Exploration / Exploitation Exploitation: Continua a prendere decisioni basandosi sulla conoscenza attuale al fine di massimizzare il guadagno a breve termine. Exploration: Esplora lo spazio degli stati. Aumenta la conoscenza per un guadagno a lungo termine di solito a spese di un guadagno a breve termine.
  • 21. alpha = 0.5 gamma = 0.9 episodes = 10000 epsilon = 0.5 epsilon_decay = 0.99 best_q = None previous_reward = -10000 # Episodes for episode in range(episodes): # Refresh state state = env.reset() done = False t_reward = 0 # Run episode for i in range(episodes): if done: break current = state rnd = np.random.uniform(0,1) action = np.argmax(Q[current]) #choose a greedy action with 1-epsilon if epsilon >= rnd: #random action action = np.random.randint(0, env.action_space.n) epsilon = epsilon * epsilon_decay else: state_action = Q[current] action = np.argmax(state_action) if exploration == 'greedy': if np.random.uniform() < epsilon: action = np.random.random_integers(0, env.action_space.n - 1) action = np.argmax(Q[current, :] + np.random.randn(1, env.action_space.n) * (1 / float(episode + 1))) state, reward, done, info = env.step(action) t_reward += reward Q[current, action] += alpha * (reward + gamma * np.max(Q[state, :]) - Q[current, action]) rewards.append(t_reward) if(t_reward > previous_reward): previous_reward = t_reward iterations.append(i) Q-LEARNING  R. Sutton dice che Q learning converge se ogni stato è visitato indefinitamente spesso.
  • 22. env = gym.make("Taxi-v2") # Q-function Q = defaultdict(lambda : 0.) # Q-function n = defaultdict(lambda : 1.) # number of visits actionspace = range(env.action_space.n) greedy_action = lambda s : max(actionspace, key=lambda a : Q[(s,a)]) max_q = lambda sp : max([Q[(sp,a)] for a in actionspace]) import random epsilon = 0.1 gamma = 0.9 max_episodes = 30000 max_steps = 1000 # Simulation episodescores = [] for _ in range(max_episodes): nextstate = env.reset() currentscore = 0. for _ in range(max_steps): state = nextstate # Epsilon-Greedy if epsilon > random.random() : action = env.action_space.sample() else : action = greedy_action(state) nextstate, reward, done, info = env.step(action) currentscore += reward # Q-learning if done : Q[(state,action)] = Q[(state,action)] + 1./n[(state,action)] * ( reward - Q[(state,action)] ) break else : Q[(state,action)] = Q[(state,action)] + 1./n[(state,action)] * ( reward + gamma * max_q(nextstate) - Q[(state,action)] ) Q-LEARNING LA VERSIONE TABULARE VA BENE SEMPRE?
  • 23. Quanto è grande lo state-space di pacman ? s Quanti pellet può mangiare Ms.Pac-Man ? circa 250 Lo state-space è grande 2250 più del numero di atomi presenti nell’universo osservabile. Come si fa? Usiamo l’approssimazione!
  • 31. Future of Deep Reinforcement Leanring • Robotica • Medicina • Pubblicità • Gestione Risorse • Automobili autonome….
  • 32. Ma anche…. Equilibri di FoFOE, Nash, Correlati
  • 34. Bibliografia [1] SUTTON, Richard S., et al. Reinforcement learning: An introduction. MIT press, 1998. Anche versione 2 Draft https://goo.gl/3Hz88y [2] N. Nikovski, Daniel, 1999/02/20, Fast Reinforcement Learning in Continuous Action Spaces [3]Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Alex Graves, Ioannis Antonoglou, Daan Wierstra, and Martin A. Riedmiller. Playing atari with deep reinforcement learning. CoRR, abs/1312.5602, 2013. [4] VAN HASSELT, Hado; GUEZ, Arthur; SILVER, David. Deep Reinforcement Learning with Double Q-Learning. In: AAAI. 2016. p. 2094-2100. [5]Matiisen Tambet, Demystifying Deep Reinforcement Learning, December 22 2015, Intel AI. CONTATTI Vincenzo Dentamaro Email vincenzodentamaro@gmail.com o v.dentamaro@nextome.net oppure vincenzo@gatech.edu Linkedin https://www.linkedin.com/in/vincenzodentamaro/