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

On-Policy Monte Carlo -ohjaus

Pyyhkäise näyttääksesi valikon

On-policy-menetelmien perusajatus on intuitiivinen: agentti oppii seuraamalla nykyistä politiikkaansa ja parantaa sitä kokemustensa perusteella. Löytääkseen parempia toimintoja ja välttääkseen juuttumisen epäoptimaaliseen käyttäytymiseen agentti lisää satunnaisuutta — kokeilee ajoittain vaihtoehtoisia toimintoja rohkaistakseen tutkimista.

Vertauskuva

Kuvittele olevasi jäätelökioskilla, jossa on kolme makua: suklaa, vanilja ja mansikka. Rakastat suklaata, joten valitset yleensä sen. Eräänä päivänä päätät kuitenkin uteliaisuuttasi kokeilla mansikkaa. Käy ilmi, että tämän kioskin mansikkajäätelö on uskomattoman herkullista, ja päätät valita sen aina kun vierailet tässä kioskissa.

Jäätelökaupan on-policy-esimerkki

Uuden maun kokeileminen ei välttämättä ollut loogisin valinta aiempien kokemusten perusteella, mutta se antoi mahdollisuuden löytää jotain uutta. Juuri tällainen tutkiminen on on-policy-menetelmien ytimessä.

Stokastiset politiikat

Muodollisesti tämän ajatuksen omaksuminen tarkoittaa, että deterministiset (kovat) politiikat dynaamisessa ohjelmoinnissa korvataan stokastisilla (pehmeillä) politiikoilla, joita merkitään muodossa π(as)\pi(a | s), missä:

π(as)>0sS,aA(s)\pi(a | s) > 0 \qquad \forall s \in S, a \in A(s)

Toisin sanoen jokaisella toiminnolla jokaisessa tilassa on nollasta poikkeava todennäköisyys tulla valituksi. Tämä varmistaa, että kaikki ympäristön osat voidaan lopulta tutkia, mikä on olennaista, kun opitaan kokemuksesta.

ε\Large\varepsilon-ahneet politiikat

Jotta politiikkaan saadaan mukaan etsintää, hyödynnetään ε\varepsilon-ahneen etsinnän käsitettä monikäsivarsesta bandiittiongelmasta. Tämän avulla voidaan määritellä stokastinen politiikka, joka tasapainottaa parhaan tunnetun toiminnon hyödyntämisen ja vaihtoehtojen tutkimisen:

π(as){1ε+εA(s)jos a=arg maxaqπ(s,a)εA(s)muulloin\pi(a | s) \gets \begin{dcases} 1 - \varepsilon + \frac{\varepsilon}{|A(s)|} & \text{jos } a = \argmax_{a'} q_\pi(s, a') \\ \frac{\varepsilon}{|A(s)|} & \text{muulloin} \end{dcases}

Tämä politiikka toimii useimmiten ahneesti — valitsee toiminnon, jolla on korkein arvioitu arvo — mutta todennäköisyydellä ε\varepsilon se valitsee satunnaisen toiminnon, mikä varmistaa, että kaikilla toiminnoilla on nollasta poikkeava mahdollisuus tulla valituksi (myös ahne toiminto voi tulla valituksi uudelleen tasajakautuneella arvonnalla).

Aluksi tämä lähestymistapa voi vaikuttaa ongelmalliselta: koska politiikasta ei koskaan tule täysin ahnetta, se ei koskaan saavuta täsmälleen optimaalista politiikkaa. Näin ollen se ei tiukasti täytä GPI:n ehtoja, jos odotetaan täsmällistä optimaalisuutta rajalla.

Kuitenkin GPI ei vaadi, että politiikasta tulee heti optimaalinen — se vaatii vain, että jokainen politiikka paranee (tai pysyy samana) edelliseen verrattuna, edeten vähitellen kohti optimaalista. ε\varepsilon-ahnas politiikka täyttää tämän ehdon: se parantaa politiikkaa keskimäärin ja varmistaa jatkuvan etsinnän parempien arvioiden tueksi.

Jotta päästään lähemmäs aidosti optimaalista politiikkaa, voidaan vähentää ε\varepsilon:n arvoa vähitellen ajan myötä. Tämä strategia mahdollistaa politiikan muuttumisen yhä ahneemmaksi oppimisen edetessä. Alkuvaiheessa etsintä auttaa keräämään monipuolista kokemusta, kun taas myöhemmissä vaiheissa agentti hyödyntää parantunutta tietämystään. Oikein pienenevällä ε\varepsilon:llä menetelmä konvergoituu optimaaliseen politiikkaan rajalla.

Pseudokoodi

On-policy Monte Carlo -ohjauksen pseudokoodi
question mark

Miten stokastiset politiikat voivat auttaa tutkimisessa?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 5

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

On-Policy Monte Carlo -ohjaus

On-policy-menetelmien perusajatus on intuitiivinen: agentti oppii seuraamalla nykyistä politiikkaansa ja parantaa sitä kokemustensa perusteella. Löytääkseen parempia toimintoja ja välttääkseen juuttumisen epäoptimaaliseen käyttäytymiseen agentti lisää satunnaisuutta — kokeilee ajoittain vaihtoehtoisia toimintoja rohkaistakseen tutkimista.

Vertauskuva

Kuvittele olevasi jäätelökioskilla, jossa on kolme makua: suklaa, vanilja ja mansikka. Rakastat suklaata, joten valitset yleensä sen. Eräänä päivänä päätät kuitenkin uteliaisuuttasi kokeilla mansikkaa. Käy ilmi, että tämän kioskin mansikkajäätelö on uskomattoman herkullista, ja päätät valita sen aina kun vierailet tässä kioskissa.

Jäätelökaupan on-policy-esimerkki

Uuden maun kokeileminen ei välttämättä ollut loogisin valinta aiempien kokemusten perusteella, mutta se antoi mahdollisuuden löytää jotain uutta. Juuri tällainen tutkiminen on on-policy-menetelmien ytimessä.

Stokastiset politiikat

Muodollisesti tämän ajatuksen omaksuminen tarkoittaa, että deterministiset (kovat) politiikat dynaamisessa ohjelmoinnissa korvataan stokastisilla (pehmeillä) politiikoilla, joita merkitään muodossa π(as)\pi(a | s), missä:

π(as)>0sS,aA(s)\pi(a | s) > 0 \qquad \forall s \in S, a \in A(s)

Toisin sanoen jokaisella toiminnolla jokaisessa tilassa on nollasta poikkeava todennäköisyys tulla valituksi. Tämä varmistaa, että kaikki ympäristön osat voidaan lopulta tutkia, mikä on olennaista, kun opitaan kokemuksesta.

ε\Large\varepsilon-ahneet politiikat

Jotta politiikkaan saadaan mukaan etsintää, hyödynnetään ε\varepsilon-ahneen etsinnän käsitettä monikäsivarsesta bandiittiongelmasta. Tämän avulla voidaan määritellä stokastinen politiikka, joka tasapainottaa parhaan tunnetun toiminnon hyödyntämisen ja vaihtoehtojen tutkimisen:

π(as){1ε+εA(s)jos a=arg maxaqπ(s,a)εA(s)muulloin\pi(a | s) \gets \begin{dcases} 1 - \varepsilon + \frac{\varepsilon}{|A(s)|} & \text{jos } a = \argmax_{a'} q_\pi(s, a') \\ \frac{\varepsilon}{|A(s)|} & \text{muulloin} \end{dcases}

Tämä politiikka toimii useimmiten ahneesti — valitsee toiminnon, jolla on korkein arvioitu arvo — mutta todennäköisyydellä ε\varepsilon se valitsee satunnaisen toiminnon, mikä varmistaa, että kaikilla toiminnoilla on nollasta poikkeava mahdollisuus tulla valituksi (myös ahne toiminto voi tulla valituksi uudelleen tasajakautuneella arvonnalla).

Aluksi tämä lähestymistapa voi vaikuttaa ongelmalliselta: koska politiikasta ei koskaan tule täysin ahnetta, se ei koskaan saavuta täsmälleen optimaalista politiikkaa. Näin ollen se ei tiukasti täytä GPI:n ehtoja, jos odotetaan täsmällistä optimaalisuutta rajalla.

Kuitenkin GPI ei vaadi, että politiikasta tulee heti optimaalinen — se vaatii vain, että jokainen politiikka paranee (tai pysyy samana) edelliseen verrattuna, edeten vähitellen kohti optimaalista. ε\varepsilon-ahnas politiikka täyttää tämän ehdon: se parantaa politiikkaa keskimäärin ja varmistaa jatkuvan etsinnän parempien arvioiden tueksi.

Jotta päästään lähemmäs aidosti optimaalista politiikkaa, voidaan vähentää ε\varepsilon:n arvoa vähitellen ajan myötä. Tämä strategia mahdollistaa politiikan muuttumisen yhä ahneemmaksi oppimisen edetessä. Alkuvaiheessa etsintä auttaa keräämään monipuolista kokemusta, kun taas myöhemmissä vaiheissa agentti hyödyntää parantunutta tietämystään. Oikein pienenevällä ε\varepsilon:llä menetelmä konvergoituu optimaaliseen politiikkaan rajalla.

Pseudokoodi

On-policy Monte Carlo -ohjauksen pseudokoodi
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 5
some-alt