Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Equações de Bellman | 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
Equações de Bellman

Note
Definição

Uma equação de Bellman é uma equação funcional que define uma função de valor em forma recursiva.

Para esclarecer a definição:

  • Uma equação funcional é uma equação cuja solução é uma função. Para a equação de Bellman, essa solução é a função de valor para a qual a equação foi formulada;
  • Uma forma recursiva significa que o valor no estado atual é expresso em termos dos valores nos estados futuros.

Em resumo, resolver a equação de Bellman fornece a função de valor desejada, e derivar essa equação exige identificar uma relação recursiva entre os estados atuais e futuros.

Função de Valor de Estado

Como lembrete, aqui está uma função de valor de estado em forma compacta:

vπ(s)=Eπ[GtSt=s]\def\E{\operatorname{\mathbb{E}}} v_\pi(s) = \E_\pi[G_t | S_t = s]

Para obter a equação de Bellman para esta função de valor, vamos expandir o lado direito da equação e estabelecer uma relação recursiva:

vπ(s)=Eπ[GtSt=s]=Eπ[Rt+1+γRt+2+γ2Rt+3+...St=s]=Eπ[Rt+1+γk=0γkRt+k+2St=s]=Eπ[Rt+1+γGt+1St=s]=aπ(as)s,rp(s,rs,a)(r+γEπ[Gt+1St+1=s])=aπ(as)s,rp(s,rs,a)(r+γvπ(s))\def\E{\operatorname{\mathbb{E}}} \begin{aligned} v_\pi(s) &= \E_\pi[G_t | S_t = s]\\ &= \E_\pi[R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ... | S_t = s]\\ &= \E_\pi[R_{t+1} + \gamma \sum_{k=0}^\infty \gamma^k R_{t+k+2} | S_t = s]\\ &= \E_\pi[R_{t+1} + \gamma G_{t+1} | S_t = s]\\ &= \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma \E_\pi\Bigl[G_{t+1} | S_{t+1} = s'\Bigr]\Bigr)\\ &= \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr) \end{aligned}

A última equação desta cadeia é uma equação de Bellman para a função de valor de estado.

Intuição

Para encontrar o valor de um estado ss, deve-se:

  1. Considerar todas as possíveis ações aa que podem ser tomadas a partir deste estado, cada uma ponderada pela probabilidade de escolha sob a política atual π(as)\pi(a | s);
  2. Para cada ação aa, considerar todos os possíveis próximos estados ss' e recompensas rr, ponderados por sua probabilidade p(s,rs,a)p(s', r | s, a);
  3. Para cada um desses resultados, somar a recompensa imediata rr recebida mais o valor descontado do próximo estado γvπ(s)\gamma v_\pi(s').

Ao somar todas essas possibilidades, obtém-se o valor esperado total do estado ss sob a política atual.

Função de Valor de Ação

Aqui está uma função de valor de ação em forma compacta:

qπ(s,a)=Eπ[GtSt=s,At=a]\def\E{\operatorname{\mathbb{E}}} q_\pi(s, a) = \E_\pi[G_t | S_t = s, A_t = a]

A dedução da equação de Bellman para esta função é bastante semelhante à anterior:

qπ(s,a)=Eπ[GtSt=s,At=a]=Eπ[Rt+1+γRt+2+γ2Rt+3+...St=s,At=a]=Eπ[Rt+1+γk=0γkRt+k+2St=s,At=a]=Eπ[Rt+1+γGt+1St=s,At=a]=s,rp(s,rs,a)(r+γEπ[Gt+1St+1=s])=s,rp(s,rs,a)(r+γaπ(as)(Eπ[Gt+1St+1=s,At+1=a]))=s,rp(s,rs,a)(r+γaπ(as)q(s,a))\def\E{\operatorname{\mathbb{E}}} \begin{aligned} q_\pi(s, a) &= \E_\pi[G_t | S_t = s, A_t = a]\\ &= \E_\pi[R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ... | S_t = s, A_t = a]\\ &= \E_\pi[R_{t+1} + \gamma \sum_{k=0}^\infty \gamma^k R_{t+k+2} | S_t = s, A_t = a]\\ &= \E_\pi[R_{t+1} + \gamma G_{t+1} | S_t = s, A_t = a]\\ &= \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma \E_\pi\Bigl[G_{t+1} | S_{t+1} = s'\Bigr]\Bigr)\\ &= \sum_{s', r} p(s', r | s, a)\Biggl(r + \gamma \sum_{a'} \pi(a' | s') \Bigl(\E_\pi\Bigl[G_{t+1} | S_{t+1} = s', A_{t+1} = a'\Bigr]\Bigr)\Biggr)\\ &= \sum_{s', r} p(s', r | s, a)\Biggl(r + \gamma \sum_{a'} \pi(a' | s') q(s', a')\Biggr) \end{aligned}

A última equação desta cadeia é uma equação de Bellman para a função de valor de ação.

Intuição

Para encontrar o valor de um par estado-ação (s,a)(s, a), você:

  1. Considera todos os possíveis próximos estados ss' e recompensas rr, ponderados pela sua probabilidade p(s,rs,a)p(s', r | s, a);
  2. Para cada um desses resultados, soma a recompensa imediata rr recebida mais o valor descontado do próximo estado;
  3. Para calcular o valor do próximo estado ss', para todas as ações aa' possíveis a partir do estado ss', multiplica o valor da ação q(s,a)q(s', a') pela probabilidade de escolher aa' no estado ss' sob a política atual π(as\pi(a' | s'. Em seguida, soma tudo para obter o valor final.

Ao somar todas essas possibilidades, obtém-se o valor esperado total do par estado-ação (s,a)(s, a) sob a política atual.

question mark

Qual das alternativas a seguir melhor descreve a função da equação de Bellman?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 2

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
Equações de Bellman

Note
Definição

Uma equação de Bellman é uma equação funcional que define uma função de valor em forma recursiva.

Para esclarecer a definição:

  • Uma equação funcional é uma equação cuja solução é uma função. Para a equação de Bellman, essa solução é a função de valor para a qual a equação foi formulada;
  • Uma forma recursiva significa que o valor no estado atual é expresso em termos dos valores nos estados futuros.

Em resumo, resolver a equação de Bellman fornece a função de valor desejada, e derivar essa equação exige identificar uma relação recursiva entre os estados atuais e futuros.

Função de Valor de Estado

Como lembrete, aqui está uma função de valor de estado em forma compacta:

vπ(s)=Eπ[GtSt=s]\def\E{\operatorname{\mathbb{E}}} v_\pi(s) = \E_\pi[G_t | S_t = s]

Para obter a equação de Bellman para esta função de valor, vamos expandir o lado direito da equação e estabelecer uma relação recursiva:

vπ(s)=Eπ[GtSt=s]=Eπ[Rt+1+γRt+2+γ2Rt+3+...St=s]=Eπ[Rt+1+γk=0γkRt+k+2St=s]=Eπ[Rt+1+γGt+1St=s]=aπ(as)s,rp(s,rs,a)(r+γEπ[Gt+1St+1=s])=aπ(as)s,rp(s,rs,a)(r+γvπ(s))\def\E{\operatorname{\mathbb{E}}} \begin{aligned} v_\pi(s) &= \E_\pi[G_t | S_t = s]\\ &= \E_\pi[R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ... | S_t = s]\\ &= \E_\pi[R_{t+1} + \gamma \sum_{k=0}^\infty \gamma^k R_{t+k+2} | S_t = s]\\ &= \E_\pi[R_{t+1} + \gamma G_{t+1} | S_t = s]\\ &= \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma \E_\pi\Bigl[G_{t+1} | S_{t+1} = s'\Bigr]\Bigr)\\ &= \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr) \end{aligned}

A última equação desta cadeia é uma equação de Bellman para a função de valor de estado.

Intuição

Para encontrar o valor de um estado ss, deve-se:

  1. Considerar todas as possíveis ações aa que podem ser tomadas a partir deste estado, cada uma ponderada pela probabilidade de escolha sob a política atual π(as)\pi(a | s);
  2. Para cada ação aa, considerar todos os possíveis próximos estados ss' e recompensas rr, ponderados por sua probabilidade p(s,rs,a)p(s', r | s, a);
  3. Para cada um desses resultados, somar a recompensa imediata rr recebida mais o valor descontado do próximo estado γvπ(s)\gamma v_\pi(s').

Ao somar todas essas possibilidades, obtém-se o valor esperado total do estado ss sob a política atual.

Função de Valor de Ação

Aqui está uma função de valor de ação em forma compacta:

qπ(s,a)=Eπ[GtSt=s,At=a]\def\E{\operatorname{\mathbb{E}}} q_\pi(s, a) = \E_\pi[G_t | S_t = s, A_t = a]

A dedução da equação de Bellman para esta função é bastante semelhante à anterior:

qπ(s,a)=Eπ[GtSt=s,At=a]=Eπ[Rt+1+γRt+2+γ2Rt+3+...St=s,At=a]=Eπ[Rt+1+γk=0γkRt+k+2St=s,At=a]=Eπ[Rt+1+γGt+1St=s,At=a]=s,rp(s,rs,a)(r+γEπ[Gt+1St+1=s])=s,rp(s,rs,a)(r+γaπ(as)(Eπ[Gt+1St+1=s,At+1=a]))=s,rp(s,rs,a)(r+γaπ(as)q(s,a))\def\E{\operatorname{\mathbb{E}}} \begin{aligned} q_\pi(s, a) &= \E_\pi[G_t | S_t = s, A_t = a]\\ &= \E_\pi[R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ... | S_t = s, A_t = a]\\ &= \E_\pi[R_{t+1} + \gamma \sum_{k=0}^\infty \gamma^k R_{t+k+2} | S_t = s, A_t = a]\\ &= \E_\pi[R_{t+1} + \gamma G_{t+1} | S_t = s, A_t = a]\\ &= \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma \E_\pi\Bigl[G_{t+1} | S_{t+1} = s'\Bigr]\Bigr)\\ &= \sum_{s', r} p(s', r | s, a)\Biggl(r + \gamma \sum_{a'} \pi(a' | s') \Bigl(\E_\pi\Bigl[G_{t+1} | S_{t+1} = s', A_{t+1} = a'\Bigr]\Bigr)\Biggr)\\ &= \sum_{s', r} p(s', r | s, a)\Biggl(r + \gamma \sum_{a'} \pi(a' | s') q(s', a')\Biggr) \end{aligned}

A última equação desta cadeia é uma equação de Bellman para a função de valor de ação.

Intuição

Para encontrar o valor de um par estado-ação (s,a)(s, a), você:

  1. Considera todos os possíveis próximos estados ss' e recompensas rr, ponderados pela sua probabilidade p(s,rs,a)p(s', r | s, a);
  2. Para cada um desses resultados, soma a recompensa imediata rr recebida mais o valor descontado do próximo estado;
  3. Para calcular o valor do próximo estado ss', para todas as ações aa' possíveis a partir do estado ss', multiplica o valor da ação q(s,a)q(s', a') pela probabilidade de escolher aa' no estado ss' sob a política atual π(as\pi(a' | s'. Em seguida, soma tudo para obter o valor final.

Ao somar todas essas possibilidades, obtém-se o valor esperado total do par estado-ação (s,a)(s, a) sob a política atual.

question mark

Qual das alternativas a seguir melhor descreve a função da equação de Bellman?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

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