Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

(Deep) Reinforcement Learning

120 visualizaciones

Publicado el

21 settembre 2018
Machine Learning Meetup organizzato da Alumni Mathematica in collaborazione con Sprint Lab e l'Italian Association for Machine Learning.

TITOLO DEL TALK: Reinforcement Learning

ABSTRACT: Reinforcement Learning, ovvero come creare algoritmi capaci di adattarsi ad ambienti dinamici. Il sogno della Artificial General Intelligence, o strong artificial intelligence è quello di creare algoritmi che risolvono qualsiasi tipo di problema. Algoritmi generici capaci di adattarsi al problema e all'ambiente dinamico al fine di apprendere i comportamenti e i cambiamenti dell'ambiente e vincere. Il reinforcement learning è una branca del machine learning che determina il punto di contatto tra quello che viene definito narrow learning (machine learning) ovvero la specializzazione dei problemi di apprendimento, e il mondo dell'intelligenza artificiale più generico (strong artificial intelligence) dove l'algoritmo risolve i problemi senza essere specializzato nel farlo.
Il seminario tratterà:
1 - Definizione di Reinforcement Learning
2 - Markov Decision Processes (MDPs)
3 - Algoritmi per la risoluzione degli (MDPs)
4 - OpenAI Gym
5 - Q-Learning
6 - Deep Reinforcement Learning con Deep-Q Learning
7 - Futuro del Deep Reinforcement Learning
8 - Applicazioni del Reinforcement Learning.

RELATORE: Vincenzo Dentamaro Master Student in Georgia Institute of Technology Atlanta, Laureato informatica TPS presso l' università di Bari, precedenti esperienze lavorative in Johnson Controls Inc. come Software Engineer, IBM Roma come stagista, CEO & CTO Nextome S.R.L.. Appassionato di machine learning e algebra lineare. Detentore di 2 brevetti internazionali, diverse pubblicazioni scientifiche nel campo dell'indoor positioning e del pattern recognition. Vincitore con Nextome di diversi premi a livello internazionale come Seal Of Excellence Commissione Europea, 1st prize Busan Metropolitan City (South Korea), Global Mobile Innovator Tournament Award by IBM at Mobile World Congress, MIT Technology Review.

Publicado en: Educación
  • Sé el primero en comentar

(Deep) Reinforcement Learning

  1. 1. (Deep) Reinforcement Learning VINCENZO DENTAMARO CEO & CTO NEXTOME S.R.L. GEORGIA INSTITUTE OF TECHNOLOGY
  2. 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. 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. 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. 5. Apprendimento per rinforzo bambini Vi ricordate come avete imparato a camminare? Qualcuno vi ha mostrato come si fa?
  6. 6. Trovare il percorso più rapido Spiaggia Sabbia bollente GOAL: Raggiungere la riva nel minor tempo possibile. Reward?
  7. 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. 8. Conquiste LA NOSTRA CONQUISTA (KEEP IT SIMPLE)
  9. 9. Ora possiamo incominciare
  10. 10. SCENARIO tipico Ambiente Agent ActionState Reward
  11. 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. 12. La proprietà markoviana Il passato non conta Conta solo il presente Il presente sintetizza tutte le scelte passate
  13. 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. 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. 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. 16. Value Iteration  Calcola iterativamente l’optimal state value function V(s)  Convergenza garantita in un numero finito di iterazioni
  17. 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. 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. 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. 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. 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. 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. 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!
  24. 24. Deep Q-Learning
  25. 25. Deep Q-Learning Q� (s,a) s Convolutional Neural Net
  26. 26. Deep Q-Learning Convolutional Neural Networks
  27. 27. Deep Q-Learning
  28. 28. Deep Q-Learning
  29. 29. Deep Q-Learning
  30. 30. Deep Q-Learning
  31. 31. Future of Deep Reinforcement Leanring • Robotica • Medicina • Pubblicità • Gestione Risorse • Automobili autonome….
  32. 32. Ma anche…. Equilibri di FoFOE, Nash, Correlati
  33. 33. Deep Q-Learning Esempio CartPole di OpenAI Gym
  34. 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/

×