Учебник Обучение с подкреплением (Reinforcement Learning) для начинающих
Обучение с подкреплением (Reinforcement Learning, RL) — это раздел машинного обучения, где агент учится принимать решения, взаимодействуя со средой и получая награды за свои действия. Здесь нет готовых «правильных ответов», как в обучении с учителем: агент сам нащупывает выгодную стратегию методом проб и ошибок.
Курс ведёт от интуиции (агент, среда, награда) через теорию (марковский процесс принятия решений, уравнение Беллмана) к рабочим алгоритмам. Табличные методы — Q-learning и SARSA — мы пишем на чистом Python и запускаем прямо в браузере на маленькой сетке, чтобы увидеть, как агент учится. Дальше разбираем, зачем нужны нейросети (DQN, policy gradient, actor-critic), как устроены среды Gymnasium и какие подводные камни ждут на практике.
Для кого: тем, кто знает основы Python и хочет понять, как работают системы, обыгрывающие людей в Go и StarCraft, управляющие роботами и подбирающие рекомендации. Желательно знакомство с основами машинного обучения и нейросетей — у нас есть отдельные курсы «Машинное обучение основы», «Глубокое обучение» и «PyTorch», на которые мы будем ссылаться, не повторяя их.
Курс «Обучение с подкреплением (Reinforcement Learning)» состоит из 6 разделов и 21 урока: Что такое обучение с подкреплением, Марковский процесс принятия решений, Исследование против использования, Табличные методы обучения, От таблиц к нейросетям и Инструменты, применения и подводные камни. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.
Программа курса
1 Что такое обучение с подкреплением
- Что такое RL и чем оно отличается от обучения с учителем
Обучение с подкреплением простыми словами: агент учится методом проб и ошибок ради награды, в отличие от supervised и unsupervised обучения.
- Агент, среда и награда: цикл взаимодействия
Цикл RL: агент наблюдает состояние, выбирает действие, среда выдаёт награду и новое состояние. Разбираем основные понятия и ASCII-схему.
- Где применяют RL: игры, роботы, рекомендации
Реальные применения обучения с подкреплением: игры (AlphaGo, Atari), робототехника, рекомендательные системы, управление и настройка LLM через RLHF.
- Что такое RL и чем оно отличается от обучения с учителем
2 Марковский процесс принятия решений
- MDP: состояния, действия, переходы, награды
Марковский процесс принятия решений (MDP): пять компонентов S, A, P, R, gamma и марковское свойство. Формальная модель любой RL-задачи.
- Политика и функции ценности V и Q
Политика (policy) как стратегия агента, функция ценности состояния V(s) и функция ценности действия Q(s,a). Чем V отличается от Q и зачем нужны обе.
- Уравнение Беллмана
Уравнение Беллмана: рекурсивная связь ценности состояния с наградой и ценностью следующего состояния. Интуиция и value iteration на цепочке состояний.
- Дисконтирование и коэффициент gamma
Дисконтирование в RL: коэффициент gamma и то, как он управляет дальновидностью агента. Влияние gamma на ценность будущих наград, интуиция и таблицы.
- MDP: состояния, действия, переходы, награды
3 Исследование против использования
- Дилемма исследования и использования
Дилемма exploration vs exploitation в RL: баланс между пробой новых действий и использованием уже известных выгодных. Почему чистая жадность проигрывает.
- Стратегия epsilon-greedy
Стратегия epsilon-greedy в RL: с вероятностью epsilon — случайное действие, иначе — лучшее по оценке. Затухание epsilon и почему это работает.
- Задача о многоруком бандите
Многорукий бандит (multi-armed bandit): упрощённая RL-задача без состояний. Оценка ценности рычагов, инкрементальное среднее и баланс исследования.
- Дилемма исследования и использования
4 Табличные методы обучения
- Метод Монте-Карло
Метод Монте-Карло в RL: оценка функции ценности усреднением полных возвратов по эпизодам. Когда он применим и в чём его минусы.
- TD-обучение: временные различия
TD-обучение (temporal difference): обновление ценности на каждом шаге по TD-ошибке без ожидания конца эпизода. Сравнение с Монте-Карло, бутстрэппинг.
- Q-learning: off-policy метод на gridworld
Q-learning — off-policy TD-метод. Формула обновления Q, off-policy суть и рабочая реализация на gridworld 4x4 с реальным запуском в браузере.
- SARSA: on-policy метод
SARSA — on-policy TD-метод. Чем формула SARSA отличается от Q-learning, почему SARSA осторожнее, и рабочая реализация на gridworld.
- Метод Монте-Карло
5 От таблиц к нейросетям
- От таблиц к аппроксимации: зачем нейросети
Почему табличный RL не масштабируется: проклятие размерности. Аппроксимация функции ценности нейросетью и обобщение между похожими состояниями.
- Deep Q-Network: replay buffer и target network
Deep Q-Network (DQN): нейросеть вместо Q-таблицы, два стабилизирующих приёма — experience replay и target network. Почему без них обучение разъезжается.
- Policy gradient и REINFORCE
Policy gradient и алгоритм REINFORCE: прямое обучение политики градиентным подъёмом. Чем отличается от value-based методов и зачем нужны стохастические политики.
- Actor-critic: обзор
Actor-critic в RL: актёр выбирает действия, критик оценивает их через функцию ценности. Как объединение policy gradient и value-методов снижает дисперсию.
- От таблиц к аппроксимации: зачем нейросети
6 Инструменты, применения и подводные камни
- Среды Gymnasium: обзор API
Gymnasium (бывший OpenAI Gym): стандартный интерфейс сред RL. Методы reset и step, пространства наблюдений и действий, цикл взаимодействия.
- Применения RL на практике
Практические применения RL и условия успеха: симулятор, награда, безопасность. Игры, робототехника, рекомендации, оптимизация ресурсов и RLHF.
- Подводные камни: reward hacking и нестабильность
Главные ловушки RL: reward hacking (агент обманывает функцию награды) и нестабильность обучения. Как их распознать и смягчить.
- Среды Gymnasium: обзор API