Skip to content

Модуль 04 · Навчання з підкріпленням: основи

Одноагентне навчання з підкріпленням як апарат синтезу керування через взаємодію: від постановки задачі прийняття рішень до глибоких алгоритмів навчання політики.

Базовий цикл навчання з підкріпленням: агент, середовище, винагорода

Базовий цикл навчання з підкріпленням: агент, середовище, винагорода

Зміст лекції

Лекція будує апарат знизу вгору й перевіряє кожен крок на одній наскрізній задачі — навчити нанодрон Crazyflie 2.1 висіти на висоті один метр.

ЧастинаПро що
1. Постановка задачіагент, середовище, MDP, цінності, рівняння Беллмана
2. Наскрізний прикладCrazyflie 2.1: стан, дія, винагорода, крива навчання
3. Табличні методидинамічне програмування, Q-learning, on-policy проти off-policy
4. Глибокі методиDQN, policy gradient, actor–critic, PPO
5. Оцінюванняяк чесно порівнювати алгоритми

Зміна припущень порівняно з модулями 02–03: динаміка переходів і функція винагороди агентові невідомі. Відомими вважають лише простір станів і простір дій.

Результати навчання

Після лекції ви зможете:

  • записати марковський процес прийняття рішень як кортеж і пояснити властивість Маркова;
  • пояснити вплив коефіцієнта дисконтування на оптимальну поведінку;
  • записати рівняння Беллмана й отримати з Q оптимальну політику;
  • спроєктувати вектор спостережень, дію та функцію винагороди для конкретної задачі БПЛА;
  • виконати вручну кілька оновлень Q-learning і показати, як цінність поширюється від цілі;
  • пояснити різницю між on-policy та off-policy й обґрунтувати вибір під задачу;
  • назвати, що саме ламається в наївному глибокому Q-навчанні і як це усувають DQN і PPO;
  • побудувати коректний протокол порівняння алгоритмів.

Частина 1 · Постановка задачі

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

Що таке навчання з підкріпленням

На кожному кроці агент отримує спостереження, обирає дію і отримує скалярну винагороду. Розв'язком задачі є оптимальна політика (policy) — правило вибору дії в кожному стані, яке максимізує накопичену винагороду. Один прогін від початкового стану до термінального називають епізодом.

Складник задачіЩо задаєТипові варіанти
Модель прийняття рішеньмеханіку взаємодії агента із середовищемMDP, POMDP, багаторукий бандит
Ціль навчаннявластивість оптимальної політикимаксимум очікуваної дисконтованої віддачі

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

Дія змінює середовище: наступні дані, які побачить агент, залежать від того, як він поводився раніше. Саме цим RL відрізняється від задач із фіксованою вибіркою.

Дослідження проти використання

Центральна проблема навчання — баланс exploration–exploitation. Дослідження нових дій може виявити кращу поведінку, але коштує втраченої винагороди тут і зараз.

Якість ε-жадібної стратегії за різних темпів дослідження

Якість ε-жадібної стратегії за різних темпів дослідження

Найпростіший робочий механізм — ϵ-жадібний вибір: з імовірністю 1ϵ агент бере дію з найбільшою оцінкою цінності, з імовірністю ϵ — випадкову.

ϵПоведінка агентаКоли доречно
1,0повністю випадкові діїперші тисячі кроків
0,3часте відхилення від жадібної діїсередина навчання
0,05майже завжди жадібна діякінець навчання
0детермінована жадібна політикаоцінювання вивченої політики
Дослідження проти використання
П'ять важелів, агент не знає їхньої якості. Ймовірність ε він пробує випадковий, інакше бере найкращий за поточною оцінкою. Криві усереднені по 200 прогонах.
межа 2.20500 кроків
2.11середня винагорода на останніх 100 кроках
81 %часу на найкращому важелі
9жаль за 100 кроків

Поставте ε = 0: агент чіпляється за перший важіль, який випадково дав добру винагороду, і більше нічого не пробує — крива застигає нижче межі. Поставте ε = 0,5: половину кроків він витрачає на явно гірші важелі й теж програє. Оптимум лежить між ними, і саме тому в лекції ε зменшують із часом: спершу дослідження, потім використання.

Марковський процес прийняття рішень

MDP — стандартна формальна модель середовища. Він задається кортежем із п'яти елементів: що агент бачить, що може зробити, як середовище реагує, скільки за це платять і з чого все починається.

MDP=S, A, T, R, μ
ПозначенняЗначення
Sмножина станів, серед них термінальні
Aмножина дій, доступних агентові
T(ss,a)ймовірність опинитися в s після дії a у стані s
R(s,a,s)винагорода за цей перехід
μрозподіл початкових станів епізоду

Властивість Маркова: для передбачення майбутнього досить поточного стану й дії — уся попередня історія не додає інформації.

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

Очікувана дисконтована віддача

Ціль навчання формалізують як математичне сподівання дисконтованої суми винагород.

J(π)=Eπ[t=0γtrt]
ПозначенняЗначення
rtвинагорода, отримана на кроці t
γ[0,1)коефіцієнт дисконтування
Eπусереднення за початковим станом, діями політики й переходами

Коефіцієнт γ має два еквівалентні прочитання: винагорода через t кроків важить у γt разів менше за негайну; або 1γ — імовірність обриву епізоду на кожному кроці.

Числова ілюстрація: винагорода +10 через п'ять кроків при γ=0,9 важить 100,955,9; при γ=0,5 — лише 0,3. Коефіцієнт дисконтування належить постановці задачі, а не оптимізатору: змінивши γ, ми змінюємо те, яку політику вважаємо оптимальною.

Функції цінності та рівняння Беллмана

Цінність стану Vπ(s) — очікувана віддача, якщо стартувати в s і далі діяти за політикою π. Цінність дії Qπ(s,a) — те саме, але перший крок фіксовано дією a. Усі величини пов'язані однією ідеєю: цінність зараз дорівнює негайній винагороді плюс дисконтована цінність того, що буде далі.

Q(s,a)=Es[R(s,a,s)+γmaxaQ(s,a)]
ПозначенняЗначення
Esусереднення за наступними станами згідно з динамікою
maxaприпущення, що далі агент діятиме оптимально
γдисконт цінності наступного кроку

Маючи Q, оптимальна політика отримується без жодних додаткових обчислень:

π(s)=argmaxaAQ(s,a)

Оптимальна функція цінності єдина, а оптимальних політик може бути кілька; серед них завжди є детермінована.

Марсохід: MDP, який можна порахувати вручну

Марсохід стоїть на старті. Праворуч — короткий ризикований шлях до бази, ліворуч — довший, але надійніший маршрут через дві точки відбору проб.

MDP марсохода: стани, ймовірності переходів і винагороди

MDP марсохода: стани, ймовірності переходів і винагороди

Прибуття на базу дає +10, кожен день шляху коштує 1, застрягання — 3, втрата апарата — 10. Стани «База», «Втрачений» і «Знерухомлений» термінальні. Джерело прикладу: Albrecht, Christianos, Schäfer, Multi-Agent Reinforcement Learning, MIT Press, 2024, рис. 2.3.

Той самий апарат, інша ціль навчання

Величина при γ=0,95СтартТочка AТочка B
Цінність рівноймовірної політики−0,440,374,67
Оптимальна цінність V4,106,2010,00

Оптимальна політика при γ=0,95 — рухатися ліворуч зі старту й далі праворуч: Q(Старт,ліворуч)=4,10 проти Q(Старт,праворуч)=0. Довгий шлях коштує кількох 1, але уникає п'ятдесятивідсоткового ризику втратити апарат.

При γ=0,3 віддалена винагорода знецінюється настільки, що довгий маршрут дає вже 0,93 проти нуля за ризикований кидок праворуч, — і оптимальною стає саме ризикована дія. Той самий апарат, та сама фізика, інша ціль навчання — інша поведінка. Це найдешевша ілюстрація того, чому γ не є параметром оптимізатора.

Частина 2 · Наскрізний приклад: Crazyflie 2.1

Досі стан, дія й винагорода жили в умовних задачах. Далі ті самі поняття прикладено до реального нанодрона, який учиться висіти на висоті один метр. Ці числа наскрізні — вони повертатимуться далі в курсі.

ХарактеристикаЗначення
Злітна маса27 г — модель CF2X, на якій ідуть лабораторні; із двома платами розширення виходить ≈ 33 г
Габарити92 × 92 × 29 мм
Максимальна тяга (4 мотори)60,8 г-сили = 0,596 Н, тобто 2,25 ваги
Тяга при висінні27 / 60,8 = 0,44 від максимуму
Головний мікроконтролерSTM32F405, Cortex-M4, 168 МГц, 192 КБ ОЗП
Час польотублизько 6 хв

Запас у 1,75 раза й визначає, наскільки різко апарат може маневрувати. Документація: Bitcraze Crazyflie 2.1.

Сенсори: що апарат насправді відчуває

Дрон не бачить своєї висоти напряму — він її обчислює з кількох сирих вимірювань.

СенсорЩо вимірюєЧастотаТочність
BMI088 гіроскопкутова швидкість по 3 осях1000 Гцдо ±34 рад/с, є дрейф нуля
BMI088 акселерометрлінійне прискорення1000 Гцшумний, потребує фільтрації
BMP388 барометртиск → висота50 Гцдрейф десятки см у приміщенні
VL53L1x (Flow deck)відстань до підлоги40 Гцдо 4 м, похибка одиниці мм
PMW3901 (Flow deck)оптичний потік → швидкість100 Гцвід 80 мм над підлогою
DWM1000 (Loco deck, UWB)відстані до якорів~500 вим./с±10 см на дальності 10 м

Жоден сенсор не видає позицію. Позицію збирає фільтр Калмана з Модуля 02 — і саме його вихід потрапляє в політику.

1Інерціальні сенсори 1000 Гц
2Далекомір і оптичний потік
3Розширений фільтр Калмана 100 Гц
4Оцінка стану для політики

Спостереження, дія та винагорода

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

Компонент спостереженняРозмірОдиниціПриклад
Помилка висоти z1,01м−0,130
Вертикальна швидкість vz1м/с−0,12
Горизонтальні швидкості vx,vy2м/с+0,04, −0,02
Крен і тангаж2рад+0,03, −0,01
Кутові швидкості p,q,r3рад/с+0,11, −0,07, +0,02
Разом9

Політика керує одним числом — нормованою сумарною тягою u[0,1] на частоті 50 Гц. Кутове положення тримає бортовий ПІД із прошивки: ми не вчимо дрон літати з нуля, ми вчимо його одному конкретному рішенню.

Читаємо приклад уголос: апарат на висоті 0,87 м, на 13 см нижче цілі, повільно опускається зі швидкістю 12 см/с. Політика має додати тяги.

Винагорода: чим ближче до метра і чим спокійніше, тим краще

Винагорода нараховується на кожному кроці, 50 разів на секунду, і політика вчиться максимізувати їхню суму за епізод.

Розклад винагороди на доданки для одного кроку керування

Розклад винагороди на доданки для одного кроку керування

СкладоваНавіщоВагаВнесок
|z1,0|тримати задану висоту1,00−0,130
|vz|не пружинити вгору-вниз0,20−0,024
|utut1|не смикати мотори0,05−0,001
бонус за життяне вимикати мотори заради швидкого кінця0,10+0,100
Разом за крок−0,055

Бонус за життя виглядає дрібницею, але без нього виникає класична пастка: якщо всі складові від'ємні, агентові вигідно швидко впасти й обірвати епізод. Ідеальне висіння дало б +0,10 за крок, тобто +5,0 за секунду.

Один крок цілком, як арифметика

Крок номер 3417. Крок триває 0,02 с, маса 27 г = 0,027 кг, максимальна тяга 60,8 г-сили = 0,596 Н.

ЕтапОбчисленняРезультат
1. Стан до крокуz=0,870 м, vz=0,12 м/с
2. Спостереження0,8701,0−0,130
3. Політика видаєнейромережа → uu=0,620
4. Фізична тяга0,620×0,596 Н0,369 Н
5. Сила ваги0,027×9,810,265 Н
6. Чиста сила0,3690,265+0,104 Н
7. Прискорення0,104/0,027+3,88 м/с²
8. Нова швидкість0,12+3,88×0,02−0,042 м/с
9. Нова висота0,870+(0,12)×0,020,868 м
10. Винагорода0,1320,0080,001+0,100−0,042

Висота ще трохи впала через інерцію, але швидкість падіння зменшилася з 12 до 4 см/с, і винагорода зросла з −0,055 до −0,042. Саме такі мікроскопічні покращення, повторені мільйони разів, і є навчанням.

Що видно на кривій навчання

Навчання не є монотонним покращенням. Воно має характерні фази, і корисно розпізнавати, яка фаза триває зараз, щоб не зупинити навчання зарано. На осі — нормована віддача: сума винагород, поділена на тривалість епізоду в секундах, у тих самих одиницях, що й у лабораторній роботі 2. Ідеальному висінню відповідає +5,0.

Крива навчання висіння Crazyflie з позначеними фазами

Крива навчання висіння Crazyflie з позначеними фазами

КрокиЩо робить дронНормована віддача
0 – 50 тис.падає одразу, мотори на випадковій потужностівинагорода ≈ −8, епізоди по 0,5 с
50 – 200 тис.тримається близько 1 свинагорода росте до −3
200 – 500 тис.висить, але пружинить на ±25 смвинагорода −1,0 … −0,4
500 тис. – 1 млнтримає ±8 смвинагорода +2 … +4, розкид падає
1 – 2 млнтримає ±2–3 смплато ≈ +4,5 проти ідеальних +5,0

Дві найчастіші аварії навчання: крива застрягає на −8 (агент не знайшов рятівної тяги) і крива красиво росте, але дрон крутиться на місці (агент знайшов, як збирати бонус за життя, не виконуючи задачу).

Частина 3 · Табличні методи

Якщо динаміка середовища відома повністю, оптимальну політику можна обчислити без жодної взаємодії. На практиці цей ідеальний випадок майже не трапляється.

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

Причина збіжності динамічного програмування суто математична: оновлення Беллмана стискає відстань між будь-якими двома оцінками цінності у γ разів, тому послідовні наближення сходяться до однієї нерухомої точки.

Q-learning: одна вибірка замість усереднення

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

Q(s,a)Q(s,a)+α[r+γmaxaQ(s,a)цільQ(s,a)]
ПозначенняЗначення
(s,a,r,s)один крок досвіду
α(0,1]темп навчання: частка, на яку оцінка зсувається до цілі
maxaQ(s,a)оцінка найкращого продовження з наступного стану

Для термінального наступного стану доданок із max дорівнює нулю. Оновлення застосовне до будь-якого досвіду — свого, чужого, збереженого раніше. Саме ця властивість робить Q-learning базою для всієї сім'ї off-policy алгоритмів.

Сітковий світ: два оновлення вручну

Сітка три на три. Агент починає в (1,1), клітинка (1,3) — ціль (+10, кінець епізоду), клітинка (2,2) — пастка (5, кінець епізоду). Параметри: γ=0,9, α=0,5.

Агент опинився в (1,2) і обрав «праворуч». Він потрапляє в ціль, епізод завершується, тому доданок із максимумом дорівнює нулю:

Q((1,2), праворуч)0+0,5[10+0,900]=5,00

У наступному епізоді агент зі старту йде праворуч у (1,2). Винагорода нульова, але наступний стан уже має ненульову оцінку:

Q((1,1), праворуч)0+0,5[0+0,95,000]=2,25

Два оновлення — і в таблиці вже видно маршрут до цілі. Цінність поширюється від цільової клітинки назад, по одному кроку за оновлення.

Код: Q-learning на сітці

python
import numpy as np

GAMMA, ALPHA = 0.9, 0.5
GOAL, TRAP = (0, 2), (1, 1)
ACTIONS = [(-1,0), (1,0), (0,-1), (0,1)]        # вгору, вниз, ліворуч, праворуч

def step(s, a):
    dr, dc = ACTIONS[a]
    r, c = s[0] + dr, s[1] + dc
    if not (0 <= r < 3 and 0 <= c < 3):
        r, c = s                                 # стіна: лишаємось на місці
    rew = 10.0 if (r, c) == GOAL else (-5.0 if (r, c) == TRAP else 0.0)
    return (r, c), rew, (r, c) in (GOAL, TRAP)

Q = np.zeros((3, 3, 4))
rng = np.random.default_rng(0)
for ep in range(1, 401):
    s = (0, 0)
    eps = max(0.1, 1 - ep / 200)                 # ε спадає протягом навчання
    for _ in range(40):
        a = rng.integers(4) if rng.random() < eps else int(Q[s].argmax())
        s2, r, done = step(s, a)
        target = r + (0.0 if done else GAMMA * Q[s2].max())
        Q[s][a] += ALPHA * (target - Q[s][a])    # правило Q-learning
        s = s2
        if done: break

Результат коду: цінність поширюється від цілі

text
після   2 епізодів  V(старт)= 0.00  V(1,2)= 5.00  V(2,1)= 0.00
після  20 епізодів  V(старт)= 8.91  V(1,2)= 9.96  V(2,1)= 7.81
після 400 епізодів  V(старт)= 9.00  V(1,2)=10.00  V(2,1)= 8.10

оптимальна дія зі старту: праворуч
Поширення цінності в Q-навчанні після 2, 20 і 400 епізодів

Поширення цінності в Q-навчанні після 2, 20 і 400 епізодів

Після двох епізодів ненульова лише клітинка (1,2) зі значенням рівно 5,00 — те саме число, що ми отримали вручну. Далі цінність розтікається по сітці. Клітинки поруч із пасткою лишаються нижчими: агент навчився її обходити.

Q-навчання: як цінність доходить до старту
Сітка 5×5, старт у лівому верхньому куті, ціль у правому нижньому. γ = 0,95, α = 0,5 — ті самі числа, що в коді лекції.
0епізодів навчання
0 / 25клітинок із ненульовою цінністю
цінність стартової клітинки
0.663межа: γ⁸ за 8 кроків до цілі

Натисніть «+1 епізод» кілька разів: цінність з'являється спершу лише в клітинках біля цілі й лише потім доповзає до старту. Це прямий наслідок того, що Q-навчання оновлює одну пару «стан — дія» за крок. Поставте ε = 0 і перезапустіть: агент піде першим знайденим шляхом і більшу частину сітки не побачить узагалі — саме той компроміс дослідження проти використання, про який ішлося на початку модуля.

On-policy проти off-policy

Розрізнення стосується одного питання: чи мусять дані, на яких навчається алгоритм, походити саме від тієї політики, яку ми покращуємо.

Криві навчання Sarsa та Q-навчання поруч

Криві навчання Sarsa та Q-навчання поруч

ВластивістьOn-policy (Sarsa, A2C, PPO)Off-policy (Q-learning, DQN, SAC)
Джерело данихлише поточна політикабудь-який досвід, зокрема старий
Повторне використання досвідуобмеженетак, через replay buffer
Економність за даниминижчавища
Стабільність навчаннязазвичай вищапотребує спеціальних механізмів

Для рою БПЛА розрізнення має прямий інженерний сенс. Реальний політ дорогий і небезпечний, тому кожен епізод хочеться використати багато разів — аргумент за off-policy. У швидкому симуляторі дешевше згенерувати новий rollout, ніж боротися з нестабільністю, — і тоді виграє on-policy.

Частина 4 · Глибокі методи

Табличний підхід зникає, щойно стан перестає бути кількома клітинками. Для БПЛА навіть груба дискретизація десятьма рівнями на кожну з дванадцяти змінних дає близько трильйона комірок.

Таксономія алгоритмів глибокого навчання з підкріпленням

Таксономія алгоритмів глибокого навчання з підкріпленням

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

Що ламається в наївному глибокому Q-навчанні

Здається, достатньо мінімізувати квадратичну похибку між оцінкою мережі та бутстрепованою ціллю. На практиці пряме перенесення розходиться, і причин дві.

  • Рухома ціль. Ціль оновлення обчислюється тією ж мережею, яку ми навчаємо. Оскільки мережа узагальнює, зміна ваг заради одного стану зсуває оцінки для всіх станів одразу — агент женеться за власною тінню.
  • Корельовані вибірки. Послідовні кроки одного епізоду дуже схожі. Мережа перенавчається на найсвіжішому досвіді й забуває раніше вивчене — катастрофічне забування.

Обидві проблеми загострює смертельна тріада: одночасна присутність off-policy навчання, апроксимації функції та бутстрепованих цілей. Прибрати будь-який складник не можна — треба компенсувати їхню взаємодію.

DQN: дві опори стабільності

Target network — заморожена копія мережі цінності, якою обчислюються цілі; її ваги оновлюють, періодично копіюючи ваги основної мережі. Ціль перестає рухатися на кожному кроці. Replay buffer — черга фіксованої місткості з переходами; навчання йде на випадкових міні-пакетах, що руйнує кореляцію сусідніх кроків.

y=r+γmaxaQ(s,a;θ¯),L(θ)=1|B|(s,a,r,s)B(yQ(s,a;θ))2
ПозначенняЗначення
θ, θ¯параметри основної мережі та target network
Bміні-пакет переходів із replay buffer
yціль оновлення; для термінального переходу дорівнює просто r

Градієнт через ціль не пропускають: θ¯ вважається константою. Емпіричний факт: ані target network, ані replay buffer поодинці не рятують навчання — стабільність дає лише їхнє поєднання.

Оригінальна робота: Mnih та ін., Human-level control through deep reinforcement learning, Nature 2015.

DQN на практиці: типові параметри

ПараметрТипове значенняЩо змінюється при відхиленні
γ0,99менші значення роблять агента короткозорим
Темп навчання3104більший темп прискорює й дестабілізує навчання
Спад ϵвід 1,0 до 0,05 за половину бюджетушвидший спад ризикує застрягти
Розмір міні-пакета512менші пакети дають шумніший градієнт
Місткість replay buffer10 000 переходівмалий буфер повертає кореляцію даних
Період оновлення target networkкожні 100 кроківчасте оновлення повертає рухому ціль
Кількість зерен для звітуне менше п'ятименше — недостовірне порівняння

Бюджет такого експерименту — близько ста тисяч кроків. Для порівняння: політ реального квадрокоптера тривалістю двадцять хвилин при частоті керування 50 Гц дає лише шістдесят тисяч кроків, тому навчання без симулятора практично нездійсненне.

Policy gradient і actor–critic

Другий шлях не проходить через таблицю цінностей: політику параметризують мережею з вагами ϕ і піднімають очікувану віддачу градієнтним методом.

ϕJ(ϕ)=Eπ[Qπ(s,a)ϕlogπ(as;ϕ)]

Ідея проста: збільшуй логарифм імовірності тих дій, які виявилися добрими. Найпростіша реалізація — REINFORCE — незміщена, але надзвичайно шумна.

Схема actor–critic розв'язує це двома мережами. Актор — політика, яка обирає дії. Критик — функція цінності стану. Актор навчається не за сирою віддачею, а за перевагою:

Adv(s,a)=Q(s,a)V(s)r+γV(s)V(s)

Додатковий доданок у втраті актора — ентропія розподілу дій: її максимізація штрафує політику за передчасну впевненість і підтримує дослідження.

1Спільний стан
2Мережі актора й критика
3Оцінка переваги
4Оновлення політики

PPO: обмежений крок оновлення

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

ρ=π(as;ϕ)πβ(as),L(ϕ)=min(ρAdv,  clip(ρ,1ϵclip,1+ϵclip)Adv)
Обрізана цільова функція PPO для додатної та від'ємної переваги

Обрізана цільова функція PPO для додатної та від'ємної переваги

Якщо дія була вдалою, вигоду від подальшого підвищення її ймовірності перестають зараховувати, щойно ρ виходить за коридор; якщо невдалою — покарання не обмежують. Завдяки цьому один пакет досвіду можна безпечно використати кілька разів поспіль. Стаття: Schulman та ін., arXiv:1707.06347.

DQN, PPO і SAC: як вибирати

ВластивістьDQNPPOSAC
Тип дійлише дискретнідискретні й неперервніпереважно неперервні
Режим навчанняoff-policyon-policyoff-policy
Економність за данимивисоканизьканайвища
Що навчаєтьсяцінність дійполітика й критикстохастична політика й два критики
Механізмиreplay buffer, target networkclipping, кілька епох на пакетreplay buffer, ентропійний доданок
Чутливість до гіперпараметрівсереднянизькависока
Сценарій для БПЛАвибір дискретного маневрунавчання в симуляторі, базовий вибіркерування тягою за обмеженого бюджету польотів

Практичне правило. Дії дискретні й кроки дешеві — DQN. Потрібен надійний результат без тонкого налаштування і є швидкий симулятор — PPO. Дії неперервні, а кожен крок коштує дорого — SAC.

Реалізації: Stable-Baselines3 · CleanRL · Gymnasium

Частина 5 · Чесне оцінювання результату

Спосіб вимірювання результату визначає, чи можна взагалі порівнювати алгоритми. Оскільки і середовище, і політика випадкові, одна крива нічого не доводить.

Елемент протоколуВимога
Кількість прогоніввід п'яти до ста незалежних, кожен зі своїм зерном
Оцінювання точки кривоїбагато епізодів жадібної політики й усереднення віддач
Смуга навколо кривоїстандартне відхилення або похибка середнього
Вісь абсцискумулятивні кроки взаємодії, а не кількість епізодів
Бюджет налаштуванняоднаковий пошук гіперпараметрів для всіх алгоритмів

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

Типові помилки й обмеження

  • Неповний стан. Якщо стан не задовольняє властивість Маркова, жоден алгоритм цього не виправить. Спершу проєктують спостереження, потім обирають метод.
  • Смертельна тріада. Поєднання off-policy навчання, апроксимації функцій і бутстрепованих цілей нестабільне за побудовою; механізми DQN лише компенсують це.
  • Дискретність дій у DQN. Мережа цінності дій не працює з неперервним керуванням, а дрібна дискретизація вбиває навчання комбінаторним вибухом.
  • Буфер лише для off-policy. Зберігати досвід для PPO чи A2C не має сенсу: їхній градієнт визначений лише для свіжих даних.
  • Хибне конструювання винагороди. Невдалий reward shaping призводить до того, що агент максимізує проміжну підказку, а не мету задачі.
  • Методичні помилки оцінювання. Одне зерно, вісь епізодів замість кроків і нерівний бюджет налаштування дають красиві, але недостовірні порівняння.

Висновки

  • Задача RL складається з моделі прийняття рішень і цілі навчання. Стандартна модель — MDP; коефіцієнт дисконтування належить постановці задачі, а не оптимізатору.
  • Усі рівняння Беллмана виражають одну ідею: цінність зараз дорівнює негайній винагороді плюс дисконтована цінність продовження. З Q політика отримується прямим аргмаксимумом.
  • Q-learning замінює усереднення за моделлю однією вибіркою досвіду і поширює цінність від цілі назад — це видно на сітці три на три вже після двох оновлень.
  • Перенесення табличного правила на нейромережу ламається через рухому ціль і корельовані вибірки; DQN усуває обидві причини поєднанням target network і replay buffer.
  • Сімейство policy gradient оптимізує політику напряму й знімає обмеження на дискретність дій, платячи прив'язкою до свіжих даних; PPO робить крок безпечним через обрізання.
  • Проєктування винагороди — інженерна робота: бонус за життя в задачі висіння прибирає стимул швидко впасти.
  • Будь-яке твердження про перевагу алгоритму має сенс лише разом із протоколом вимірювання.

Перехід до Модуля 05

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

Модуль 05 · Багатоагентне навчання: моделі та виклики знімає це припущення. Коли кілька агентів навчаються одночасно, кожен із них є частиною середовища для решти. Нестаціонарність, яку тут спричиняла лише зміна власної політики агента, стає наслідком навчання інших агентів рою — і це змінює саму модель прийняття рішень.

Література та ресурси

Матеріали курсу. Схеми із зовнішніх джерел належать їхнім авторам — посилання під кожною ілюстрацією.