Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele TD-Oppimisen Yleistys | Aikaisen Eron Oppiminen
Johdatus Vahvistusoppimiseen
course content

Kurssisisältö

Johdatus Vahvistusoppimiseen

Johdatus Vahvistusoppimiseen

1. RL:n Ydinteoria
2. Moniaseinen Bandiittiongelma
3. Dynaaminen Ohjelmointi
4. Monte Carlo -Menetelmät
5. Aikaisen Eron Oppiminen

book
TD-Oppimisen Yleistys

Tähän asti olemme tarkastelleet kahta äärimmäistä tapausta oppimisesta kokemuksen perusteella:

  • TD(0): käyttää yhden askeleen tuottoa;
  • Monte Carlo: odottaa jakson loppuun asti laskeakseen tuoton.

Mutta entä jos haluamme jotakin näiden väliltä? Menetelmän, joka hyödyntää enemmän tulevaa tietoa kuin TD(0), mutta ei vaadi koko jakson odottamista kuten Monte Carlo?

Tässä kohtaa nn-askeleen TD-oppiminen ja TD(λ\lambda) astuvat kuvaan — menetelmät, jotka yhdistävät ja yleistävät aiemmin esitellyt ideat.

n\Large n-askeleen TD-oppiminen

nn-askeleen TD-oppimisen perusajatus on yksinkertainen: yhden seuraavan askeleen tai koko jakson sijaan käytetään seuraavia nn askelta, jonka jälkeen käytetään bootstrap-menetelmää:

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})

Tämä mahdollistaa kompromissin:

  • Kun n=1n = 1: kyseessä on TD(0);
  • Kun n=n = \infty: kyseessä on Monte Carlo.

Näitä tuottoja voidaan käyttää korvaamaan tavoite TD(0)-päivityssäännössä:

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) on älykäs idea, joka rakentuu nn-askeleen TD-oppimisen päälle: sen sijaan, että valittaisiin kiinteä nn, yhdistetään kaikki nn-askeleen palautukset:

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

missä λ[0,1]\lambda \in [0, 1] määrittää painotuksen:

  • Jos λ=0\lambda = 0: vain yhden askeleen palautus \to TD(0);
  • Jos λ=1\lambda = 1: koko palautus \to Monte Carlo;
  • Väliarvot yhdistävät useita askeleen palautuksia.

Näin λ\lambda toimii harha-vaihtelu -tasapainon säätimenä:

  • Pieni λ\lambda: enemmän harhaa, vähemmän vaihtelua;
  • Suuri λ\lambda: vähemmän harhaa, enemmän vaihtelua.

LtL_t voidaan käyttää päivityskohteena TD(0)-päivityssäännössä:

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

Kun parametri λ\lambda asetetaan arvoon 1 TD(λ\lambda):ssa, menetelmästä tulee vastaava kuin

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 5

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

course content

Kurssisisältö

Johdatus Vahvistusoppimiseen

Johdatus Vahvistusoppimiseen

1. RL:n Ydinteoria
2. Moniaseinen Bandiittiongelma
3. Dynaaminen Ohjelmointi
4. Monte Carlo -Menetelmät
5. Aikaisen Eron Oppiminen

book
TD-Oppimisen Yleistys

Tähän asti olemme tarkastelleet kahta äärimmäistä tapausta oppimisesta kokemuksen perusteella:

  • TD(0): käyttää yhden askeleen tuottoa;
  • Monte Carlo: odottaa jakson loppuun asti laskeakseen tuoton.

Mutta entä jos haluamme jotakin näiden väliltä? Menetelmän, joka hyödyntää enemmän tulevaa tietoa kuin TD(0), mutta ei vaadi koko jakson odottamista kuten Monte Carlo?

Tässä kohtaa nn-askeleen TD-oppiminen ja TD(λ\lambda) astuvat kuvaan — menetelmät, jotka yhdistävät ja yleistävät aiemmin esitellyt ideat.

n\Large n-askeleen TD-oppiminen

nn-askeleen TD-oppimisen perusajatus on yksinkertainen: yhden seuraavan askeleen tai koko jakson sijaan käytetään seuraavia nn askelta, jonka jälkeen käytetään bootstrap-menetelmää:

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})

Tämä mahdollistaa kompromissin:

  • Kun n=1n = 1: kyseessä on TD(0);
  • Kun n=n = \infty: kyseessä on Monte Carlo.

Näitä tuottoja voidaan käyttää korvaamaan tavoite TD(0)-päivityssäännössä:

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) on älykäs idea, joka rakentuu nn-askeleen TD-oppimisen päälle: sen sijaan, että valittaisiin kiinteä nn, yhdistetään kaikki nn-askeleen palautukset:

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

missä λ[0,1]\lambda \in [0, 1] määrittää painotuksen:

  • Jos λ=0\lambda = 0: vain yhden askeleen palautus \to TD(0);
  • Jos λ=1\lambda = 1: koko palautus \to Monte Carlo;
  • Väliarvot yhdistävät useita askeleen palautuksia.

Näin λ\lambda toimii harha-vaihtelu -tasapainon säätimenä:

  • Pieni λ\lambda: enemmän harhaa, vähemmän vaihtelua;
  • Suuri λ\lambda: vähemmän harhaa, enemmän vaihtelua.

LtL_t voidaan käyttää päivityskohteena TD(0)-päivityssäännössä:

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

Kun parametri λ\lambda asetetaan arvoon 1 TD(λ\lambda):ssa, menetelmästä tulee vastaava kuin

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 5
some-alt