Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Avaliação de Política | Programação Dinâmica
Introdução ao Aprendizado por Reforço

bookAvaliação de Política

Note
Definição

Avaliação de política é o processo de determinar a função de valor de uma política dada.

Note
Nota

A avaliação de política pode ser utilizada para estimar tanto a função de valor de estado quanto a função de valor de ação. No entanto, para métodos de Programação Dinâmica, será utilizada a função de valor de estado.

Como já visto, a função de valor de estado de uma política pode ser determinada resolvendo a equação de Bellman:

vπ(s)=aπ(as)s,rp(s,rs,a)(r+γvπ(s))v_\pi(s) = \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr)

Se você possui um modelo completo do ambiente (ou seja, probabilidades de transição conhecidas e recompensas esperadas para todos os pares estado-ação), as únicas variáveis desconhecidas restantes na equação são os valores dos estados. Portanto, a equação acima pode ser reformulada como um sistema de S|S| equações lineares com S|S| incógnitas.

Por exemplo, se um MDP possui 2 estados (s1s_1, s2s_2) e 2 ações (mover para s1s_1, mover para s2s_2), a função de valor de estado pode ser definida assim:

{V(s1)=0.5(5+0.9V(s1))+0.5(10+0.9V(s2))V(s2)=0.7(2+0.9V(s1))+0.3(0+0.9V(s2))\begin{cases} V(s_1) = 0.5 \cdot (5 + 0.9 \cdot V(s_1)) + 0.5 \cdot (10 + 0.9 \cdot V(s_2)) \\ V(s_2) = 0.7 \cdot (2 + 0.9 \cdot V(s_1)) + 0.3 \cdot (0 + 0.9 \cdot V(s_2)) \end{cases}

Isso pode ser resolvido utilizando técnicas padrão de álgebra linear.

Uma solução única para tal sistema linear é garantida se pelo menos uma das seguintes condições for satisfeita:

  • O fator de desconto satisfaz γ<1γ < 1;
  • A política π\pi, quando seguida a partir de qualquer estado ss, garante que o episódio eventualmente termine.

Avaliação Iterativa de Política

A solução pode ser calculada diretamente, mas uma abordagem iterativa é mais comumente utilizada devido à sua facilidade de implementação. Este método começa atribuindo valores arbitrários a todos os estados, exceto para os estados terminais, que são definidos como 0. Os valores são então atualizados iterativamente utilizando a equação de Bellman como regra de atualização:

vk+1(s)aπ(as)s,rp(s,rs,a)(r+γvk(s))v_{k+1}(s) \gets \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_k(s')\Bigr)

A função de valor de estado estimada vkv_k eventualmente converge para a verdadeira função de valor de estado vπv_\pi à medida que kk \to \infty, se vπv_\pi existir.

Estratégias de Backup de Valor

Ao atualizar as estimativas de valor, novas estimativas são calculadas com base nos valores anteriores. O processo de preservar as estimativas anteriores é denominado backup. Existem duas estratégias comuns para realizar backups:

  • Backup completo: este método envolve armazenar as novas estimativas em um array separado, distinto daquele que contém os valores anteriores (armazenados em backup). Consequentemente, são necessários dois arrays — um para manter as estimativas anteriores e outro para armazenar os valores recém-calculados;
  • Backup in-place: esta abordagem mantém todos os valores em um único array. Cada nova estimativa substitui imediatamente o valor anterior. Este método reduz o uso de memória, pois apenas um array é necessário.

Normalmente, o método de backup in-place é preferido porque requer menos memória e converge mais rapidamente, devido ao uso imediato das estimativas mais recentes.

Quando parar de atualizar?

Na avaliação iterativa de política, não existe um ponto exato em que o algoritmo deve ser interrompido. Embora a convergência seja garantida no limite, continuar os cálculos além de certo ponto é desnecessário na prática. Um critério de parada simples e eficaz é acompanhar a diferença absoluta entre as estimativas de valor consecutivas, vk+1(s)vk(s)|v_{k+1}(s) - v_k(s)|, e compará-la a um pequeno limiar θ\theta. Se, após um ciclo completo de atualização (em que os valores de todos os estados são atualizados), nenhuma alteração exceder θ\theta, o processo pode ser encerrado com segurança.

Pseudocódigo

question mark

Qual das seguintes afirmações é verdadeira em relação ao método de avaliação iterativa de políticas?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 4

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 2.7

bookAvaliação de Política

Deslize para mostrar o menu

Note
Definição

Avaliação de política é o processo de determinar a função de valor de uma política dada.

Note
Nota

A avaliação de política pode ser utilizada para estimar tanto a função de valor de estado quanto a função de valor de ação. No entanto, para métodos de Programação Dinâmica, será utilizada a função de valor de estado.

Como já visto, a função de valor de estado de uma política pode ser determinada resolvendo a equação de Bellman:

vπ(s)=aπ(as)s,rp(s,rs,a)(r+γvπ(s))v_\pi(s) = \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr)

Se você possui um modelo completo do ambiente (ou seja, probabilidades de transição conhecidas e recompensas esperadas para todos os pares estado-ação), as únicas variáveis desconhecidas restantes na equação são os valores dos estados. Portanto, a equação acima pode ser reformulada como um sistema de S|S| equações lineares com S|S| incógnitas.

Por exemplo, se um MDP possui 2 estados (s1s_1, s2s_2) e 2 ações (mover para s1s_1, mover para s2s_2), a função de valor de estado pode ser definida assim:

{V(s1)=0.5(5+0.9V(s1))+0.5(10+0.9V(s2))V(s2)=0.7(2+0.9V(s1))+0.3(0+0.9V(s2))\begin{cases} V(s_1) = 0.5 \cdot (5 + 0.9 \cdot V(s_1)) + 0.5 \cdot (10 + 0.9 \cdot V(s_2)) \\ V(s_2) = 0.7 \cdot (2 + 0.9 \cdot V(s_1)) + 0.3 \cdot (0 + 0.9 \cdot V(s_2)) \end{cases}

Isso pode ser resolvido utilizando técnicas padrão de álgebra linear.

Uma solução única para tal sistema linear é garantida se pelo menos uma das seguintes condições for satisfeita:

  • O fator de desconto satisfaz γ<1γ < 1;
  • A política π\pi, quando seguida a partir de qualquer estado ss, garante que o episódio eventualmente termine.

Avaliação Iterativa de Política

A solução pode ser calculada diretamente, mas uma abordagem iterativa é mais comumente utilizada devido à sua facilidade de implementação. Este método começa atribuindo valores arbitrários a todos os estados, exceto para os estados terminais, que são definidos como 0. Os valores são então atualizados iterativamente utilizando a equação de Bellman como regra de atualização:

vk+1(s)aπ(as)s,rp(s,rs,a)(r+γvk(s))v_{k+1}(s) \gets \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_k(s')\Bigr)

A função de valor de estado estimada vkv_k eventualmente converge para a verdadeira função de valor de estado vπv_\pi à medida que kk \to \infty, se vπv_\pi existir.

Estratégias de Backup de Valor

Ao atualizar as estimativas de valor, novas estimativas são calculadas com base nos valores anteriores. O processo de preservar as estimativas anteriores é denominado backup. Existem duas estratégias comuns para realizar backups:

  • Backup completo: este método envolve armazenar as novas estimativas em um array separado, distinto daquele que contém os valores anteriores (armazenados em backup). Consequentemente, são necessários dois arrays — um para manter as estimativas anteriores e outro para armazenar os valores recém-calculados;
  • Backup in-place: esta abordagem mantém todos os valores em um único array. Cada nova estimativa substitui imediatamente o valor anterior. Este método reduz o uso de memória, pois apenas um array é necessário.

Normalmente, o método de backup in-place é preferido porque requer menos memória e converge mais rapidamente, devido ao uso imediato das estimativas mais recentes.

Quando parar de atualizar?

Na avaliação iterativa de política, não existe um ponto exato em que o algoritmo deve ser interrompido. Embora a convergência seja garantida no limite, continuar os cálculos além de certo ponto é desnecessário na prática. Um critério de parada simples e eficaz é acompanhar a diferença absoluta entre as estimativas de valor consecutivas, vk+1(s)vk(s)|v_{k+1}(s) - v_k(s)|, e compará-la a um pequeno limiar θ\theta. Se, após um ciclo completo de atualização (em que os valores de todos os estados são atualizados), nenhuma alteração exceder θ\theta, o processo pode ser encerrado com segurança.

Pseudocódigo

question mark

Qual das seguintes afirmações é verdadeira em relação ao método de avaliação iterativa de políticas?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 4
some-alt