Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Monte Carlo -Ohjaus | Monte Carlo -Menetelmät
Vahvistusoppimisen Perusteet Pythonilla

Monte Carlo -Ohjaus

Pyyhkäise näyttääksesi valikon

Korvaamalla politiikan arviointi -vaiheen perinteisessä politiikan iterointi -algoritmissa edellisessä luvussa esitetyillä Monte Carlo -arviointimenetelmillä, voidaan johtaa uusi politiikan iteroinnin muunnelma—sellainen, joka perustuu otettuun kokemukseen dynaamisen ohjelmoinnin sijaan.

Tässä on kuitenkin olennainen rajoitus. Perinteisessä politiikan iteroinnissa politiikan parantaminen -vaihe edellyttää täydellistä mallia ympäristöstä. Tarkemmin sanottuna politiikkaa päivitetään seuraavan lausekkeen avulla:

π(s)arg maxas,rp(s,rs,a)(r+γv(s))\pi(s) \gets \argmax_a \sum_{s', r} \textcolor{red}{p(s', r | s, a)} \Bigl(r + \gamma v(s')\Bigr)

Tämä yhtälö olettaa, että siirtymätodennäköisyydet p(s,rs,a)p(s', r | s, a) tunnetaan. Mutta juuri tässä on ongelma: Monte Carlo -menetelmät on suunniteltu mallittomiin tilanteisiin, joissa ympäristön siirtymädynamiikka ei ole tiedossa. Jos täydellinen malli on käytettävissä, kannattaa käyttää dynaamista ohjelmointia myös politiikan arviointiin, koska se olisi tehokkaampaa ja tarkempaa.

Siksi, vaikka Monte Carlo -menetelmien käyttäminen arvon estimointiin on askel kohti mallivapaata vahvistusoppimista, täytyy myös löytää tapa suorittaa politiikan parantaminen ilman mallin tuntemusta. Tämä edellyttää siirtymistä tilan arvon funktiosta toiminnon arvon funktioon.

Miksi toimintojen arvot?

Käyttämällä toimintojen arvoja voidaan politiikan parantaminen suorittaa ilman ympäristön mallia. Siirtymätodennäköisyyksien sijaan odotettujen tuottojen laskemiseksi voidaan suoraan valita ne toiminnot, jotka näyttävät tuottavan suurimman arvon. Politiikan parantaminen voidaan tällöin esittää seuraavasti:

π(s)arg maxaq(s,a)sS\pi(s) \gets \argmax_a q(s, a) \qquad \forall s \in S

Ja ei ole vaikea osoittaa, että uusi politiikka ei ole huonompi kuin vanha, sillä politiikan parantamisen lause pätee edelleen:

qπk(s,πk+1(s))=qπk(s,arg maxaqπk(s,a))=maxaqπk(s,a)qπk(s,πk(s))=vπk(s)\begin{aligned} q_{\pi_{k}}(s, \pi_{k+1}(s)) &= q_{\pi_k}(s, \argmax_a q_{\pi_k}(s, a))\\ &= \max_a q_{\pi_k}(s, a)\\ &\ge q_{\pi_k}(s, \pi_k(s))\\ &= v_{\pi_k}(s) \end{aligned}

Ja kuten DP:ssä, tämä lause takaa, että joko πk+1\pi_{k+1} on parempi kuin πk\pi_k, tai ne ovat molemmat yhtä hyviä ja optimaalisia.

Toimintoarvofunktion estimointi

Arviointiprosessi on lähes identtinen tilaarvofunktion kanssa. Kaikkia tilaarvojen arvioinnissa käytettyjä ideoita voidaan hyödyntää myös toimintoarvojen arvioinnissa.

Pseudokoodi

Toiminta-arvon estimoinnin pseudokoodi Monte Carlo -menetelmällä

Tarpeeksi monella iteraatiolla arvioidut toiminta-arvot lähestyvät todellisia toiminta-arvoja.

Tämän avulla voidaan jo rakentaa politiikan iterointia muistuttava menetelmä, joka ei perustu malliin. Tässä korvataan politiikan arviointi ja politiikan parantaminen yllä kuvatuilla prosesseilla.

Optimointi

Vaikka arviointivaihe voidaan suorittaa Monte Carlo -estimaation avulla kuten aiemmin kuvattiin, se on usein laskennallisesti tehotonta. Kuten olet jo nähnyt, Monte Carlo -menetelmät vaativat yleensä suuren määrän otoksia tuottaakseen riittävän tarkkoja arvioita. Jos noudatamme rakennetta, joka muistuttaa politiikan iterointia, tämä tehottomuus korostuu: jokaisen politiikan parannuksen jälkeen meidän on suoritettava Monte Carlo -estimaatio uudelleen uuden politiikan arvioimiseksi — mikä johtaa huomattavaan ylikuormitukseen ja hidastaa oppimista.

Luontevampi vaihtoehto on päivittää politiikka välittömästi jokaisen episodin käsittelyn jälkeen. Sen sijaan, että odotettaisiin koko politiikan arviointikierroksen valmistumista, annetaan agentin hienosäätää toimintaansa episodi kerrallaan käyttäen uusimpia toimintojen arvoarvioita.

Tämä johtaa menetelmään, joka muistuttaa enemmän arvoiterointia: arvioinnin ja parantamisen yhdistäminen yhdeksi askeleeksi. Tämä lisää otosten tehokkuutta ja nopeuttaa laskentaa.

Pseudokoodi

Pseudokoodi Monte Carlo -kontrollille tutkimuksellisilla aluilla

Tämä algoritmi noudattaa GPI-kehystä, sillä siinä on politiikan arviointi- ja politiikan parantaminen -vaiheet, ja sitä kutsutaan nimellä Monte Carlo -kontrolli. Tämän tietyn toteutuksen suurin haittapuoli on oletus exploring starts -periaatteesta. Seuraavissa luvuissa näet, miksi tämä on ongelma ja miten siihen voidaan puuttua.

question mark

Mikä on tärkein etu käyttää toimintoarvoja tilaarvojen sijaan Monte Carlo -kontrollissa?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Osio 4. Luku 3
some-alt