aprendizagem por reforço alexandre luiz g. damasceno

36
Aprendizagem por Reforço Alexandre Luiz G. Damasceno

Upload: anavitoria-lobo

Post on 07-Apr-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

Aprendizagem por Reforço

Alexandre Luiz G. Damasceno

Page 2: 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

Page 3: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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)

Page 4: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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.

Page 5: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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.

Page 6: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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

Page 7: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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

Page 8: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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

Page 9: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

Aprendizagem Passiva em um ambiente conhecido

• O ambiente gera estados de transição e o agente os percebe.

Page 10: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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

Page 11: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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

Page 12: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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

Page 13: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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.

Page 14: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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.

Page 15: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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

Page 16: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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])

Page 17: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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

Page 18: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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.

Page 19: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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.

Page 20: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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.

Page 21: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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

Page 22: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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.

Page 23: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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

?

Page 24: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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

Page 25: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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.

Page 26: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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

Page 27: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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

Page 28: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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.

Page 29: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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?

?

Page 30: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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.

Page 31: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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.

Page 32: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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.

Page 33: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

Algoritmos GenéticosUm exemplo:

000110010111

111010101100

001110101001

111011011100

000110010111

111010101100

111010101100

001110101001

32%

24%

24%

20%

000110101100

111010010111

111010101001

001110101100

Page 34: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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

Page 35: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

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

Page 36: Aprendizagem por Reforço Alexandre Luiz G. Damasceno

FIM