Глава 0b. Обучение с подкреплением — не то же самое, что §0.4
Продолжение разминки. Здесь нет готовых ответов y* — агент сам выбирает действия и учится по наградам.
Эта глава устроена так же, как глава 0: текст и интерактив в одном месте, без отдельной «лабы». Прокрутили до §0b.4 — сразу играете в лабиринт.
Словарь
| Термин | Простыми словами |
|---|---|
| Агент | Тот, кто принимает решения (робот, игрок, политика сети) |
| Среда | Мир, в котором агент действует (лабиринт, игра, симулятор) |
| Состояние s | «Где я сейчас» — позиция, картинка на экране, показания датчиков |
| Действие a | Что агент сделал: шаг вверх, поворот, нажатие кнопки |
| Награда r | Сигнал «хорошо / плохо» — число, часто с задержкой |
| Эпизод | Один заход: от старта до цели или провала |
| Политика π | Правило: в состоянии s какое действие выбрать |
| Q(s,a) | Оценка: «насколько выгодно из s сделать a» — накапливается опытом |
0b.1. Чем это не похоже на главу 0
В §0.4–0.6 у вас был учитель с табличкой:
пример (x, y*) → сеть → ŷ → ошибка L → backprop
Здесь таблички нет. Агент в лабиринте сам решает: вверх, вниз, влево, вправо. Учитель говорит только:
- «−0.04 за каждый шаг» (торопись);
- «+1, дошёл до цели»;
- «−0.1, ударился в стену».
Правильного действия на каждый шаг не дано — только итоговый сигнал и опыт многих попыток.
| Глава 0 (supervised) | Глава 0b (RL) | |
|---|---|---|
| Сигнал | y* на каждый пример | награда r (иногда в конце эпизода) |
| Кто выбирает ответ | сеть считает ŷ | агент выбирает действие |
| Обновление | градиент от L(ŷ, y*) | Q-learning, policy gradient, PPO… |
| Данные | фиксированный датасет | траектории в среде |
| Исследование | не нужно | нужно пробовать новое (ε-жадность) |
Общее одно: параметры (здесь таблица Q, в больших задачах — веса нейросети) подкручиваются, чтобы в среднем стало лучше. Но источник сигнала другой.
0b.2. Цикл агент ↔ среда
действие a
s ──────────────→ среда
↑ │
│ награда r │ новое состояние s'
└────────────────────┘
- Агент видит состояние s (клетка лабиринта).
- Выбирает действие a.
- Среда отвечает: новое s’ и число r.
- Агент запоминает опыт и чуть меняет стратегию.
- Повтор — сотни эпизодов, пока путь к цели не станет стабильным.
В ChatGPT и робототехнике внутри часто стоят нейросети из главы 0 — но задача сформулирована иначе: не «угадать y*», а заработать больше награды.
0b.3. Q-learning на пальцах
Для лабиринта хватит таблицы Q[s,a] — маленькая «память» без нейронов. В каждой клетке четыре числа: насколько хороши шаги ↑ → ↓ ←.
После шага из s в s’ с наградой r:
Q[s,a] ← Q[s,a] + α · ( r + γ · max Q[s',·] − Q[s,a] )
- α — скорость обучения (насколько сильно верим свежему опыту);
- γ (гамма) — насколько ценим будущее (награда у цели «протекает» назад по пути);
- max Q[s’,·] — лучшее, что можем надеяться после этого шага.
Агент не всегда идёт по лучшему Q: с вероятностью ε пробует случайный ход — исследование, иначе застрянет в тупике.
0b.4. Лабиринт 5×5 — пощупайте сами
S — старт, G — цель, тёмные клетки — стены. Оранжевый кружок — агент.
Как пользоваться:
- Случайный ход — агент делает один шаг (часто случайный, пока ε велик).
- 1 эпизод — полный заход от S до G (или лимита шагов); после каждого шага обновляется Q.
- Авто — много эпизодов подряд; график справа — суммарная награда (должна расти).
- Показать политику — стрелки в клетках: куда агент пойдёт после обучения.
- Ползунки α, γ, ε — как в формуле выше.
Внизу — последний переход s → a → r → s’. Обратите внимание: нет y* — только награда.
Проверка: после 30–50 эпизодов на «Авто» включите стрелки — путь от S к G должен стать коротким и уверенным. Сброс — снова «слепой» агент.
0b.5. А если сеть вместо таблицы?
В лабиринте 5×5 клеток мало — Q-таблица помещается в память. В шахматах, Atari или роботе состояний слишком много — Q заменяют нейросетью Q(s,a; θ). Тогда снова веса θ и градиенты, но цель не y*, а ожидаемая награда. Это deep RL (DQN, PPO, SAC…).
Связь с книгой:
| Здесь | Дальше |
|---|---|
| Награда вместо y* | RLHF у LLM — люди ставят «плюс/минус» ответам |
| Эпизоды и ε | Исследование vs эксплуатация в любой RL-задаче |
| Q-таблица | Function approximation — глава 0 (нейрон) + RL-постановка |
| Лабиринт на сетке | Робототехника, игры, планирование |
Главы 1–16 по-прежнему про архитектуры supervised (картинки, детекция, внимание). RL — другая глава разминки, чтобы не путать с backprop по y*.
0b.6. Куда дальше
Если хочется ещё RL-интерактивов (крестики-нолики, балансирующий шест) — напишите; добавим сюда же, в текст главы.