Por que o algoritmo de iteração de política converge para a função ideal de política e valor?


10

Eu estava lendo as notas da aula de Andrew Ng sobre aprendizado por reforço e estava tentando entender por que a iteração de políticas convergiu para a função de valor ideal e a política ideal .Vπ

Lembre-se de que a iteração da política é:

Initialize π randomlyRepeat{Let V:=Vπ \for the current policy, solve bellman's eqn's and set that to the current VLet π(s):=argmaxaAsPsa(s)V(s)}

Por que um algoritmo ganancioso leva a uma política ótima e a uma função de valor ideal? (Eu sei que algoritmos gananciosos nem sempre garantem isso ou podem ficar presos nos ótimos locais, então eu só queria ver uma prova de sua otimização do algoritmo).

Além disso, parece-me que a iteração da política é algo análogo à descida em cluster ou gradiente. Para cluster, porque com a configuração atual dos parâmetros, otimizamos. Semelhante à descida do gradiente, porque apenas escolhe algum valor que parece aumentar alguma função. Esses dois métodos nem sempre convergem para o máximo ideal e eu estava tentando entender como esse algoritmo era diferente dos anteriores.


Estes são os meus pensamentos até agora:

Digamos que começamos com alguma política ; depois da primeira etapa, para essa política fixa, temos o seguinte:π1

Vπ1(s)=R(s)+γsPsπ1(s)(s)Vπ1(s)

V(1):=Vπ1(s)

Onde V ^ {(1)} é a função de valor para a primeira iteração. Depois da segunda etapa, escolhemos uma nova política para aumentar o valor de . Agora, com a nova política , se fizermos o segundo passo do algoritmo, a seguinte desigualdade será verdadeira:π2Vπ1(s)π2

R(s)+γsPsπ1(s)(s)Vπ1(s)R(s)+γsPsπ2(s)(s)Vπ1(s)

Como escolhemos na segunda etapa para aumentar a função de valor na etapa anterior (ou seja, para melhorar . Até agora, é claro que a escolha de só pode aumentar V ^ {(1)}, porque é assim que escolhemos No entanto, minha confusão vem na etapa de repetição, porque, uma vez que repetimos e voltamos à etapa 1, na verdade mudamos completamente as coisas porque recalculamos para a nova política . Que dá:π2V(1)π2π2V2π2

Vπ2(s)=R(s)+γsPsπ2(s)(s)Vπ2(s)

mas NÃO é:

Vπ1(s)=R(s)+γsPsπ2(s)(s)Vπ1(s)

O que parece ser um problema porque foi escolhido para melhorar , e não esse novo . Basicamente, o problema é que garantias para melhorar , fazendo vez de quando a função de valor é . Porém, na etapa de repetição, para , mas não vejo como isso garante que a função value melhore monotonicamente a cada repetição porque foi calculado para melhorar a função value quando as funções de valor permanecem emπ2V(1)Vπ2pi2R(s)+γsPsπ1(s)(s)Vπ1(s)π2pi1Vπ1Vπ1Vπ2π2Vπ1 V π 1, mas a etapa 1 altera para (o que é ruim porque eu apenas a função de valor anterior que tínhamos).Vπ1Vπ2π2


11
Apenas uma observação: ganancioso não implica que um algoritmo não encontre uma solução ótima em geral.
Regenschein 31/08/2015

11
A iteração de valor é um algoritmo de Programação Dinâmica, e não um ganancioso. Os dois compartilham algumas semelhanças, mas existem diferenças. Dê uma olhada em stackoverflow.com/questions/13713572/… .
31817 francoisr

@Francoisr ninguém nunca me disse isso. Talvez seja por isso que foi tão (desnecessariamente) misterioso para mim. Eu sei DP muito bem. Obrigado embora! :)
Pinóquio

Respostas:


4

Acho que a parte que você está perdendo é que está garantida pelo mesmo motivo que podemos solicitar . Essa é essencialmente a definição de uma política como melhor do que outra - que sua função de valor é maior ou igual em todos os estados. Você garantiu isso escolhendo as ações de maximização - nenhum valor de estado pode ser pior do que era antes e, se apenas uma opção de ação foi alterada para escolher uma ação de maximização melhor, você já sabe (mas pode não ter calculado) que o valor para esse estado será maior do que era para . π 2π 1 V π 2 ( s ) V π 1 ( s )Vπ2Vπ1π2π1Vπ2(s)Vπ1(s)

Quando optamos por maximizar os resultados para gerar , não sabemos quais os novos para qualquer estado, mas sabemos que .V π 2 ( s ) s : V π 2 ( s ) V π 1 ( s )π2Vπ2(s)s:Vπ2(s)Vπ1(s)

Portanto, é garantido que o retorno ao loop e o cálculo de para a nova política tenham valores iguais ou superiores aos anteriores e, quando se trata de atualizar a política novamente, . π 3π 2π 1Vπ2π3π2π1


4

Primeiro vamos ver por que o algoritmo de iteração de políticas funciona. Tem dois passos.

Etapa de avaliação de políticas:

vn=rdn+γPdnvn é a forma vetorial geral do sistema de equações lineares.

Aqui, os termos são recompensas imediatas e linhas correspondentes da matriz de transição.rdn,Pdn

Esses termos dependem da políticaΠn

Resolvendo o sistema de equações acima, podemos encontrar os valores devn

Etapa de aprimoramento de políticas:

Suponha que fomos capazes de encontrar uma nova política queΠn+1

rdn+1+γPdn+1vnrdn+γPdnvnrdn+1[IγPdn+1]vnsay this is eqn. 1

Agora, com base na nova política , podemos encontrar , diga que esta é a equação 2. v n + 1 = r d n + 1 + γ P d n + 1 v n + 1Πn+1vn+1=rdn+1+γPdn+1vn+1

Vamos mostrar que ;vn+1vn

ou seja, essencialmente para todos os estados, a política recém-escolhida fornece um valor melhor em comparação com a política Π nΠn+1Πn

Prova:

A partir da equação 2, temos,

[IγPdn+1]vn+1=rdn+1

De, , temos1&2

vn+1vn

Essencialmente, os valores estão aumentando monotonicamente a cada iteração.

É importante entender por que a Política de Interação não ficará paralisada no máximo local.

Uma política nada mais é que um espaço de ação estatal.

Em cada etapa da iteração de política, tentamos encontrar pelo menos uma ação de estado diferente entre e e ver se . Somente se a condição for atendida, calcularemos a solução para o novo sistema de equações lineares. Π nΠn+1Πnrdn+1+γPdn+1vnrdn+γPdnvn

Suponha que e são o ideal global e local, respectivamente.Π #ΠΠ#

Implica,vv#

Suponha que o algoritmo esteja travado no ideal local.

Se esse for o caso, a etapa de aprimoramento da política não será interrompida no espaço de ação de estado ideal local , pois existe pelo menos uma ação de estado em que é diferente de e gera um valor mais alto de comparado aΠ Π # v v #Π#ΠΠ#vv#

ou, em outras palavras,

[IγPd]v[IγPd]v#

rd[IγPd]v#

rd+γPdv#v#

rd+γPdv#rd#+γPd#v#

Portanto, a iteração da política não para em um local ideal

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.