Дитина вчиться ходити без жодного розміченого датасету. Ніхто не показує їй правильний кут згину коліна і не виправляє помилку в кожному суглобі. Є лише результат: або крок вдався, або ти на підлозі. З цього мізерного сигналу — і з тисяч спроб — вибудовується вміння, якого не запрограмуєш явно.
Саме цю схему копіює навчання з підкріпленням (reinforcement learning). Тут немає таблиці «вхід → правильна відповідь». Є агент, який діє, і середовище, яке у відповідь видає число: винагороду. Завдання агента — навчитись діяти так, щоб сума цих чисел за весь час була якнайбільшою. Виглядає скромно, але саме так навчились грати в го краще за людей, керувати охолодженням дата-центрів і, зрештою, робити мовні моделі ввічливими.
ІдеяНавчання з наслідків
Ключова відмінність від решти машинного навчання — у природі зворотного звʼязку. Класифікатор під час навчання бачить правильну мітку: «на цьому фото кіт». Агент бачить лише оцінку того, що він зробив: «за цей крок ти отримав +3». Він не знає, чи існувала дія, яка дала б +10, і ніколи не дізнається, поки не спробує.
Друга відмінність — час. У класифікації кожен приклад незалежний. В RL дія змінює світ: агент опиняється в новому стані, з якого доступні інші дії й інші винагороди. Ланцюжок таких переходів від початку до кінця називають епізодом. Партія в шахи, поїздка робота від дверей до дверей, сесія користувача — усе це епізоди.
СловникПʼять слів, з яких складається задача
Будь-яку задачу RL описують одним і тим самим набором понять. Якщо ти можеш заповнити цю таблицю для своєї задачі — ти вже її сформулював.
| поняття | що це | приклад: робот шукає банани |
|---|---|---|
| агент | той, хто ухвалює рішення й вчиться | сам робот |
| середовище | усе інше; воно змінюється й видає винагороду | кімната з деревами |
| стан s | опис ситуації, у якій агент зараз | координата робота |
| дія a | що агент може зробити зі стану s | крок ліворуч або праворуч |
| винагорода r | число, яким середовище оцінює перехід | кількість знайдених бананів |
Цикл виглядає так: агент бачить стан s, обирає дію a,
середовище повертає винагороду r і новий стан s'. Далі все
повторюється. Мета — не максимізувати r на кожному кроці окремо, а
максимізувати суму винагород за весь епізод. Це не те саме, і саме
в цьому вся складність.
Увесь звʼязок агента зі світом — дві стрілки
Агент нічого не знає про середовище, крім того, що приходить назад по нижній стрілці. Розгорнутий у часі цей цикл і є епізодом.
ПорівнянняЧому це не навчання з учителем
Три відмінності, які повністю змінюють інструментарій.
Оцінювальний зворотний звʼязок замість інструктивного
Учитель у класичній задачі каже: «правильна відповідь — кіт». Це інструктивний сигнал: він не залежить від того, що ти відповів, і одразу вказує на істину. Середовище в RL каже: «за твою дію отримуєш 3». Це оцінювальний сигнал: він залежить від обраної дії й нічого не каже про альтернативи. Дізнатись, чи була краща дія, можна лише одним способом — спробувати її. Звідси й уся проблема дослідження, до якої ми дійдемо за два розділи.
Учитель називає істину, середовище — лише оцінку
Ліворуч: відповідь учителя не залежить від того, що ти сказав. Праворуч: середовище оцінює саме твій вибір і мовчить про решту.
Відкладена винагорода
Хід у шахах, який приводить до перемоги через сорок ходів, у момент виконання не дає жодних очок. Винагорода приходить пізніше — іноді набагато пізніше. Тому агент має оцінювати дії не за миттєвою вигодою, а за тим, до чого вони врешті приведуть.
Задача призначення заслуги
Партія закінчилась перемогою: +1. Ходів було сорок. Який із них був хороший? Це задача призначення заслуги (credit assignment): як розподілити одну підсумкову оцінку між усіма діями, що до неї призвели. Уся техніка, яку ми розберемо далі — цінності, дисконтування, часові різниці — це, по суті, різні способи розвʼязати саме цю задачу.
Найпростіший випадокБагаторукий бандит
Приберемо стани й час, лишимо тільки вибір. Перед роботом три дерева. Кожне дає
випадкову кількість бананів зі своїм середнім, якого робот не знає. Один крок — одне
дерево. Скільки бананів набереш за T кроків?
Задачу називають багаторуким бандитом: «однорукий бандит» — це
гральний автомат із важелем, а тут важелів кілька. Робот веде для кожної дії оцінку
Q(a) — середню винагороду з усіх разів, коли він цю дію обирав:
Оновлювати це середнє зручно по одному спостереженню, не зберігаючи історію:
Розберемо запис по символах. Стрілка ← означає «замінити на»: ліворуч від неї нове
значення оцінки, праворуч — обчислення зі старого. r — винагорода, яку
щойно дало дерево a. n — котрий це за рахунком раз, коли
агент обрав саме цю дію: перший вибір дає n = 1, другий n = 2 і так далі. Лічильник
у кожної дії свій, і зростає він лише тоді, коли дію обрано.
Перевіримо руками, що з цього справді виходить середнє. Нехай дерево дало по черзі 4, 2 і 6 бананів, а оцінка починається з нуля:
Середнє з одного числа: 4. Збігається.
Середнє з 4 і 2: (4 + 2) / 2 = 3. Знову збігається.
Середнє з 4, 2 і 6: (4 + 2 + 6) / 3 = 4. Формула ніде не збрехала — і при цьому жодного разу не знадобилось памʼятати самі числа, лише поточну оцінку й лічильник.
Придивись до форми запису — вона тут не випадкова, і саме її ми зустрінемо ще двічі. У квадратних дужках стоїть різниця між тим, що сталось, і тим, чого ми чекали. Оцінка зсувається в бік несподіванки, і крок зсуву тим менший, чим більше даних уже зібрано.
Багаторукий бандит
Ліворуч — як оцінки Q збігаються до справжніх середніх. Праворуч — накопичена винагорода проти оракула й проти випадкового вибору.
ДилемаДослідження проти використання
Ось конфлікт, який не має ідеального розвʼязку. Використання (exploitation) — обрати дію, яка за поточними оцінками найкраща. Дослідження (exploration) — обрати іншу, щоб уточнити її оцінку. Кожен крок належить чомусь одному: не можна одночасно збирати врожай і перевіряти сусіднє поле.
Чому чиста жадібність замикається на собі
Простежмо крок за кроком, що робить робот, який завжди бере дію з найбільшою оцінкою. Спочатку в таблиці нулі: Q(A) = Q(B) = Q(C) = 0. Нічия — робот бере, скажімо, дерево A і отримує 3 банани. Тепер Q(A) = 3, а Q(B) і Q(C) досі 0. На другому кроці найбільша оцінка знову в A — і знову обирається A. І на третьому. І на сотому.
Ключ ось у чому: оновлюється лише оцінка тієї дії, яку обрали. Середовище нічого не каже про решту (це той самий оцінювальний сигнал із розділу 03). Тож оцінки B і C приречені лишитись нулями назавжди — не тому, що дерева порожні, а тому, що їх ніхто не тряс.
Пастка не в тому, що A погане. Пастка в тому, що висновок «A найкраще» спирається рівно на ті дані, які сам і породив. Жадібний агент плутає «не пробував» із «нічого не дає», бо для нуля в таблиці ці два випадки виглядають однаково. Перший успіх стає останнім рішенням.
Найпростіша й найпоширеніша стратегія — ε-жадібна
(epsilon-greedy). З імовірністю ε обираємо випадкову дію, з імовірністю
1−ε — найкращу за поточними оцінками. Три режими варто памʼятати напамʼять:
| ε | поведінка | наслідок |
|---|---|---|
| 0 | чиста жадібність | застрягає на першій дії, що дала щось хороше; альтернативи не перевіряються ніколи |
| 0.05 — 0.2 | розумний баланс | знаходить найкращу дію й потім здебільшого її і використовує; менші значення надійніші за нуль, але повільніші |
| 1 | чиста випадковість | оцінки найточніші, зате поведінка ніяк ними не користується |
Що саме додає ε
Випадковість тут не прикраса й не «різноманіття заради різноманіття». Вона дає
конкретну гарантію: кожен крок із імовірністю ε віддається жеребу, і
жереб не дивиться в таблицю. Отже кожне з трьох дерев отримує в середньому ε/3 спроби
на крок — незалежно від того, що робот зараз вважає найкращим. За T кроків
це приблизно εT/3 спроб на кожну дію, і що більше спроб, то ближча оцінка до справжнього
середнього. Помилкова оцінка більше не вічна: рано чи пізно її виправлять.
Порахуємо на нашому бандиті. При ε = 0.1 і 400 кроках на кожне дерево припадає близько 0.1 · 400 / 3 ≈ 13 випадкових спроб — уже достатньо, щоб побачити різницю між середніми 3, 6 і 4.5. При ε = 0 таких спроб рівно нуль, скільки б кроків не минуло. Різниця між «нуль» і «хоч скільки-небудь» тут важливіша за саму величину ε.
Гарантія має ціну, і ціна теж рахується просто. Ті ε кроків витрачаються навмання завжди — і тоді, коли робот ще нічого не знає, і тоді, коли він давно все зʼясував. Дві третини з них припадуть на гірші дерева. Тому стала ε ніколи не дає ідеальної поведінки: агент назавжди лишається трохи дурнішим за власну таблицю. Звідси й типовий прийом — спадна ε: починають із великої (0.3—0.5), поки все невідоме, і поступово знижують до майже нуля, коли оцінки вже усталились.
Жаль — чим міряють ціну незнання
Щоб порівнювати стратегії, потрібна одна шкала. Нею служить жаль (regret) — різниця між тим, скільки зібрав би той, хто від початку знав найкраще дерево, і тим, скільки зібрав наш агент:
Тут T — скільки всього зроблено кроків, а μ
(мю) — середня винагорода дерева; μнайкраще
— середнє найщедрішого з них. Перший доданок і є оракул: недосяжна межа, яку
дав би провидець, що жодного разу не помилився. Жаль ідеального агента — нуль; у всіх
інших він додатний і тільки зростає.
Підставимо числа з нашого бандита: дерева мають середні 3, 6 і 4.5, кроків 400, отже оракул збирає 6 · 400 = 2400 бананів. Далі — три режими, і всі три можна побачити на табло «втрачено (жаль)» в інтерактиві 1:
| режим | зібрано | жаль | чому так |
|---|---|---|---|
| ε = 0 | 1 192 | 1 208 | застряг на першому дереві із середнім 3; половина можливого втрачена |
| ε = 0.1 | 2 264 | 136 | швидко знайшов дерево з середнім 6 і майже весь час брав саме його |
| ε = 1 | 1 728 | 672 | оцінки найточніші, але кожен крок — жереб, тож зібрано як у випадкового |
Обидві крайнощі програють середині в кілька разів, і причини в них протилежні: одна не знає, друга знає й не користується. Саме тому «дослідження проти використання» — це компроміс, а не задача з правильною відповіддю.
Є й розумніша альтернатива, яка взагалі не потребує випадковості — оптимістична ініціалізація. Замість нулів початкові оцінки ставлять завідомо завищеними. Тоді будь-яка спроба розчаровує (реальна винагорода менша за очікувану), оцінка падає, і жадібний агент сам переходить до наступної дії — поки не перебере всі. Дослідження виникає само собою, без жодного випадкового вибору.
Три стратегії дослідження
Вісім дій із різними середніми винагородами. Показано частку кроків, на яких обрано справді найкращу. Усереднено по 150 незалежних запусках; швидкість навчання стала, α = 0.1.
ПоведінкаПолітика
Політика (policy, позначають π) — це правило, за яким
агент обирає дію в кожному стані. Формально — відображення зі станів у дії:
Політика — це і є те, чого ми вчимо. Усе решта (оцінки, цінності, моделі середовища) — допоміжні конструкції, потрібні лише щоб покращити політику. Коли навчання завершене, у продакшен їде саме вона.
ЦінністьФункція цінності V і Q-функція
Щоб покращувати політику, треба вміти оцінювати, наскільки хороша ситуація. Для цього є дві споріднені функції.
Цінність стану V(s) — скільки сумарної винагороди агент
очікує отримати, якщо зараз він у стані s і далі діє за політикою π:
| s0 = s означає «усереднюємо лише ті
продовження, які починаються зі стану s». А на маленькому прикладі це просто: якщо з
рівною ймовірністю на нас чекає +10 або 0, то E = 0.5 · 10 + 0.5 · 0 = 5.Цінність дії Q(s, a) — те саме, але з уточненням: спершу
робимо конкретну дію a, а вже потім діємо за політикою:
Різниця здається дрібною, але вона вирішальна для практики. Якщо ти знаєш лише
V, то щоб обрати дію, треба вміти передбачити, куди вона тебе приведе —
тобто мати модель середовища. Якщо ти знаєш Q, обирати нічого не треба
передбачати: просто бери дію з найбільшим Q(s, a). Саме тому переважна
більшість практичних алгоритмів вчить Q, а не V.
Запис arg max читається «той аргумент, на якому досягається максимум».
Звичайний max повертає саме число — найбільше значення; а
arg max повертає дію, на якій це число досягнуто. Якщо
Q(s, ліворуч) = 2.7, а Q(s, праворуч) = 8.1, то max дорівнює 8.1, а arg max — «праворуч».
Політиці потрібне саме друге: їй треба знати, що робити, а не скільки це коштує.
ГоризонтДисконтування: чому майбутнє знецінюють
У формулах вище стоїть множник γ (гамма) — коефіцієнт
дисконтування, число від 0 до 1. Винагорода, отримана через k
кроків, входить у суму з вагою γ^k. Навіщо це потрібно — три причини.
- Математична. Якщо епізод нескінченний, сума винагород без
дисконтування розбігається, і порівнювати політики стає нічим. Із
γ < 1сума завжди скінченна. - Змістовна. Далеке майбутнє менш передбачуване. Знецінюючи його, ми чесно враховуємо власну невпевненість.
- Практична.
γзадає горизонт планування — приблизну глибину, на яку агент узагалі дивиться вперед. Звідки береться саме1/(1−γ), розберемо нижче: це не магічне число, а сума ряду.
Звідки береться 1/(1−γ)
Питання поставимо так: скільки кроків майбутнього агент насправді враховує? Щоб відповісти, візьмемо найпростіший можливий світ — у ньому кожен крок дає рівно 1 банан, вічно. Тоді дисконтована сума виглядає так:
Доданків нескінченно багато, але порахувати суму можна в два рядки — і для цього не
треба нічого, крім множення й віднімання. Помножимо весь ряд на γ:
Це той самий ряд, тільки без першого доданка — усе інше збіглося.
Усі доданки, крім одиниці, стоять і зліва, і справа, тож взаємно знищуються. Лишається сама одиниця.
Ось і вся формула.
Тепер прочитаємо результат. У світі без дисконтування кожен із k кроків
важив би по одиниці, і сума за k кроків дорівнювала б k. З
дисконтуванням уся нескінченність важить стільки ж, скільки 1/(1−γ)
недисконтованих кроків. Тобто 1/(1−γ) — це кількість кроків, які «вміщаються»
під вагами γk; далі неї внесок уже мізерний. Звідси й
слово «горизонт».
| γ | горизонт 1/(1−γ) | вага винагороди через 9 кроків, γ9 |
|---|---|---|
| 0.5 | 2 кроки | 0.0020 — практично нуль |
| 0.9 | 10 кроків | 0.39 — усе ще помітно |
| 0.99 | 100 кроків | 0.91 — майже без знецінення |
Горизонт — це ширина вікна, крізь яке агент бачить майбутнє
Стовпчик — вага γk, з якою винагорода через k кроків входить у суму. Пунктир — позначка 1/(1−γ).
Перевіримо на числах, що це не абстракція. Порівняймо два шляхи: три банани через один крок і десять бананів через девʼять. При γ = 0.5 далека нагорода коштує 10 · 0.59 ≈ 0.02 банана проти 3 · 0.5 = 1.5 — далеке дерево не варте й уваги. При γ = 0.9 та сама нагорода коштує 10 · 0.99 ≈ 3.87 проти 3 · 0.9 = 2.7 — і вибір перевертається. Горизонт 10 кроків просто дотягнувся туди, куди горизонт у 2 кроки не дістає.
Наслідок для поведінки прямий. Маленька γ робить агента короткозорим:
він хапає найближчу винагороду, навіть якщо трохи далі лежить набагато більша. Велика
γ робить його далекоглядним — але й повільнішим у навчанні, бо сигнал
доводиться протягувати крізь довший ланцюжок кроків.
Як γ керує далекоглядністю
Світ-лінія: ліворуч маленьке дерево (+3), праворуч велике (+10). Стовпчики — цінність станів, стрілки — оптимальна політика.
МеханізмПохибка часової різниці
Тепер головна ідея всієї теми. Агент зробив один крок: був у s, зробив
a, отримав r, опинився в s'. Що з цього можна
вивчити?
У нас є дві оцінки однієї й тієї самої величини. Перша — стара, та, що вже записана
в таблиці: Q(s, a). Друга — щойно отримана з реальності: винагорода
r плюс дисконтована оцінка найкращого продовження зі стану s'.
Друга оцінка спирається на один справжній крок, тож вона трохи ближча до істини.
Різницю між ними називають похибкою часової різниці:
Стара оцінка цінності дії — просто число з таблиці:
Отримали r і опинились у s'. Найкраще, на що там можна
розраховувати, — max Q(s', a'), знецінене на один крок:
Не стрибаємо на ціль повністю — робимо частковий крок розміром α,
бо і сама ціль поки що приблизна:
α (альфа) — швидкість навчання, число від 0 до 1: яку частку похибки ми беремо до уваги за один раз. При α = 0.3 і δ = 4 оцінка підростає на 1.2, а не на 4. У бандиті на цьому місці стояло 1/n, тобто крок, що сам згасає з досвідом; тут частіше беруть сталу α, бо світ може змінюватись, і назавжди застигла оцінка нікому не потрібна.
Це і є Q-навчання. Зверни увагу на дві речі. По-перше, форма оновлення дослівно та сама, що й у бандита: «оцінка плюс крок помножити на несподіванку». По-друге, оцінка одного стану підтягується до оцінки сусіднього — і завдяки цьому інформація про винагороду поступово розтікається по всій таблиці назад від цілі. Саме так розвʼязується задача призначення заслуги: ніхто нічого не розподіляє явно, знання просто просочується на крок назад щоразу, коли агент проходить цим шляхом.
І третя річ, яку варто помітити відразу, бо вона поверне нам борг у розділі 11.
У цілі стоїть max — найкраще, що можна зробити зі стану
s'. Не те, що агент зробить насправді (він може й жереб кинути), а те, що
було б найкраще за таблицею. Тому таблиця вчиться цінностям найкращої
поведінки, а не тієї, якою агент зараз користується. Це не дрібниця запису: саме звідси
візьметься дивна на вигляд ситуація, коли таблиця правильна, а агент поводиться погано.
Один крок Q-навчання
Числова вісь: де стоїть стара оцінка, де ціль, і куди зсунеться Q після оновлення.
ПрактикаQ-навчання у світі-лінії
Складемо все докупи. Робот стоїть на лінії з одинадцяти клітинок. На лівому краю маленьке дерево (+3), на правому — велике (+10). Обидва завершують епізод. Стартує робот щоразу у випадковій клітинці — це важливо, інакше жадібний агент просто ніколи б не побачив половину світу.
Таблиця Q спочатку заповнена нулями, тому перша ж дія, яка принесла
щось позитивне, стає для агента найкращою назавжди — якщо тільки ε не змусить його
спробувати інше. Покрути ε і кількість епізодів:
Табличне Q-навчання
Для кожного стану — пара стовпчиків Q(s, ліворуч) і Q(s, праворуч). Стрілка — поточна політика. Знизу — винагорода за епізод.
Два виміриСітка з кактусом
Лінія — це навчальна іграшка. Мінімальний світ, у якому вже видно щось схоже на планування, — сітка. Робот ходить у чотирьох напрямках, десь лежать банани (+10), десь ростуть кактуси (−10 і кінець епізоду), а кожен крок коштує невеликої плати. Ця плата — важлива деталь: без неї агенту байдуже, чи йти до мети десять кроків, чи сто.
Нічого нового в алгоритмі немає: та сама таблиця Q, те саме оновлення
через δ. Змінилась лише кількість станів і дій. Але результат уже читається
як поведінка: стрілки складаються в маршрут, який обходить кактуси.
Q-навчання в сітці
Колір клітинки — цінність V(s) = max Q(s,·). Стрілка — вивчена політика. Старт щоразу випадковий.
Правильна таблиця й погана поведінка — це не суперечність
Порухай ε в інтерактиві вище й подивись на два числа одночасно. При ε = 0.05 з
24 клітинок правильно вивчено 19, а кактусом закінчуються 7.5 % епізодів. При ε = 0.6
правильних клітинок уже 20, а кактусом закінчуються 58.8 % епізодів. При ε = 0.9 —
22 правильні клітинки і 81.8 % уколів. Таблиця стає кращою, поведінка —
катастрофічною. Виглядає як помилка в коді, а це прямий наслідок того
max із розділу 09.
Річ у тім, що політик тут насправді дві, і плутають їх постійно.
- Поведінкова політика — та, за якою агент діє під час навчання. У нас це ε-жадібна: з імовірністю ε вона кидає жереб. Саме вона визначає, що з агентом станеться: скільки бананів він збере і в скільки кактусів вріжеться.
- Цільова політика — та, яку описує таблиця Q: бери arg max Q(s, a). Саме її ми вчимо, саме її вимірює «збіг з оптимальною», і саме вона поїде в продакшен, коли навчання скінчиться.
Q-навчання оновлює таблицю через max, тобто завжди міряє цільову
політику — незалежно від того, наскільки навмання агент ходив. Такий алгоритм звуть
навчанням поза політикою (off-policy): вчимо одну політику, а даних
набираємо іншою. Через це велике ε для таблиці корисне (більше різних станів
відвідано — більше клітинок устигло навчитись), а для поведінки згубне (кожен
випадковий крок біля кактуса може виявитись останнім).
Практичний висновок із цього простий і важливий: ε — ручка навчання, а не властивість агента. Поки агент вчиться, ε тримають високою — платити за розвідку доводиться саме тут. Коли таблиця готова, ε ставлять у нуль і користуються чистим arg max. Плутанина між цими двома режимами — типова причина розчарування: людина міряє «якість агента» під час навчання й дивується, чому та сама модель у роботі поводиться інакше.
ЗастосуванняДе це працює насправді
| сфера | що є станом і дією | у чому виграш |
|---|---|---|
| ігри | позиція на дошці; хід | го, шахи, StarCraft — рівень, недосяжний для правил, написаних людиною |
| робототехніка | показники сенсорів; момент на приводах | ходьба, захват предметів, польот — рухи, які важко задати аналітично |
| реклама й рекомендації | профіль користувача; який банер показати | класичний бандит: дослідження нових варіантів проти показу вивіреного |
| керування ресурсами | завантаження системи; розподіл потужностей | охолодження дата-центрів, трафік, енергомережі |
| мовні моделі | діалог; наступний токен | RLHF — донавчання під людські вподобання |
Останній рядок вартий окремого слова, бо саме через нього RL сьогодні торкається всіх. RLHF (навчання з підкріпленням на людському зворотному звʼязку) — це спосіб зробити мовну модель корисною. Проблема в тому, що «корисна відповідь» — не мітка, яку можна поставити в датасет: правильних відповідей багато, і різняться вони тонко. Тому роблять інакше: людям показують пари відповідей і питають, яка краща. На цих порівняннях вчать окрему модель винагороди, а вже вона видає число, яке мовна модель максимізує звичайними методами RL. Мітки замінили на переваги — і задача стала розвʼязною.
МежіЩо йде не так
RL виглядає універсально, і саме тому варто одразу знати, чому його не застосовують скрізь.
- Потрібні мільйони спроб. Табличний агент у нашій сітці вчиться за сотні епізодів; агент у грі — за десятки мільйонів. Якщо кожна спроба коштує грошей чи ламає обладнання, навчання наживо неможливе — потрібен симулятор.
- Винагорода — це технічне завдання. Агент максимізує рівно те число, яке ви написали, а не те, що мали на увазі. Класичний приклад: човен у гонці, якому нарахували очки за проміжні бонуси, навчився крутитись на місці й збирати їх замість того, щоб фінішувати.
- Нестабільність. Ціль оновлення сама залежить від поточних оцінок, тож агент вчиться на власних припущеннях. У табличному випадку це збігається, у поєднанні з нейромережами — часто ні, і з цим борються цілим набором хитрощів.
- Слабка відтворюваність. Результат сильно залежить від початкового зерна випадковості. Порівнювати два RL-алгоритми за одним запуском безглуздо — потрібно кілька запусків і довірчі інтервали.
І все ж ідея, заради якої це варто знати, значно більша за конкретні алгоритми. Навчання з підкріпленням — це формалізація того, як узагалі можна вчитись без учителя, маючи лише наслідки власних дій. Три конструкції з цієї лекції — цінність як спосіб оцінювати ситуацію, дисконтування як спосіб зважувати майбутнє і похибка часової різниці як спосіб вчитись на несподіванках — зустрінуться тобі скрізь, від класичних алгоритмів до сучасних мовних моделей.