Markovove rozhodovacie procesy: stavy, akcie, odmeny a Bellmanove rovnice
MDP na mriežkovom svete s útesom, výnos a diskont, hodnotová funkcia a Bellmanova rovnica, hodnotová iterácia a iterácia stratégie napísané od nuly, ako diskont, šmýkanie a cena kroku menia optimálne správanie, a kontrola simuláciou.
Séria Základy AI Diel 47 z 52
- Mapa umelej inteligencie: čo je čo a ako to do seba zapadá
- Stručná história umelej inteligencie: od Turinga po jazykové modely
- Dáta, model, tréning, inferencia: základné pojmy na jednom príklade
- Ako čítať matematický zápis: symboly, indexy, sumy a kvantifikátory
- Množiny a relácie: stavebnica, z ktorej sa skladajú definície v AI
- Funkcie a zobrazenia: prečo je každý model v AI funkcia
- Logika a dôkazy: pravidlá, podľa ktorých sa v AI uvažuje
- Grafy a stromy: štruktúra, na ktorej stojí hľadanie aj neurónové siete
- Lineárna algebra pre strojové učenie: vektory, matice a prečo AI hlavne násobí
- Derivácie, gradient a reťazové pravidlo: ako model zistí, ktorým smerom sa učiť
- Gradientný zostup: ako sa model učí
- Čo je pravdepodobnosť: od hodu kockou ku Kolmogorovovým axiómam
- Podmienená pravdepodobnosť a Bayesova veta: ako zmeniť odhad, keď sa dozviete niečo nové
- Náhodná premenná a distribučná funkcia: jedna funkcia, ktorá o rozdelení povie všetko
- Funkcia hustoty a pravdepodobnostná funkcia: prečo má spojitá premenná v bode pravdepodobnosť nula
- Stredná hodnota, rozptyl a kovariancia: kde rozdelenie leží, aké je široké a čo s čím súvisí
- Prehľad pravdepodobnostných rozdelení: Bernoulliho, binomické, Poissonovo, rovnomerné, normálne a exponenciálne
- Zákon veľkých čísel a centrálna limitná veta: prečo sa priemery správajú tak predvídateľne
- Štatistika a odhady parametrov: maximálna vierohodnosť, MAP a intervaly spoľahlivosti
- Teória informácie: entropia, krížová entropia a KL divergencia — odkiaľ sa berú stratové funkcie
- Prehľadávanie stavového priestoru: BFS, DFS, UCS a A* s animáciami
- Hry a protivník: minimax, alfa-beta orezávanie a Monte Carlo tree search
- Splňovanie obmedzujúcich podmienok: backtracking, propagácia obmedzení a AC-3 na sudoku a mape krajov
- Logika a znalostné systémy: dopredné a spätné reťazenie, rezolúcia a expertné systémy
- Plánovanie: STRIPS, svet kociek, heuristiky z relaxácie a plánovanie v AI agentoch
- Lokálne hľadanie a simulované žíhanie: obchodný cestujúci cez krajské mestá
- Genetické algoritmy: populácia, kríženie, mutácia a výber na batohu na výlet
- Evolučné stratégie a genetické programovanie: od pravidla jednej pätiny po Keplerov zákon
- Optimalizácia mravčou kolóniou: ako feromónová stopa nájde krátku cestu
- Optimalizácia rojom častíc: zotrvačnosť, vlastná skúsenosť a skúsenosť roja
- Neuroevolúcia: evolúcia váh aj tvaru neurónových sietí a algoritmus NEAT
- Fuzzy množiny a funkcie príslušnosti: ako zapísať „trochu teplo“
- Fuzzy logika a pravdepodobnosť: prečo „trochu teplo“ neznamená „pravdepodobne teplo“
- Fuzzy logika: t-normy, implikácie a pravidlá AK–TAK
- Fuzzy riadenie: Mamdani a Sugeno od ventilátora po kyvadlo na vozíku
- Fuzzy zhlukovanie: algoritmus fuzzy c-means a body medzi zhlukmi
- Neuro-fuzzy systémy (ANFIS): fuzzy pravidlá, ktoré sa učia z dát
- Markovove reťazce: prechodová matica, stacionárne rozdelenie a PageRank
- Skryté Markovove modely: Viterbiho algoritmus a nepoctivé kasíno
- Bayesovské siete: prečo je tráva mokrá a čo z toho vyplýva pre postrekovač
- Kalmanov filter: ako z nepresných meraní odhadnúť, kde auto je a ako rýchlo ide
- Druhy strojového učenia: s učiteľom, bez učiteľa, s čiastočným učiteľom a ďalšie
- Prompty, kontext a RAG: ako modelu dať správne informácie
- Variačné autoenkodéry (VAE): nové obrázky zo spojitého latentného priestoru
- Generatívne adversariálne siete (GAN): falšovateľ proti detektívovi
- Difúzne modely: ako sa z čistého šumu stane obrázok
- Markovove rozhodovacie procesy: stavy, akcie, odmeny a Bellmanove rovnice
- Q-learning a DQN: učenie hodnoty akcií od tabuľky po neurónovú sieť
- Policy gradient a PPO: učenie priamo stratégie
- Ako funguje AI agent: jazykový model v slučke s nástrojmi
- Programovanie s AI agentmi: zadanie, testy a kontrola
- Vyhodnocovanie a bezpečnosť AI systémov: ako merať a ako strážiť
Celá osnova série Hotovo: 52 z 83 tém
- Ako sa úloha posilňovaného učenia opíše ako MDP.
- Čo je hodnota stavu a ako ju vypočíta Bellmanova rovnica.
- Prečo drobnosti v odmenách a diskonte úplne zmenia správanie agenta.
Čo sa hodí vedieť vopred: Markovove reťazce: prechodová matica, stacionárne rozdelenie a PageRank, Stredná hodnota, rozptyl a kovariancia: kde rozdelenie leží, aké je široké a čo s čím súvisí, Druhy strojového učenia: s učiteľom, bez učiteľa, s čiastočným učiteľom a ďalšie
Doteraz sa modely v sérii učili z príkladov so správnou odpoveďou, alebo hľadali štruktúru v dátach. Posilňované učenie je tretia cesta: agent koná, svet mu za to dáva odmeny a tresty a agent má prísť na to, ako konať, aby ich nazbieral čo najviac. Skôr než sa pustíme do učenia, potrebujeme jazyk, ktorým takú úlohu presne opíšeme. Tým je Markovov rozhodovací proces. V tomto diele ho postavíme na malom svete s útesom a vypočítame najlepšie správanie presne — za predpokladu, že pravidlá sveta poznáme.
Nadväzuje na diely Markovove reťazce, Stredná hodnota, rozptyl a kovariancia a Druhy strojového učenia.
1. Agent, prostredie, odmena
Definícia — Markovov rozhodovací proces (MDP)
Nech
- S je konečná neprázdna množina (množina stavov),
- A je konečná neprázdna množina (množina akcií),
- P : S × A × S → [0, 1], (s, a, s′) ↦ P(s′ | s, a), je funkcia taká, že ∑s′ ∈ S P(s′ | s, a) = 1 pre všetky s ∈ S a a ∈ A (prechodové pravdepodobnosti — pre každú dvojicu (s, a) je P(· | s, a) rozdelenie na S),
- R : S × A × S → ℝ je funkcia (odmena za prechod z s akciou a do s′),
- γ ∈ [0, 1) je číslo (diskontný faktor).
Markovov rozhodovací proces (MDP) je pätica
(S, A, P, R, γ).
Priebeh procesu: v časoch t = 0, 1, 2, … je agent v stave st ∈ S, zvolí akciu at ∈ A, svet ho presunie do stavu st+1 a agent dostane odmenu rt+1 = R(st, at, st+1). Stavy st a akcie at sú náhodné veličiny a platí Markovova vlastnosť: pre každé t ∈ ℕ0 a všetky s0, …, st−1, s, s′ ∈ S, a0, …, at−1, a ∈ A, pre ktoré má podmienka kladnú pravdepodobnosť,
P(st+1 = s′ | st = s, at = a, st−1, at−1, …, s0, a0) = P(s′ | s, a).
Ďalší stav teda závisí len od súčasného stavu a akcie, nie od histórie — rovnako ako pri Markovovom reťazci, len prechod navyše ovplyvňuje voľba agenta. Stav s ∈ S je koncový práve vtedy, keď P(s | s, a) = 1 a R(s, a, s) = 0 pre každé a ∈ A: kto doň vstúpi, už v ňom zostane a nič ďalšie nedostane — tým sa modeluje koniec epizódy (u nás útes a oba ciele).
Stolová hra s kockou: viete, na akom ste políčku (stav), vyberiete ťah (akcia), kocka rozhodne, kam sa naozaj posuniete (prechod), a za niektoré políčka dostanete body (odmena). Na tom, ako ste sa na políčko dostali, nezáleží — dôležité je len, kde stojíte teraz.
Náš svet je mriežka 6 × 5. Agent začína vľavo (S), môže ísť hore, doprava, dole alebo doľava. Celý spodný riadok je útes: kto doň spadne, dostane −10 a hra končí. Kúsok od štartu je malý cieľ za +1, ďaleko vpravo veľký cieľ za +10. Dve steny zatvárajú kratšiu cestu hore. A podlaha môže šmýkať: s pravdepodobnosťou p sa agent namiesto zamýšľaného smeru pošmykne do jedného z dvoch kolmých smerov.
P(s′ | s, a) = (1 − p) · [s′ = krok v smere a] + p/2 · [s′ = krok kolmo vľavo] + p/2 · [s′ = krok kolmo vpravo]
- P(s′ | s, a)
- s akou pravdepodobnosťou skončí agent po akcii a na políčku s′ — celé rozdelenie, nie len „kam to má ísť“, pretože hodnota ťahu sa bude počítať ako priemer cez všetky možné miesta dopadu
- (1 − p) · […]
- zamýšľaný pohyb — dostane väčšinu pravdepodobnosti; s p = 0 zostane len tento člen a svet je deterministický
- p/2 · […]
- pošmyknutie nabok, rovným dielom vľavo aj vpravo — vďaka nemu je políčko vedľa útesu nebezpečné, aj keď ideme pozdĺž neho, a nie doň
Príklad — krok doprava pozdĺž útesu
Agent stojí na políčku vpravo od štartu (nad ním je stena, pod ním útes) a zvolí „doprava“, p = 0,2:
- 0,8 — ďalšie políčko vpravo,
- 0,1 — útes (odmena −10, koniec),
- 0,1 — políčko vpravo od štartu (pošmykne sa hore do steny a zostane na mieste),
spolu 0,8 + 0,1 + 0,1 = 1 (farby podľa vzorca vyššie: zamýšľaný krok a pošmyknutie nabok). Očakávaná okamžitá odmena tohto ťahu je 0,8 · 0 + 0,1 · (−10) + 0,1 · 0 = −1: v priemere každý desiaty taký krok skončí pádom.
2. Výnos, diskont a stratégia
Definícia — výnos a stratégia
Nech (S, A, P, R, γ) je MDP a r1, r2, … ∈ ℝ sú odmeny, ktoré agent postupne dostane. Výnos z času t ∈ ℕ0 je diskontovaný súčet budúcich odmien
Gt = ∑k=0∞ γk rt+k+1 = rt+1 + γ rt+2 + γ² rt+3 + …
(rad konverguje, pozri vetu nižšie; po vstupe do koncového stavu sú všetky ďalšie odmeny 0).
Stratégia (policy) je pravidlo, podľa ktorého agent volí akciu podľa súčasného stavu:
- deterministická stratégia je funkcia π : S → A; agent v čase t volí at = π(st);
- stochastická stratégia je funkcia π : A × S → [0, 1], (a, s) ↦ π(a | s), taká, že ∑a ∈ A π(a | s) = 1 pre každé s ∈ S; agent volí akciu náhodne s P(at = a | st = s, história) = π(a | s).
Deterministická stratégia je osobitný prípad stochastickej s π(a | s) = 1 práve vtedy, keď a = π(s). Pevná stratégia π urobí z MDP Markovov reťazec na S s prechodovými pravdepodobnosťami pss′ = ∑a ∈ A π(a | s) P(s′ | s, a). Cieľom je stratégia s čo najväčším očakávaným výnosom (presne v definícii hodnotovej funkcie nižšie).
Diskont γ hovorí, o koľko je odmena zajtra menej ako dnes. S γ = 0,9 má odmena o desať krokov váhu 0,9¹⁰ ≈ 0,35, s γ = 0,5 len 0,001. Malé γ robí agenta netrpezlivým, γ blízko 1 trpezlivým. Stratégia je potom jednoducho ťahák: „na tomto políčku choď doprava, na tamtom hore“.
Gt = rt+1 + γ · Gt+1
- Gt
- výnos odteraz do konca — číslo, ktoré chce mať agent čo najväčšie
- rt+1
- odmena hneď za nasledujúci krok — jediná, ktorú dostane bez čakania, preto bez diskontu
- γ
- diskont — všetko, čo príde neskôr, sa zlacní o jeden činiteľ γ; tým sa „neskôr“ prevádza na „menej“
- Gt+1
- výnos od nasledujúceho kroku — tá istá veličina o krok ďalej; rekurzia, z ktorej o chvíľu vyrastie Bellmanova rovnica
Veta — s γ < 1 je výnos vždy konečný
Nech (S, A, P, R, γ) je MDP s γ ∈ [0, 1) a Rmax = maxs, s′ ∈ S, a ∈ A |R(s, a, s′)| (maximum existuje, pretože S aj A sú konečné). Potom pre každú stratégiu, každé t ∈ ℕ0 a každý priebeh procesu rad Gt absolútne konverguje a
|Gt| ≤ Rmax (1 + γ + γ² + …) = Rmax/1 − γ,
aj keby epizóda nikdy neskončila.
Dôkaz. Každá odmena je rt+k+1 = R(st+k, at+k, st+k+1), takže |rt+k+1| ≤ Rmax. Trojuholníková nerovnosť dá |Gt| ≤ ∑k ≥ 0 γk |rt+k+1| ≤ Rmax ∑k ≥ 0 γk a geometrický rad s kvocientom 0 ≤ γ < 1 má súčet 1/1 − γ. ∎
U nás Rmax = 10 a γ = 0,9, takže |G| ≤ 10/0,1 = 100. Bez ceny za krok je to ešte oveľa menej: nenulovú odmenu dá len vstup do cieľa alebo útesu, a to najviac raz za epizódu, takže |G| ≤ 10. Preto sa γ = 1 dá použiť len tam, kde epizóda určite skončí.
Príklad — výnos najkratšej cesty k veľkému cieľu
Na pevnej podlahe vedie najkratšia cesta k cieľu +10 cez 6 krokov. Prvých päť krokov dá odmenu 0, šiesty (vstup do cieľa) +10. S γ = 0,9:
G0 = 0 + 0,9 · 0 + 0,9² · 0 + 0,9³ · 0 + 0,9⁴ · 0 + 0,9⁵ · 10 = 0,59049 · 10 = 5,9049.
Na pevnej podlahe sa nič náhodné nedeje, takže toto je priamo hodnota štartu — a výpočet hodnotovou iteráciou v oddiele o stratégiách dá skutočne 5,90. Malý cieľ +1 by aj za 3 kroky dal len 0,9² · 1 = 0,81.
3. Hodnota a Bellmanove rovnice
Definícia — hodnotová funkcia a Bellmanova rovnica optimality
Nech (S, A, P, R, γ) je MDP s γ ∈ [0, 1), π stratégia a Eπ značí strednú hodnotu pri správaní podľa π. Hodnotová funkcia stratégie π je funkcia Vπ : S → ℝ a hodnota akcie je funkcia Qπ : S × A → ℝ,
Vπ(s) = Eπ[Gt | st = s], Qπ(s, a) = Eπ[Gt | st = s, at = a]
(vďaka Markovovej vlastnosti nezávisia od t). Vπ(s) je teda očakávaný výnos, keď agent začne v s a riadi sa π; pri Qπ(s, a) prvú akciu a určíme sami a až potom sa agent riadi π. Optimálne hodnoty sú
V*(s) = maxπ Vπ(s), Q*(s, a) = maxπ Qπ(s, a) pre všetky s ∈ S, a ∈ A,
a stratégia π* je optimálna práve vtedy, keď Vπ*(s) = V*(s) pre všetky s ∈ S. (Pri konečnom MDP s γ < 1 maximá existujú a existuje optimálna deterministická stratégia.)
Platí (Richard Bellman, 1957):
- Bellmanova rovnica pre deterministickú stratégiu π: pre všetky s ∈ S Vπ(s) = ∑s′ ∈ S P(s′ | s, π(s)) [R(s, π(s), s′) + γ Vπ(s′)];
- Bellmanova rovnica optimality: pre všetky s ∈ S a a ∈ A Q*(s, a) = ∑s′ ∈ S P(s′ | s, a) [R(s, a, s′) + γ V*(s′)], V*(s) = maxa ∈ A Q*(s, a), a V* je jediná funkcia S → ℝ, ktorá tieto rovnice spĺňa;
- každá deterministická stratégia π* s π*(s) ∈ argmaxa ∈ A Q*(s, a) pre všetky s ∈ S je optimálna.
Hodnota políčka = čo z neho najlepšie vyťažím. A to sa dá vypočítať rekurzívne: z každého ťahu dostanem okamžitú odmenu plus (trochu zlacnenú) hodnotu políčka, kam ma ťah zavedie — spriemerovanú cez to, kam ma kocka môže hodiť. Vyberiem ťah, kde to vyjde najviac.
V*(s) = maxa ∑s′ P(s′ | s, a) [R(s, a, s′) + γ V*(s′)]
- V*(s)
- najlepší očakávaný výnos z políčka s — to, čo hľadáme; stojí na oboch stranách, takže rovnica je podmienka, ktorú musia hodnoty splniť všetky naraz
- maxa
- voľba agenta — akciu si vyberá sám, a tak berie tú najlepšiu; tu sa rovnica „optimality“ líši od rovnice pre pevnú stratégiu π, kde namiesto maxima stojí π(s)
- ∑s′ P(s′ | s, a) […]
- priemer cez to, kam agenta svet skutočne hodí — o tom agent nerozhoduje, preto stredná hodnota, nie maximum
- R(s, a, s′)
- okamžitá odmena za tento prechod (+1, +10, −10 alebo cena kroku)
- γ
- diskont — budúcnosť je o krok ďalej, preto jeden činiteľ γ (rovnako ako vo vzorci Gt = rt+1 + γ Gt+1)
- V*(s′)
- najlepší výnos z miesta dopadu — celá budúcnosť zhrnutá do jedného čísla, takže netreba prechádzať všetky dlhé cesty
Príklad — Bellmanova rovnica na štarte (šmýkanie 20 %, γ = 0,9)
Hotové optimálne hodnoty susedov štartu: políčko nad štartom V* = 3,325, políčko vpravo V* = 2,260, samotný štart V* = 2,854; útes je koncový (hodnota 0, odmena −10). Dosadíme do pravej strany pre každú akciu (farby podľa Bellmanovej rovnice vyššie):
- ↑: 0,8 · (0 + 0,9 · 3,325) + 0,1 · (0 + 0,9 · 2,260) + 0,1 · (0 + 0,9 · 2,854) = 2,854,
- →: 0,8 · (0 + 0,9 · 2,260) + 0,1 · (−10 + 0,9 · 0,000) + 0,1 · (0 + 0,9 · 3,325) = 0,926,
- ↓: 0,8 · (−10 + 0,9 · 0,000) + 0,1 · (0 + 0,9 · 2,854) + 0,1 · (0 + 0,9 · 2,260) = −7,540,
- ←: 0,8 · (0 + 0,9 · 2,854) + 0,1 · (0 + 0,9 · 3,325) + 0,1 · (−10 + 0,9 · 0,000) = 1,354,
Výsledky sú Q*(štart, a). Najväčšia (maxa) je ↑ s 2,854, a to je presne V*(štart) — rovnica platí (rozdiel v poslednej číslici je zaokrúhlenie). Akcia „hore“ má cenu aj napriek 10 % šanci, že sa agent pošmykne doľava, narazí na okraj a zostane na štarte: preto sa V*(štart) objavuje aj vpravo. Akcia „dole“ vedie z 80 % do útesu a vyjde hlboko záporná.
4. Hodnotová iterácia
Definícia — hodnotová iterácia
Bellmanov operátor MDP (S, A, P, R, γ) je zobrazenie B, ktoré každej funkcii V : S → ℝ priradí funkciu BV : S → ℝ,
(BV)(s) = maxa ∈ A ∑s′ ∈ S P(s′ | s, a) [R(s, a, s′) + γ V(s′)].
Hodnotová iterácia je algoritmus:
- vstup: MDP (S, A, P, R, γ) s γ ∈ [0, 1) a tolerancia ε > 0;
- výstup: približné optimálne hodnoty V : S → ℝ a deterministická stratégia π : S → A.
- Polož V0(s) = 0 pre všetky s ∈ S a k = 0.
- Vypočítaj Vk+1 = BVk, t. j. Vk+1(s) = maxa ∑s′ P(s′ | s, a) [R(s, a, s′) + γ Vk(s′)] pre všetky s ∈ S.
- Ak je maxs ∈ S |Vk+1(s) − Vk(s)| < ε, pokračuj krokom 4; inak zvýš k o 1 a vráť sa ku kroku 2.
- Vráť V = Vk+1 a π(s) ∈ argmaxa ∑s′ P(s′ | s, a) [R(s, a, s′) + γ V(s′)] pre každé s ∈ S.
Pre γ < 1 je B kontrakcia v maximovej norme: pre všetky U, V : S → ℝ platí maxs |(BU)(s) − (BV)(s)| ≤ γ · maxs |U(s) − V(s)|. Keďže BV* = V* (Bellmanova rovnica optimality), vyplýva odtiaľ maxs |Vk(s) − V*(s)| ≤ γk · maxs |V0(s) − V*(s)|: chyba klesá aspoň ako γk a algoritmus pre každé ε > 0 skončí. Koncové stavy majú podľa definície MDP Vk = 0 v každom kole, preto ich pseudokód nižšie vôbec neprepočítava.
V prvom kole poznajú hodnotu len políčka hneď vedľa cieľov. V druhom sa informácia posunie o políčko ďalej, v treťom o ďalšie. Ako keď sa správa šíri od suseda k susedovi — po pár kolách vie každé políčko, kam sa oplatí ísť.
# hodnotová iterácia
V = 0 vo všetkých stavoch
opakuj:
pre každý nekoncový stav s:
pre každú akciu a:
Q[a] = ∑ cez s′ ( P(s′ | s, a) · (R(s, a, s′) + γ · V(s′)) )
V_nové(s) = max(Q)
zmena = max cez s |V_nové(s) − V(s)|
V = V_nové
kým zmena ≥ 10⁻⁶
π(s) = akcia s najväčším Q[a] (vypočítaným z konečného V)
Príklad — prvé tri kolá (šmýkanie 20 %, γ = 0,9)
Sledujeme dve políčka v prostrednom riadku: A hneď vľavo od veľkého cieľa +10 a B o políčko ďalej, hneď vpravo od malého cieľa +1. Nad B je stena, nad A voľno, pod oboma obyčajná podlaha.
| kolo k | Vk(A) | najlepšia akcia v A | Vk(B) | najlepšia akcia v B |
|---|---|---|---|---|
| 1 | 8,000 | → | 0,800 | ← |
| 2 | 8,000 | → | 5,832 | → |
| 3 | 9,166 | → | 6,343 | → |
Kolo 1 (všade V0 = 0): z A vedie krok doprava s pravdepodobnosťou 0,8 do cieľa, teda 0,8 · 10 = 8,000. Z B zatiaľ nič vzdialené vidieť nie je, najlepší je krok doľava k malému cieľu: 0,8 · 1 = 0,800.
Kolo 2: z B doprava sa dôjde do A, ktoré už má hodnotu 8: 0,8 · 0,9 · 8 = 5,76, k tomu 0,1 · 0,9 · 0,8 = 0,072 za pošmyknutie hore (stena, zostane v B s V1 = 0,8) a 0 za pošmyknutie dole — spolu 5,832 (farby podľa Bellmanovej rovnice v predchádzajúcom oddiele; nová hodnota Vk+1 má farbu V*). Najlepšia akcia v B sa preklopila z ← na →: informácia o veľkom cieli doputovala o políčko ďalej.
maxs |Vk+1(s) − Vk(s)| ≤ γk · maxs |V1(s) − V0(s)|
- max |Vk+1 − Vk|
- najväčšia zmena v kole k + 1 — to, čo výpočet sleduje a podľa čoho sa zastaví; v grafe nižšie zelená (γ = 0,9) a modrá (γ = 0,99) čiara
- γk
- každé kolo zmenší rozdiel dvoch odhadov aspoň γ-krát (kontrakcia); po k kolách teda γk-krát — preto pomalá konvergencia pre γ blízko 1
- max |V1 − V0|
- veľkosť prvej zmeny; s V0 = 0 je to najväčšia očakávaná odmena za jeden krok, u nás najviac 10 — odtiaľ čiarkovaná hranica 10 · γk v grafe
S γ = 0,9 sa hodnoty ustália (zmena pod 10⁻⁶) po 50 iteráciách, s γ = 0,99 po 77. Chyba klesá rýchlejšie, než zaručuje hranica γk — tá platí vždy, ale pri konkrétnom svete býva pesimistická. Čím bližšie je γ k jednej, tým ďalej do budúcnosti sa musí informácia rozšíriť a tým dlhšie výpočet trvá.
5. Čo zmení diskont, šmýkanie a cena kroku
Teraz to najzaujímavejšie. Rovnaký svet, len iné nastavenia — a optimálna stratégia vyzerá úplne inak.
Na pevnej podlahe vedie najkratšia cesta k veľkému cieľu tesne pozdĺž útesu: 6 krokov a hodnota štartu 5,90. Keď podlaha šmýka, okraj útesu je nebezpečný — každý krok tam znamená šancu 10 % spadnúť. Optimálna stratégia preto obíde steny zhora: 10 krokov namiesto 6, ale do útesu spadne len 0,7 % epizód. Keby sme na šmykľavej podlahe použili riskantnú stratégiu, agent by spadol v 30 % prípadov a hodnota štartu by klesla na 0,64 namiesto 2,85.
S γ = 0,5 je veľký cieľ taký ďaleko, že sa neoplatí — +10 o 10 krokov má dnes váhu len 10 · 0,5¹⁰ ≈ 0,01. Agent ide opatrne zhora k malému cieľu. Keď naopak každý krok stojí −1, oplatí sa riskovať: agent ide k veľkému cieľu po okraji útesu a v 27 % epizód spadne. Dlhá bezpečná cesta by ho stála viac, než je priemerná strata pádom.
| γ | šmýkanie | krok | cesta vedie | V(štart) | simulácia | pád | krokov |
|---|---|---|---|---|---|---|---|
| 0,9 | 0 % | 0 | k +10 | 5,90 | 5,90 | 0,0 % | 6,0 |
| 0,9 | 20 % | 0 | k +10 | 2,85 | 2,84 | 0,7 % | 13,1 |
| 0,5 | 20 % | 0 | k +1 | 0,01 | 0,01 | 0,0 % | 9,5 |
| 0,9 | 20 % | −1 | k +10 | −2,86 | −2,90 | 26,9 % | 6,0 |
| 0,5 | 0 % | −1 | k +1 | −1,25 | −1,25 | 0,0 % | 3,0 |
Stĺpec „simulácia“ je kontrola: priemerný výnos z 10 000 epizód podľa nájdenej stratégie, s náhodným šmýkaním. Priemerný výnos sa od vypočítanej hodnoty štartu líši najviac o pár stotín — Bellmanova rovnica naozaj počíta očakávaný výnos.
Ponaučenie pre skutočné aplikácie: správanie agenta neurčuje len „čo je cieľom“, ale aj drobnosti ako diskont a cena za krok. Kto navrhuje odmeny, navrhuje správanie — aj to, ktoré nechcel.
6. Iterácia stratégie
Definícia — iterácia stratégie
Iterácia stratégie (Ronald Howard, 1960) je algoritmus:
- vstup: MDP (S, A, P, R, γ) s γ ∈ [0, 1) a počiatočná deterministická stratégia π0 : S → A;
- výstup: optimálna deterministická stratégia π a jej hodnotová funkcia Vπ = V*.
- Polož i = 0.
- Vyhodnotenie: vypočítaj Vπi : S → ℝ ako (jediné) riešenie sústavy |S| lineárnych rovníc V(s) = ∑s′ ∈ S P(s′ | s, πi(s)) [R(s, πi(s), s′) + γ V(s′)], s ∈ S.
- Zlepšenie: pre každé s ∈ S zvoľ πi+1(s) ∈ argmaxa ∈ A Qπi(s, a), kde Qπi(s, a) = ∑s′ P(s′ | s, a) [R(s, a, s′) + γ Vπi(s′)]; ak je πi(s) medzi maximami, ponechaj πi+1(s) = πi(s).
- Ak je πi+1 = πi (t. j. πi+1(s) = πi(s) pre všetky s ∈ S), zastav a vráť π = πi; inak zvýš i o 1 a vráť sa ku kroku 2.
Že je vrátená stratégia optimálna a že algoritmus vždy skončí, hovorí veta o zlepšení stratégie nižšie.
Vezmem nejaký ťahák, poctivo vypočítam, ako dobre s ním dopadnem z každého políčka, a potom ťahák opravím všade, kde by iný ťah vyšiel lepšie. Opakujem. Ťahák sa zlepšuje každým kolom a po pár kolách sa už nezmení.
# iterácia stratégie
π = „všade hore“
opakuj:
# vyhodnotenie: V^π riešením sústavy (u nás opakovaným dosadzovaním)
V = 0
opakuj, kým sa V mení o viac než 10⁻⁹:
V(s) = ∑ cez s′ ( P(s′ | s, π(s)) · (R + γ · V(s′)) ) pre každé s
# zlepšenie: v každom stave najlepšia akcia podľa V^π
π_nová(s) = argmax cez a ∑ cez s′ ( P(s′ | s, a) · (R + γ · V(s′)) )
zmenených = počet stavov, kde π_nová(s) ≠ π(s)
π = π_nová
kým zmenených > 0
Veta — o zlepšení stratégie
Nech (S, A, P, R, γ) je MDP s γ ∈ [0, 1), π : S → A deterministická stratégia a π′ : S → A deterministická stratégia taká, že π′(s) ∈ argmaxa ∈ A Qπ(s, a) pre všetky s ∈ S. Potom
- Vπ′(s) ≥ Vπ(s) pre všetky s ∈ S;
- ak je Qπ(s, π(s)) = maxa ∈ A Qπ(s, a) pre všetky s ∈ S (zlepšenie nemá čo zmeniť, π′ = π), potom Vπ spĺňa Bellmanovu rovnicu optimality, Vπ = V* a π je optimálna;
- inak existuje s ∈ S s Vπ′(s) > Vπ(s).
Náčrt dôkazu. Z voľby π′ je Vπ(s) = Qπ(s, π(s)) ≤ Qπ(s, π′(s)) = E[r + γ Vπ(s′)]. Do Vπ(s′) dosadíme tú istú nerovnosť, potom znova… Po rozvinutí zostane očakávaný výnos stratégie, ktorá hrá π′ vo všetkých krokoch, teda Vπ′(s). ∎
Deterministických stratégií je konečne veľa — u nás 4 akcie v 19 nekoncových políčkach, teda 419 ≈ 2,7 · 1011. Žiadna sa nemôže zopakovať (každé kolo hodnotu zlepší, alebo skončí), takže iterácia stratégie skončí vždy. V skutočnosti stačí prekvapivo málo kôl: u nás 6.
Na šmykľavej podlahe s γ = 0,9, so stratégiou „všade hore“ na začiatku:
| kolo | V(štart) stratégie | krokov vyhodnotenia | zmenených akcií |
|---|---|---|---|
| 1 | 0,03 | 66 | 7 |
| 2 | 0,11 | 137 | 7 |
| 3 | 0,16 | 141 | 8 |
| 4 | 0,49 | 151 | 3 |
| 5 | 2,85 | 42 | 1 |
| 6 | 2,85 | 77 | 0 |
Po 6 kolách je stratégia rovnaká ako z hodnotovej iterácie. Kôl je málo, ale každé obsahuje celé vyhodnotenie (u nás desiatky až stovky prechodov svetom). Ktorý z oboch postupov je rýchlejší, záleží od úlohy; v praxi sa kombinujú.
7. Keď pravidlá sveta nepoznáme
Všetko vyššie predpokladá, že poznáme P a R — vieme sa „pozrieť do pravidiel“. To je plánovanie (dynamické programovanie). V skutočnom posilňovanom učení je agent hodený do sveta, ktorého pravidlá nepozná: musí skúšať, zbierať skúsenosti a odhadovať hodnoty z nich. Bellmanova rovnica však zostáva srdcom takmer všetkých metód — len sa namiesto presného priemeru cez P použije vzorka z jedného skutočného kroku. To je Q-learning, téma ďalšieho dielu.
Rovnaký rámec opisuje robota, ktorý sa učí chodiť, riadenie zásob v sklade, odporúčací systém aj jazykový model učený z ľudských preferencií v diele o RLHF — tam je stavom doterajší text, akciou ďalší token a odmenou hodnotenie odpovede.
8. Zhrnutie
- MDP = stavy, akcie, náhodné prechody, odmeny a diskont; ďalší stav závisí len od súčasného stavu a akcie.
- Hodnota stavu je očakávaný diskontovaný výnos; optimálne hodnoty spĺňajú Bellmanovu rovnicu.
- Hodnotová iterácia opakuje Bellmanovu rovnicu; chyba klesá aspoň ako γk (u nás 50 iterácií pre γ = 0,9).
- Šmýkanie presunie cestu ďalej od útesu (pád 0,7 % namiesto 30 %), malé γ vedie k malému blízkemu cieľu, cena za krok k riskovaniu.
- Iterácia stratégie strieda vyhodnotenie a zlepšenie; u nás 6 kôl.
- Bez znalosti pravidiel sveta sa hodnoty musia učiť zo skúsenosti — to je posilňované učenie.
Chcete si to vyskúšať na vlastnej koži? Nechajte AI agenta naprogramovať tento svet s útesom a interaktívne meniť γ, šmýkanie a cenu kroku — a sledujte, kedy sa stratégia „preklopí“ z jednej cesty na inú.
Máte na to iný názor? Napíšte na support@coden-app.com.