A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Page1 DAS-5341: Métodos de Solução para Problemas de Aprendizagem por Reforço Prof. Eduardo Camponogara."— Transcrição da apresentação:

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

2 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

3 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 –P s,s’ a = Pr{s t+1 = s’ | s t = s, a t = a} –R s,s’ a = E{r t+1 | s t+1 = s’, s t = s, a t = a}

4 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  {r t+1 +  k r t+k+2 | s t = s, a t = a } a k = 0 = Max  P s,s’ a [ R s,s’ a +  V  (s’) ] a s’

5 Page5 Programação Dinâmica Equações de otimalidade de Bellman Q * (s, a) = E{r t+1 +  Max Q*(s t+1,a’) | s t = s, a t = a } a ’ =  P s,s’ a [ R s,s’ a +  Max Q*(s’,a’) ] s’ a’

6 Page6 Avaliação de Política Questão: dado um MDP e uma política , como podemos calcular V  ?

7 Page7 Avaliação de Política V  (s) = E  {r t+1 +  r t+2 +  2 r t+3 + … | s t = s} = E  {r t+1 +  V  (s t+1 ) | s t = s} =   (s, a)  P s,s’ a [ R s,s’ a +  V  (s’)]  s  S a s ’

8 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

9 Page9 Processo Iterativo V k+1 (s) = E  {r t+1 +  V k (s t+1 ) | s t = s} =   (s, a)  P s,s’ a [ R s,s’ a +  V k (s’)]  s  S a s ’ Procedimento –Iniciamos com V 0 arbitrário –Iteramos conforme acima, obtendo V 0  V 1  V 2  …  V k = V k+1 Teorema. Lim V k = V  K 

10 Page10 Avaliação de Política: Processo Iterativo Atualização Sequencial –Utiliza-se dois vetores, um para armazenar V k e outro para V k+1 –Calcula-se V k+1 sem modificar V k 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

11 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  {r t+1 +  V  (s t+1 ) | s t = s, a t = a} =  P s,s’ a [ R s,s’ a +  V  (s’)] s’

12 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  S Então a política  ’ produz desempenho melhor ou igual a , ou seja, V  ’ (s)  V  (s) para todo s  S

13 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  {r t+1 +  V  (s t+1 ) | s t = s, a t = a} a = Argmax  P s,s’ a [ R s,s’ a +  V  (s’)] a s’

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

15 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.

16 Page16 Iteração de Política     o  V  0   1  V  1  …   *  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

17 Page17 Algoritmo 1) Inicialização V(s)  R e  (s)  A(s) são arbitrárias para cada s  S 2) Avaliação de Política Repita   0 Para cada s  S u  V(s) V(s)   P s,s’  (s) [ R s,s’  (s) +  V(s’) ] s’   Max( , |u – V(s)|) Enquanto    (um número positivo pequeno)

18 Page18 Algoritmo 3) Iteração de Política Política-estável  verdadeiro Para cada s  S b  (s)  (s)  Argmax  P s,s’ a [ R s,s’ a +  V(s’) ] a  A(s) s’ If b   (s) então política_estável  falso Se política_estável = falso, vá para 2 caso contrário, pare

19 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: P 5,6 right = 1 e P 5,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 123 4567 891011 121314

20 Page20 Calculando V  para  uniforme: k = 0 0.0 V k para política randômica Política gulosa w.r.t V k

21 Page21 Calculando V  para  uniforme: k = 1 0.0 0.0 V k para política randômica Política gulosa w.r.t V k

22 Page22 Calculando V  para  uniforme: k = 2 0.0-1.7-2.0 -1.7-2.0 -1.7 -2.0 -1.70.0 V k para política randômica Política gulosa w.r.t V k

23 Page23 Calculando V  para  uniforme: k = 3 0.0-2.4-2.9-3.0 -2.4-2.9-3.0-2.9 -3.0-2.9-2.4 -3.0-2.9-2.40.0 V k para política randômica Política gulosa w.r.t V k

24 Page24 Calculando V  para  uniforme: k = 10 0.0-6.1-8.4-9.0 -6.1-7.7-8.4 -7.7-6.1 -9.0-8.4-6.10.0 V k para política randômica Política gulosa w.r.t V k

25 Page25 Calculando V  para  uniforme: k =  0.0-14-20-22 -14-18-20 -18-14 -22-20-140.0 V k para política randômica Política gulosa w.r.t V k

26 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

27 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) = n e - /n!, onde é o número esperado Seja pedido = 3 e retorno = 3 na loja #1 Seja pedido = 4 e retorno = 2 na loja #2

28 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

29 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

30 Page30 Iteração de Valor Devemos aguardar convergência para a função exata ou podemos parar antes de atingi-la?

31 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.

32 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: V k+1 (s) = Max E{r t+1 +  V k (s t+1 ) | s t = s, a t = a} a = Max  P s,s’ a [ R s,s’ a +  V k (s’)]  s  S a s’ Para V 0 arbitrário, a sequência {V k } converge para V* sob as mesmas condições que garantem a existência de V*

33 Page33 Equação de Bellman Equação de Bellman para V  V  (s) =   (s,a)  P s,s’ a [ R s,s’ a +  V  (s’)]  s  S a s’ Equação de Otimalidade de Bellman V*(s) = Max  P s,s’ a [ R s,s’ a +  V*(s’)]  s  S a s’

34 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

35 Page35 Algoritmo Iteração de Valor 1) Inicialize V arbitrariamente: V(s) = 0  s  S 2) Repita   0 Para cada s  S u  V(s) V(s)  Max   P s,s’ a [ R s,s’  +  V(s’) ] a s’  Max( , |u – V(s)|) Enquanto    (um número positivo pequeno)

36 Page36 Algoritmo Iteração de Valor 3) Calcule a política determinística  (s) = Argmax   P s,s’ a [ R s,s’ a +  V(s’) ],  s  S a s’

37 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

38 Page38 Programação Dinâmica Assíncrona De qualquer forma, iteração assíncrona não significa que a tarefa computacional será menos pesada.

39 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

40 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.

41 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

42 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

43 Page43 Iteração de Política Generalizada  V  greedy(V) V  V  ** V*

44 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  S Polinômio em m e n

45 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 m n 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

46 Page46 Fim Obrigado!!!


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

Apresentações semelhantes


Anúncios Google