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

Post on 07-Apr-2016

215 views 1 download

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

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

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}

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’

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’

Page6

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

como podemos calcular V?

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’

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

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

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

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’

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

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’

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)

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.

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

Page30

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

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

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.

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*

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’

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

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)

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’

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

Page38

Programação Dinâmica Assíncrona

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

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

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.

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

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

Page43

Iteração de Política Generalizada

Vgreedy(V)

V V

* V*

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

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

Page46

Fim• Obrigado!!!