Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Generalização do Aprendizado TD | Aprendizado por Diferença Temporal
Introdução ao Aprendizado por Reforço

bookGeneralização do Aprendizado TD

Até agora, consideramos dois casos extremos de aprendizado a partir da experiência:

  • TD(0): utiliza o retorno de um passo;
  • Monte Carlo: espera até o final do episódio para calcular o retorno.

Mas e se quisermos algo intermediário? Algo que aproveite mais informações futuras do que o TD(0), mas que não precise aguardar o episódio completo como o Monte Carlo?

É aqui que entram o aprendizado TD de nn passos e o TD(λ\lambda) — métodos que unificam e generalizam as ideias vistas até agora.

n\Large n-Passos TD Learning

A ideia por trás do aprendizado TD de nn passos é simples: em vez de usar apenas o próximo passo ou todo o episódio, utilizamos os próximos nn passos, e então fazemos o bootstrap:

Gt(n)=Rt+1+γRt+2+...+γn1Rt+n+γnV(St+1)G_t^{(n)} = R_{t+1} + \gamma R_{t+2} + ... + \gamma^{n-1} R_{t+n} + \gamma^n V(S_{t+1})

Isso permite um equilíbrio:

  • Quando n=1n = 1: é simplesmente TD(0);
  • Quando n=n = \infty: torna-se Monte Carlo.

Esses retornos podem então ser usados para substituir o alvo na regra de atualização do TD(0):

V(St)V(St)+α(Gt(n)V(St))V(S_t) \gets V(S_t) + \alpha\Bigl(G_t^{(n)} - V(S_t)\Bigr)

TD(λ\Large\lambda)

TD(λ\lambda) é um conceito engenhoso que se baseia no aprendizado TD de nn passos: em vez de escolher um nn fixo, combinam-se todos os retornos de nn passos juntos:

Lt=(1λ)n=0λn1Gt(n)L_t = (1 - \lambda) \sum_{n=0}^{\infty} \lambda^{n-1}G_t^{(n)}

onde λ[0,1]\lambda \in [0, 1] controla a ponderação:

  • Se λ=0\lambda = 0: apenas o retorno de um passo \to TD(0);
  • Se λ=1\lambda = 1: retorno completo \to Monte Carlo;
  • Valores intermediários mesclam múltiplos retornos de passos.

Assim, λ\lambda funciona como um ajuste de compromisso entre viés e variância:

  • λ\lambda baixo: mais viés, menos variância;
  • λ\lambda alto: menos viés, mais variância.

LtL_t pode então ser utilizado como alvo de atualização na regra de atualização do TD(0):

V(St)V(St)+α(LtV(St))V(S_t) \gets V(S_t) + \alpha\Bigl(L_t - V(S_t)\Bigr)
question mark

Quando o parâmetro λ\lambda é definido como 1 em TD(λ\lambda), o método se torna equivalente a

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 5

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

bookGeneralização do Aprendizado TD

Deslize para mostrar o menu

Até agora, consideramos dois casos extremos de aprendizado a partir da experiência:

  • TD(0): utiliza o retorno de um passo;
  • Monte Carlo: espera até o final do episódio para calcular o retorno.

Mas e se quisermos algo intermediário? Algo que aproveite mais informações futuras do que o TD(0), mas que não precise aguardar o episódio completo como o Monte Carlo?

É aqui que entram o aprendizado TD de nn passos e o TD(λ\lambda) — métodos que unificam e generalizam as ideias vistas até agora.

n\Large n-Passos TD Learning

A ideia por trás do aprendizado TD de nn passos é simples: em vez de usar apenas o próximo passo ou todo o episódio, utilizamos os próximos nn passos, e então fazemos o bootstrap:

Gt(n)=Rt+1+γRt+2+...+γn1Rt+n+γnV(St+1)G_t^{(n)} = R_{t+1} + \gamma R_{t+2} + ... + \gamma^{n-1} R_{t+n} + \gamma^n V(S_{t+1})

Isso permite um equilíbrio:

  • Quando n=1n = 1: é simplesmente TD(0);
  • Quando n=n = \infty: torna-se Monte Carlo.

Esses retornos podem então ser usados para substituir o alvo na regra de atualização do TD(0):

V(St)V(St)+α(Gt(n)V(St))V(S_t) \gets V(S_t) + \alpha\Bigl(G_t^{(n)} - V(S_t)\Bigr)

TD(λ\Large\lambda)

TD(λ\lambda) é um conceito engenhoso que se baseia no aprendizado TD de nn passos: em vez de escolher um nn fixo, combinam-se todos os retornos de nn passos juntos:

Lt=(1λ)n=0λn1Gt(n)L_t = (1 - \lambda) \sum_{n=0}^{\infty} \lambda^{n-1}G_t^{(n)}

onde λ[0,1]\lambda \in [0, 1] controla a ponderação:

  • Se λ=0\lambda = 0: apenas o retorno de um passo \to TD(0);
  • Se λ=1\lambda = 1: retorno completo \to Monte Carlo;
  • Valores intermediários mesclam múltiplos retornos de passos.

Assim, λ\lambda funciona como um ajuste de compromisso entre viés e variância:

  • λ\lambda baixo: mais viés, menos variância;
  • λ\lambda alto: menos viés, mais variância.

LtL_t pode então ser utilizado como alvo de atualização na regra de atualização do TD(0):

V(St)V(St)+α(LtV(St))V(S_t) \gets V(S_t) + \alpha\Bigl(L_t - V(S_t)\Bigr)
question mark

Quando o parâmetro λ\lambda é definido como 1 em TD(λ\lambda), o método se torna equivalente a

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 5
some-alt