Preskočiť na obsah
coden

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.

11 minút Matěj Žalmánek 2026-10-16

Séria Základy AI Diel 47 z 52
  1. Mapa umelej inteligencie: čo je čo a ako to do seba zapadá
  2. Stručná história umelej inteligencie: od Turinga po jazykové modely
  3. Dáta, model, tréning, inferencia: základné pojmy na jednom príklade
  4. Ako čítať matematický zápis: symboly, indexy, sumy a kvantifikátory
  5. Množiny a relácie: stavebnica, z ktorej sa skladajú definície v AI
  6. Funkcie a zobrazenia: prečo je každý model v AI funkcia
  7. Logika a dôkazy: pravidlá, podľa ktorých sa v AI uvažuje
  8. Grafy a stromy: štruktúra, na ktorej stojí hľadanie aj neurónové siete
  9. Lineárna algebra pre strojové učenie: vektory, matice a prečo AI hlavne násobí
  10. Derivácie, gradient a reťazové pravidlo: ako model zistí, ktorým smerom sa učiť
  11. Gradientný zostup: ako sa model učí
  12. Čo je pravdepodobnosť: od hodu kockou ku Kolmogorovovým axiómam
  13. Podmienená pravdepodobnosť a Bayesova veta: ako zmeniť odhad, keď sa dozviete niečo nové
  14. Náhodná premenná a distribučná funkcia: jedna funkcia, ktorá o rozdelení povie všetko
  15. Funkcia hustoty a pravdepodobnostná funkcia: prečo má spojitá premenná v bode pravdepodobnosť nula
  16. Stredná hodnota, rozptyl a kovariancia: kde rozdelenie leží, aké je široké a čo s čím súvisí
  17. Prehľad pravdepodobnostných rozdelení: Bernoulliho, binomické, Poissonovo, rovnomerné, normálne a exponenciálne
  18. Zákon veľkých čísel a centrálna limitná veta: prečo sa priemery správajú tak predvídateľne
  19. Štatistika a odhady parametrov: maximálna vierohodnosť, MAP a intervaly spoľahlivosti
  20. Teória informácie: entropia, krížová entropia a KL divergencia — odkiaľ sa berú stratové funkcie
  21. Prehľadávanie stavového priestoru: BFS, DFS, UCS a A* s animáciami
  22. Hry a protivník: minimax, alfa-beta orezávanie a Monte Carlo tree search
  23. Splňovanie obmedzujúcich podmienok: backtracking, propagácia obmedzení a AC-3 na sudoku a mape krajov
  24. Logika a znalostné systémy: dopredné a spätné reťazenie, rezolúcia a expertné systémy
  25. Plánovanie: STRIPS, svet kociek, heuristiky z relaxácie a plánovanie v AI agentoch
  26. Lokálne hľadanie a simulované žíhanie: obchodný cestujúci cez krajské mestá
  27. Genetické algoritmy: populácia, kríženie, mutácia a výber na batohu na výlet
  28. Evolučné stratégie a genetické programovanie: od pravidla jednej pätiny po Keplerov zákon
  29. Optimalizácia mravčou kolóniou: ako feromónová stopa nájde krátku cestu
  30. Optimalizácia rojom častíc: zotrvačnosť, vlastná skúsenosť a skúsenosť roja
  31. Neuroevolúcia: evolúcia váh aj tvaru neurónových sietí a algoritmus NEAT
  32. Fuzzy množiny a funkcie príslušnosti: ako zapísať „trochu teplo“
  33. Fuzzy logika a pravdepodobnosť: prečo „trochu teplo“ neznamená „pravdepodobne teplo“
  34. Fuzzy logika: t-normy, implikácie a pravidlá AK–TAK
  35. Fuzzy riadenie: Mamdani a Sugeno od ventilátora po kyvadlo na vozíku
  36. Fuzzy zhlukovanie: algoritmus fuzzy c-means a body medzi zhlukmi
  37. Neuro-fuzzy systémy (ANFIS): fuzzy pravidlá, ktoré sa učia z dát
  38. Markovove reťazce: prechodová matica, stacionárne rozdelenie a PageRank
  39. Skryté Markovove modely: Viterbiho algoritmus a nepoctivé kasíno
  40. Bayesovské siete: prečo je tráva mokrá a čo z toho vyplýva pre postrekovač
  41. Kalmanov filter: ako z nepresných meraní odhadnúť, kde auto je a ako rýchlo ide
  42. Druhy strojového učenia: s učiteľom, bez učiteľa, s čiastočným učiteľom a ďalšie
  43. Prompty, kontext a RAG: ako modelu dať správne informácie
  44. Variačné autoenkodéry (VAE): nové obrázky zo spojitého latentného priestoru
  45. Generatívne adversariálne siete (GAN): falšovateľ proti detektívovi
  46. Difúzne modely: ako sa z čistého šumu stane obrázok
  47. Markovove rozhodovacie procesy: stavy, akcie, odmeny a Bellmanove rovnice
  48. Q-learning a DQN: učenie hodnoty akcií od tabuľky po neurónovú sieť
  49. Policy gradient a PPO: učenie priamo stratégie
  50. Ako funguje AI agent: jazykový model v slučke s nástrojmi
  51. Programovanie s AI agentmi: zadanie, testy a kontrola
  52. Vyhodnocovanie a bezpečnosť AI systémov: ako merať a ako strážiť

Celá osnova série Hotovo: 52 z 83 tém

Čo si odnesiete
  • 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

  1. S je konečná neprázdna množina (množina stavov),
  2. A je konečná neprázdna množina (množina akcií),
  3. 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),
  4. R : S × A × S → ℝ je funkcia (odmena za prechod z s akciou a do s′),
  5. γ ∈ [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).

Laicky povedané

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ň
[podmienka] je 1, keď podmienka platí, inak 0. Ak pohyb narazí do steny alebo okraja, je s′ = s a príslušné členy sa sčítajú — súčet cez všetky s′ je vždy 1. Rozdelenie (0,8; 0,1; 0,1) (t. j. p = 0,2) má aj klasický mriežkový svet z učebnice Russella a Norviga.
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:

  1. deterministická stratégia je funkcia π : S → A; agent v čase t volí at = π(st);
  2. 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).

Laicky povedané

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
Stačí vybrať γ pred zátvorku zo všetkých členov okrem prvého: rt+1 + γ (rt+2 + γ rt+3 + …).
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):

  1. 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′)];
  2. 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;
  3. každá deterministická stratégia π* s π*(s) ∈ argmaxa ∈ A Q*(s, a) pre všetky s ∈ S je optimálna.
Laicky povedané

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
Výraz za maximom je Q*(s, a): hodnota akcie a na políčku s, keď sa potom už hrá najlepšie.
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.
  1. Polož V0(s) = 0 pre všetky s ∈ S a k = 0.
  2. 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.
  3. Ak je maxs ∈ S |Vk+1(s) − Vk(s)| < ε, pokračuj krokom 4; inak zvýš k o 1 a vráť sa ku kroku 2.
  4. 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.

Laicky povedané

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 kVk(A)najlepšia akcia v AVk(B)najlepšia akcia v B
18,000→0,800←
28,000→5,832→
39,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
Vyplýva z kontrakcie: |Vk+1 − Vk| = |BVk − BVk−1| ≤ γ |Vk − Vk−1|, kde B je jedno kolo iterácie (Bellmanov operátor); a tak ďalej až k prvému kolu. Napríklad pre γ = 0,9 a k = 50 je hranica 10 · 0,9⁵⁰ ≈ 0,05.
10-610-410-2100 020406080 iterácia k (poradie) max |V_k+1 − V_k| (odmena, log.)
Hodnotová iterácia na šmykľavej podlahe (p = 0,2): najväčšia zmena hodnoty v každej iterácii γ = 0,9 (50 iterácií)γ = 0,99 (77 iterácií) 10 · γ^k

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.

→ 5,3 → 5,9 → 6,6 → 7,3 → 8,1 ↓ 9,0 ↑ 4,8 ↑ 5,9 → 9,0 ↓ 10,0 ↓ 5,3 +1 → 9,0 → 10,0 +10 → 5,9 S → 6,6 → 7,3 ↑ 8,1 ↑ 9,0 ↑ 10,0 −10−10−10−10−10−10 podlaha nešmýka → 4,3 → 5,0 → 5,7 → 6,5 → 7,5 ↓ 8,4 ↑ 3,8 ↑ 5,0 ↓ 8,5 ↓ 9,6 ↑ 3,3 +1 → 8,2 → 9,5 +10 ↑ 2,9 S ↑ 2,3 → 4,2 ↑ 7,0 ↑ 8,4 ↑ 9,6 −10−10−10−10−10−10 šmýkanie 20 %
Bez šmýkania a so šmýkaním (γ = 0,9): hodnoty políčok, optimálne akcie a najpravdepodobnejšia cesta

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.

→ 0,1 → 0,2 ↓ 0,4 → 0,8 ↓ 1,8 ↓ 3,7 ↑ 0,0 ↓ 0,9 ↓ 4,0 ↓ 8,6 ↑ 0,0 +1 → 3,6 → 8,4 +10 ↑ 0,0 S ↑ 0,1 ↑ 0,9 ↑ 1,7 ↑ 3,9 ↑ 8,6 −10−10−10−10−10−10 γ = 0,5, šmýkanie 20 % → −1,3 → 0,0 → 1,4 → 3,1 → 4,9 ↓ 6,7 ↑ −2,4 ↓ 0,7 ↓ 7,0 ↓ 9,3 ↑ −3,3 +1 → 6,5 → 9,0 +10 → −2,9 S → −0,9 → 1,5 ↑ 4,4 ↑ 6,7 ↑ 9,2 −10−10−10−10−10−10 γ = 0,9, šmýkanie 20 %, krok −1
Netrpezlivý agent a agent, ktorého každý krok stojí

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ýkaniekrokcesta vedieV(štart)simuláciapádkrokov
0,90 %0k +105,905,900,0 %6,0
0,920 %0k +102,852,840,7 %13,1
0,520 %0k +10,010,010,0 %9,5
0,920 %−1k +10−2,86−2,9026,9 %6,0
0,50 %−1k +1−1,25−1,250,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*.
  1. Polož i = 0.
  2. 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.
  3. 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).
  4. 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.

Laicky povedané

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

  1. Vπ′(s) ≥ Vπ(s) pre všetky s ∈ S;
  2. 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;
  3. 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:

koloV(štart) stratégiekrokov vyhodnoteniazmenených akcií
10,03667
20,111377
30,161418
40,491513
52,85421
62,85770

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.

Agent na vašom počítači, ovládaný z telefónu