1
Tópicos Especiais em Aprendizagem
Prof. Reinaldo Bianchi
Centro Universitário da FEI
2007
2
Introdução
Meu 1/3 da disciplina de TEA. Objetivo:
– Apresentar aos alunos a disciplina de Aprendizado por Reforço (AR ou RL).
3 aulas divididas em:– Introdução ao AR.– Métodos avançados de AR.– Combinação de AR e outras áreas.
3
Programação de aulas 2006Aula Data Tópico Referência Professor1 20/09 Introdução Todas Paulo, Carlos,
Bianchi2 27/09 Aprendizagem indutiva de 1ª ordem Russell &
NorvigPaulo
3 04/10 Introdução à aprendizagem Bayesiana Neapolitan Paulo4 11/10 Aprendizagem Bayesiana Neapolitan Paulo5 18/10 Métodos de Regressão Linear Hastie et al. Carlos6 25/10 Métodos de Classificação Linear Hastie et al. Carlos7 01/11 Modelos de Validação e Seleção Hastie et al. Carlos8 09/11 Métodos baseados em Kernel e
Discriminantes FlexíveisHastie et al. Carlos
9 22/11 Introdução ao Aprendizado por Reforço Mitchell Bianchi10 29/11 Métodos avançados de AR e
Aceleração do Aprendizado por ReforçoSutton e Barto Bianchi
11 06/12 Aprendizado por Reforço Relacional,acelerado por heurística, e outros.
Sutton eBarto, Bianchi
Bianchi
12 13/12 Prova final Bianchi
4
Referências Básicas
“Reinforcement Learning: An introduction”, de Sutton & Barto:– http://envy.cs.umass.edu/~rich/book/the-book.html
“Reinforcement Learning: A Survey”, de Kaelbling & Littman:– http://www.cs.cmu.edu/afs/cs/project/jair/pub/
volume4/kaelbling96a-html/rl-survey.html Capítulo 13 do livro Machine Learning, do Tom
Mitchell. Capítulo 20 do livro Artificial Intelligence, Russell
& Norvig.
5
O Livro: Reinforcement Learning: an introduction.
6
O Livro: Reinforcement Learning: an introduction. Part I: The Problem
– Introduction– Evaluative Feedback– The Reinforcement Learning Problem
Part II: Elementary Solution Methods– Dynamic Programming– Monte Carlo Methods– Temporal Difference Learning
7
O Livro:RL: an introduction
Part III: A Unified View– Eligibility Traces– Generalization and Function Approximation– Planning and Learning– Dimensions of Reinforcement Learning– Case Studies
8
Objetivo desta Aula
Introdução ao Aprendizado por Reforço:– Introdução.– Avaliação e seleção das ações.– O problema do AR.– Programação Dinâmica.
Aula de hoje: capítulos 1 a 4 do Sutton & Barto.
9
Introdução
Capítulo 1 do Sutton e Barto.
10
Motivação
Desenvolver agentes capazes de aprender a escolher ações apenas interagindo com o ambiente– Em alguns problemas, é impraticável o uso de
aprendizagem supervisionada• Como obter exemplos do comportamento correto e
representativo para qualquer situação?• E se o agente for atuar em um ambiente desconhecido?
– Exemplos:• Criança adquirindo coordenação motora• Robô interagindo com um ambiente para atingir
objetivo(s)
11
Áreas do AR
Psicologia
Inteligência Artificial
Controle e Pesquisa Operacional
Redes Neurais Artificiais
Aprendizadopor Reforço
Neurociências
12
O que é o Aprendizado por Reforço? Aprendizado por interação. Aprendizado orientado a objetivos. Aprendizado sobre, do e enquanto
interagindo com um ambiente externo. Aprender o que fazer:
– Como mapear situações em ações.– Maximizando um sinal de recompensa
numérico.
13
Por que usar o AR?
Para problemas de otimização e controle, quando não se conhece o modelo do problema.
14
Aprendizado Supervisionado
Supervised Learning SystemInputs Outputs
Training Info = desired (target) outputs
Erro = (target output – actual output)
15
Aprendizado Não Supervisionado
Unsupervised Learning SystemInputs Outputs
Objetivo: agrupar objetos semelhantes
16
Aprendizado por Reforço
RLSystemInputs Outputs (“actions”)
Training Info = evaluations (“rewards” / “penalties”)
Objetivo: conseguir o máximo de reforço possível
17
Pontos chaves do AR
Ao aprendiz não é definido que ações tomar:– Aprendizado por busca, tentativa e erro.
Possibilidade de reforços arrasados;– Sacrifica-se ganhos imediatos e valoriza-se
ganhos a longo prazo. A necessidade de explorar e explotar. Considera o problema de um agente com um
objetivo como um todo, interagindo em um ambiente.
Ambiente estocástico e incerto.
18
Agente no AR
Situado no tempo. Aprendizado e planejamento continuo. Objetivo é modificar o ambiente.
Ambiente
Ação Estado
Recompensa Agente
19
Policy
Reward
ValueModel of
environment
Elementos do AR
Política (Policy): o que fazer. Recompensa (Reward): o que é bom. Valor (Value): o que é bom porque prevê uma
recompensa. Modelo (Model): o que causa o que.
20
Exemplo: Jogo da velha.X XXO O
X
XO
X
O
XO
X
O
X
XO
X
O
X O
XO
X
O
X O
X
} x’s move
} x’s
move
} o’s
move} x’s
move
} o’s move
..
. ..
.
..
.
..
...
.
..
.
..
.
..
.
..
.
x x
x
x o
x
o
xo
x
x
xxo
o
Assuma um oponente
imperfeito: as
vezes, ele comete
erro.
21
Estado V(s) – probabilidade estimada de
ganhar.5
?.5
?
.
.
. .
.
..
.
.
.
.
.
1 win
0 loss
.
.
.
.
.
.
0 draw
x
xxx
oo
oo
oxx
oo
o ox
xx
xo
Uma abordagem AR para Velha
1. Crie uma tabela com uma entrada por estado:
22
Uma abordagem AR para Velha
2. Agora, jogue muitas vezes:– Para escolher a ação, olhe para o que acontece um
passo adiante:
Escolha:– 90% das vezes um movimento de explotação (greedy
move): a ação que leva ao estado com a maior probabilidade estimada de vencer V(s).
– 10% das vezes um movimento de exploração (exploratory move): escolha uma ação aleatória.
Estado
atual Todos os possíveis
próximos estados*
23
Uma abordagem AR para Velha
3. Atualizando a tabela:– Enquanto se joga, modifica-se os valores dos
estados pelos quais se passa durante o jogo.– Tentativa de torna-los estimativas mais precisas da
probabilidade de vencer.– Para tanto, se copia (“back-up”) os valores de
estado após uma movimentação de explotação (greedy) para o estado anterior ao movimento.
Mais precisamente, ajusta-se o valor do estado anterior para ficar mais próximo do estado seguinte.
24
Uma abordagem AR para Velha
3. Atualizando a tabela:– Sabendo que:
• s = o estado antes da escolha da ação a executar.
• s´ = o estado após a execução da ação escolhida.
– Incrementa-se V(s) na direção de V(s´):
– Onde: • 0 < < 1 é á taxa de aprendizado.
)()()()( sVsVsVsV
25
Uma abordagem AR para Velha
Jogada exploratória:Não atualiza V(s).
26
Uma abordagem AR para Velha
Este método de atualização dos valores de V(s) é um tipo de aprendizado usando diferenças temporais (temporal-difference learning method).– A modificação em V(s) é baseada na
diferença V(s´) - V(s), estimados em dois instantes de tempos diferentes.
– Um backup.– Será visto mais a fundo (capítulo 6).
27
Como melhorar este jogador?
Tirar vantagens de simetrias:– Representação/generalização?– É vantajoso? E se o oponente não usar?
Os movimentos de exploração aleatórios são realmente necessários?
Pode-se aprender durante os movimentos aleatórios?
Pode-se aprender de maneira offline?– Pré-treinamentos?– Usando modelos do oponente?
28
Exemplo: generalização.
Table Generalizing Function
Approximator State VState V
s
s
s
.
.
.
s
1
2
3
N
Train
here
29
Exemplo: generalização.
Table Generalizing Function
Approximator State VState V
s
s
s
.
.
.
s
1
2
3
N
Train
here
30
Jogo da velha é muito fácil?
Sim...– Jogo finito e curto.– Pequeno número de estados.– Olhar um passo a frente é sempre
possível.– Estado completamente observável...
31
Alguns exemplos notáveis de AR
TD-Gammon: Tesauro– O melhor jogador de Gamão do mundo.
Controle de Elevadores: Crites & Barto– Controladores de alto desempenho.
Gerenciamento de inventario: Van Roy, Bertsekas, Lee & Tsitsiklis– Melhoria de 10–15% sobre os modelos usados.
Dynamic Channel Assignment: Singh & Bertsekas, Nie & Haykin– Alocação de canais em telefonia celular.
32
TD-Gammon
– Inicie com uma rede neural aleatória.– Jogue muitas vezes contra si mesmo.– Aprenda destes jogos.
Produziu o melhor jogador de gamão no mundo (incluindo campeões humanos).
Action selectionby 2–3 ply search
Value
TD errorVt1 Vt
Tesauro, 1992–1995
33
Neurogammonsame network, buttrained from 15,000
expert-labeled examples
TD-Gammon
Especialistas são escassos e caros Experiência é barata, e ensina a solução real.
# hidden units
performanceagainst
gammontool
50%
70%
0 10 20 40 80
TD-Gammonself-play Tesauro, 1992
34
Controle de Elevadores
10 andares, 4 cabines
STATES: button states; positions, directions, and motion states of cars; passengers in cars & in halls
ACTIONS: stop at, or go by, next floor
REWARDS: roughly, –1 per time step for each person waiting
Conservatively about 10 states22
Crites and Barto, 1996
35
Performance Comparison
0
20
40
60
80
AverageWaiting
andSystemTimes
Dispatcher
0
1
2
% Waiting >1 minute
Dispatcher
0
200
400
600
800
AverageSquaredWaiting
Time
Dispatcher
36
O problema do Carro na Montanha
Minimum-Time-to-Goal Problem
Moore, 1990 Goal
Gravity wins
STATES: car's position and velocity
ACTIONS: three thrusts: forward, reverse, none
REWARDS: always –1 until car reaches the goal
No Discounting
37
Algumas aplicações
Time Brainstormers da Robocup (entre os 3 melhores nos 3 últimos anos)– Objetivo: Time cujo conhecimento é obtido 100%
por técnicas de aprendizagem por reforço– RL em situações específicas
• 2 atacantes contra 2 defensores• habilidades básicas
Inúmeras aplicações em problemas de otimização, de controle, jogos e outros...
38
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
Recompensa: ociosidade dos nós visitados
Performance comparisson 5 agents
0102030405060708090
100
Conscientiouscognitive agent
HeuristicCoordinator
Conscientiousreactive agent
LearnerAgent
Ave
rag
e id
len
ess
39
Jogos
Aprendizagem por reforço para:– IA do jogador.– Adaptação ao usuário.
40
Exemplo de Algoritmo: Q-Learning
41
Aprendizagem por reforço
Tarefa de aprendizagem por reforço:– Aprender uma política de ações * ótima,
que maximiza a função V (V*) ou a função Q (Q*)* = argmax[V(s)]
Em outras palavras, de que maneira o agente deve agir para maximizar as suas recompensas futuras
42
Exemplo: LabirintoFunção recompensa Função V*
Função Q* Política de ações ótima
43
Aprendendo uma política ótima
Se o ambiente é conhecido, ou seja, T(s,a) = s’ e r(s,a) são conhecidos:– V*(s) =maxa[ r(s,a) + V*((s,a) ) ] *(s) = argmaxa[r(s,a) + V*((s,a) )]– Equações de Bellman:
• Programação dinâmica computa uma política ótima em tempo polinomial
E se não temos conhecimento prévio do ambiente, ou se for difícil estimar estas funções?
44
Q Learning
Algoritmo de aprendizagem para computar a função Q ótima (valor das ações) *(s) = argmaxa[Q(s,a)]
• não é função de Tnem de r
Q*(st,at) = r(st,at) + maxa’ [Q(st+1,a’)]
• Como atualizar Q sem precisar de r(st,at) nem de T ?
45
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
46
Algoritmo Q-Learning para mundos determinísticos
Para todo estado s e ação a, inicialize a tabela Q[s][a] = 0;
Para sempre, faça:– Observe o estado atual s;– Escolha uma ação a e execute;– Observe o próximo estado s’ e recompensa r– Atualize a tabela Q:
• Q[s][a] = r + maxa’ (Q[s’][a’])
Usufruir valores
conhecidos ou explorar valores não
computados?
47
Avaliação e seleção das ações.(Evaluative Feedback)
Capítulo 2 do Sutton e Barto.
48
Avaliando ações
Avaliando ações versus instrução através de exemplos de ações corretas:– Reforço puramente avaliativo depende
totalmente na ação executada.– Reforço puramente instrutivo independe
completamente da ação executada. Aprendizado supervisionado é instrutivo Otimização é avaliativo (evaluative).
49
Avaliando ações
Associativo versus Não-associativo:– Associativo: entradas mapeiam saídas;
aprende a melhor saída para cada entrada.– Não-associativo: “aprende” (encontra) uma
saída ótima. O problema do bandido de n-braços (n-
armed bandit) é:– Não-associativo.– Avaliativo.
50
The 1-Armed Bandit Problem
51
The 1-Armed Bandit Problem
52
The n-Armed Bandit Problem
Escolha repetidamente uma entre n ações;– Cada escolha é uma jogada.
O objetivo é maximizar as recompensas recebidas a longo prazo.
Para solucionar o problema do bandido de n-braços deve-se:– Explorar uma variedade de ações, e– Exploitar as melhores ações.
53
The n-Armed Bandit Problem
Após cada jogada at,recebe uma recompensa rt, onde:
Estes são os valores-ação (action-values), desconhecidos:– Distribuição de rt, depende somente de at.
E rt | at Q*(at )
54
O dilema exploração/exploitação
Suponha que você estime os valores-ação:–
A ação exploitatória (ou gulosa ou greedy) é:
Casos possíveis:
– Não se pode explorar o tempo todo; não se pode exploitar o tempo todo...
– Não se deve parar a exploração, mas deve ser reduzida com o tempo...
Qt(a) Q*(a)
)(maxarg* aQa ta
t
nexploratio
onexploitati*
*
tt
tt
aa
aa
55
Métodos Valores-Ação
Métodos mais simples o possível
56
Métodos Valores-Ação
São métodos que adaptam as estimativas dos valores-ação.
Exemplo: suponha que na n-ésima jogada a ação a foi escolhida ka vezes, resultando em recompensas
Então a média amostrada é:
e
Qt(a)
r1 r2 rk a
ka
r1, r2, , rka,
limk a
Qt(a) Q*(a)
57
Seleção de ações -Greedy
A seleção de ações gulosa (greedy) é:–
Uma modificação gera a -Greedy:
A maneira mais simples de balancear exploração e exploitação...
at at* arg max
aQt(a)
at* with probability 1
random action with probability {at
58
Exemplo: 10-Armed Bandit
n = 10 possíveis ações. Cada Q*(a) é escolhido de maneira
aleatória a partir de uma distribuição normal (0,1).
Cada reforço rt também é normal:
– 1000 jogadas. Média de 2000 repetições (trials).
(Q*(at ),1)
59
Métodos -Greedy no problema 10-Armed Bandit
60
Seleção de ações -Greedy
Método de escolha de ações efetivo e popular...
A maneira mais simples de balancear exploração e exploitação...
Mas possui um problema:– Escolhe de maneira igual entre todas as ações a
explorar.– Em tarefas onde a pior ação é muito ruim, pode se
tornar um problema.
61
Seleção de ações Softmax
Métodos de escolha de ação “Softmax” ponderam probabilidades e valores estimados.
O mais comum utiliza uma distribuição de Gibbs ou Boltzmann:– Escolha a ação a em uma jogada t com a
probabilidade:
– onde t é a “temperatura”.
n
b
bQ
aQ
t
t
e
e
1
)(
)(
62
Implementação Incremental
O método de estimativa da média por amostragem computa a média dos primeiros k reforços utilizando:
Problema:– A cada reforço, mais memória para guardar a lista é
necessária e mais esforço para calcular Q é preciso. – Requisitos computacionais e de memória crescem
com o tempo, não sendo limitados.
k
rrrQ k
k
21
63
Implementação Incremental
Como computar Q passo a passo, sem guardar todos os reforços?
???1
1
1211
kk
kkk
QQk
rrrrQ
64
A matemática...
kr
kkk
kkk
kkkk
kk
k
iik
k
iik
Qrk
Q
QQkrk
QQkQrk
kQrk
rrk
rk
Q
1
1
1
1
11
1
11
1
1
)1(1
11
11
1
1
1
1
1
65
Implementação Incremental
Ou seja, pode se calcular Q passo a passo usando:
Esta implementação requer memória para armazenar apenas Qk e pouca
computação.
kkkk Qrk
11 1
1
66
Implementação Incremental
Esta é uma forma muito comum para as regras de atualização dos valores:
Onde:– StepSize determina quão rápido se atualiza
os valores.– Para casos não estacionários...
NewEstimate = OldEstimate + StepSize[Target – OldEstimate]
67
O problema não estacionário
Escolhendo Qk como uma média
amostrada é apropriado para o problema onde Q*(a) é não muda com o tempo (é estacionário).
No caso não estacionário deve-se usar uma média exponencial ponderada:
iik
k
i
kk
kkkk
rQQ
QrQQ
)1()1(
10 , for
101
11
constant
68
Valores iniciais
O método iterativo visto depende do valor inicial de Qk=0 (a).
Suponha uma inicialização otimista:
– No caso do n-armed bandit: Q0 (a)=5, a.
69
Avaliação versus Instrução
70
Avaliação versus Instrução
The n-armed bandit problem we considered above is a case in which the feedback is purely evaluative.– The reward received after each action gives some
information about how good the action was, but it says nothing at all about whether the action was correct or incorrect, that is, whether it was a best action or not.
– Here, correctness is a relative property of actions that can be determined only by trying them all and comparing their rewards.
71
Avaliação versus Instrução
You have to perform some form of the generate-and-test method whereby you try actions, observe the outcomes, and selectively retain those that are the most effective.
This is learning by selection, in contrast to learning by instruction, and all reinforcement learning methods have to use it in one form or another.
72
Avaliação versus Instrução
RL contrasts sharply with supervised learning, where the feedback from the environment directly indicates what the correct action should have been.
In this case there is no need to search:– whatever action you try, you will be told
what the right one would have been. – There is no need to try a variety of actions;
the instructive "feedback" is typically independent of the action selected (so is not really feedback at all).
73
Avaliação versus Instrução
The main problem facing a supervised learning system is to construct a mapping from situations to actions that mimics the correct actions specified by the environment and that generalizes correctly to new situations.
A supervised learning system cannot be said to learn to control its environment because it follows, rather than influences, the instructive information it receives.
Instead of trying to make its environment behave in a certain way, it tries to make itself behave as instructed by its environment.
74
Binary Bandit Tasksat 1 or at 2
rt success or rt failure
Suppose you have just two actions:
and just two rewards:
Then you might infer a target or desired action:
failure
success
ifaction other the
if ta
{dt
and then always play the action that was most often the target
Call this the supervised algorithmIt works fine on deterministic tasks…
75
Contingency Space The space of all possible binary bandit tasks:
76
Linear Learning AutomataLet t(a) Pr at a be the only adapted parameter
LR –I (Linear, reward - inaction)
On success : t 1(at ) t (at) (1 t(at )) 0 < < 1
(the other action probs. are adjusted to still sum to 1)
On failure : no change
LR -P (Linear, reward - penalty)
On success : t 1(at ) t (at) (1 t(at )) 0 < < 1
(the other action probs. are adjusted to still sum to 1)
On failure : t 1(at ) t(at) (0 t(at )) 0 < 1
For two actions, a stochastic, incremental version of the supervised algorithm
77
Performance on Binary Bandit Tasks A and B
78
Conclusão parcial
Tudo mostrado até aqui é muito simples:– Mas complicados os suficiente...– Métodos melhores serão construídos a partir
destes. Como melhorar estes métodos?
– Estimar incertezas.– Utilizar aproximadores de funções.– Introduzir Bayes...
Após o intervalo, formalização do problema do Aprendizado por Reforço...
79
Intervalo