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
course content

Conteúdo do Curso

Introdução ao Aprendizado por Reforço

Introdução ao Aprendizado por Reforço

1. Teoria Central de RL
2. Problema do Bandido de Múltiplos Braços
3. Programação Dinâmica
4. Métodos de Monte Carlo
5. Aprendizado por Diferença Temporal

book
Avaliaçã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

course content

Conteúdo do Curso

Introdução ao Aprendizado por Reforço

Introdução ao Aprendizado por Reforço

1. Teoria Central de RL
2. Problema do Bandido de Múltiplos Braços
3. Programação Dinâmica
4. Métodos de Monte Carlo
5. Aprendizado por Diferença Temporal

book
Avaliaçã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
some-alt