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!!!
Top Related