Você está na página 1de 22

XLIX Programa de Verão (2020) - Introdução ao Aprendizado por Reforço

Introdução ao Aprendizado por Reforço

Thiago Pereira Bueno


tbueno@ime.usp.br

IME - USP, 11/02/2019


LIAMF: Grupo PAR (Planejamento e Aprendizado por Reforço)
Google's DeepMind AI Just Taught Itself To Walk

https://www.youtube.com/watch?v=gn4nRCC9TwQ
Aprendizado por Reforço em 2019

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 3


Grandes avanços em 2019 …

https://www.technologyreview.com/search/?s=Reinforcement+Learning

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 4


… mas ainda há muitos desafios pela frente!

• Deep RL necessita de uma enorme quantidade de dados

• Definir objetivos via “engenharia de recompensas” não é


nada trivial em boa parte dos casos

• Ótimos locais podem ser desafiadores ou até inevitáveis

• “Overfitting” ainda é um problema em aberto

• Aprendizado é instável e resultados difíceis de reproduzir


Deep Reinforcement
Learning Doesn't Work Yet
https://www.alexirpan.com/2018/02/14/rl-hard.html

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 5


O que esperar desse curso?

• 5 aulas (teoria + prática):


1. Introdução ao Aprendizado por Reforço (RL)
2. Policy Gradients (REINFORCE)
3. Funções Valor e técnicas de redução de variância
4. Actor-Critic (A2C) e Generalized Advantage Estimation (GAE)
5. Tópicos Avançados (TBD)

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 6


O que esperar desse curso?

• Parte prática: OpenAI Gym, TensorFlow 2.0 + Keras, NumPy, Bokeh


• API do OpenAI Gym
• Implementação de redes neurais via API de modelos do Keras
• Treinamento de modelos via diferenciação automática no TensorFlow
• Monitoramento de experimentos e visualização do desempenho de agentes

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 7


Aula 1

Agenda

1. Aprendizado por Reforço (RL) & MDPs


2. Deep RL = Deep Learning + RL
3. Aproximadores de função em RL
4. Deep RL: arcabouço algorítmico

Objetivos

• Familiarizar-se com os objetivos e formato do curso


• Ter uma ideia geral sobre possíveis aplicações de RL
• Aprender os conceitos básicos e vocabulário de RL
• Entender as diferenças entre RL e Supervised Learning (SL)

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 8


Aprendizado por Reforço: visão geral

Agente

Ciclo de interação Agente-Ambiente

Um agente …

(1) interage com o ambiente; Observação Recompensas Ação

(2) coleta experiências; e

(3) aprende com seus erros e acertos!

Ambiente

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 9


Aprendizado por Reforço: Exemplos (1/2)

CartPole-v1 Breakout-v0

• Objetivo: manter o mastro na vertical por 200 passos • Objetivo: maximizar o score do jogo
• Estado: posição e velocidade (angular) do mastro e do carro • Estado: image RGB de shape=(210, 160, 3)
• Ação: mover o carrinho para esquerda ou direita • Ação: número {0, 1, 2, 3}; mover ou não a barra
• Recompensa: +1 para cada passo que o mastro não cai • Recompensa: score do jogo (e.g., tijolos quebrados)
• Término: o mastro cai (> 12 graus) ou o carro sai da tela • Término: jogador perde todas as “vidas”
• Solução: retorno acima 195 por 100 episódios consecutivos • Solução: maximizar o score médio por 100 episódios

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 10


Aprendizado por Reforço: Exemplos (2/2)
• Policy gradient methods for robotics (Peters and Schall, 2006)

• Crowdfunding Dynamics Tracking: A Reinforcement Learning Approach (Wang, Zhang, Liu et al, 2019)

• Developing Multi-Task Recommendations with Long-Term Rewards via Policy Distilled Reinforcement Learning (Liu, Li,
Xie et al, 2019)

• An Efficient Deep Reinforcement Learning Model for Urban Traffic Control (Lin, Dai, Li et al, 2018)

• Universal quantum control through deep reinforcement learning (Niu, Boixo, Smelyanskiy et a, 2019)

• Practical Deep Reinforcement Learning Approach for Stock Trading (Xiong, Lil, Zhong et al, 2018)

• A REVIEW ON DEEP REINFORCEMENT LEARNING FOR FLUID MECHANICS (Garnier, Viquerat, Rabault et al, 2019)

• SquirRL: Automating Attack Discovery on Blockchain Incentive Mechanisms with Deep Reinforcement Learning
(Hou, Zhou, Ji et al, 2019)

• Which Channel to Ask My Question?: Personalized Customer Service Request Stream Routing using Deep
Reinforcement Learning (Liu, Long, Lu et al, 2019)

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 11


Aprendizado por Reforço e MDPs

Um Processo de Decisão Markoviano (Markov Decision Process) é definido por:

S, A, ρ, P, R

Função recompensa
conjunto de estados rt+1 = R(st , at )
st ∈ S
conjunto de ações função de transição
at ∈ A st+1 ∼ P (st+1|st, at)
distribuição inicial
s0 ∼ ρ(s0)

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 12


Aprendizado por Reforço e MDPs

Tempo discreto t = 0, 1, 2, ...

Propriedade de Markov
• “O futuro é independente do passado dado o presente”

P (st+1 | (s0, a0), (s1, a1), . . . , (st, at)) = P (st+1 | st, at)

Futuro Passado Presente

Dinâmica estacionária ∀t, t" = 0, 1, . . .


• “Hoje não é diferente de amanhã” P (st+1 = s" |st = s, at = a) = P (st! +1 = s" |st! = s, at! = a)

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 13


Aprendizado por Reforço e MDPs

Trajetória τ0:T = (s0 , a0 , r1 , s1 , a1 , r2 , s2 , . . . , sT −1 , aT −1 , rT , sT )


(episódio)

!
T −1
Retorno R(τ0:T ) = r1 + r2 + · · · + rT = rt+1
t=0

Política at ∼ π(at|st)
(estocástica)

!T −1 #
Função
"
Objetivo
J(π) = Eτ ∼π [R(τ )] = Eτ ∼π rt+1
t=0

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 14


Aprendizado por Reforço: definição de “problema”

Dado um ambiente (modelado por um MDP) S, A, ρ, P, R

!T −1 #
"
Encontrar uma política ótima π ∗ = arg max J(π) = arg max Eτ ∼π rt+1
t=0

s0 ∼ ρ(s0)
Tendo acesso
somente a
st+1 ∼ P (st+1|st, at)
amostras at ∼ π(at|st)
rt+1 = R(st , at )

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 15


Deep RL = Deep Learning + RL

https://www.asimovinstitute.org/neural-network-zoo/

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 16


Deep RL = Deep Learning + RL

Tesla Autopilot - Neural Networks


“Apply cutting-edge research to train deep neural networks on
problems ranging from perception to control. Our per-camera networks
analyze raw images to perform semantic segmentation, object
detection and monocular depth estimation. Our birds-eye-view
networks take video from all cameras to output the road layout, static
infrastructure and 3D objects directly in the top-down view. Our
networks learn from the most complicated and diverse scenarios in the
world, iteratively sourced from our fleet of nearly 1M vehicles in real
time. A full build of Autopilot neural networks involves 48
networks that take 70,000 GPU hours to train 🔥 . Together, they
output 1,000 distinct tensors (predictions) at each timestep.”

https://www.tesla.com/autopilotAI

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 17


Aproximadores de função em RL

• Pólitica: mapeamento entre estados e ações πθ(at | st)

• Função Valor: estimador dos retornos esperados Vϕ(s) ≈ 𝔼τ∼π [R(τ) | s0 = s]

• Modelo: dinâmica do ambiente e/ou recompensas Pw(s′| s, a) ≈ P(s′| s, a)

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 18


Deep RL Zoo - Taxonomia de Algoritmos de RL

https://spinningup.openai.com/en/latest/spinningup/rl_intro2.html#id20

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 19


Aprendizado por Reforço Vs. Aprendizado Supervisionado

• Não há “oráculos” :
• Sem acesso explícito às respostas certas (i.e., nenhum target ou label é fornecido)
• Feedback esparso e/ou atrasado:
• Maior parte do tempo o agente recebe pouca informação para melhorar seu desempenho
• Geração de dados:
• Não há noção clara de “datasets”
• Se a política do agente se altera, a distribuição das experiências do agente também muda

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 20


RL: Otimização de Política - Algoritmo

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 21


Referências

(1) Reinforcement Learning: An Introduction (Sutton & Barto 2018, 2nd Edition)

• Capítulo 1 (http://incompleteideas.net/book/RLbook2018.pdf)

(2) OpenAI Spinning Up

• https://spinningup.openai.com/en/latest/spinningup/rl_intro.html

(3) Challenges of Real-World Reinforcement Learning (Dulac-Arnold, Mankowitz, and Hester, 2019)

• https://arxiv.org/abs/1904.12901

(4) Reinforcement Learning Applications (Li, 2019)

• https://arxiv.org/abs/1908.06973

Curso de Verão IME 2020 - Introdução ao Aprendizado por Reforço 22

Você também pode gostar