Aprendizagem por reforço
Jacques Robin
CIn-UFPE
O que é aprendizagem por reforço?
 Uma classe de problemas de aprendizagem (pela qual
existe uma grande diversidade de técnicas)
 Aprendizagem:
por um agente com objetivo(s) situado em um ambiente
da utilidade dos estados do ambiente com respeito a esse(s)
objetivo(s)
ou de uma política de ação maximizando o grau de satisfação
desse(s) objetivo(s)
indiretamente via recepção de reforço (ou dica) positivo ou
negativo
quando se encontra em alguns estados
ou como resultado da execução de uma ação ou uma serie de ações
Exemplo de tarefa
de aprendizagem por reforço
 Agente explorador da caverna do wumpus
 Explora N instâncias aleatoriamente geradas da caverna
 Recebe reforços:
+1 quando sai vivo da caverna sem o ouro
+5 quando sai vivo da caverna com o ouro
-5 quando morre caindo em um buraco ou devorado pelo wumpus
 Aprende:
função f: Percepções  Ações, para um agente puramente reativo
ou, função g: EstadosDaCaverna  Utilidades, para um agente
reativo com estado interno, modelo perceptivo e modelo efetivo do
ambiente
Aprendizagem por reforço x
Aprendizagem supervisionada
Aprendizagem por reforço
Aprendizagem supervisionada
 retorno na forma de dica, as vezes
para um conjunto de escolhas
 retorno na forma da escolha correta,
separadamente por cada escolha: ex,
na situação 26, ação 67 era a melhor
ex, na situação 26, a ação 27
é nota 0.8
 requer treinamento antes da
ex, a partir da situação 26, a serie
utilização
de ação 27, 3, 12, 79, e 99 é nota 0.3
 aprende mapeamentos componentes:
 permite treinamento
classificação
tanto prévio a utilização
quanto durante a utilização
 aprende mapeamento global
percepção(t)  ação(t)
 para satisfazer simultaneamente
vários objetivos
(percepção(t),modelo(t-1))
 modelo(t)
previsão
(modelo(t),ação(t))
 modelo(t+1))
otimização
(modelo(t+1),objetivo(t))
 max(utilidade(t+1))
 para satisfazer um único objetivo
Conceitos chaves da
aprendizagem por reforço
 Política de ação
 Função de reforço
 Função de valor
(ou utilidade)
 Modelo do ambiente
Policy
Reward
Value
Model of
environment
Política de ação
 Mapeia estado percebido do ambiente pelo agente para a
ação a executar nesse estado que maximiza satisfação
dos seus objetivos
 : percepção(estado(ambiente))
 ação(estado(ambiente))
 estado percebido pode ser última percepção recebida ou
modelo construído a partir das percepções anteriores
  pode ser determinista ou estocástica
Função de reforço
 Mapeia estados do ambiente ou transição do ambiente de
um estado para um outro para um número indicando a
satisfação imediata dos objetivos do agente nesse estado
ou no estado resultando da transição
 r: estado(ambiente)  real, ou
 r: (estado1(ambiente), estado2(ambiente))  real
 r codifica os objetivos do agente de maneira imediata
local
 r pode ser determinista ou estocástica
Função de valor
 Mapeia estado do ambiente para um número indicando o a
satisfação futura atingível dos objetivos do agente a
partir desse estado
 v: estado(ambiente)  real
 v codifica os objetivos do agente de maneira global e a
prazo
 v(e) definida como função aditiva dos reforços nos
estados alcançáveis a partir de e:
v(ek) = i[k,+[ pi.r(ei)
v(ek) = i[k,j] r(ei)
v(ek) = limji[k,j] r(ei)
Modelo do ambiente
 Modelo perceptivo, mapeia percepções para representação interna
do estado do ambiente
mp: (percepção(t), modelo(estado(ambiente(t-1))))
 modelo(estado(ambiente(t)))
 Modelo efetivo, mapeia ação a efetuar para representação interna
do estado do ambiente resultando dessa ação
me: (ação(t), modelo(estado(ambiente(t))))
 modelo(estado(ambiente(t+1)))
 Cada um desses modelos pode ser:
 representado em extensão por uma tabela, ou
 representado em intenção por algum formalismo de representação do
conhecimento como operadores de próximo estado, regras, lógica,
operadores de planejamento
 manualmente codificado, ou
 aprendido com aprendizagem supervisionado
Exemplo introdutório: jogo da velha
X
X
O X
O X
X
X
O X
O
O X
O
x
X O X
X O X
O X
O
O X
X
O
...
x
...
...
x o
X
} x joga
x
...
o
o x
x
} o joga
x
...
...
...
...
...
} x joga
} o joga
x o
x
x o
} x joga
Exemplo introdutório: jogo da velha
1. Inicializar tabela de valores com tabela de reforços
Estado
x
V(s) – Probabilidade estimada de ganhar
.5
?
.5
?
x x x
o
o
1
vitória
x o
o
o
0
derrota
o x o
o x x
x o o
0
empate
x
2. Fazer agente jogar muitos jogos contra adversário imperfeito
 Escolhendo:
 a grande maioria das vezes ação que leva a estado de maior valor
 as vezes aleatoriamente ação que leva a estado com valor menor
 Atualiza tabela depois de cada ação
 levando do estado s para o estado s´
 com a formula: V(s) := V(s) + p(V(s´) – V(s))
 na qual p é o tamanho de passo de aprendizagem
Exemplo introdutório: jogo da velha
 Exemplo de técnica de aprendizagem por reforço dita de
diferencia temporal
 Se p decresce a cada iteração, convergência para a
tabela de valor representando política de ação ótima
contra um adversário usando uma política de ação fixa
 Se p não decresce até 0, bom desempenho mesmo contra
adversário que muda lentamente sua política de ação
 Ilustra como aprendizagem por reforço permite um
agente:
tomar em conta conseqüências de longo prazo da suas ações sem
busca explícita no espaço dos estados ou das seqüências de ações
adaptar-se a um adversário ou a um ambiente dinâmico sem um
modelo explícito do mesmo
Exemplos de aplicações práticas
da aprendizagem por reforço
 Jogos com agente treinado jogando contra ele mesmo, ou
várias encarnações ligeiramente diferentes dele
 Navegação e manipulação robótica
 Filtragem de e-mail sem aquisição manual nem de regras
de filtragem, nem de corpus de exemplos positivos e
negativos
Tipologia dos problemas
de aprendizagem por reforço







Passivo
Reforço em qualquer estado
Com modelo prévio do ambiente
Aprendizagem da função valor
Ambiente accessível
Ambiente determinista
Ambiente episódico
Ativo
Reforço em poucos estados
Sem modelo prévio do ambiente
Aprendizagem da função
ação-valor
 Ambiente inacessível
 Ambiente não determinista
 Ambiente não episódico




 No caso mais complexo,
a aprendizagem por reforço é
praticamente equivalente a IA
como um todo
Aprendizagem por reforço passivo x ativo
Passivo
Ativo
 Ambiente passa de um estado para
o outro sem intervenção do agente
 A cada transição, agente apenas:
 Agente tenta descobrir uma boa
política de ação
 A cada transição, agente:
percebe o estado e recebe reforço
atualiza sua representação do valor
desse estado
 Equivalente a situação na qual:
Agente faz mudar o ambiente pela
execução de uma política de ação
predefinida
Agente não tenta descobrir uma boa
política de ação
mas apenas avaliar política
predefinida
percebe o estado e recebe reforço
atualiza sua representação do valor
desse estado
escolhe uma ação a executar que
muda o estado do ambiente
Dilema aproveitamento-exploração
 Na aprendizagem por reforço ativa o agente enfrenta dilema
aproveitamento-exploração:
Quando gulosamente aproveitar da estimação atual da função valor e
escolher ação que a maximiza?
Quando curiosamente explorar outra ação que pode levar a melhorar
estimação atual da função valor?
Particularmente relevante quando aprendizagem ocorre durante
utilização, sem fase de treinamento prévio
Taxa de exploração = proporção de escolhas curiosas
Geralmente se começa com uma taxa de exploração alta que vai
decrescendo com tempo
Mesmo princípio do que o simulated annealing
Aprendizagem por reforço com reforço
em todos x em poucos estados
Reforço em todos os estados
Reforço em poucos estados
 Agente recebe reforço em todos
os estados
 Pode facilmente atribuir esse
reforço esse estado o a última
ação que executou
 Simplifica a atualização da
estimativa do valor desse estado
ou ação
 Agente recebe reforço apenas em
poucos estados
 Enfrenta o problema da
distribuição desse reforço entre
as várias ações que executou
desde o último reforço
 Dificulta atualização da estimativa
do valor dos estados ou das ações
Dilema da atribuição do mérito
 Na maioria dos casos, reforço é recebido apenas em alguns estados
 Em jogos, agente pode receber reforço apenas no estado final
(ganhou? perdeu? empatou?)
 As vezes, agente executa uma política de ação ótima com apenas um
único erro grave e recebe reforço negativo
 Como identificar qual foi a ação que causou esse reforço?
 A mesma ação no mesmo estado pode ser ótima no contexto de uma
serie de ações, mas péssima no contexto de uma outra serie
 Dilema geralmente resolvido iterativamente pela execução de muitas
series de ações diferentes
Valor de uma ação em um estado estimada como média do seu valor em
todas as series tentadas
Seu valor em uma serie tentada estimada como o reforço recebido pela
serie divido pelo tamanho da serie
 Computacionalmente caro
 Ressalta necessidade de exploração
Aprendizagem por reforço
com x sem modelo prévio do ambiente
Com modelo prévio do ambiente
Sem modelo prévio do ambiente
 Agente possui modelo do ambiente
para prever transições de estado
do ambiente causada pelas suas
ações
 Em ambiente não determinista tal
modelo pode ser apenas
estocástico
 Agente ignora a priori:
tanto o valor de cada estado do
ambiente com respeito a seus
objetivos
quanto as transições de estado do
ambiente que suas ações podem
causar
 Dois tipos de técnicas:
As que permitem ao agente
aprender o valor de ação para a
realização dos seus objetivos sem
conhecer o estado do ambiente
As que permitem aprender ambas a
função valor e a função de transição
de estado
Aprendizagem por reforço de
uma função valor x de uma função ação-valor
Função valor
Função ação-valor
 associa valor diretamente a
estados dos ambiente
 valor de uma ação indiretamente
definida como valor do estado
resultado da execução da ação
 aplicável apenas para agente com
modelo efetivo do ambiente (para
prever o estado resultado da
execução de cada ação)
 associa valor diretamente a pares
(estado(ambiente),ação)
 aplicável a agente:
sem modelo efetivo do ambiente
sem nenhum modelo de um ambiente
acessível
 com modelo apenas perceptivo de
um ambiente inacessível
 chamado de Aprendizagem Q
Aprendizagem por reforço de
uma função valor x de uma função ação-valor
0
0
0
100
0
0
0
0
0
0
90
81
Função Valor
100
0
0
0
Reforços
90
100
72
81
72
0
0
0
0
Reforços
81
100
90
81
100
81
0
81
90 90
72
100
81
Função Ação-Valor
Aprendizagem por reforço em ambiente
episódico x não episódico
Ambiente episódico
 O reforço recebido pelo agente
depende apenas do estado atual do
ambiente
 O estado sucessor depende apenas
do estado atual e da ação a
executar
 Ambos são independentes dos
estados precedentes pelo qual o
ambiente passou
 Escolher uma ação em tal ambiente
chama-se de processo de decisão
de Markov
 Pode se reusar o vasto leque de
técnicas de otimização iterativas
probabilistas disponíveis para tais
processos
Ambiente não episódico
 Agentes chegando no mesmo
estados do ambiente por caminhos
diferentes podem:
receber reforços diferentes
fazer passar o ambiente para
estados diferentes executando a
mesma ação nesse mesmo estado
 Técnicas baseadas em modelos de
Markov não se aplicam
Aprendizagem por reforço em ambiente
determinista x não determinista
Ambiente determinista
Ambiente não determinista
 Agente recebe sempre mesma
percepção e mesmo reforço ao
chegar em um determinado estado
do ambiente
 Agente executando a mesma ação
no mesmo estado do ambiente
sempre leva-o no mesmo estado
sucessor
 Função valor ou ação-valor podem
ser determinista
 Agente pode receber percepções e
reforços diferentes quando chegar
várias vezes no mesmo estado do
ambiente
 Execução da mesma ação no mesmo
estado pode levar o agentes para
estados sucessores diferentes
 Sensores e atuadores ruidosos são
umas das causas de tal não
determinismo
 Função valor ou ação-valor há de
ser estocástica
Técnicas
de Aprendizagem Por Reforço (APR)
 APR passiva com modelo efetivo do ambiente:
LMS: teoria do controle adaptativo
ADP: programação dinâmica adaptativa (pesquisa operacional)
TD: diferencia temporal
 APR passiva sem modelo efetivo do ambiente:
LMS e TD
 APR ativa com modelo efetivo do ambiente:
ADP ativa e TD ativa
Modelo previamente conhecido ou iterativamente aprendido junto
a função valor
 APR ativa sem modelo efetivo do ambiente:
Aprendizagem Q
APR passiva com modelo
do ambiente não determinista
3
+1
3 -0.0380
2
-1
2 -0.1646
1 Start
1
1 -0.2911
2
3
4
1
0.0886
0.2152
+1
-0.4430
-1
-0.4177
-0.5443
-0.7722
2
3
4
 Agente guarda para cada estado:
 probabilidades de transição para os outros estados
número de vezes que foi alcançado
estimativa atual de v
 Várias técnicas em função da formula de atualização de v
Teoria do controle adaptativa
 LMS: v(sk) = ij r(sij) / n
onde sij são os estados depois de sk nos n percursos já explorados
passando por sk
reduz aprendizagem por reforço a aprendizagem supervisionada
com reforços a vir já observados sendo o retorno
valor estimado de um estado função apenas de reforços ignorando
valor estimado de outros estados
por isso converge muito lentamente
como não usa modelo do
ambiente é utilizável para
APR sem modelo
Programação dinâmica adaptativa
e diferença temporal
 ADP: v(si) = r(si) + jp(trans(si,sj)).v(sj)
onde p(trans(si,sj)) é a probabilidade do ambiente passar do
estado si para o estado sj
valor estimado de um estado função do reforço no estado, dos
valores estimados em estados vizinhos e do modelo do ambiente
por isso converge mais rapidamente que LMS
porém computacionalmente caro por tomar em consideração, para
cada percurso, todos os vizinhos de todos os estados do percurso
intratável para ambientes com muitos estados, ex, jogo do
backgammon envolveria resolver sistema de 1050 equações com
1050 variáveis
 TD: v(si,ek) = v(si,ek-1) + (r(sj) + v(sj,ek-1) - v(si,ek-1))
valor estimado do estado função do reforço no estado e do valor
estimado de apenas um vizinho, o precedente no percurso atual
 rapidez de convergência melhor que LMS mas menor que ADP
 porém mais computacionalmente escalável do que ADP
APR passiva sem modelo efetivo
do ambiente não determinista
 LMS e TD de fato não usam modelo efetivo do ambiente
e então se aplicam a esse caso sem modificação
 ADP precisa ser modificado da seguinte maneira:
modelo adquirido simultaneamente com função valor via percursos
no ambiente
cada transição observada é registrada pelo agente
esse registros são generalizados por uma técnica de
aprendizagem supervisionada incremental como:
redes neurais
redes bayesianas
programação em lógica incremental
ADP ativa
 Mudanças chaves de passivo para ativo:
Adição de política de compromisso aproveitamento-exploração
Parametrização do modelo efetivo pelas ações a executar
 Atualização: v(si) = r(sj) + maxa e(jp(trans(si,a,sj)).v(sj) , n(a,sj)),
onde
p(trans(si,a,sj)) é a probabilidade do estado sj ser o resultado da
execução da ação a no estado si
n(a,sj) é o número de vezes a ação a foi escolhida no estado sj
e(v,n) é a função de exploração
e(v,n) = r+ se n  L
e(v,n) = v se n  L
r+ é uma estimativa otimista do maior reforço disponível no ambiente
L é um limiar fixo
 Modelo p(trans(si,a,sj)) aprendido semelhantemente a p(trans(si,sj)),
exceto pelo registro da ação executada que causou a transição
observada
TD ativa
 Coeficiente  no fórmula de atualização toma em
consideração compromisso aproveitamento-exploração:
 = 1 / 1 + n(a,s)
onde n(s,a) é o número de vezes a ação a foi escolhida no estado s
 Função de exploração e acrescentada para escolher a
ação a executar
 Modelo efetivo do ambiente:
 passa a ser necessário para escolher ação a executar a cada
passo
 pode ser aprendido iterativamente usando mesmas técnicas do
que no ADP ativo
Aprendizagem Q
 Aprende valor de uma determinada ação em um determinado estado
no lugar do valor desse estado em si
 Permite dispensar modelo efetivo do ambiente inteiramente, mesmo
no caso ativo
 não precisa ser fornecido como conhecimento prévio
 nem aprendido junto a função ação-valor
 Relação entre função valor e função ação-valor:
 v(e) = maxa q(a,e)
 Fórmula de atualização:
 q(am,si,ek) = q(am,si,ek-1) +
(r(si) + maxan q(an,sj,ek-1) - q(am,si,ek-1)) / (1 + n(am,si))
onde: n(am,si) é o número de vezes a ação am foi escolhida no estado si
 adaptação ao caso de aprendizagem de uma função ação-valor da fórmula
de atualização de TD
 ADP não pode ser usado para aprender valores q pós
re-introduziria necessidade de um modelo efetivo do ambiente
 Converge menos rapidamente que ADP
Representação intencional do ambiente
 Métodos apresentados até agora não são escaláveis para
domínios com muitos estados e com muitas ações
 Solução:
mudar de uma representação em extensão dos estados do
ambiente, dos efeitos das ações e do valor dos estados ou ações
para uma representação em intenção
integrar aprendizagem por reforço com representação do
conhecimento e/ou aprendizagem supervisionado incremental
 Cada elemento de um problema de APR pode ser
abstraído por um vetor de atributos, ex,
v(ei) = w1f1(ei) + ... + wnfn(ei)
Essa soma ponderada pode ser substituída ao v(ei) nas equações
de atualização
os pesos aprendidos usando aprendizagem supervisionado
incremental
os fj(ek) aprendidos resolvendo as novas equações abstratas
Aprendizagem por reforço x
resolução de problema por meio de busca
 Métodos de busca iterativas como gradiente crescente e
simulated annealing podem ser usadas para resolver
problemas de APR
 Buscam o espaço das políticas de ação diretamente, sem
recorrer ao conceito intermediário de função valor ou
função ação-valor
 Viável apenas com ambiente muito pequenos
 Não permitem aprendizagem durante utilização, mas
apenas durante treinamento prévio
Aprendizagem por reforço x
raciocínio baseado em conhecimento
 Raciocínio baseado em conhecimento
 pode ser usado por um agente aprendendo por reforço
 junto a uma representação em intenção do problema
 para:
 interpretar percepções para identificar reforço e estado do
ambiente
 prever efeitos das ações
 calcular utilidade
Aprendizagem por reforço x planejamento
 APR pode ser combinado com planejamento hierárquico
 A decomposição de um operador O na penúltima camada
mais baixa do planejador é:
 nem enlatada
 nem construída usando planejamento
 mas construída por uma agente de APR
 Quando o agente APR:
 executa uma serie de ações
 a partir de uns dos estados satisfazendo a precondição P(O)
 se o resultado é de fazer passar o ambiente por uns dos estados
satisfazendo o efeito E(O) ele recebe um reforço +
 senão, ele recebe um reforço -
Aprendizagem por reforço x
aprendizagem conexionista e evolucionista
 Redes neurais e algoritmos genéticos podem ser usados
para resolver problemas de APR
 Aprendem políticas de ação diretamente, sem recorrer
ao conceito intermediário de função valor ou função
ação-valor
 Os pesos de uma rede neural podem ser ajustados em
função da recepção de reforços positivos ou negativos
 A função de fitness de um algoritmo genético pode ser
definida em termos dos reforços positivos ou negativos
Tópicos avançados em
aprendizagem por reforço
 Aprendizagem por reforço hierárquico:
 Idéia semelhante ao planejamento hierárquico
 Tarefa do agente decomposta em camadas
 O comportamento aprendido por reforço a uma camada mais
baixa serve para execução de ação a camada acima
 Aprendizagem por reforço relacional
 Modelo intencional do ambiente
 Baseado em programas lógicos ou árvores de decisão com
variáveis lógicas
 Fornecido como conhecimento prévio, e/ou
 aprendido junto a função valor ou ação-valor
 via programação em lógica indutiva
 Aprendizagem por reforço multi-agentes
Leituras
 Capítulo 22 do AIMA de Russell & Norvig
www.cs.berkeley.edu/~russell/aima.html
 Capítulo 13 de Machine Learning do Mitchell
www.cs.cmu.edu/~tom/mlbook.html
 Reinforcement Learning, livro de Sutton & Barbo
http://www-anw.cs.umass.edu/~rich/book/the-book.html
 Reiforcement Learning: A Survey
de Kaelbling, L.P. & Littman, M.L.
www.cs.cmu.edu/afs/cs/project/jair/pub/volume4/
kaelbling96a-html/rl-survey.html
 ifile: An Application of Machine Learning to E-Mail
Filtering, http://citeseer.nj.nec.com/11099.html
Download

Aprendizagem por reforço