Você está na página 1de 79

1

Tpicos Especiais em Aprendizagem


Prof. Reinaldo Bianchi
Centro Universitrio da FEI
2007

2
Introduo
Meu 1/3 da disciplina de TEA.
Objetivo:
Apresentar aos alunos a disciplina de
Aprendizado por Reforo (AR ou RL).
3 aulas divididas em:
Introduo ao AR.
Mtodos avanados de AR.
Combinao de AR e outras reas.

3
Programao de aulas 2006
Aula Data Tpico Referncia Professor
1 20/09 Introduo Todas Paulo, Carlos,
Bianchi
2 27/09 Aprendizagem indutiva de 1

ordem Russell &


Norvig
Paulo
3 04/10 Introduo aprendizagem Bayesiana Neapolitan Paulo
4 11/10 Aprendizagem Bayesiana Neapolitan Paulo
5 18/10 Mtodos de Regresso Linear Hastie et al. Carlos
6 25/10 Mtodos de Classificao Linear Hastie et al. Carlos
7 01/11 Modelos de Validao e Seleo Hastie et al. Carlos
8 09/11 Mtodos baseados em Kernel e
Discriminantes Flexveis
Hastie et al. Carlos
9 22/11 Introduo ao Aprendizado por Reforo Mitchell Bianchi
10 29/11 Mtodos avanados de AR e
Acelerao do Aprendizado por Reforo
Sutton e Barto Bianchi
11 06/12 Aprendizado por Reforo Relacional,
acelerado por heurstica, e outros.
Sutton e
Barto, Bianchi
Bianchi
12 13/12 Prova final Bianchi

4
Referncias Bsicas
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/volu
me4/kaelbling96a-html/rl-survey.html
Captulo 13 do livro Machine Learning, do
Tom Mitchell.
Captulo 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
Introduo ao Aprendizado por Reforo:
Introduo.
Avaliao e seleo das aes.
O problema do AR.
Programao Dinmica.
Aula de hoje: captulos 1 a 4 do Sutton
& Barto.
9
Introduo
Captulo 1 do Sutton e Barto.

10
Motivao
Desenvolver agentes capazes de aprender a
escolher aes apenas interagindo com o
ambiente
Em alguns problemas, impraticvel o uso de
aprendizagem supervisionada
Como obter exemplos do comportamento correto e
representativo para qualquer situao?
E se o agente for atuar em um ambiente desconhecido?
Exemplos:
Criana adquirindo coordenao motora
Rob interagindo com um ambiente para atingir
objetivo(s)

11
reas do AR
Psicologia
Inteligncia Artificial
Controle e
Pesquisa Operacional
Redes Neurais Artificiais
Aprendizado
por Reforo
Neurocincias

12
O que o Aprendizado por
Reforo?
Aprendizado por interao.
Aprendizado orientado a objetivos.
Aprendizado sobre, do e enquanto
interagindo com um ambiente externo.
Aprender o que fazer:
Como mapear situaes em aes.
Maximizando um sinal de recompensa
numrico.

13
Por que usar o AR?


Para problemas de otimizao e
controle, quando no se conhece o
modelo do problema.


14
Aprendizado Supervisionado
Supervised Learning
System
Inputs Outputs
Training Info = desired (target) outputs
Erro = (target output actual output)

15
Aprendizado No Supervisionado
Unsupervised Learning
System
Inputs Outputs
Objetivo: agrupar objetos semelhantes

16
Aprendizado por Reforo
RL
System
Inputs Outputs (actions)
Training Info = evaluations (rewards / penalties)
Objetivo: conseguir o mximo de reforo possvel

17
Pontos chaves do AR
Ao aprendiz no definido que aes tomar:
Aprendizado por busca, tentativa e erro.
Possibilidade de reforos 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 estocstico e incerto.

18
Agente no AR
Situado no tempo.
Aprendizado e planejamento continuo.
Objetivo modificar o ambiente.

Ambiente
Ao
Estado
Recompensa
Agente

19
Policy
Reward
Value
Model of

environment
Elementos do AR





Poltica (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 X X O O
X
X O
X
O
X O
X
O
X
X O
X
O
X O
X O
X
O
X O
X
}
xs move
} xs move
} os move
} xs move
}
os move
...
...
...
...
... ... ... ... ...
x
x
x
x o
x
o
x o
x
x
x
x
o
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
x x x
o
o
o
o
o
x
x
o o
o o
x
x
x
x
o
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 ao, olhe para o que acontece
um passo adiante:



Escolha:
90% das vezes um movimento de explotao
(greedy move): a ao que leva ao estado com a
maior probabilidade estimada de vencer V(s).
10% das vezes um movimento de explorao
(exploratory move): escolha uma ao aleatria.
Estado atual
Todos os possveis
prximos 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 aps uma movimentao de explotao
(greedy) para o estado anterior ao movimento.
Mais precisamente, ajusta-se o valor do
estado anterior para ficar mais prximo do
estado seguinte.

24
Uma abordagem AR para Velha
3. Atualizando a tabela:
Sabendo que:
s = o estado antes da escolha da ao a
executar.
s = o estado aps a execuo da ao
escolhida.
Incrementa-se V(s) na direo de V(s):

Onde:
0 < o < 1 taxa de aprendizado.
| | ) ( ) ( ) ( ) ( s V s V s V s V
'
+ o

25
Uma abordagem AR para Velha
Jogada
exploratria:
No atualiza V(s).

26
Uma abordagem AR para Velha
Este mtodo de atualizao dos valores
de V(s) um tipo de aprendizado
usando diferenas temporais
(temporal-difference learning method).
A modificao em V(s) baseada na
diferena V(s) - V(s), estimados em dois
instantes de tempos diferentes.
Um backup.
Ser visto mais a fundo (captulo 6).

27
Como melhorar este jogador?
Tirar vantagens de simetrias:
Representao/generalizao?
vantajoso? E se o oponente no usar?
Os movimentos de explorao aleatrios so
realmente necessrios?
Pode-se aprender durante os movimentos
aleatrios?
Pode-se aprender de maneira offline?
Pr-treinamentos?
Usando modelos do oponente?


28
Exemplo: generalizao.
Table Generalizing Function Approximator
State V State V
s
s
s
.
.
.






s
1
2
3
N
Train
here

29
Exemplo: generalizao.
Table Generalizing Function Approximator
State V State V
s
s
s
.
.
.






s
1
2
3
N
Train
here

30
Jogo da velha muito fcil?
Sim...
Jogo finito e curto.
Pequeno nmero de estados.
Olhar um passo a frente sempre
possvel.
Estado completamente observvel...

31
Alguns exemplos notveis de AR
TD-Gammon: Tesauro
O melhor jogador de Gamo do mundo.
Controle de Elevadores: Crites & Barto
Controladores de alto desempenho.
Gerenciamento de inventario: Van Roy,
Bertsekas, Lee & Tsitsiklis
Melhoria de 1015% sobre os modelos usados.
Dynamic Channel Assignment: Singh &
Bertsekas, Nie & Haykin
Alocao de canais em telefonia celular.

32
TD-Gammon
Inicie com uma rede neural aleatria.
Jogue muitas vezes contra si mesmo.
Aprenda destes jogos.
Produziu o melhor jogador de gamo no
mundo (incluindo campees humanos).
Action selection
by 23 ply search
Value
TD error

V
t +1
V
t
Tesauro, 19921995

33
Neurogammon
same network, but
trained from 15,000
expert-labeled examples
TD-Gammon
Especialistas so escassos e caros
Experincia barata, e ensina a soluo real.
# hidden units
performance
against
gammontool
50%
70%
0 10 20 40 80
TD-Gammon
self-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 states
22
Crites and Barto, 1996

35
Performance Comparison

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 aplicaes
Time Brainstormers da Robocup (entre os 3
melhores nos 3 ltimos anos)
Objetivo: Time cujo conhecimento obtido 100%
por tcnicas de aprendizagem por reforo
RL em situaes especficas
2 atacantes contra 2 defensores
habilidades bsicas
Inmeras aplicaes em problemas de
otimizao, de controle, jogos e outros...

38
Patrulha multi-agente
Dado um mapa, um grupo
de agentes deve visitar
continuamente locais
especficos deste mapa de
maneira a minimizar o
tempo que os ns ficam sem
serem visitados
Recompensa: ociosidade
dos ns visitados

Performance comparisson 5 agents
0
10
20
30
40
50
60
70
80
90
100
Conscientious
cognitive agent
Heuristic
Coordinator
Conscientious
reactive agent
LearnerAgent
A
v
e
r
a
g
e

i
d
l
e
n
e
s
s

39
Jogos
Aprendizagem por reforo para:
IA do jogador.
Adaptao ao usurio.
40
Exemplo de Algoritmo:
Q-Learning

41
Aprendizagem por reforo
Tarefa de aprendizagem por reforo:
Aprender uma poltica de aes t* tima,
que maximiza a funo V
t
(V*) ou a funo
Q
t
(Q*)
t* = argmax
t
[Vt(s)]

Em outras palavras, de que maneira o
agente deve agir para maximizar as
suas recompensas futuras

42
Exemplo: Labirinto
Funo recompensa
Funo V*
Funo Q*
Poltica de aes tima

43
Aprendendo uma poltica tima
Se o ambiente conhecido, ou seja, T(s,a) =
s e r(s,a) so conhecidos:
V*(s) =max
a
[ r(s,a) + V*( o(s,a) ) ]
t*(s) = argmax
a
[r(s,a) + V*( o(s,a) )]
Equaes de Bellman:
Programao dinmica computa uma poltica tima em
tempo polinomial
E se no temos conhecimento prvio do
ambiente, ou se for difcil estimar estas
funes?

44
Q Learning
Algoritmo de aprendizagem
para computar a funo Q
tima (valor das aes)
t*(s) = argmax
a
[Q(s,a)]
no funo de T
nem de r
Q*(s
t
,a
t
) =
r(s
t
,a
t
) + max
a
[Q(s
t+1
,a)]
Como atualizar Q sem precisar
de r(s
t
,a
t
) nem de T ?

45
Q-Learning
Atualiza-se Q(s
t
) aps observar o estado s
t+1
e
recompensa recebida







Q(s
1
,a
right
) = r + max
a
Q(s
2
,a)
= 0 + 0.9 max{63,81,100}
= 90


46
Algoritmo Q-Learning para mundos
determinsticos
Para todo estado s e ao a, inicialize a
tabela Q[s][a] = 0;
Para sempre, faa:
Observe o estado atual s;
Escolha uma ao a e execute;
Observe o prximo estado s e recompensa r
Atualize a tabela Q:
Q[s][a] = r + max
a
(Q[s][a])
Usufruir valores
conhecidos ou
explorar valores
no
computados?
47
Avaliao e seleo das aes.
(Evaluative Feedback)
Captulo 2 do Sutton e Barto.


48
Avaliando aes
Avaliando aes versus instruo
atravs de exemplos de aes corretas:
Reforo puramente avaliativo depende
totalmente na ao executada.
Reforo puramente instrutivo independe
completamente da ao executada.
Aprendizado supervisionado instrutivo
Otimizao avaliativo (evaluative).

49
Avaliando aes
Associativo versus No-associativo:
Associativo: entradas mapeiam sadas;
aprende a melhor sada para cada entrada.
No-associativo: aprende (encontra) uma
sada tima.
O problema do bandido de n-braos (n-
armed bandit) :
No-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
aes;
Cada escolha uma jogada.
O objetivo maximizar as recompensas
recebidas a longo prazo.
Para solucionar o problema do bandido
de n-braos deve-se:
Explorar uma variedade de aes, e
Exploitar as melhores aes.

53
The n-Armed Bandit Problem
Aps cada jogada a
t
,recebe uma
recompensa r
t,
onde:


Estes so os valores-ao (action-
values), desconhecidos:
Distribuio de r
t,
depende somente de a
t.
E r
t
| a
t
= Q
*
(a
t
)

54
O dilema explorao/exploitao
Suponha que voc estime os valores-ao:

A ao exploitatria (ou gulosa ou greedy) :

Casos possveis:


No se pode explorar o tempo todo; no se pode
exploitar o tempo todo...
No se deve parar a explorao, mas deve ser
reduzida com o tempo...
Q
t
(a) ~ Q
*
(a)
) ( max arg
*
a Q a
t
a
t
=
n exploratio
on exploitati
*
*
=
=
t t
t t
a a
a a
55
Mtodos Valores-Ao
Mtodos mais simples o possvel

56
Mtodos Valores-Ao
So mtodos que adaptam as
estimativas dos valores-ao.
Exemplo: suponha que na n-sima
jogada a ao a foi escolhida k
a
vezes,
resultando em recompensas
Ento a mdia amostrada :


e

Q
t
(a) =
r
1
+ r
2
+ r
k
a
k
a
r
1
, r
2
, , r
k
a
,
lim
k
a

Q
t
(a) = Q
*
(a)

57
Seleo de aes c-Greedy
A seleo de aes gulosa (greedy) :

Uma modificao gera a c-Greedy:



A maneira mais simples de balancear
explorao e exploitao...
a
t
= a
t
*
=argmax
a
Q
t
(a)
a
t
*
with probability 1 c
random action with probability c
{
a
t
=

58
Exemplo: 10-Armed Bandit
n = 10 possveis aes.
Cada Q*(a) escolhido de maneira
aleatria a partir de uma distribuio
normal q(0,1).
Cada reforo r
t
tambm normal:

1000 jogadas.
Mdia de 2000 repeties (trials).
q(Q
*
(a
t
),1)

59
Mtodos c-Greedy no problema
10-Armed Bandit

60
Seleo de aes c-Greedy
Mtodo de escolha de aes efetivo e
popular...
A maneira mais simples de balancear
explorao e exploitao...
Mas possui um problema:
Escolhe de maneira igual entre todas as aes a
explorar.
Em tarefas onde a pior ao muito ruim, pode
se tornar um problema.

61
Seleo de aes Softmax
Mtodos de escolha de ao Softmax
ponderam probabilidades e valores
estimados.
O mais comum utiliza uma distribuio de
Gibbs ou Boltzmann:
Escolha a ao a em uma jogada t com a
probabilidade:



onde t a temperatura.

=
n
b
b Q
a Q
t
t
e
e
1
) (
) (
t
t

62
Implementao Incremental
O mtodo de estimativa da mdia por
amostragem computa a mdia dos primeiros
k reforos utilizando:


Problema:
A cada reforo, mais memria para guardar a lista
necessria e mais esforo para calcular Q
preciso.
Requisitos computacionais e de memria crescem
com o tempo, no sendo limitados.
k
r r r
Q
k
k
+ +
=
2 1

63
Implementao Incremental
Como computar Q passo a passo, sem
guardar todos os reforos?
???
1
1
1 2 1
1
+ =
+
+ + +
=
+
+
+
k k
k k
k
Q Q
k
r r r r
Q


64
A matemtica...
k
r
( )
( )
( )
| |
k k k
k k k
k k k k
k k
k
i
i k
k
i
i k
Q r
k
Q
Q Q k r
k
Q Q kQ r
k
kQ r
k
r r
k
r
k
Q

+
+ =
+ +
+
=
+ +
+
=
+
+
=
|
.
|

\
|
+
+
=
+
=
+
+
+
+
=
+
+
=
+

1
1
1
1
1
1
1
1
1
1
1
) 1 (
1
1
1
1
1
1
1
1
1
1

65
Implementao Incremental
Ou seja, pode se calcular Q passo a
passo usando:


Esta implementao requer memria
para armazenar apenas Q
k
e pouca
computao.
| |
k k k k
Q r
k
Q Q
+
+ =
+ + 1 1
1
1

66
Implementao Incremental
Esta uma forma muito comum para as
regras de atualizao dos valores:


Onde:
StepSize determina quo rpido se atualiza
os valores.
Para casos no estacionrios...
NewEstimate = OldEstimate + StepSize[Target OldEstimate]

67
O problema no estacionrio
Escolhendo Q
k
como uma mdia
amostrada apropriado para o
problema onde Q*(a) no muda com
o tempo ( estacionrio).
No caso no estacionrio deve-se usar
uma mdia exponencial ponderada:
| |
i
i k
k
i
k
k
k k k k
r Q Q
Q r Q Q

=
+
+ +

+ =
s < + =
) 1 ( ) 1 (
1 0 , for
1
0 1
1 1
o o o
o o o constant

68
Valores iniciais
O mtodo iterativo visto depende do
valor inicial de Q
k=0
(a).
Suponha uma inicializao otimista:
No caso do n-armed bandit: Q
0
(a)=5, a.

69
Avaliao versus Instruo

70
Avaliao versus Instruo
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
Avaliao versus Instruo
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
Avaliao versus Instruo
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
Avaliao versus Instruo
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 Tasks
a
t
= 1 or a
t
=2
r
t
= success or r
t
= failure
Suppose you have just two actions:
and just two rewards:
Then you might infer a target or desired action:
failure
success
if action other the
if
t
a
{
d
t
=
and then always play the action that was most often the target
Call this the supervised algorithm
It works fine on deterministic tasks

75
Contingency Space
The space of all possible binary bandit tasks:

76
Linear Learning Automata
Let t
t
(a) = Pr a
t
= a
{ }
be the only adapted parameter
L
RI
(Linear, reward- inaction)
On success : t
t +1
(a
t
) = t
t
(a
t
) +o(1 t
t
(a
t
)) 0 < o < 1
(the other action probs. are adjusted to still sum to 1)
On failure: no change
L
R-P
(Linear, reward- penalty)
On success : t
t +1
(a
t
) = t
t
(a
t
) +o(1 t
t
(a
t
)) 0 < o < 1
(the other action probs. are adjusted to still sum to 1)
On failure: t
t +1
(a
t
) = t
t
(a
t
) +o(0 t
t
(a
t
)) 0 < o < 1
For two actions, a stochastic, incremental version of the supervised algorithm

77
Performance on Binary Bandit
Tasks A and B

78
Concluso parcial
Tudo mostrado at aqui muito simples:
Mas complicados os suficiente...
Mtodos melhores sero construdos a partir
destes.
Como melhorar estes mtodos?
Estimar incertezas.
Utilizar aproximadores de funes.
Introduzir Bayes...
Aps o intervalo, formalizao do problema
do Aprendizado por Reforo...
79
Intervalo

Você também pode gostar