Na aprendizagem por reforço, qual é a diferença entre iteração de política e iteração de valor ?
Tanto quanto eu entendo, na iteração de valor, você usa a equação de Bellman para resolver a política ótima, enquanto, na iteração de política, você seleciona aleatoriamente uma política π e encontra a recompensa dessa política.
Minha dúvida é que se você estiver selecionando uma política aleatória π em PI, como é que ela é garantida como a política ótima, mesmo se estivermos escolhendo várias políticas aleatórias.
Respostas:
Vamos examiná-los lado a lado. As principais partes para comparação são destacadas. As figuras são do livro de Sutton e Barto: Reinforcement Learning: An Introduction .
Pontos chave:
Em minha experiência, a iteração de política é mais rápida do que a iteração de valor , pois uma política converge mais rapidamente do que uma função de valor. Lembro que isso também está descrito no livro.
Acho que a confusão veio principalmente de todos esses termos um tanto semelhantes, que também me confundiram antes.
fonte
Em algoritmos de iteração de política , você começa com uma política aleatória, em seguida, encontra a função de valor dessa política (etapa de avaliação de política) e, em seguida, encontra uma nova política (aprimorada) com base na função de valor anterior e assim por diante. Neste processo, cada política tem a garantia de ser uma melhoria estrita em relação à anterior (a menos que já seja ótima). Dada uma política, sua função de valor pode ser obtida usando o operador Bellman .
Na iteração de valor , você começa com uma função de valor aleatório e então encontra uma nova função de valor (melhorada) em um processo iterativo, até atingir a função de valor ideal. Observe que você pode derivar facilmente a política ideal da função de valor ideal. Este processo é baseado no operador Bellman de otimalidade .
Em certo sentido, os dois algoritmos compartilham o mesmo princípio de funcionamento e podem ser vistos como dois casos de iteração de política generalizada . No entanto, o operador Bellman de otimalidade contém um operador máximo , que não é linear e, portanto, possui características diferentes. Além disso, é possível usar métodos híbridos entre iteração de valor puro e iteração de política pura.
fonte
A diferença básica é -
Na Iteração de Política - você seleciona aleatoriamente uma política e encontra a função de valor correspondente a ela, em seguida, encontra uma nova política (aprimorada) com base na função de valor anterior e, assim, isso levará à política ideal.
Em Iteração de valor - você seleciona aleatoriamente uma função de valor e, em seguida, encontra uma nova função de valor (aprimorada) em um processo iterativo, até atingir a função de valor ideal e, a seguir, obtém a política ideal dessa função de valor ideal.
A iteração de política funciona com base no princípio de “Avaliação de política —-> Melhoria de política”.
A iteração de valor funciona com base no princípio de “Função de valor ideal —-> política ótima”.
fonte
No que me diz respeito, ao contrário da ideia de @zyxue, VI é geralmente muito mais rápido que PI.
O motivo é muito simples, como você já sabia, a Equação de Bellman é usada para resolver a função de valor para determinada política. Uma vez que podemos resolver a função de valor para a política ótima diretamente , resolver a função de valor para a política atual é obviamente uma perda de tempo.
Quanto à sua pergunta sobre a convergência do PI, acho que você pode ignorar o fato de que se você melhorar a estratégia para cada estado de informação, você melhorará a estratégia para todo o jogo. Isso também é fácil de provar, se você estiver familiarizado com Minimização de arrependimento contrafactual - a soma do arrependimento para cada estado de informação formou o limite superior do arrependimento geral e, assim, minimizar o arrependimento de cada estado irá minimizar o arrependimento geral, que conduz à política ideal.
fonte
A principal diferença na velocidade é devido à operação máxima em cada iteração de iteração de valor (VI).
No VI, cada estado usará apenas uma ação (com o valor de utilidade máximo) para calcular o valor de utilidade atualizado, mas primeiro deve calcular o valor de todas as ações possíveis para encontrar essa ação por meio da Equação de Bellman.
Na iteração de política (PI), essa operação máxima é omitida na etapa 1 (avaliação de política), apenas seguindo a política intermediária para escolher a ação.
Se houver N ações possíveis, VI deve calcular a equação de bellman N vezes para cada estado e, em seguida, tirar o máximo, enquanto PI calcula apenas uma vez (para a ação declarada pela política atual).
No entanto, no PI, há uma etapa de melhoria de política que ainda usa o operador máximo e é tão lenta quanto uma etapa no VI, mas como o PI converge em menos iterações, essa etapa não acontecerá com tanta frequência quanto no VI.
fonte