Перейти до вмісту
coden

Марковські процеси ухвалення рішень: стани, дії, винагороди й рівняння Беллмана

MDP на сітковому світі з урвищем, віддача і дисконт, функція цінності й рівняння Беллмана, ітерація цінності та ітерація політики, написані з нуля, як дисконт, посковзування і ціна кроку змінюють оптимальну поведінку, і перевірка симуляцією.

11 хвилин Matěj Žalmánek 2026-10-16

Серія Основи ШІ Частина 47 з 52
  1. Мапа штучного інтелекту: що є що і як усе це пов’язано
  2. Коротка історія штучного інтелекту: від Тюрінга до мовних моделей
  3. Дані, модель, тренування, інференс: основні поняття на одному прикладі
  4. Як читати математичний запис: символи, індекси, суми та квантори
  5. Множини й відношення: конструктор, з якого складаються означення в ШІ
  6. Функції й відображення: чому кожна модель у ШІ — це функція
  7. Логіка й доведення: правила, за якими міркують у ШІ
  8. Графи й дерева: структура, на якій тримаються пошук і нейронні мережі
  9. Лінійна алгебра для машинного навчання: вектори, матриці й чому ШІ передусім множить
  10. Похідні, градієнт і правило ланцюжка: як модель дізнається, у якому напрямку вчитися
  11. Градієнтний спуск: як навчається модель
  12. Що таке ймовірність: від кидка кубика до аксіом Колмогорова
  13. Умовна ймовірність і теорема Баєса: як змінити оцінку, коли дізнаєтеся щось нове
  14. Випадкова величина і функція розподілу: одна функція, яка каже про розподіл усе
  15. Функція щільності та функція маси ймовірності: чому неперервна величина має в точці ймовірність нуль
  16. Математичне сподівання, дисперсія і коваріація: де лежить розподіл, наскільки він широкий і що з чим пов’язано
  17. Огляд розподілів ймовірностей: Бернуллі, біноміальний, Пуассона, рівномірний, нормальний і експоненційний
  18. Закон великих чисел і центральна гранична теорема: чому середні поводяться так передбачувано
  19. Статистика й оцінювання параметрів: максимальна правдоподібність, MAP і довірчі інтервали
  20. Теорія інформації: ентропія, перехресна ентропія і KL-дивергенція — звідки беруться функції втрат
  21. Пошук у просторі станів: BFS, DFS, UCS і A* з анімаціями
  22. Ігри та суперник: мінімакс, альфа-бета відсікання і Monte Carlo tree search
  23. Задоволення обмежень: бектрекінг, поширення обмежень і AC-3 на судоку та мапі чеських країв
  24. Логіка й системи, засновані на знаннях: пряме і зворотне виведення, резолюція та експертні системи
  25. Планування: STRIPS, світ кубиків, евристики з релаксації та планування в AI-агентах
  26. Локальний пошук та імітація відпалу: комівояжер через обласні центри Чехії
  27. Генетичні алгоритми: популяція, схрещування, мутація і добір на рюкзаку для походу
  28. Еволюційні стратегії і генетичне програмування: від правила однієї п’ятої до закону Кеплера
  29. Оптимізація мурашиною колонією: як феромоновий слід знаходить короткий шлях
  30. Оптимізація роєм частинок: інерція, власний досвід і досвід рою
  31. Нейроеволюція: еволюція ваг і форми нейронних мереж та алгоритм NEAT
  32. Нечіткі множини й функції належності: як записати «трохи тепло»
  33. Нечітка логіка та ймовірність: чому «трохи тепло» не означає «імовірно тепло»
  34. Нечітка логіка: t-норми, імплікації та правила ЯКЩО–ТО
  35. Нечітке керування: Мамдані та Суґено від вентилятора до маятника на візку
  36. Нечітка кластеризація: алгоритм fuzzy c-means і точки між кластерами
  37. Нейро-нечіткі системи (ANFIS): нечіткі правила, які навчаються з даних
  38. Марковські ланцюги: матриця переходів, стаціонарний розподіл і PageRank
  39. Приховані марковські моделі: алгоритм Вітербі й нечесне казино
  40. Байєсівські мережі: чому трава мокра і що з цього випливає для дощувача
  41. Фільтр Калмана: як за неточними вимірюваннями оцінити, де авто і як швидко воно їде
  42. Види машинного навчання: з учителем, без учителя, з частковим залученням учителя та інші
  43. Промпти, контекст і RAG: як дати моделі правильну інформацію
  44. Варіаційні автокодувальники (VAE): нові зображення з неперервного латентного простору
  45. Генеративні змагальні мережі (GAN): фальшувальник проти детектива
  46. Дифузійні моделі: як із чистого шуму постає зображення
  47. Марковські процеси ухвалення рішень: стани, дії, винагороди й рівняння Беллмана
  48. Q-навчання і DQN: як навчитися цінності дій — від таблиці до нейронної мережі
  49. Policy gradient і PPO: навчання безпосередньо політики
  50. Як працює ШІ-агент: мовна модель у циклі з інструментами
  51. Програмування з AI-агентами: завдання, тести й перевірка
  52. Оцінювання і безпека систем ШІ: як вимірювати і як стежити

Повна програма серії Готово: 52 з 83 тем

Що ви винесете
  • Як задачу навчання з підкріпленням описати як MDP.
  • Що таке цінність стану і як її обчислює рівняння Беллмана.
  • Чому дрібниці у винагородах і дисконті цілком змінюють поведінку агента.

Що варто знати заздалегідь: Марковські ланцюги: матриця переходів, стаціонарний розподіл і PageRank, Математичне сподівання, дисперсія і коваріація: де лежить розподіл, наскільки він широкий і що з чим пов’язано, Види машинного навчання: з учителем, без учителя, з частковим залученням учителя та інші

Досі моделі в серії вчилися з прикладів із правильною відповіддю або шукали структуру в даних. Навчання з підкріпленням — це третій шлях: агент діє, світ дає йому за це винагороди й покарання, і агент має збагнути, як діяти, щоб зібрати їх якомога більше. Перш ніж братися до навчання, нам потрібна мова, якою таку задачу можна точно описати. Це марковський процес ухвалення рішень. У цій частині ми побудуємо його на маленькому світі з урвищем і точно обчислимо найкращу поведінку — за умови, що правила світу нам відомі.

Продовжує частини Марковські ланцюги, Математичне сподівання, дисперсія і коваріація та Види машинного навчання.

1. Агент, середовище, винагорода

Означення — марковський процес ухвалення рішень (MDP)

MDP — це п’ятірка (S, A, P, R, γ): множина станів S, множина дій A, ймовірності переходів P(s′ | s, a), винагорода R(s, a, s′) і коефіцієнт дисконтування γ ∈ [0, 1). На кожному кроці агент у стані s обирає дію a, світ випадково згідно з P переносить його в s′, і агент отримує винагороду. Марковська властивість: наступний стан залежить лише від поточного стану й дії, а не від історії.

Простими словами

Настільна гра з кубиком: ви знаєте, на якій клітинці стоїте (стан), обираєте хід (дія), кубик вирішує, куди ви насправді просунетеся (перехід), а за деякі клітинки отримуєте очки (винагорода). Як ви на клітинку потрапили, не має значення — важливо лише, де ви стоїте зараз.

Наш світ — це сітка 6 × 5. Агент починає ліворуч (S) і може йти вгору, праворуч, униз або ліворуч. Увесь нижній рядок — урвище: хто в нього впаде, отримує −10, і гра закінчується. Недалеко від старту є мала ціль за +1, далеко праворуч — велика ціль за +10. Дві стіни закривають коротший шлях угору. А підлога може бути слизькою: з ймовірністю p агент замість задуманого напрямку посковзнеться в один із двох перпендикулярних напрямків.

P(s′ | s, a) = (1 − p) · [s′ = крок у напрямку a] + p/2 · [s′ = крок перпендикулярно ліворуч] + p/2 · [s′ = крок перпендикулярно праворуч]

P(s′ | s, a)
з якою ймовірністю агент після дії a опиниться в клітинці s′ — увесь розподіл, а не лише «куди має йти», бо цінність ходу обчислюватиметься як середнє за всіма можливими місцями приземлення
(1 − p) · […]
задуманий рух — отримує більшу частину ймовірності; при p = 0 лишається тільки цей доданок, і світ детермінований
p/2 · […]
посковзування вбік, порівну ліворуч і праворуч — через нього клітинка поруч з урвищем небезпечна, навіть коли ми йдемо вздовж нього, а не в нього
[умова] дорівнює 1, коли умова виконується, інакше 0. Якщо рух упирається в стіну або край, то s′ = s, і відповідні доданки додаються — сума за всіма s′ завжди дорівнює 1. Розподіл 0,8 / 0,1 / 0,1 (тобто p = 0,2) має й класичний сітковий світ із підручника Рассела та Норвіга.
Приклад — крок праворуч уздовж урвища

Агент стоїть на клітинці праворуч від старту (над ним стіна, під ним урвище) і обирає «праворуч», p = 0,2:

  • 0,8 — наступна клітинка праворуч,
  • 0,1 — урвище (винагорода −10, кінець),
  • 0,1 — клітинка праворуч від старту (посковзнеться вгору в стіну й залишиться на місці),

разом 0,8 + 0,1 + 0,1 = 1. Очікувана миттєва винагорода цього ходу становить 0,8 · 0 + 0,1 · (−10) + 0,1 · 0 = −1: у середньому кожен десятий такий крок закінчиться падінням.

2. Віддача, дисконт і політика

Означення — віддача і політика

Віддача від моменту t — це дисконтована сума майбутніх винагород Gt = rt+1 + γ rt+2 + γ² rt+3 + …. Політика (policy) π визначає, яку дію обрати в якому стані — детерміновано π(s) = a або як розподіл π(a | s). Мета — політика з найбільшою очікуваною віддачею.

Простими словами

Дисконт γ каже, наскільки винагорода завтра менша, ніж сьогодні. При γ = 0,9 винагорода через десять кроків має вагу 0,9¹⁰ ≈ 0,35, при γ = 0,5 лише 0,001. Мале γ робить агента нетерплячим, γ близько до 1 — терплячим. Політика тоді — просто шпаргалка: «на цій клітинці йди праворуч, на тій — угору».

Gt = rt+1 + γ · Gt+1

Gt
віддача від цієї миті до кінця — число, яке агент хоче мати якомога більшим
rt+1
винагорода одразу за наступний крок — єдина, яку агент отримує без очікування, тому без дисконту
γ
дисконт — усе, що прийде пізніше, дешевшає на один множник γ; так «пізніше» перетворюється на «менше»
Gt+1
віддача від наступного кроку — та сама величина на крок далі; рекурсія, з якої незабаром виросте рівняння Беллмана
Досить винести γ з усіх доданків, крім першого: rt+1 + γ (rt+2 + γ rt+3 + …).
Теорема — при γ < 1 віддача завжди скінченна

Якщо кожна винагорода за абсолютним значенням не перевищує Rmax, то |Gt| ≤ Rmax (1 + γ + γ² + …) = Rmax / (1 − γ), навіть якби епізод ніколи не закінчився.

Доведення. Нерівність трикутника дає |Gt| ≤ ∑k ≥ 0 γk |rt+k+1| ≤ Rmax ∑k ≥ 0 γk, а геометричний ряд зі знаменником 0 ≤ γ < 1 має суму 1/(1 − γ). ∎

У нас Rmax = 10 і γ = 0,9, тож |G| ≤ 10 / 0,1 = 100. Без ціни за крок це ще набагато менше: ненульову винагороду дає лише вхід у ціль або в урвище, і то щонайбільше раз за епізод, тож |G| ≤ 10. Тому γ = 1 можна використати лише там, де епізод напевно закінчиться.

Приклад — віддача найкоротшого шляху до великої цілі

На твердій підлозі найкоротший шлях до цілі +10 веде через 6 кроків. Перші п’ять кроків дають винагороду 0, шостий (вхід у ціль) +10. При γ = 0,9:

G0 = 0 + 0,9 · 0 + 0,9² · 0 + 0,9³ · 0 + 0,9⁴ · 0 + 0,9⁵ · 10 = 0,59049 · 10 = 5,9049.

На твердій підлозі нічого випадкового не відбувається, тож це безпосередньо цінність старту — і обчислення ітерацією цінності в розділі про політики справді дає 5,90. Мала ціль +1 навіть за 3 кроки дала б лише 0,9² · 1 = 0,81.

3. Цінність і рівняння Беллмана

Означення — функція цінності й рівняння оптимальності Беллмана

Цінність стану за політики π — це очікувана віддача, коли агент починає в s і дотримується π: Vπ(s) = Eπ[Gt | st = s]. Цінність дії Qπ(s, a) — те саме, коли першу дію визначаємо самі. Оптимальні цінності задовольняють рівняння Беллмана (Річард Беллман, 1957):

V*(s) = maxa ∑s′ P(s′ | s, a) [R(s, a, s′) + γ V*(s′)],

а оптимальна політика — π*(s) = argmaxa Q*(s, a), де Q*(s, a) — вираз під максимумом.

Простими словами

Цінність клітинки = найбільше, що я з неї можу видобути. І це можна обчислити рекурсивно: з кожного ходу я отримаю миттєву винагороду плюс (трохи здешевлену) цінність клітинки, куди мене хід приведе, — усереднену за тим, куди мене може закинути кубик. Обираю хід, де виходить найбільше.

V*(s) = maxa ∑s′ P(s′ | s, a) [R(s, a, s′) + γ V*(s′)]

V*(s)
найкраща очікувана віддача з клітинки s — те, що шукаємо; стоїть по обидва боки, тож рівняння — це умова, яку мають задовольнити всі цінності одночасно
maxa
вибір агента — дію він обирає сам, тож бере найкращу; саме тут рівняння «оптимальності» відрізняється від рівняння для фіксованої політики π, де замість максимуму стоїть π(s)
∑s′ P(s′ | s, a) […]
середнє за тим, куди агента світ насправді закине, — про це агент не вирішує, тому математичне сподівання, а не максимум
R(s, a, s′)
миттєва винагорода за цей перехід (+1, +10, −10 або ціна кроку)
γ
дисконт — майбутнє на крок далі, тому один множник γ (так само, як у формулі Gt = rt+1 + γ Gt+1)
V*(s′)
найкраща віддача з місця приземлення — усе майбутнє, зведене до одного числа, тож не треба перебирати всі довгі шляхи
Вираз після максимуму — це Q*(s, a): цінність дії a у клітинці s, коли потім грати найкраще.
Приклад — рівняння Беллмана на старті (посковзування 20 %, γ = 0,9)

Готові оптимальні цінності сусідів старту: клітинка над стартом V* = 3,325, клітинка праворуч V* = 2,260, сам старт V* = 2,854; урвище термінальне (цінність 0, винагорода −10). Підставимо в праву частину для кожної дії:

  • ↑: 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,

Найбільша — ↑ з 2,854, і це саме V*(старт) — рівняння виконується (різниця в останній цифрі — округлення). Дія «вгору» має цінність, попри 10-відсотковий шанс, що агент посковзнеться ліворуч, наткнеться на край і залишиться на старті: тому V*(старт) з’являється і праворуч. Дія «вниз» на 80 % веде в урвище й виходить глибоко від’ємною.

4. Ітерація цінності

Означення — ітерація цінності

Почни з V0 = 0 і повторюй для всіх станів Vk+1(s) = maxa ∑s′ P(s′ | s, a) [R + γ Vk(s′)], доки цінності змінюються. Оператор Беллмана при γ < 1 є стисканням: maxs |Vk+1 − V*| ≤ γ · maxs |Vk − V*|, тож похибка спадає щонайменше як γk.

Простими словами

У першому раунді цінність знають лише клітинки поруч із цілями. У другому інформація просувається на клітинку далі, у третьому — ще на одну. Як новина, що передається від сусіда до сусіда: після кількох раундів кожна клітинка знає, куди варто йти.

# ітерація цінності
V = 0 у всіх станах
повторюй:
    для кожного нетермінального стану s:
        для кожної дії a:
            Q[a] = ∑ по s′ ( P(s′ | s, a) · (R(s, a, s′) + γ · V(s′)) )
        V_нове(s) = max(Q)
    зміна = max по s |V_нове(s) − V(s)|
    V = V_нове
доки зміна ≥ 10⁻⁶
π(s) = дія з найбільшим Q[a] (обчисленим із кінцевого V)
Приклад — перші три раунди (посковзування 20 %, γ = 0,9)

Стежимо за двома клітинками в середньому рядку: A одразу ліворуч від великої цілі +10 і B на клітинку далі, одразу праворуч від малої цілі +1. Над B стіна, над A вільно, під обома звичайна підлога.

раунд kVk(A)найкраща дія в AVk(B)найкраща дія в B
18,000→0,800←
28,000→5,832→
39,166→6,343→

Раунд 1 (усюди V0 = 0): з A крок праворуч з ймовірністю 0,8 веде в ціль, тобто 0,8 · 10 = 8,000. З B поки нічого далекого не видно, найкраще — крок ліворуч до малої цілі: 0,8 · 1 = 0,800.

Раунд 2: з B праворуч потрапляємо в A, яка вже має цінність 8: 0,8 · 0,9 · 8 = 5,76, до того 0,1 · 0,9 · 0,8 = 0,072 за посковзування вгору (стіна, агент лишається в B з V1 = 0,8) і 0 за посковзування вниз — разом 5,832. Найкраща дія в B перекинулася з ← на →: інформація про велику ціль просунулася на клітинку далі.

maxs |Vk+1(s) − Vk(s)| ≤ γk · maxs |V1(s) − V0(s)|

max |Vk+1 − Vk|
найбільша зміна в раунді k + 1 — те, за чим обчислення стежить і за чим зупиняється; на графіку нижче зелена (γ = 0,9) і синя (γ = 0,99) лінія
γk
кожен раунд зменшує різницю двох оцінок щонайменше в γ разів (стискання); після k раундів отже в γk разів — звідси повільна збіжність для γ, близьких до 1
max |V1 − V0|
величина першої зміни; при V0 = 0 це найбільша очікувана винагорода за один крок, у нас щонайбільше 10 — звідси пунктирна межа 10 · γk на графіку
Випливає зі стискання: |Vk+1 − Vk| = |BVk − BVk−1| ≤ γ |Vk − Vk−1|, де B — один раунд ітерації (оператор Беллмана); і так далі аж до першого раунду. Наприклад, для γ = 0,9 і k = 50 межа становить 10 · 0,9⁵⁰ ≈ 0,05.
10-610-410-2100 020406080 ітерація k (порядковий номер) max |V_k+1 − V_k| (винагорода, лог.)
Ітерація цінності на слизькій підлозі (p = 0,2): найбільша зміна цінності в кожній ітерації γ = 0,9 (50 ітерацій)γ = 0,99 (77 ітерацій) 10 · γ^k

При γ = 0,9 цінності усталюються (зміна менша за 10⁻⁶) після 50 ітерацій, при γ = 0,99 — після 77. Похибка спадає швидше, ніж гарантує межа γk, — вона виконується завжди, але для конкретного світу зазвичай песимістична. Що ближче γ до одиниці, то далі в майбутнє має поширитися інформація і то довше триває обчислення.

5. Що змінюють дисконт, посковзування і ціна кроку

Тепер найцікавіше. Той самий світ, лише інші налаштування — і оптимальна політика виглядає зовсім інакше.

→ 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 підлога не слизька → 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 посковзування 20 %
Без посковзування і з посковзуванням (γ = 0,9): цінності клітинок, оптимальні дії й найімовірніший шлях

На твердій підлозі найкоротший шлях до великої цілі веде впритул уздовж урвища: 6 кроків і цінність старту 5,90. Коли підлога слизька, край урвища небезпечний — кожен крок там означає 10-відсотковий шанс упасти. Тому оптимальна політика обходить стіни згори: 10 кроків замість 6, але в урвище падає лише в 0,7 % епізодів. Якби ми на слизькій підлозі застосували ризиковану політику, агент падав би в 30 % випадків, а цінність старту знизилася б до 0,64 замість 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, посковзування 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, посковзування 20 %, крок −1
Нетерплячий агент і агент, якому кожен крок коштує

При γ = 0,5 велика ціль настільки далеко, що не окупається — +10 через 10 кроків має сьогодні вагу лише 10 · 0,5¹⁰ ≈ 0,01. Агент обережно йде згори до малої цілі. Коли ж кожен крок коштує −1, ризикувати вигідно: агент іде до великої цілі краєм урвища і в 27 % епізодів падає. Довгий безпечний шлях коштував би йому більше, ніж середня втрата від падіння.

γпосковзуваннякрокшлях ведеV(старт)симуляціяпадіннякроків
0,90 %0до +105,905,900,0 %6,0
0,920 %0до +102,852,840,7 %13,1
0,520 %0до +10,010,010,0 %9,5
0,920 %−1до +10−2,86−2,9026,9 %6,0
0,50 %−1до +1−1,25−1,250,0 %3,0

Стовпець «симуляція» — це перевірка: середня віддача з 10 000 епізодів за знайденою політикою, з випадковим посковзуванням. Середня віддача відрізняється від обчисленої цінності старту щонайбільше на кілька сотих — рівняння Беллмана справді обчислює очікувану віддачу.

Урок для реальних застосувань: поведінку агента визначає не лише «що є метою», а й дрібниці на кшталт дисконту й ціни за крок. Хто проєктує винагороди, проєктує поведінку — зокрема й ту, якої не хотів.

6. Ітерація політики

Означення — ітерація політики

Ітерація політики (Рональд Говард, 1960) чергує два кроки. Оцінювання: для фіксованої політики π обчисли Vπ, розв’язавши систему Vπ(s) = ∑s′ P(s′ | s, π(s)) [R + γ Vπ(s′)]. Покращення: у кожному стані обери дію з найбільшою цінністю згідно з Vπ. Коли політика перестає змінюватися, вона оптимальна.

Простими словами

Беру якусь шпаргалку, чесно обчислюю, наскільки добре з нею впораюся з кожної клітинки, а потім виправляю шпаргалку всюди, де інший хід вийшов би краще. Повторюю. Шпаргалка покращується з кожним раундом і за кілька раундів уже не змінюється.

# ітерація політики
π = «усюди вгору»
повторюй:
    # оцінювання: V^π розв’язанням системи (у нас повторним підставлянням)
    V = 0
    повторюй, доки V змінюється більше ніж на 10⁻⁹:
        V(s) = ∑ по s′ ( P(s′ | s, π(s)) · (R + γ · V(s′)) )   для кожного s
    # покращення: у кожному стані найкраща дія згідно з V^π
    π_нова(s) = argmax по a  ∑ по s′ ( P(s′ | s, a) · (R + γ · V(s′)) )
    змінених = кількість станів, де π_нова(s) ≠ π(s)
    π = π_нова
доки змінених > 0
Теорема — про покращення політики

Якщо нова політика π′ у кожному стані обирає дію з найбільшим Qπ(s, a), то Vπ′(s) ≥ Vπ(s) в усіх станах. Якщо π′ не відрізняється від π, то Vπ задовольняє рівняння оптимальності Беллмана, а отже, π оптимальна.

Ескіз доведення. З вибору π′ маємо Vπ(s) = Qπ(s, π(s)) ≤ Qπ(s, π′(s)) = E[r + γ Vπ(s′)]. У Vπ(s′) підставимо ту саму нерівність, потім знову… Після розгортання залишиться очікувана віддача політики, яка грає π′ на всіх кроках, тобто Vπ′(s). ∎

Детермінованих політик скінченно багато — у нас 4 дії в 19 нетермінальних клітинках, тобто 419 ≈ 2,7 · 1011. Жодна не може повторитися (кожен раунд цінність покращує або завершується), тож ітерація політики завжди закінчується. Насправді раундів вистачає напрочуд мало: у нас 6.

На слизькій підлозі з γ = 0,9 і політикою «усюди вгору» на початку:

раундV(старт) політикикроків оцінюваннязмінених дій
10,03667
20,111377
30,161418
40,491513
52,85421
62,85770

Після 6 раундів політика така сама, як з ітерації цінності. Раундів мало, але кожен містить повне оцінювання (у нас від десятків до сотень проходів світом). Який із двох методів швидший, залежить від задачі; на практиці їх поєднують.

7. Коли правила світу невідомі

Усе вище припускає, що ми знаємо P і R — можемо «зазирнути в правила». Це планування (динамічне програмування). У справжньому навчанні з підкріпленням агента кинуто у світ, правил якого він не знає: він мусить пробувати, збирати досвід і оцінювати цінності з нього. Рівняння Беллмана проте лишається серцем майже всіх методів — лише замість точного середнього за P використовується вибірка з одного реального кроку. Це Q-learning, тема наступної частини.

Ця сама рамка описує робота, який учиться ходити, керування запасами на складі, рекомендаційну систему і мовну модель, навчену на людських уподобаннях у частині про RLHF — там станом є наявний текст, дією наступний токен, а винагородою оцінка відповіді.

8. Підсумок

  • MDP = стани, дії, випадкові переходи, винагороди й дисконт; наступний стан залежить лише від поточного стану й дії.
  • Цінність стану — це очікувана дисконтована віддача; оптимальні цінності задовольняють рівняння Беллмана.
  • Ітерація цінності повторює рівняння Беллмана; похибка спадає щонайменше як γk (у нас 50 ітерацій для γ = 0,9).
  • Посковзування відсуває шлях від урвища (падіння 0,7 % замість 30 %), мале γ веде до малої близької цілі, ціна за крок — до ризику.
  • Ітерація політики чергує оцінювання й покращення; у нас 6 раундів.
  • Без знання правил світу цінності доводиться вивчати з досвіду — це і є навчання з підкріпленням.

Хочете спробувати самі? Доручіть ШІ-агенту запрограмувати цей світ з урвищем і інтерактивно змінювати γ, посковзування й ціну кроку — і стежте, коли політика «перекинеться» з одного шляху на інший.

Маєте іншу думку? Напишіть на support@coden-app.com.

Агент на вашому комп’ютері, керований з телефона