Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Toimintoarvot | Moniaseinen Bandiittiongelma
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
Toimintoarvot

Toimintoarvo on keskeinen käsite MAB-ongelmassa. Sillä on olennainen rooli useissa algoritmeissa, kuten epsilon-ahneessa ja yläluottamusraja-menetelmässä. Toimintoarvon ensisijainen tarkoitus on antaa arvio odotetusta palkkiosta, kun tietty toiminto valitaan. Se muistuttaa tila-toimintoarvoa, mutta on riippumaton tilasta MAB-ongelman tilattoman luonteen vuoksi.

Toimintoarvon määritelmä

Muodollisesti toimintoarvo, merkittynä Q(a)Q(a), edustaa odotettua palkkiota, kun valitaan toiminto aa:

Q(a)=E[RA=a]\def\E{\operatorname{\mathbb{E}}} Q(a) = \E[R | A = a]

missä:

  • RR on saatu palkkio;
  • AA on valittu toiminto.

Koska todellinen palkkioiden jakauma on yleensä tuntematon, meidän täytyy arvioida Q(a)Q(a) havaittujen tietojen perusteella.

Toimintoarvojen estimointi

On olemassa useita tapoja estimoida Q(a)Q(a) havaittujen palkkioiden perusteella. Yleisin menetelmä on otoskeskiarvoestimaatti, joka laskee toiminnon aa valitsemisesta ajanhetkeen tt mennessä saadun keskimääräisen palkkion:

Qt(a)=R1+R2+...+RNt(a)Nt(a)=i=1Nt(a)RiNt(a)Q_t(a) = \frac{R_1 + R_2 + ... + R_{N_t(a)}}{N_t(a)} = \frac{\sum_{i=1}^{N_t(a)} R_i}{N_t(a)}

missä:

  • Qt(a)Q_t(a) on toiminnon aa arvioitu arvo ajanhetkellä tt;
  • Nt(a)N_t(a) on toiminnon aa valintojen lukumäärä ajanhetkeen tt mennessä;
  • RiR_i on palkkio, joka saatiin aina, kun toiminto aa valittiin.

Kun näytteitä kerätään lisää, tämä estimaatti lähestyy todellista odotettua palkkiota Q(a)Q_*(a) olettaen, että palkkioiden jakauma pysyy stationaarisena.

Note
Määritelmä

Stationaarinen jakauma on jakauma, joka ei muutu ajan myötä riippumatta siitä, mitä toimintoja valitaan tai miten ympäristö muuttuu.

Inkrementaalinen päivityssääntö

Vaikka yllä olevaa kaavaa voidaan käyttää toimintojen arvojen arvioimiseen, se vaatii kaikkien aiempien palkkioiden tallentamista ja niiden summan uudelleenlaskemista jokaisella aikavälillä. Inkrementaalisten päivitysten avulla tämä ei ole tarpeen. Inkrementaalisen päivityksen kaava voidaan johtaa seuraavasti:

Qk+1=1ki=1kRi=1k(Rk+i=1k1Ri)=1k(Rk+(k1)Qk)=1k(Rk+kQkQk)=Qk+1k(RkQk)\begin{aligned} Q_{k+1} &= \frac1k \sum_{i=1}^k R_i\\ &= \frac1k (R_k + \sum_{i=1}^{k-1} R_i)\\ &= \frac1k (R_k + (k-1) Q_k)\\ &= \frac1k (R_k + k Q_k - Q_k)\\ &= Q_k + \frac1k(R_k - Q_k) \end{aligned}

missä jollekin toiminnolle:

  • QkQ_k on arvio kk:nnen palkkion arvosta, joka voidaan ilmaista ensimmäisten k1k-1 palkkion keskiarvona;
  • RkR_k on todellinen kk:s palkkio.

Intuitio

Kun tiedetään arvio kk:nnen palkkion arvosta, QkQ_k, ja todellinen kk:s palkkio, RkR_k, virhe voidaan mitata näiden arvojen erotuksena. Seuraava arvio voidaan tämän jälkeen laskea säätämällä edellistä arviota hieman todellisen palkkion suuntaan virheen pienentämiseksi.

Tämä intuitio johtaa toiseen kaavaan, joka näyttää tältä:

Qk+1=Qk+α(RkQk)Q_{k+1} = Q_k + \alpha (R_k - Q_k)

missä α\alpha on oppimisnopeutta säätelevä askelkokoparametri. Kuten aiemmassa kaavassa, alfa voi olla 1k\frac1k, jolloin saadaan otoskeskiarvoarvio. Vaihtoehtoisesti käytetään usein vakioarvoista α\alpha:aa, koska se ei vaadi lisätilaa (toiminnon suoritusmäärän tallentamiseen) ja mahdollistaa sopeutumisen ei-stationaarisiin ympäristöihin painottamalla enemmän viimeaikaisia havaintoja.

Optimistinen initialisointi

Koulutusprosessin alussa toimintojen arvoarviot voivat vaihdella merkittävästi, mikä saattaa johtaa ennenaikaiseen hyödyntämiseen. Tämä tarkoittaa, että agentti saattaa hyödyntää alkuperäistä tietämystään liian aikaisin, suosien epäoptimaalisia toimintoja rajallisen kokemuksen perusteella. Tämän ongelman lieventämiseksi ja alkuperäisen tutkimisen edistämiseksi yksi yksinkertainen ja tehokas tekniikka on optimistinen alustaminen.

Optimistisessa alustamisessa toimintojen arvot alustetaan suhteellisen korkeiksi (esim. Q0(a)=1Q_0(a) = 1 nollan sijaan). Tämä luo vaikutelman, että kaikki toiminnot ovat aluksi lupaavia. Tämän seurauksena agentti on motivoitunut tutkimaan jokaista toimintoa useita kertoja ennen parhaan vaihtoehdon valitsemista. Tämä tekniikka on tehokkaimmillaan, kun sitä käytetään yhdessä vakionopeuksisen päivityksen kanssa.

Note
Huomio

Optimaalisen toiminnon osuus tässä ja tulevissa kuvaajissa viittaa niiden ympäristöjen osuuteen, joissa optimaalinen toiminto valittiin tietyllä aikavälillä.

Esimerkiksi, jos on 10 testiympäristöä ja optimaalinen toiminto valittiin 6:ssa niistä aikavälillä 200, optimaalisen toiminnon osuus kyseisellä aikavälillä olisi 0,6. Tämä mittari on hyödyllinen suorituskyvyn arvioinnissa, koska se korreloi palkkion maksimoinnin kanssa riippumatta tarkasta palkkioarvosta.

question mark

Mihin otoskeskiarvoarviota käytetään toimintojen arvojen arvioinnissa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 2

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
Toimintoarvot

Toimintoarvo on keskeinen käsite MAB-ongelmassa. Sillä on olennainen rooli useissa algoritmeissa, kuten epsilon-ahneessa ja yläluottamusraja-menetelmässä. Toimintoarvon ensisijainen tarkoitus on antaa arvio odotetusta palkkiosta, kun tietty toiminto valitaan. Se muistuttaa tila-toimintoarvoa, mutta on riippumaton tilasta MAB-ongelman tilattoman luonteen vuoksi.

Toimintoarvon määritelmä

Muodollisesti toimintoarvo, merkittynä Q(a)Q(a), edustaa odotettua palkkiota, kun valitaan toiminto aa:

Q(a)=E[RA=a]\def\E{\operatorname{\mathbb{E}}} Q(a) = \E[R | A = a]

missä:

  • RR on saatu palkkio;
  • AA on valittu toiminto.

Koska todellinen palkkioiden jakauma on yleensä tuntematon, meidän täytyy arvioida Q(a)Q(a) havaittujen tietojen perusteella.

Toimintoarvojen estimointi

On olemassa useita tapoja estimoida Q(a)Q(a) havaittujen palkkioiden perusteella. Yleisin menetelmä on otoskeskiarvoestimaatti, joka laskee toiminnon aa valitsemisesta ajanhetkeen tt mennessä saadun keskimääräisen palkkion:

Qt(a)=R1+R2+...+RNt(a)Nt(a)=i=1Nt(a)RiNt(a)Q_t(a) = \frac{R_1 + R_2 + ... + R_{N_t(a)}}{N_t(a)} = \frac{\sum_{i=1}^{N_t(a)} R_i}{N_t(a)}

missä:

  • Qt(a)Q_t(a) on toiminnon aa arvioitu arvo ajanhetkellä tt;
  • Nt(a)N_t(a) on toiminnon aa valintojen lukumäärä ajanhetkeen tt mennessä;
  • RiR_i on palkkio, joka saatiin aina, kun toiminto aa valittiin.

Kun näytteitä kerätään lisää, tämä estimaatti lähestyy todellista odotettua palkkiota Q(a)Q_*(a) olettaen, että palkkioiden jakauma pysyy stationaarisena.

Note
Määritelmä

Stationaarinen jakauma on jakauma, joka ei muutu ajan myötä riippumatta siitä, mitä toimintoja valitaan tai miten ympäristö muuttuu.

Inkrementaalinen päivityssääntö

Vaikka yllä olevaa kaavaa voidaan käyttää toimintojen arvojen arvioimiseen, se vaatii kaikkien aiempien palkkioiden tallentamista ja niiden summan uudelleenlaskemista jokaisella aikavälillä. Inkrementaalisten päivitysten avulla tämä ei ole tarpeen. Inkrementaalisen päivityksen kaava voidaan johtaa seuraavasti:

Qk+1=1ki=1kRi=1k(Rk+i=1k1Ri)=1k(Rk+(k1)Qk)=1k(Rk+kQkQk)=Qk+1k(RkQk)\begin{aligned} Q_{k+1} &= \frac1k \sum_{i=1}^k R_i\\ &= \frac1k (R_k + \sum_{i=1}^{k-1} R_i)\\ &= \frac1k (R_k + (k-1) Q_k)\\ &= \frac1k (R_k + k Q_k - Q_k)\\ &= Q_k + \frac1k(R_k - Q_k) \end{aligned}

missä jollekin toiminnolle:

  • QkQ_k on arvio kk:nnen palkkion arvosta, joka voidaan ilmaista ensimmäisten k1k-1 palkkion keskiarvona;
  • RkR_k on todellinen kk:s palkkio.

Intuitio

Kun tiedetään arvio kk:nnen palkkion arvosta, QkQ_k, ja todellinen kk:s palkkio, RkR_k, virhe voidaan mitata näiden arvojen erotuksena. Seuraava arvio voidaan tämän jälkeen laskea säätämällä edellistä arviota hieman todellisen palkkion suuntaan virheen pienentämiseksi.

Tämä intuitio johtaa toiseen kaavaan, joka näyttää tältä:

Qk+1=Qk+α(RkQk)Q_{k+1} = Q_k + \alpha (R_k - Q_k)

missä α\alpha on oppimisnopeutta säätelevä askelkokoparametri. Kuten aiemmassa kaavassa, alfa voi olla 1k\frac1k, jolloin saadaan otoskeskiarvoarvio. Vaihtoehtoisesti käytetään usein vakioarvoista α\alpha:aa, koska se ei vaadi lisätilaa (toiminnon suoritusmäärän tallentamiseen) ja mahdollistaa sopeutumisen ei-stationaarisiin ympäristöihin painottamalla enemmän viimeaikaisia havaintoja.

Optimistinen initialisointi

Koulutusprosessin alussa toimintojen arvoarviot voivat vaihdella merkittävästi, mikä saattaa johtaa ennenaikaiseen hyödyntämiseen. Tämä tarkoittaa, että agentti saattaa hyödyntää alkuperäistä tietämystään liian aikaisin, suosien epäoptimaalisia toimintoja rajallisen kokemuksen perusteella. Tämän ongelman lieventämiseksi ja alkuperäisen tutkimisen edistämiseksi yksi yksinkertainen ja tehokas tekniikka on optimistinen alustaminen.

Optimistisessa alustamisessa toimintojen arvot alustetaan suhteellisen korkeiksi (esim. Q0(a)=1Q_0(a) = 1 nollan sijaan). Tämä luo vaikutelman, että kaikki toiminnot ovat aluksi lupaavia. Tämän seurauksena agentti on motivoitunut tutkimaan jokaista toimintoa useita kertoja ennen parhaan vaihtoehdon valitsemista. Tämä tekniikka on tehokkaimmillaan, kun sitä käytetään yhdessä vakionopeuksisen päivityksen kanssa.

Note
Huomio

Optimaalisen toiminnon osuus tässä ja tulevissa kuvaajissa viittaa niiden ympäristöjen osuuteen, joissa optimaalinen toiminto valittiin tietyllä aikavälillä.

Esimerkiksi, jos on 10 testiympäristöä ja optimaalinen toiminto valittiin 6:ssa niistä aikavälillä 200, optimaalisen toiminnon osuus kyseisellä aikavälillä olisi 0,6. Tämä mittari on hyödyllinen suorituskyvyn arvioinnissa, koska se korreloi palkkion maksimoinnin kanssa riippumatta tarkasta palkkioarvosta.

question mark

Mihin otoskeskiarvoarviota käytetään toimintojen arvojen arvioinnissa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 2
some-alt