36
Aprendizagem por Reforço Alexandre Luiz G. Damasceno

Aprendizagem por Reforço

  • Upload
    kapila

  • View
    23

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Aprendizagem por Reforço

Aprendizagem por Reforço

Alexandre Luiz G. Damasceno

Page 2: Aprendizagem por Reforço

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

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

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

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

Aprendizagem: exemplo

seqüência ótima

G G

G

recompensas imediatas Função utilidade

Ação valor

0

00

0

0

0

0

0

100

100

0

0

G

81

8172

90

81

72

90

81

100

100

81

90

0 90 1000

1009081

Page 7: Aprendizagem por Reforço

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 atributosnã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

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

Aprendizagem Passiva em um ambiente conhecido

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

Page 10: Aprendizagem por Reforço

Aprendizagem Passiva em um ambiente conhecido

• Algorítmo Geral

function Passive-RL-Agente(e) returns na action

static: U (tabela de utilidades),

N (tabela de freqüências),

M (tabela de transição de probabilidade),

percepts (percepeções)

add e to percepts

increment 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

Naïve updating (LMS)

function LMS-Update(U, e, percepts, M, N) returns an updated U

if Terminal?[e] then

reward-to-go 0

for 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

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

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

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

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

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

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

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

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

ADP ativo

• Alterações no Passive-RL-Agente:– probabilidade de passar de ‘i’ para ‘j’ dada uma ação

‘a’: Mija.

– 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

Aprendizagem Ativa em um ambiente desconhecido

function Active-ADP-Agente(e) returns na action

static: 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 percepts

R[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

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

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

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

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

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

Aprendizagem Q

function 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

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

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

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

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

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

Algoritmos Genéticos

Um exemplo:

000110010111

111010101100

001110101001

111011011100

000110010111

111010101100

111010101100

001110101001

32%

24%

24%

20%

000110101100

111010010111

111010101001

001110101100

Page 34: Aprendizagem por Reforço

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

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

FIM