17.1 Markovo sprendimų procesas (MDP)

Šiame skyrelyje aptarsime, kaip formuluoti skatinamojo mokymosi uždavinius naudojant Markovo sprendimų procesus (MDP), ir išsamiai apibūdinsime įvairius MDP komponentus.

17.1.1 MDP apibrėžimas

Markovo sprendimų procesas (MDP) (Richard Bellman, 1957) yra modelis, aprašantis, kaip sistemos būsena kinta, kai sistemai taikomi skirtingi veiksmai. MDP sudaro keli skirtingi dydžiai.

Paprastas tinklelio pasaulio navigacijos uždavinys, kuriame robotas turi ne tik rasti kelią į tikslo vietą (parodyta kaip žalias namas), bet ir vengti spąstų vietų (parodyta kaip raudoni kryžiai).

17.1.1 pav. Paprastas tinklelio pasaulio navigacijos uždavinys, kuriame robotas turi ne tik rasti kelią į tikslo vietą (parodyta kaip žalias namas), bet ir vengti spąstų vietų (parodyta kaip raudoni kryžiai).

  • Tegu S\mathcal{S} yra MDP būsenų aibė. Konkretų pavyzdį žr. 17.1.1 pav., kuriame robotas naviguoja tinklelio pasaulyje. Šiuo atveju S\mathcal{S} atitinka vietų, kuriose robotas gali būti bet kuriuo laiko žingsniu, aibę.
  • Tegu A\mathcal{A} yra veiksmų, kuriuos robotas gali atlikti kiekvienoje būsenoje, aibė, pvz., „eiti pirmyn“, „sukti į dešinę“, „sukti į kairę“, „likti toje pačioje vietoje“ ir pan. Veiksmai gali pakeisti dabartinę roboto būseną į kitą aibės S\mathcal{S} būseną.
  • Gali būti, kad nežinome, kaip robotas juda tiksliai, o žinome tai tik apytiksliai. Skatinamajame mokyme šią situaciją modeliuojame taip: jei robotas atlieka veiksmą „eiti pirmyn“, gali būti nedidelė tikimybė, kad jis liks dabartinėje būsenoje, kita nedidelė tikimybė, kad jis „pasuks į kairę“, ir pan. Matematiškai tai reiškia „perėjimo funkcijos“ T:S×A×S→[0,1]T: \mathcal{S} \times \mathcal{A} \times \mathcal{S} \to [0,1] apibrėžimą taip, kad T(s,a,s′)=P(s′∣s,a)T(s, a, s') = P(s' \mid s, a), naudojant sąlyginę tikimybę pasiekti būseną s′s', kai robotas buvo būsenoje ss ir atliko veiksmą aa. Perėjimo funkcija yra tikimybių skirstinys, todėl visiems s∈Ss \in \mathcal{S} ir a∈Aa \in \mathcal{A} turime ∑s′∈ST(s,a,s′)=1\sum_{s' \in \mathcal{S}} T(s, a, s') = 1, t. y. robotas, atlikęs veiksmą, turi patekti į kokią nors būseną.
  • Dabar sukonstruojame supratimą, kurie veiksmai yra naudingi, o kurie ne, naudodami „atlygio“ sąvoką r:S×A→Rr: \mathcal{S} \times \mathcal{A} \to \mathbb{R}. Sakome, kad robotas gauna atlygį r(s,a)r(s,a), jei robotas būsenoje ss atlieka veiksmą aa. Jei atlygis r(s,a)r(s, a) didelis, tai rodo, kad veiksmas aa būsenoje ss yra naudingesnis roboto tikslui pasiekti, t. y. nueiti iki žaliojo namo. Jei atlygis r(s,a)r(s, a) mažas, tada veiksmas aa yra mažiau naudingas šiam tikslui pasiekti. Svarbu pažymėti, kad atlygį, atsižvelgdamas į tikslą, suprojektuoja naudotojas (asmuo, kuris kuria skatinamojo mokymosi algoritmą).

17.1.2 Grąža ir diskonto koeficientas

Aukščiau aprašyti komponentai kartu sudaro Markovo sprendimų procesą (MDP)

MDP:(S,A,T,r).\textrm{MDP}: (\mathcal{S}, \mathcal{A}, T, r).

Dabar panagrinėkime situaciją, kai robotas pradeda nuo tam tikros būsenos s0∈Ss_0 \in \mathcal{S} ir toliau atlieka veiksmus, taip sudarydamas trajektoriją

τ=(s0,a0,r0,s1,a1,r1,s2,a2,r2,…).\tau = (s_0, a_0, r_0, s_1, a_1, r_1, s_2, a_2, r_2, \ldots).

Kiekvienu laiko žingsniu tt robotas yra būsenoje sts_t ir atlieka veiksmą ata_t, kuris lemia atlygį rt=r(st,at)r_t = r(s_t, a_t). Trajektorijos grąža yra bendras atlygis, kurį robotas gauna išilgai tokios trajektorijos

R(τ)=r0+r1+r2+⋯ .R(\tau) = r_0 + r_1 + r_2 + \cdots.

Skatinamojo mokymosi tikslas yra rasti trajektoriją, kurios grąža didžiausia.

Pagalvokite apie situaciją, kai robotas toliau keliauja tinklelio pasaulyje niekada nepasiekdamas tikslo vietos. Būsenų ir veiksmų seka trajektorijoje šiuo atveju gali būti be galo ilga, o bet kurios tokios be galo ilgos trajektorijos grąža bus begalinė. Kad skatinamojo mokymosi formuluotė išliktų prasminga net tokioms trajektorijoms, įvedame diskonto koeficiento γ<1\gamma < 1 sąvoką. Diskontuotą grąžą užrašome kaip

R(τ)=r0+γr1+γ2r2+⋯=∑t=0∞γtrt.R(\tau) = r_0 + \gamma r_1 + \gamma^2 r_2 + \cdots = \sum_{t=0}^\infty \gamma^t r_t.

Atkreipkite dėmesį, kad jei γ\gamma labai mažas, atlygiai, kuriuos robotas gauna tolimoje ateityje, tarkime, kai t=1000t = 1000, yra stipriai diskontuojami koeficientu γ1000\gamma^{1000}. Tai skatina robotą rinktis trumpas trajektorijas, kuriomis pasiekiamas jo tikslas, būtent nueiti iki žaliojo namo tinklelio pasaulio pavyzdyje (žr. 17.1.1 pav.). Esant didelėms diskonto koeficiento reikšmėms, tarkime, γ=0.99\gamma = 0.99, robotas skatinamas tyrinėti ir tada rasti geriausią trajektoriją į tikslo vietą.

17.1.3 Markovo prielaidos aptarimas

Pagalvokime apie naują robotą, kurio būsena sts_t yra vieta kaip aukščiau, bet veiksmas ata_t yra pagreitis, kurį robotas pritaiko savo ratams, o ne abstrakti komanda, pavyzdžiui, „eiti pirmyn“. Jei šis robotas būsenoje sts_t turi tam tikrą nenulinį greitį, tada kita vieta st+1s_{t+1} yra praėjusios vietos sts_t, pagreičio ata_t ir roboto greičio laiko momentu tt, kuris proporcingas st−st−1s_t - s_{t-1}, funkcija. Tai rodo, kad turėtume turėti

st+1=some function(st,at,st−1);s_{t+1} = \textrm{some function}(s_t, a_t, s_{t-1});

„tam tikra funkcija“ mūsų atveju būtų Niutono judėjimo dėsnis. Tai gana skiriasi nuo mūsų perėjimo funkcijos, kuri priklauso tik nuo sts_t ir ata_t.

Markovo sistemos yra visos sistemos, kuriose kita būsena st+1s_{t+1} yra tik dabartinės būsenos sts_t ir dabartinėje būsenoje atlikto veiksmo ata_t funkcija. Markovo sistemose kita būsena nepriklauso nuo to, kokie veiksmai buvo atlikti praeityje ar kokiose būsenose robotas buvo praeityje. Pavyzdžiui, naujasis robotas, kurio veiksmas yra pagreitis, nėra Markovo, nes kita vieta st+1s_{t+1} priklauso nuo ankstesnės būsenos st−1s_{t-1} per greitį. Gali atrodyti, kad sistemos Markovo prigimtis yra ribojanti prielaida, bet taip nėra. Markovo sprendimų procesai vis tiek geba modeliuoti labai didelę realių sistemų klasę. Pavyzdžiui, mūsų naujam robotui, jei savo būseną sts_t pasirinktume kaip kortežą (location,velocity)(\textrm{location}, \textrm{velocity}), tada sistema yra Markovo, nes jos kita būsena (locationt+1,velocityt+1)(\textrm{location}_{t+1}, \textrm{velocity}_{t+1}) priklauso tik nuo dabartinės būsenos (locationt,velocityt)(\textrm{location}_t, \textrm{velocity}_t) ir dabartinėje būsenoje atlikto veiksmo ata_t.

17.1.4 Santrauka

Skatinamojo mokymosi uždavinys paprastai modeliuojamas naudojant Markovo sprendimų procesus. Markovo sprendimų procesas (MDP) apibrėžiamas keturių elementų kortežu (S,A,T,r)(\mathcal{S}, \mathcal{A}, T, r), kur S\mathcal{S} yra būsenų erdvė, A\mathcal{A} yra veiksmų erdvė, TT yra perėjimo funkcija, koduojanti MDP perėjimo tikimybes, o rr yra betarpiškas atlygis, gaunamas atlikus veiksmą tam tikroje būsenoje.

17.1.5 Pratimai

  1. Tarkime, norime sukurti MDP MountainCar uždaviniui modeliuoti.
    1. Kokia būtų būsenų aibė?
    2. Kokia būtų veiksmų aibė?
    3. Kokios galėtų būti atlygio funkcijos?
  2. Kaip suprojektuotumėte MDP Atari žaidimui, pavyzdžiui, Pong žaidimui?

Diskusijos