Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Inkrementaaliset Toteutukset | Monte Carlo -Menetelmät
Johdatus Vahvistusoppimiseen

bookInkrementaaliset Toteutukset

Jokaisen tuoton tallentaminen jokaista tila-toimintoparia kohden voi nopeasti kuluttaa muistin loppuun ja merkittävästi lisätä laskenta-aikaa — erityisesti suurissa ympäristöissä. Tämä rajoitus koskee sekä on-policy- että off-policy-Monte Carlo -ohjausalgoritmeja. Tämän ratkaisemiseksi käytetään inkrementaalisia laskentamenetelmiä, jotka ovat samankaltaisia kuin monikätisissä bandiittialgoritmeissa. Näiden menetelmien avulla arviot voidaan päivittää välittömästi, ilman että koko tuottohistoriaa tarvitsee säilyttää.

On-policy Monte Carlo -ohjaus

On-policy-menetelmässä päivitysstrategia muistuttaa MAB-algoritmeissa käytettyä strategiaa:

Q(s,a)Q(s,a)+α(GQ(s,a))Q(s, a) \gets Q(s, a) + \alpha (G - Q(s, a))

missä α=1N(s,a)\displaystyle \alpha = \frac{1}{N(s, a)} keskiarvon estimaattia varten. Ainoat arvot, jotka täytyy tallentaa, ovat nykyiset toimintojen arviot Q(s,a)Q(s, a) ja kuinka monta kertaa tila-toimintopari (s,a)(s, a) on havaittu N(s,a)N(s, a).

Pseudokoodi

Off-policy Monte Carlo -ohjaus

Off-policy-menetelmässä, jossa käytetään tavallista tärkeyspainotusta (ordinary importance sampling), kaikki on samanlaista kuin on-policy-menetelmässä.

Mielenkiintoisempi tilanne syntyy, kun käytetään painotettua tärkeyspainotusta (weighted importance sampling). Yhtälö näyttää samalta:

Q(s,a)Q(s,a)+α(GQ(s,a))Q(s, a) \gets Q(s, a) + \alpha (G - Q(s, a))

mutta α=1N(s,a)\displaystyle \alpha = \frac{1}{N(s, a)} ei voi käyttää, koska:

  1. Jokainen tuotto painotetaan ρ\rho:lla;
  2. Lopullinen summa jaetaan ei N(s,a)N(s, a):lla, vaan ρ(s,a)\sum \rho(s, a):lla.

Tässä tapauksessa käytettävä α\alpha on WC(s,a)\displaystyle \frac{W}{C(s,a)}, missä:

  • WW on nykyisen trajektorian ρ\rho;
  • C(s,a)C(s, a) on ρ(s,a)\sum \rho(s, a).

Ja aina kun tila-toiminto-pari (s,a)(s, a) esiintyy, nykyisen trajektorian ρ\rho lisätään C(s,a)C(s, a):aan:

C(s,a)C(s,a)+WC(s, a) \gets C(s, a) + W

Pseudokoodi

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 7

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Awesome!

Completion rate improved to 2.7

bookInkrementaaliset Toteutukset

Pyyhkäise näyttääksesi valikon

Jokaisen tuoton tallentaminen jokaista tila-toimintoparia kohden voi nopeasti kuluttaa muistin loppuun ja merkittävästi lisätä laskenta-aikaa — erityisesti suurissa ympäristöissä. Tämä rajoitus koskee sekä on-policy- että off-policy-Monte Carlo -ohjausalgoritmeja. Tämän ratkaisemiseksi käytetään inkrementaalisia laskentamenetelmiä, jotka ovat samankaltaisia kuin monikätisissä bandiittialgoritmeissa. Näiden menetelmien avulla arviot voidaan päivittää välittömästi, ilman että koko tuottohistoriaa tarvitsee säilyttää.

On-policy Monte Carlo -ohjaus

On-policy-menetelmässä päivitysstrategia muistuttaa MAB-algoritmeissa käytettyä strategiaa:

Q(s,a)Q(s,a)+α(GQ(s,a))Q(s, a) \gets Q(s, a) + \alpha (G - Q(s, a))

missä α=1N(s,a)\displaystyle \alpha = \frac{1}{N(s, a)} keskiarvon estimaattia varten. Ainoat arvot, jotka täytyy tallentaa, ovat nykyiset toimintojen arviot Q(s,a)Q(s, a) ja kuinka monta kertaa tila-toimintopari (s,a)(s, a) on havaittu N(s,a)N(s, a).

Pseudokoodi

Off-policy Monte Carlo -ohjaus

Off-policy-menetelmässä, jossa käytetään tavallista tärkeyspainotusta (ordinary importance sampling), kaikki on samanlaista kuin on-policy-menetelmässä.

Mielenkiintoisempi tilanne syntyy, kun käytetään painotettua tärkeyspainotusta (weighted importance sampling). Yhtälö näyttää samalta:

Q(s,a)Q(s,a)+α(GQ(s,a))Q(s, a) \gets Q(s, a) + \alpha (G - Q(s, a))

mutta α=1N(s,a)\displaystyle \alpha = \frac{1}{N(s, a)} ei voi käyttää, koska:

  1. Jokainen tuotto painotetaan ρ\rho:lla;
  2. Lopullinen summa jaetaan ei N(s,a)N(s, a):lla, vaan ρ(s,a)\sum \rho(s, a):lla.

Tässä tapauksessa käytettävä α\alpha on WC(s,a)\displaystyle \frac{W}{C(s,a)}, missä:

  • WW on nykyisen trajektorian ρ\rho;
  • C(s,a)C(s, a) on ρ(s,a)\sum \rho(s, a).

Ja aina kun tila-toiminto-pari (s,a)(s, a) esiintyy, nykyisen trajektorian ρ\rho lisätään C(s,a)C(s, a):aan:

C(s,a)C(s,a)+WC(s, a) \gets C(s, a) + W

Pseudokoodi

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 7
some-alt