Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Toimintoarvot | Moniaseinen Bandiittiongelma
Vahvistusoppimisen Perusteet

bookToimintoarvot

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 tyypillisesti 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 estimaatti ajanhetkellä tt;
  • Nt(a)N_t(a) on niiden kertojen määrä, jolloin toimintoa aa on valittu ajanhetkeen tt mennessä;
  • RiR_i on palkkio, joka on saatu aina, kun toimintoa aa on käytetty.

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 kk:nnen palkkion arvio QkQ_k ja todellinen kk:s palkkio RkR_k, virhe voidaan mitata näiden arvojen erotuksena. Seuraava arvio voidaan laskea säätämällä edellistä arviota hieman todellisen palkkion suuntaan virheen pienentämiseksi.

Tämä intuitio johtaa toiseen kaavaan, joka on seuraavanlainen:

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 alustaminen

Koulutusprosessin alussa toimintojen arvojen arviot voivat vaihdella merkittävästi, mikä voi 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 kannustetaan tutkimaan jokaista toimintoa useita kertoja ennen parhaan vaihtoehdon valitsemista. Tämä tekniikka on tehokkaimmillaan, kun sitä käytetään yhdessä vakioaskelkoon 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 testausympä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

Suggested prompts:

Can you explain more about the difference between sample average and incremental update methods?

How does optimistic initialization affect the exploration-exploitation tradeoff?

What are some practical scenarios where constant step-size is preferred over sample average?

Awesome!

Completion rate improved to 2.7

bookToimintoarvot

Pyyhkäise näyttääksesi valikon

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 tyypillisesti 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 estimaatti ajanhetkellä tt;
  • Nt(a)N_t(a) on niiden kertojen määrä, jolloin toimintoa aa on valittu ajanhetkeen tt mennessä;
  • RiR_i on palkkio, joka on saatu aina, kun toimintoa aa on käytetty.

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 kk:nnen palkkion arvio QkQ_k ja todellinen kk:s palkkio RkR_k, virhe voidaan mitata näiden arvojen erotuksena. Seuraava arvio voidaan laskea säätämällä edellistä arviota hieman todellisen palkkion suuntaan virheen pienentämiseksi.

Tämä intuitio johtaa toiseen kaavaan, joka on seuraavanlainen:

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 alustaminen

Koulutusprosessin alussa toimintojen arvojen arviot voivat vaihdella merkittävästi, mikä voi 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 kannustetaan tutkimaan jokaista toimintoa useita kertoja ennen parhaan vaihtoehdon valitsemista. Tämä tekniikka on tehokkaimmillaan, kun sitä käytetään yhdessä vakioaskelkoon 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 testausympä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