Você está na página 1de 47

Aprendizagem por Reforço

Motivação
! Como um agente aprende a escolher ações apenas
interagindo com o ambiente?
n  Muitas vezes, é impraticável o uso de aprendizagem
supervisionada
w  Como obter exemplos do comportamento correto e
representativo para qualquer situação?
w  E se o agente for atuar em um ambiente desconhecido?
n  Exemplos:
w  Criança adquirindo coordenação motora
w  Robô interagindo com um ambiente para atingir objetivo(s)

2
Exemplo de aprendizado por reforço
Setas
Start S2 indicam a
“força” entre
dois estados

S4 S3

S8 S7

S5 Goal
A primeira ação
Start S2 leva para S2 …

Próximo estado
é escolhido
S4 S3 aleatóriamente
de um dos
possíveis
estados,
S8 S7 ponderado pela
força da
associação

S5 Goal Associação =
largura da linha
Supunha que a
Start S2 escolha leve a
S3 …

S4 S3

S8 S7

S5 Goal
Em S3, as
Start S2 possíveis
escolhas são S2,
S4, or S7.

S4 S3 S7 é escolhido
(aleatóriamente)

S8 S7

S5 Goal
Por sorteio, S3 é
Start S2 o próximo
escolhido…

S4 S3

S8 S7

S5 Goal
A próxima é S4
Start S2

S4 S3

S8 S7

S5 Goal
E então S5 é
Start S2 escolhido
aleatóriamente

S4 S3

S8 S7

S5 Goal
E finalmente
Start S2 atingimos a
meta …

S4 S3

S8 S7

S5 Goal
Quando a meta
Start S2 é atingida,
reforce a
conexão entre
ele e o estado
S4 S3 que levou a ele

Na próxima vez
que S5 for
S8 S7 alcançado,
parte da força
de associação
será passada
S5 Goal para S4...
Comece o
Start S2 percurso
novamente…

S4 S3

S8 S7

S5 Goal
Suponha que
Start S2 após alguns
movimentos,
cheguemos
novamente em
S4 S3 S5

S8 S7

S5 Goal
S5 tem grande
chance de atingir
Start S2 a meta pela rota
com mais força

Em aprendizado
S4 S3 por reforço, a
“força” é
passada de volta
para o estado
S8 S7 anterior

Esse processo
leva a criar um
S5 Goal caminho entre o
início e a meta
Essa é a
Start S2 situação após
vários
reinicios…

S4 S3

S8 S7

S5 Goal
O que é aprendizagem por
reforço (tradicional)?
! Problema de aprendizagem (não é uma
técnica)
n  Um agente, em um ambiente
n  A cada instante de tempo t:
w  o agente está em um estado s
w  executa uma ação a
w  vai para um estado s
w  recebe uma recompensa r
n  Problema da aprendizagem por reforço:
w  Como escolher uma política de ações que maximize o
total de recompensas recebidas pelo agente

16
O problema da aprendizagem
por reforço
Agente autômato otimizador adaptativo

Estado Interno (modelo do mundo)

Percepções Reforço (+/-) Ação

Ambiente

17
Algumas aplicações
! [Tesauro, 1995] Modelagem do jogo de
gamão como um problema de aprendizagem
por reforço:
n  Vitória: +100
n  Derrota: – 100
n  Zero para os demais estados do jogo (delayed
reward)
n  Após 1 milhão de partidas contra ele mesmo, joga
tão bem quanto o melhor jogador humano

18
Algumas aplicações
! Time Brainstormers da Robocup (entre os 3
melhores nos 3 últimos anos)
n  Objetivo: Time cujo conhecimento é obtido 100%
por técnicas de aprendizagem por reforço
n  RL em situações específicas
w  2 atacantes contra 2 defensores
w  habilidades básicas

! Inúmeras aplicações em problemas de


otimização, de controle, jogos e outros...

19
Patrulha multi-agente
! Dado um mapa, um grupo
de agentes deve visitar
continuamente locais
específicos deste mapa de
maneira a minimizar o
tempo que os nós ficam sem
serem visitados Performance comparisson 5 agents

! Recompensa: ociosidade dos 100

nós visitados
90
80

Average idleness
70
60

! Coordenação emergente 50
40

(mesmo sem comunicação 30


20
10

explícita) 0
Conscientious Heuristic Conscientious LearnerAgent
cognitive agent Coordinator reactive agent

20
Conceitos Básicos
! Processo de decisão de Markov (MDP)
n  Conjunto de estados S
n  Conjunto de ações A
n  Uma função de recompensa r(s,a)
n  Uma função de transição de estados (pode ser
estocástica) δ(s,a)
! Política de ações π(s) :
w  π: S → A

21
Estados e Ações
! Estado: conjunto de características indicando
como está o ambiente
n  Formado pelas percepções do agente + modelo do
mundo
n  Deve prover informação para o agente de quais ações
podem ser executadas
! A representação deste estado deve ser
suficiente para que o agente tome suas
decisões (satisfaz a propriedade de Markov)
n  A decisão de que ação tomar não pode depender da
seqüência de estados anteriores
n  Ex: Um tabuleiro de dama satisfaz esta propriedade,
mas de xadrez não
n  O ambiente não precisa ser episódico
22
A função de recompensa
! Feedback do ambiente sobre o
comportamento do agente
! Indicada por r:(S × A) → R
n  r(s,a) indica a recompensa recebida
quando se está no estado s e se executa a
ação a
n  Pode ser determinística ou estocástica

23
Função de transição de estados
! δ: (S × A) → S
! δ(s,a) indica em qual estado o agente está,
dado que:
n  Estava no estado s
n  executou a ação a
! Ambientes não-determinísticos:
n  escrita como δ(s,a,s )
n  indica a probabilidade de ir para um estado s
dado que estava em s e executou a

24
Exemplos de MDPs
Problema Estados Ações Recompensas

Agente jogador Configurações do Mover uma #capturas –


de damas tabuleiro determinada #perdas
peça

Agente em jogo Posições/energia Mover-se em (Sangue tirado –


de luta dos lutadores, uma sangue perdido)
tempo, se está determinada
sendo atacado direção, lançar
ou não, etc... magia, dar
porrada, etc...
Agente Posição no mapa Ir para algum Ociosidade
patrulhador (atual e lugar vizinho do (tempo sem
passadas), mapa visitas) do lugar
ociosidade da visitado
vizinhança, etc... atualmente

25
Política de ações (π)
! Função que modela o comportamento do
agente
n  Mapeia estados em ações
! Pode ser vista como um conjunto de regras
do tipo sn → am
n  Exemplo:
w  Se estado s = (inimigo próximo, estou perdendo e
tempo acabando) então
ação a = (usar magia);
Se estado s =(outro estado) então
...

26
Função valor dos estados Vπ(s)
(S → R)
! Como saber se um determinado estado é
bom ou ruim?
n  A função valor expressa esta noção, em termos
das recompensas e da política de ações
n  Representa a recompensa a receber em um
estado s, mais as recompensas futuras se seguir
uma política de ações π
w  ex. tornar-se diretor, vale pelo que o cargo permite e
permitirá nas próximas promoções (não interessa de
onde veio - chefe de seção)
n  Vπ(s0) = r0 + r1 + r2 + r3 + ...
w  Problema: se o tempo for infinito, a função valor do
estado tende a infinito 27
Função Valor dos estados
n  Para garantir convergência e diferenciar
recompensas distantes do estado atual, usa-se um
fator de desconto
0≤γ≤1
n  Vπ(st) = rt + γ rt+1 + γ2 rt+2 + γ3 rt+3 ...
n  Vπ(st) = rt + γVπ(s ), onde:
w  rt = r(st, π(st))
w  s = δ(st, π(st))
n  Ex. Se γ = 90%, então:
w  Vπ(st) = rt + 0.9 rt+1 + 0.81 rt+2 + 0.729 rt+3 ...

28
Função valor das ações
Qπ(s,a) : (S × A) → R

! Analogamente, ela diz a soma das


recompensas a obter dado que:
n  o agente está no estado s
n  executou uma ação a

n  a partir daí, seguiu uma política de ações π

! Qπ(s,a) = r(s,a) + γVπ(s ), onde:


n  s = δ(s,a)
w  o valor da ação é a recompensa da ação mais o
valor do estado para onde o agente vai devido
à ação 29
Aprendizagem por reforço
! Tarefa de aprendizagem por reforço:
n  Aprender uma política de ações π* ótima,
que maximiza a função Vπ (V*) ou a
função Qπ (Q*)
w  π* = argmaxπ[Vπ(s)]
! Em outras palavras, de que maneira o
agente deve agir para maximizar as
suas recompensas futuras

30
Exemplo: Labirinto (c/γ=0.9)
Função recompensa Função V*

Função Q* Uma política de ações ótima

31
Aprendendo uma política ótima
! Se o ambiente é determinístico (δ(s,a) = s é
conhecida) e r(s,a) é conhecida, a programação
dinâmica computa uma política ótima :
n  V*(s) =maxa[ r(s,a) + γV*( δ(s,a) ) ]
n  π*(s) = argmaxa[r(s,a) + γV*( δ(s,a) )]
n  Tempo polinomial
n  Problema: se não temos conhecimento prévio das
recompensas e transição de estados
! Se o ambiente é não-determinístico mas a função de
probabilidade de transição de estados for conhecida,
também é possível computar π*
n  problema: É difícil estimar estas probabilidades

32
Q Learning
! É possível determinar π* se eu conheço Q*
n  não precisando conhecer δ (função de transição
de estados) nem r
n  π*(s) = argmaxa[Q(s,a)]
w  não é função de δ nem de r

! Então, vamos aprender a função Q ótima


(valor das ações) sem considerar V
n  Q(st,at) = r(st,at) + γ V*( δ(st,at) )
= r(st,at) + γ maxa [Q(st+1,a )]
w  o valor do próximo estado é o melhor Q nele
w  Como atualizar Q ?
33
Q-Learning
! Atualiza-se Q(st) após observar o estado st+1 e
recompensa recebida

! Q(s1,aright) = r + γmaxa Q(s2,a )


= 0 + 0.9 max{63,81,100}
= 90
34
Algoritmo Q-Learning para
mundos determinísticos
! Para todo estado s e ação a, inicialize a
tabela Q[s][a] = 0; Usufruir valores
conhecidos ou
! Para sempre, faça: explorar valores
n  Observe o estado atual s; não
computados?
n  Escolha uma ação a e execute;
n  Observe o próximo estado s e recompensa r
n  Atualize a tabela Q:
w  Q[s][a] = r + γ maxa (Q[s ][a ])

35
Dilema de explorar ou usufruir
(exploration x exploitation)
! Usufruir
n  Escolher a ação que atualmente está com maior
valor Q(s,a)
! Explorar
n  Escolher uma ação randômica, para que seu valor
Q(s,a) seja atualizado
! Dilema
n  Dado que eu aprendi que Q(s,a) vale 100, vale a
pena tentar executar a ação a se Q(s,a ) por
enquanto vale 20 ?
w  Depende do ambiente, da quantidade de ações já
tomadas e da quantidade de ações restantes
36
Métodos para balancear
exploration e exploitation
! E-Greedy
n  A cada iteração, escolhe
uma ação exploratória
(randômica) com
probabilidade E
n  Ex. 10-armed bandit (caça
níqueis)
w  10 caça níqueis com
distribuições de prob.
diferentes (desconhecidas)
w  e = 10% acha ações
ótimas mais cedo, mas erra
9% do tempo
w  e = 1% obterá melhor
performance no futuro!
w  e = 0 % fica preso em uma
ação não ótima

37
Métodos para balancear
exploration e exploitation

! Escolha de ações softmax


n  A probabilidade de uma ação ser escolhida
varia de acordo com o valor de Q(s,a)
n  Pode-se usar o conceito de temperatura de
simulated annealing:
w  T = infinito, ação totalmente exploratória
w  T = zero, ação totalmente gulosa

38
RL em ambiente não
determinístico
! Recompensas serão não determinísticas
n  Vπ(s) = E[rt + rt+1 + rt+2 + ...]
n  Problema:
w  Suponha que a sequência de recompensas recebidas em
um determinado estado foi:
n  100, 98, 101, 97, 90, 103, 10
w  O valor da função Q vai refletir apenas o último valor !
! Solução: usar uma taxa de aprendizagem α
n  Qn(s,a) = (1-α)Qn-1(s,a) + α[r + maxa Qn-1(s ,a )]
n  A atualização de Q não esquece dos valores anteriores
n  Seα = 1/[1+#visitas(s,a)], Q converge para Q*
em tempo polinomial
39
Semi-MDP
! Como o agente pode levar em conta o
tempo de suas ações?
n  Ex. no jogo de luta: É melhor dar vários
socos fracos ou um soco forte?
w  Soco forte provavelmente traria maior
recompensa
w  Demoraria mais tempo para ser executado
n  No problema da patrulha: como levar em
conta o a distância entre os nós?

40
Semi-MDP
! O formalismo SMDP engloba este conceito
! Prova-se que a atualização de Q passa a ser
dada por:
w  Q[s][a] = r + γt maxa (Q[s´][a ])
w  Onde t pode ser:
n  número de unidades de tempo que o agente executou a
ação (caso discreto)
n  alguma função contínua do tempo
n  Desta maneira, as recompensas futuras passam a
valer menos se o agente passar muito tempo
executando uma ação

41
Complexidade de Q-Learning
! Escolher uma ação é barato no tempo
n  No entanto, o tempo de treinamento
cresce com #S
! Em espaço: O(#S x #A)
n  Problemas
w  o número de estados possíveis cresce
exponencialmente com a quantidade de
características representadas
w  Como tratar estados contínuos?

42
Linhas de pesquisa em RL
atualmente
! Substituir a tabela Q por redes neurais
n  Permite generalização
n  Tratar estados contínuos

! Tratar casos em que o estado é


parcialmente observável
n  POMDP
! Aprendizagem por reforço hierárquica
! Aprendizagem por reforço multi-agente
43
Aprendizagem por reforço
multi-agente - Cooperação
! Abordagens usando RL tradicional:
n  White box agent
w  Representação de estado global
w  Encontra a ação conjunta (a1, a2, ..., an) que maximiza
uma função de reforço global (única)
w  Problemas
n  Complexidade exponencial no número de agentes
n  Como aprender as ações de maneira distribuída ?
n  Black box agent
w  O reforço é individual, mas é alguma função do bem
estar global
w  O agente não toma conhecimento dos outros agentes
n  Outros agentes passam a ser ruído no ambiente
44
Aprendizagem por reforço
multi-agente - Cooperação
! Black box agent
n  Problemas
w  Atribuição de crédito
n  Como atribuir valor a ações individuais de um agente, em
termos do bem estar global?
n  Ex: Que reforço dar pra uma ação do jogador do meio de
campo em um jogo de futebol?

! Gray box agent:


n  O agente toma suas decisões individualmente
n  Os agentes comunicam suas intenções

45
Aprendizagem por reforço
multi-agente - Competição
! Min-Max Reinforcement Learning
n  RL Tradicional:
w  Executa ações com maior recompensa
esperada
n  Min-Max RL
w  Modela as ações do adversário
w  Executa ações que, dado que um oponente
utiliza uma política ótima, minimiza minhas
perdas

46
Referências
! Slides de Hugo Pimentel de Santana
(CIN/UFPE)
! Lecture slides do livro Machine Learning, do
Tom Mitchell
n  http://www-2.cs.cmu.edu/~tom/mlbook-chapter-
slides.html
! Livro Reinforcement Learning: An
introduction , de Sutton & Barto disponível
online
n  http://envy.cs.umass.edu/~rich/book/the-
book.html
47

Você também pode gostar