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
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
Generalizaçã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

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