aprendizagem por reforço alexandre luiz g. damasceno
TRANSCRIPT
Aprendizagem por Reforço
Alexandre Luiz G. Damasceno
Sumário• Motivação.• Reforço.• Função-utilidade x Ação-valor.• Aprendizagem por reforço.
– Passivo em um ambiente conhecido.– Passivo em um ambiente desconhecido.– Exploração.– Ativo.– Generalização– algoritmos genéticos
• Relação da aprendizagem com reforço com outras áreas de IA e estatística
• Conclusões
Motivação
• Ambientes e aplicações pelas quais não são disponíveis: – função explícita da utilidade
• das ações do agentes para seus objetivos• do estado do ambiente para os mesmos
– feedback detalhado a cada passo sobre utilidade • ex, RoboCup, xadrez sem professor• feedback limitado a reforços para uma seqüência de ação• novo problema pelo agente aprendiz: como atribuir quais
ações na seqüência são responsáveis pelo reforço (positivo ou negativo)
– transições explícita de estado (as vezes nem probabilisticamente)
Reward (Reforço)• O reward pode ser calculado de várias maneiras:
– Rt + *rt+1 + 2*rt+2 + ... =
i=0 i*rt+i , onde ri é o reward
por chegar ao estado ‘i’ e um valor entre (0 e 1). ‘i’ é contado do final até o início.
hi=0 ri
– limh(1/h* hi=0 ri)
• O reward pode ser dado de várias maneiras– A cada passo.– Ou só no final.
Função de utilidade vs. Ação-valor
• Função de utilidade: Precisa ter um modelo do ambiente, para saber a qual estado a ação o levará.
• Ação-valor: Não precisa ter o modelo do mundo, mas não pode prevê situações.
Aprendizagem: exemplo
seqüência ótima
G G
G
recompensas imediatas Função utilidade
Ação valor
0
00
0
00
0
0
100
100
00
G
81
8172
90
8172
90
81
100
100
8190
0 90 100 0
1009081
Aprendizagem por reforço:características gerais
• Tarefas: controle• Ambiente pode ser:
– inacessível, não episódico – discreto ou não, ruidoso– dinâmico?, não determinístico – grande, – distinção relacional x atributos
não se aplica
• Por reforço• Treino antes da ação ou
durante a ação
• Incremental• Iterativo• Top-down x bottom-up não se
aplica• Guloso• Local• Pode aproveitar conhecimento
prévio para podar busca da hipótese
• Aproxima qualquer função– de utilidade ou de política de ação
Representação do conhecimento:• função de utilidade dos estados do ambiente• ou função de política de ação no ambiente
Aprendizagem por reforço:variação das situações
• Ambiente: acessível ou não, discreto ou não, finito.• Recepção do reforço:
– em qualquer estado, apenas nos estados finais.
• Aprendizagem:– antes ou durante ação (passivo x ativo).– com modelo prévio do ambiente.
• política de ação• função de utilidade dos estados• transição (probabilísticas) de um estado para outro
• Representação do conhecimento– política de ação ou função de utilidade dos estados.– em extensão x em intenção (ex, com atributos ou lógica).
• sub-tarefa de classificação envolvida
Aprendizagem Passiva em um ambiente conhecido
• O ambiente gera estados de transição e o agente os percebe.
Aprendizagem Passiva em um ambiente conhecido
• Algorítmo Geral
function Passive-RL-Agente(e) returns na actionstatic: U (tabela de utilidades),
N (tabela de freqüências), M (tabela de transição de probabilidade), percepts (percepeções)
add e to perceptsincrement N[State[e]]U Update(U, e, percepts, M, N)if Terminal?[e] then percepts [ ]return the action Observe
Naïve updating (LMS)
function LMS-Update(U, e, percepts, M, N) returns an updated Uif Terminal?[e] then
reward-to-go 0for each ei in percepts (starting at end) do
reward-to-go reward-to-go + Reward[ei]
U[State[ei]] Running-Average(U[State[ei]],
reward-to-go, percepts, N[State[ei]])
end
• U(t) = Rt + *rt+1 + 2*rt+2 + ... =
i=0 i*rt+i
– Como em redes neurais
LMS: exemplo
+1
-1
start
Percepts =
N++
U = f
e21
e1
N++ e22
U = f
U = Utilidade
N = No de vezes alcançadas
e = percepção
LMS: características• Ambiente: acessível ou não, discreto ou contínuo, finito• Recepção do reforço:
– apenas nos estados finais
• Aprendizagem:– antes da ação (passivo)– com modelo prévio do ambiente
• função de utilidade dos estados• transição (probabilísticas) de um estado para outro
• Representação do conhecimento– função de utilidade dos estados– em extensão x em intenção (ex, com atributos ou lógica)
• sub-tarefa de classificação envolvida– Reduz o problema a aprendizagem indutiva.– Não considera que a utilidade dos estados possam ser dependentes.
ADP passivo• Programação dinâmica adaptativa (ADP)
– U(i) = R(i) + j(Mij U(j)), onde R(i) é o reforço do estado i e Mij é a probabilidade de passar do estado i para o estado j.
ADP passivo: exemplo
+1
-1
start
Percepts =
N++
U = f(M)
e21
e1
N++ e22
U = f(M)
U = Probabilidade de transição
N = No de vezes alcançadas
e = percepção
M = Probabilidade
TD• Aprendizagem por diferença temporal (TD)
– U(i) = U(i) + (R(i) + U(j) - U(i)), onde é a taxa de aprendizagem.
– Impactos do : Caso ocorra um estado novo sem o ? E com ?
function TD-Update(U, e, percepts, M, N) returns the utility table U if Terminal?[e] then U[State[e]] Running-Average(U[State[e]], Reward[e],U[State[e]]) else if percepts contains more than one element then e’ the penultimate element of percepts i, j State[e’], State[e] U[i] U[i] + (N[i])(Reward[e’] + U[j] - U[i])
TD: exemplo
+1
-1
start
Percepts =
N++
U = f(i-1)
e21
e1
N++ e22
U = f(i-1)
U = Probabilidade de transição
N = No de vezes alcançadas
e = percepção
TD: características• Ambiente: acessível ou não, discreto ou não, finito• Recepção do reforço:
– em qualquer estado
• Aprendizagem:– antes da ação (passivo)– com modelo prévio do ambiente
• função de utilidade dos estados• transição (probabilísticas) de um estado para outro
• Representação do conhecimento– função de utilidade dos estados– em extensão x em intenção (ex, com atributos ou lógica)
• sub-tarefa de classificação envolvida– considera que a utilidade dos estados possam ser dependentes.
Aprendizagem Passiva em um ambiente desconhecido
• LMS e TD permanecem inalterados.
• No ADP, é preciso adicionar um passo para atualizar o modelo estimado do ambiente. E assim usar este modelo no processo de aprendizagem como se fosse o ambiente real.
ADP ativo• Alterações no Passive-RL-Agente:
– probabilidade de passar de ‘i’ para ‘j’ dada uma ação ‘a’: Mij
a.
– U(i) = R(i) + maxa (Mija U(j)).
– O agente deve escolher uma ação a cada passo e precisará de um elemento de performance para tanto.
• Performance-Element(e): retorna uma ação.
– Deve-se preocupar-se com a alteração estimada do ambiente, pois esta depende agora da ação tomada.
• Update-Active-Model recebe uma ação também.
Aprendizagem Ativa em um ambiente desconhecido
function Active-ADP-Agente(e) returns na actionstatic: U (tabela de utilidades),
N (tabela de frequüências), R (tabela de rewards), M (tabela de transição de probabilidade), percepts (percepeções), last-action, ação imediatamente executada
add e to perceptsR[State[e]] Reward[e]M Update-Active-Model(M, percepts, last-action)U Value-Interation(U, M, R)if Terminal?[e] then percepts [ ]last-action Performance-Element(e)return the last-action
ADP: características• Ambiente: acessível ou não, discreto ou não, finito• Recepção do reforço:
– em qualquer estado.
• Aprendizagem:– antes ou durante. (passivo x ativo)– com modelo prévio do ambiente.
• função de utilidade dos estados• transição (probabilísticas) de um estado para outro
• Representação do conhecimento– função de utilidade dos estados.– em extensão x em intenção (ex, com atributos ou lógica)
• sub-tarefa de classificação envolvida– considera que a utilidade dos estados possam ser dependentes.
Exploração• Possui como principal objetivo qual o melhor elemento-
performance o agente deve retornar.
• Características básica– Ganha um reward do estado corrente– Afeta as percepções recebidas, bem como a habilidade do
agente de aprender - e recebe rewards nas seqüências futuras.
Sempre a que levar a uma melhor utilidade no novo estado.
Pode simplesmente descobrir uma rota aceitável.
Explorar novos estados sem se preocupar com a utilidade.
Sempre atrás de novos conhecimentos sem os colocar em prática
?
Exploração• Solução encontrada:
– Explorar no início para aprender mais sobre o ambiente e depois se concentrar no melhor caminho.
– U+(i) R(i) + maxa f(j(MaijU+(j)), N(a,i)).
– f(u,n) = R+ se n < Ne
u caso contrário
Estimativa ótima da utilidade
Q-learning• A utilidade está associada com a uma ação em um
dado estado (Q-values).– U(i) = maxaQ(a,i)
• É importante para a aprendizagem por reforço pois:– como as regras de condição, não precisa de um modelo
para tomar decisão– diferente das regras de condição, a função pode ser
aprendida diretamente pelo reforço.
Aprendizagem Q• Regra para manter o equilíbrio da corretude dos
Q-values:– Q(a,i) = R(i) + j(Mij
a maxa’Q(a’,j))– Como no ADP, pode-se usar esta equação como uma de
atualização para um processo de atualização que calcula Q-values dado um modelo estimado.
• Já o TD Q-learning, não precisa do modelo:– Q(a,i) Q(a,i) + (R(i) + maxa’Q(a’,j) - Q(a,i))
Ação do próximo estado
Aprendizagem Qfunction Q-Learning-Agente(e) returns na action
static: Q (tabela de valores das ações), N (tabela de frequüências),
a, ação imediatamente já executada i (estado visitado anteriormente), r (reward recebido no estado i),
j State[e]if i is not-null then N[a,i] N[a,i] + 1 Q[a,i] Q[a,i] + (r + maxa’Q(a’,j) - Q(a,i))
if Terminal?[e] then percepts [ ] else i j; r Reward[e]a arg maxa’f(Q[a’,j], N[a’,j])
return a
Q: características• Ambiente: acessível ou não, discreto ou não, finito.• Recepção do reforço:
– em qualquer estado ou apenas nos estados finais.
• Aprendizagem:– durante ação (ativo)– com modelo prévio do ambiente.
• política de ação• transição (probabilísticas) de um estado para outro
• Representação do conhecimento– política de ação.– em extensão x em intenção (ex, com atributos ou lógica)
• sub-tarefa de classificação envolvida– considera que a ação dos estados possam ser dependentes.
Aprendizagem Q• Questões: É melhor aprender um modelo e uma
função de utilidade ou apenas uma função de ação-valor sem um modelo?
?
Generalização– Forma tabular: Para cada tupla (U, M, R, Q) tem-se um
valor de saída. Isto significa inviabilidade em ambientes com muitos estados diferentes (mundo real).
– Solução: uma forma de calcular a saída para cada entrada, mas da forma mais compacta que a forma tabular (representação implícita).
– Exemplo: U(i) = w1f1(i) + w2f2(i) + ... + wnfn(i). Onde f são as características do ambiente e w os pesos dado.
– Essa compressão pode levar ao poder de generalização (de estados visitados para os não visitados).
– Isso faz com que estes métodos se chamem input generalization.
Generalização• Pode-se usar algoritmos genéticos para aproximar
os pesos da função dada da função real.
• Pode-se usar redes neurais no caso de ter-se <estado-ação>-valor, onde a ação e o estado seriam o imput da rede e o valor o out-put.
• Pode-se usar aprendizagem de árvore de decisão.
Algoritmos Genéticos• Problemas:
– Qual a função de utilidade?– Como representar o indivíduo?– Como selecionar o indivíduo?– Como ele se reproduz?– (Condição de parada)
• Funções usados:– função de utilidade: quanto maior o seu retorno melhor
é o indivíduo.– Função de escolha dos indivíduos.– Replicação e morte.– Cross-over e mutação.
Algoritmos GenéticosUm exemplo:
000110010111
111010101100
001110101001
111011011100
000110010111
111010101100
111010101100
001110101001
32%
24%
24%
20%
000110101100
111010010111
111010101001
001110101100
Relação da aprendizagem com reforço com outras áreas de IA e estatística
• IA em geral• Resolução de problema com busca• Planejamento• Otimização:
– programação dinâmica– algoritmos genéticos
Conclusões• Usado em várias áreas como:
– jogos– robótica
• É uma pequena área da IA mais que é bastante estudada e tem grande interseção com áreas fora da IA cujas técnicas podem ser aproveitadas, pelo menos para inspiração conceitual.
• Como todo aprendizado, não deixa de ser uma busca.• Assemelha-se ao aprendizado de um animal
FIM