# Обучение с подкреплением: Q-learning и PPO

> Как научить агента действовать в среде, где никто не показывает правильный ход, а есть лишь редкая награда. Разбираем MDP, дилемму «исследование против использования», два семейства методов — Q-learning и PPO — и мост к RLHF, на котором держится выравнивание современных LLM.

Раздел: [Основы машинного обучения](https://ml-book.com/s/ml-basics/) · Страница темы: https://ml-book.com/t/reinforcement-learning/ · Обновлено: 2026-07-09 · Источник: ml-book.com, учебник делается сообществом

## Интуиция

Обучение с подкреплением (reinforcement learning, RL) — это обучение через пробы и последствия. В теме [про типы обучения](https://ml-book.com/t/learning-paradigms/) мы уже назвали RL как парадигму; здесь идём глубже. Представь щенка в лабиринте: никто не диктует ему маршрут, но за выход к миске он получает лакомство, а за яму — щелчок по носу. Со временем он выстраивает поведение, которое приносит больше приятного. Никакого «учителя с правильными ответами» нет — есть только среда и её отклик.

Формально в RL пять действующих лиц. **Агент** (agent) принимает решения. **Среда** (environment) реагирует на них. Всё, что агент видит в данный момент, — это **состояние** (state, s). Что он делает — **действие** (action, a). Что получает в ответ — скалярная **награда** (reward, r). А правило «в состоянии s выбирай действие a» — это **политика** (policy, π). Цель обучения — найти политику, которая максимизирует суммарную награду в долгом забеге.

## Как это работает

Задачу формализуют как марковский процесс принятия решений (Markov Decision Process, MDP): множества состояний и действий, вероятности переходов и функция награды. Свойство Маркова означает, что будущее зависит только от текущего состояния, а не от всей истории. Агент максимизирует не сиюминутную награду, а **отдачу** (return) — сумму будущих наград с дисконтом (discount) γ:

`G_t = r_t + γ·r_{t+1} + γ^2·r_{t+2} + …`

Дисконт γ ∈ [0,1) говорит, насколько мы ценим будущее: при γ около 0 агент близорук и хватает ближайшую награду, при γ около 0.99 — терпелив и планирует надолго. Дисконт заодно не даёт сумме улететь в бесконечность.

Главный конфликт RL — исследование против использования (exploration vs exploitation). Использовать (exploit) уже найденное хорошее действие или исследовать (explore) новое ради потенциально большей награды? Простейший рецепт — ε-жадность (ε-greedy): с вероятностью ε агент ходит наугад, а с вероятностью 1−ε берёт лучшее известное действие. Большой ε — много разведки, но шумно; маленький ε — агент застревает в первом сносном решении.

> **💡 Ключевая мысль**
>
> RL оптимизирует не отдельный шаг, а долгосрочную отдачу под редкую, отложенную награду. Именно поэтому нужен дисконт (что ценить в будущем) и баланс exploration/exploitation (как не застрять в локальном «сносном»).

> 🎛 Интерактивная визуализация — на странице темы: https://ml-book.com/t/reinforcement-learning/

## Два семейства методов

Все алгоритмы RL сводятся к двум большим подходам: учить *ценность* действий или учить *саму политику* напрямую.

### 1. Методы на основе ценности: Q-learning

Идея: выучить функцию ценности Q(s,a) — «сколько отдачи в среднем принесёт действие a из состояния s, если дальше играть хорошо». Зная Q, политика тривиальна: в каждом состоянии бери действие с максимальным Q. Q удовлетворяет уравнению Беллмана (Bellman equation) — рекурсии, связывающей ценность сейчас с ценностью следующего шага:

`Q(s,a) = r + γ · max_{a′} Q(s′, a′)`

Q-learning не знает уравнение заранее, а подгоняет Q к нему на опыте. После каждого перехода (s, a, r, s′) делается обновление в сторону цели Беллмана:

`Q(s,a) ← Q(s,a) + α · [ r + γ · max_{a′} Q(s′,a′) − Q(s,a) ]`

Здесь α — скорость обучения, а выражение в скобках — TD-ошибка (temporal difference): насколько текущая оценка расходится с более свежей. Именно это обновление крутится в интерактиве выше. Важное свойство: Q-learning работает **off-policy** — обновляется в сторону *лучшего* следующего действия (max), даже если реально агент из-за ε-жадности сходил наугад. Это позволяет учиться на любом опыте, в том числе чужом.

### 2. Методы на основе политики: policy gradient и PPO

Другой путь — параметризовать политику π_θ(a|s) нейросетью и напрямую сдвигать её веса в сторону большей отдачи. Базовый алгоритм REINFORCE (policy gradient) прост: сыграй эпизод, и если он вышел хорошим (высокая отдача) — повысь вероятности сделанных действий, если плохим — понизь. Проблема — огромная дисперсия оценок. Её лечит актор-критик (actor-critic): критик оценивает ценность состояния и служит опорой (baseline), а актор корректирует политику относительно этой опоры.

Индустриальный стандарт policy-методов — PPO (Proximal Policy Optimization). Его ключ — клиппированная цель (clipped objective): обновление ограничивают так, чтобы новая политика не уходила слишком далеко от старой за один шаг. Слишком большой шаг легко обрушивает политику; клиппинг режет отношение вероятностей π_{new}/π_{old} в узкий коридор и делает обучение стабильным. За стабильность и разумную выборочную эффективность PPO и стал рабочей лошадкой — от роботов до выравнивания LLM.

## Мост к LLM: RLHF и RLVR

Здесь RL выходит из игр прямо в современные языковые модели. RLHF (обучение с подкреплением на человеческой обратной связи) из темы [про выравнивание](https://ml-book.com/t/alignment/) — это буквально **PPO против reward-модели**: политика (сама LLM) генерирует ответы, обученная на человеческих сравнениях reward-модель ставит им награду, а PPO двигает веса так, чтобы награда росла. Ключевая деталь — KL-штраф: к цели добавляют штраф за уход от исходной политики, чтобы модель не «сломалась», выбивая награду у несовершенного прокси (reward hacking).

А в [reasoning-моделях](https://ml-book.com/t/reasoning-models/) используют RLVR (RL с проверяемыми наградами): награда — не мнение reward-модели, а объективная проверка (сошёлся ответ задачи, прошли тесты код). Такую награду почти нельзя взломать лестью, поэтому RLVR двигает прогресс в рассуждениях. И там, и там движок один — обучение с подкреплением.

## Почему RL трудный

RL мощнее supervised-обучения, но капризнее. Разрежённая награда (sparse reward): если приз выдаётся только в конце длинной цепочки (мат в шахматах, победа в игре), агент долго не получает никакого сигнала. Частичный ответ — reward shaping: доработать функцию награды промежуточными подсказками, но легко переусердствовать и научить агента не тому. Семпл-неэффективность (sample inefficiency): RL нужны миллионы взаимодействий со средой — дорого, если каждое взаимодействие реально. Нестабильность: цель Беллмана и сама политика движутся одновременно, обучение легко расходится — отсюда и клиппинг в PPO, и KL-поводок в RLHF. Применяют RL там, где эти издержки окупаются: игры (AlphaGo, Atari), робототехника, RLHF-выравнивание и ризонинг LLM.

> **⚠️ Подводный камень**
>
> Не путай награду с целью. Ты задаёшь *награду*, а агент оптимизирует именно её — буквально и беспощадно. Дай кривую награду, и он найдёт лазейку: будет наматывать круги ради промежуточного бонуса вместо победы. Это тот же reward hacking, что и в RLHF, — потому в PPO и держат KL-поводок к исходной политике.

> **🎤 На собеседовании**
>
> - «Что такое Q-learning и уравнение Беллмана?» — Q(s,a) — ожидаемая отдача действия; уравнение Беллмана Q(s,a)=r+γ·max Q(s′,·) связывает её со следующим шагом; Q-learning подгоняет Q к этой цели обновлением Q ← Q+α·[r+γ·max Q(s′,·)−Q], off-policy (учится по max, а не по реально сделанному ходу).
> - «Exploration vs exploitation?» — исследовать новое ради потенциально большей награды или использовать найденное лучшее; типичный компромисс — ε-жадность: с вероятностью ε ход наугад, иначе argmax.
> - «Как RLHF связан с RL?» — это PPO против reward-модели с KL-штрафом: LLM-политика генерирует ответы, reward-модель их оценивает, PPO повышает награду, KL держит модель у reference.
> - «Чем policy-методы отличаются от value-методов?» — value (Q-learning) учит ценность действий и берёт argmax; policy (REINFORCE, PPO) параметризует и двигает саму политику. Для LLM с огромным пространством действий работают именно policy-методы.

## Связанные темы

- [Типы обучения: с учителем, без и с подкреплением](https://ml-book.com/t/learning-paradigms/)
- [Alignment: RLHF и DPO](https://ml-book.com/t/alignment/)
- [Reasoning-модели и test-time compute](https://ml-book.com/t/reasoning-models/)
- [Градиентный спуск](https://ml-book.com/t/gradient-descent/)

---

Интерактив, тест из 12 вопросов и карточки терминов — на странице темы: https://ml-book.com/t/reinforcement-learning/
Весь учебник в markdown: https://ml-book.com/llms-full.txt · Оглавление для агентов: https://ml-book.com/llms.txt
