page1 das-5341: métodos de solução para problemas de aprendizagem por reforço prof. eduardo...

46
Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Upload: terezinha-gomes-cesario

Post on 07-Apr-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page1

DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço

Prof. Eduardo Camponogara

Page 2: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page2

Métodos de Solução Elementares

• Programação Dinâmica– Matematicamente fundamentados– Necessitam de um modelo completo e

acurado do ambiente• Métodos Monte Carlo

– Não necessitam de um modelo– Simples, mas podem ser lentos

• Métodos de Diferença Temporal– Não necessitam de modelos– Incrementais

• Observação: os métodos variam em termos de eficiência e taxa de convergência

Page 3: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page3

Programação Dinâmica• O termo PD (Programação Dinâmica) se

refere a uma coleção de algoritmos que podem ser usados para calcular políticas ótimas, dado um modelo perfeito do ambiente em MDP (Markov Decision Process)

• MDP perfeito do ambiente– S, conjunto de estados– A(s), ações possíveis no estado s– Ps,s’

a = Pr{st+1 = s’ | st = s, at = a}– Rs,s’

a = E{rt+1 | st+1 = s’, st = s, at = a}

Page 4: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page4

Programação Dinâmica• PD pode ser aplicada a problemas cujos espaços

de estados e ações são contínuos ou discretos– Na prática, faz-se uso de discretização

• Equações de otimalidade de Bellman

V*(s) = Max E{rt+1 + krt+k+2 | st = s, at = a } a k = 0

= Max Ps,s’a [ Rs,s’

a + V(s’) ] a s’

Page 5: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page5

Programação Dinâmica• Equações de otimalidade de Bellman

Q*(s, a) = E{rt+1 + Max Q*(st+1,a’) | st = s, at = a }

a’ = Ps,s’

a [ Rs,s’a + Max Q*(s’,a’) ]

s’ a’

Page 6: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page6

Avaliação de Política• Questão: dado um MDP e uma política ,

como podemos calcular V?

Page 7: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page7

Avaliação de Política

• V(s) = E{rt+1 + rt+2 + 2rt+3 + … | st = s}

= E{rt+1 + V(st+1) | st = s}

= (s, a) Ps,s’a [ Rs,s’

a + V(s’)] s S a s’

Page 8: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page8

Avaliação de Política• A existência de uma solução única é

garantida se < 1

• Se o ambiente é conhecido, temos um sistema de |S| equações lineares e |S| variáveis

• Possíveis métodos de solução– Métodos de Álgebra Linear– Processos iterativos síncronos e

assíncronos

Page 9: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page9

Processo Iterativo• Vk+1(s) = E{rt+1 + Vk(st+1) | st = s}

= (s, a) Ps,s’a [ Rs,s’

a + Vk(s’)] s S a s’

• Procedimento– Iniciamos com V0 arbitrário– Iteramos conforme acima, obtendo

• V0 V1 V2 … Vk = Vk+1

• Teorema. Lim Vk = V

K

Page 10: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page10

Avaliação de Política: Processo Iterativo

• Atualização Sequencial– Utiliza-se dois vetores, um para armazenar Vk

e outro para Vk+1

– Calcula-se Vk+1 sem modificar Vk

• Atualização Simultânea– Utiliza-se apenas um vetor– Mesmo assim, o algoritmo iterativo também

converge para V e, tipicamente, converge mais rapidamente

– A ordem de atualização importa

Page 11: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page11

Melhorando a Política• Uma das razões para se calcular a função valor de

uma política é guiar a busca de melhores políticas

• Considere uma a função valor V, gostaríamos de saber se é recomendável escolhermos uma ação a deterministicamente do que seguirmos a política– O valor de se escolher a deterministicamente é

Q(s,a) = E{rt+1 + V(st+1) | st = s, at = a}

= Ps,s’a [ Rs,s’

a + V(s’)] s’

Page 12: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page12

Melhorando a Política• Se Q(s,a) > V(s), então e’ melhor escolher a

ação “a” quando em “s”, depois seguir a política – Se espera obter maiores ganhos se sempre

escolhermos “a” no estado “s”, produzindo uma política ’ superior

• Teorema [Policy Improvement Theorem] Sejam e ’ dois pares de políticas determinísticas tal que:

Q(s, ’(s)) V(s) para todo s SEntão a política ’ produz desempenho melhor ou

igual a , ou seja,V’(s) V(s) para todo s S

Page 13: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page13

Política Gulosa• Uma extensão da idéia anterior é aplicarmos

“melhoria de política” em todos os estados e ações, selecionando em cada estado a ação que parece mais promissora de acordo com Q(s, a)

• Produzimos então a política gulosa ’

’(s) = Argmax Q(s, a) a

= Argmax E{rt+1 + V(st+1) | st = s, at = a} a = Argmax Ps,s’

a [ Rs,s’a + V(s’)]

a s’

Page 14: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page14

Política Gulosa• A política gulosa ’ satisfaz as condições do

Policy Improvement Theorem, portanto ’ é tão boa quanto

• O processo de melhorarmos a política original , por meio do procedimento guloso ou quase-guloso com respeito à política original, é dito “melhoria de política” (policy improvement)

Page 15: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page15

Política Gulosa• Caso mais de uma ação produza o valor

máximo, então no caso estocástico pode-se selecionar dentre as ações máximas com qualquer probabilidade.

Page 16: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page16

Iteração de Política•

• o V0 1 V1 … * V*

•E – Policy Evaluation• I – Policy Improvement

• Convergência: – A cada iteração a política resultante é estritamente

melhor do que a anterior– Uma vez que um MDP finito possui um número finito

de políticas determinísticas, o processo acima converge para uma política ótima e função valor ótima

Page 17: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page17

Algoritmo1) Inicialização

V(s) R e (s) A(s) são arbitrárias para cada s S

2) Avaliação de PolíticaRepita

0Para cada s S

u V(s)V(s) Ps,s’

(s) [ Rs,s’(s) + V(s’) ]

s’

Max(, |u – V(s)|)Enquanto (um número positivo pequeno)

Page 18: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page18

Algoritmo3) Iteração de Política

Política-estável verdadeiroPara cada s S

b (s)(s) Argmax Ps,s’

a [ Rs,s’a + V(s’) ]

a A(s) s’

If b (s) então política_estável falsoSe política_estável = falso, vá para 2

caso contrário, pare

Page 19: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page19

Exemplo -- GridWorld• Estados não terminais S = {1,

…, 14}• Para s S, as ações possíveis

são A(s) = {up, down, right, left}, com resultado determinístico, exceto as ações que levam para fora do quadro.

• Ex: P5,6right = 1 e P5,10

right = 0• O ganho é –1 em todas as

transições até que um estado terminal seja atingido

• Estados terminais são os quadrados escuros

1 2 3

4 5 6 7

8 9 10 11

12 13 14

Page 20: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page20

Calculando V para uniforme: k = 0

0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0

Vk para política randômica Política gulosa w.r.t Vk

Page 21: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page21

Calculando V para uniforme: k = 1

0.0 -1.0 -1.0 -1.0

-1.0 -1.0 -1.0 -1.0

-1.0 -1.0 -1.0 -1.0

-1.0 -1.0 -1.0 0.0

Vk para política randômica Política gulosa w.r.t Vk

Page 22: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page22

Calculando V para uniforme: k = 2

0.0 -1.7 -2.0 -2.0

-1.7 -2.0 -2.0 -2.0

-2.0 -2.0 -2.0 -1.7

-2.0 -2.0 -1.7 0.0

Vk para política randômica Política gulosa w.r.t Vk

Page 23: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page23

Calculando V para uniforme: k = 3

0.0 -2.4 -2.9 -3.0

-2.4 -2.9 -3.0 -2.9

-2.9 -3.0 -2.9 -2.4

-3.0 -2.9 -2.4 0.0

Vk para política randômica Política gulosa w.r.t Vk

Page 24: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page24

Calculando V para uniforme: k = 10

0.0 -6.1 -8.4 -9.0

-6.1 -7.7 -8.4 -8.4

-8.4 -8.4 -7.7 -6.1

-9.0 -8.4 -6.1 0.0

Vk para política randômica Política gulosa w.r.t Vk

Page 25: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page25

Calculando V para uniforme: k =

0.0 -14 -20 -22

-14 -18 -20 -20

-20 -20 -18 -14

-22 -20 -14 0.0

Vk para política randômica Política gulosa w.r.t Vk

Page 26: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page26

Exemplo: Aluguel de Veículo• João gerencia duas lojas de aluguel de veículos,

uma localizada na cidade A e outra, na cidade B

• Todos os dias clientes se dirigem a uma das lojas, havendo carro disponível na loja, João aluga um veículo por $10, caso contrário o negócio é perdido

• Para fazer com que veículos estejam disponíveis onde eles são procurado, veículos podem ser transportados de uma loja para outra a um custo de $2 por veículo

Page 27: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page27

Exemplo: Aluguel de Veículo• O número de veículos procurados e retornados

em uma loja são variáveis randômicas que obedecem a distribuição de Poisson, ou seja,

P(veículos = n) = ne-/n!, onde é o número esperado

• Seja pedido = 3 e retorno = 3 na loja #1

• Seja pedido = 4 e retorno = 2 na loja #2

Page 28: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page28

Exemplo: Aluguel de Veículo• Para simplificar o problema, assumimos que

existem no máximo 20 carros em cada loja (carros adicionais são retornados à matriz)

• Assumimos que no máximo 5 carros podem ser movidos de uma loja para outra

• Modelagem: podemos modelar o problema como um MDP– O estado é o número de veículos em cada

loja no fim do dia– O passos correspondem a dias– As ações correspondem ao número de

veículos transportados entre as lojas

Page 29: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page29

Iteração de Valor• O ponto fraco do método Iteração de

Política é a avaliação de política a cada iteração, o que é tipicamente custoso—a avaliação é por si só um processo iterativo que requer múltiplas varreduras do espaço de estados

• Se a avaliação de política é executada iterativamente, então convergência exata para V é garantida apenas no limite

Page 30: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page30

Iteração de Valor• Devemos aguardar convergência para a

função exata ou podemos parar antes de atingi-la?

Page 31: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page31

Iteração de Valor• Devemos aguardar convergência para a

função exata ou podemos parar antes de atingi-la?

– Felizmente a avaliação da política pode ser interrompida de diversas maneiras sem perdermos a garantia de convergência.

– Um caso especial é aquele onde executamos apenas uma varredura do espaço de estados. Esse método é chamado de Iteração de Valor.

Page 32: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page32

Iteração de Valor• O Algoritmo Iteração de Valor pode ser

escrito como uma operação que combina melhoria de política e avaliação truncada de política em um só passo:

Vk+1(s) = Max E{rt+1 + Vk(st+1) | st = s, at = a} a = Max Ps,s’

a [ Rs,s’a + Vk(s’)] s S

a s’

• Para V0 arbitrário, a sequência {Vk} converge para V* sob as mesmas condições que garantem a existência de V*

Page 33: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page33

Equação de Bellman• Equação de Bellman para V

V(s) = (s,a) Ps,s’a [ Rs,s’

a + V(s’)] s S

a s’

• Equação de Otimalidade de BellmanV*(s) = Max Ps,s’

a [ Rs,s’a + V*(s’)] s

S a s’

Page 34: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page34

Iteração de Valor• Da mesma forma que iteração de política,

iteração de valor necessita de um número infinito de iterações para convergência exata para V*.

• Na prática, interrompe-se o processo tão logo a função sofra pequena modificação após uma varredura completa do espaço de estados

• Iteração de valor combina eficientemente uma varredura de avaliação de política e uma varredura de melhoria de política

Page 35: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page35

Algoritmo Iteração de Valor1) Inicialize V arbitrariamente: V(s) = 0 s S2) Repita

0Para cada s S

u V(s)V(s) Max Ps,s’

a [ Rs,s’ + V(s’) ]

a s’

Max(, |u – V(s)|) Enquanto (um número positivo

pequeno)

Page 36: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page36

Algoritmo Iteração de Valor3) Calcule a política determinística

(s) = Argmax Ps,s’a [ Rs,s’

a + V(s’) ], s S a s’

Page 37: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page37

Programação Dinâmica Assíncrona

• O ponto fraco dos métodos DP (Dynamic Programming) vistos até então é a necessidade de varrer-se todos os estados a cada iteração

• Algoritmos DP assíncronos são algoritmos iterativos que não são organizados em termos de varreduras sistemáticas do espaço de estados– Os valores podem ser atualizados em qualquer

ordem e frequência– Para que convergência seja obtida, eles devem

periodicamente visitar todos os estados

Page 38: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page38

Programação Dinâmica Assíncrona

• De qualquer forma, iteração assíncrona não significa que a tarefa computacional será menos pesada.

Page 39: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page39

Programação Dinâmica Assíncrona

• De qualquer forma, iteração assíncrona não significa que a tarefa computacional será menos pesada.

– Ela nos dá flexibilidade que pode ser explorada de forma a obtermos um algoritmo mais eficiente

– Podemos, por exemplo, utilizar uma rede de computadores

Page 40: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page40

Programação Dinâmica Assíncrona

• DP assíncrona nos permite misturar computação com iteração em tempo-real. Para resolver um dado Problema MDP, um agente pode intercalar computações com interações com o ambiente:

– A experiência determina os estados cujos valores devem ser atualizados.

– Os valores mais recentes são usados para guiar o agente no processo de tomada-de-decisão.

Page 41: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page41

Iteração de Política Generalizada• Iteração de política consiste de dois processos interativos

simultâneos:– Um fazendo a função valor consistente com a política

corrente (avaliação de política) e– Outro fazendo a política gulosa com respeito à função

valor corrente (melhoria de política)

• Em iteração de política, os dois processos são alternados, cada um terminando antes do outro começar

• Em iteração de valor, apenas uma iteração de avaliação de política é executada entre cada melhoria de política

• Em DP assíncrono, avaliação e melhoria de política são intercaladas de forma mais fina

Page 42: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page42

Iteração de Política Generalizada• Enquanto que os dois processos sejam

alternados e todos os estados sejam visitados, os métodos acima convergem para a função valor ótima e política ótima.

• Utilizamos o termo Iteração de Política Generalizada (GPI) para nos referir à interação entre i) o processo de avaliação e ii) o processo de melhoria de política, independentemente da granularidade

Page 43: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page43

Iteração de Política Generalizada

Vgreedy(V)

V V

* V*

Page 44: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page44

Eficiência da Programação Dinâmica

• DP pode não ser prático para problemas com número muito grande de estados

• Ignorando-se detalhes técnicos, no pior caso DP leva tempo polinomial no número de estados e ações para encontrar a política ótima

n = |S|m = Max |A(s)|

s SPolinômio em m e n

Page 45: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page45

Eficiência da Programação Dinâmica

• DP é exponencialmente mais rápido do que qualquer busca direta no espaço de estados, pois esta teria que examinar cada uma das possíveis políticas– Existe um número mn de políticas

determinísticas

• Programação Linear pode ser utilizada para resolver MDPs e, em alguns casos, o desempenho pode ser superior

• DP assíncrono é preferido em problemas com muitos estados

Page 46: Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara

Page46

Fim• Obrigado!!!