От Atari до ChatGPT: как ИИ учится на своих ошибках?

Stanford Online 36 тыс. 1 ч 44 мин 11 мин 31.10.2025
Главное

Пятая лекция курса Стэнфордского университета CS230 посвящена глубинному обучению с подкреплением (Deep Reinforcement Learning). Лектор рассматривает эволюцию алгоритмов от классического Q-обучения до современных методов выравнивания больших языковых моделей с человеческими предпочтениями (RLHF). В материале подробно разбирается, как концепция обучения на собственном опыте позволяет искусственному интеллекту превосходить человека в играх и решать сложные прикладные задачи в индустрии.

🎮 От Atari до ChatGPT: Сила обучения с подкреплением 1:01

Глубинное обучение с подкреплением представляет собой синергию глубоких нейронных сетей и классической парадигмы обучения с подкреплением. Популярность этого направления резко возросла после публикации фундаментальной работы лаборатории DeepMind «Human-level control through deep reinforcement learning». Разработчикам удалось создать единый алгоритм, способный без изменения архитектуры и гиперпараметров играть в 40–50 игр для платформы Atari лучше, чем профессиональные геймеры.

Эволюция систем RL развивалась стремительно:

Попытка решить игру вроде Го стандартными методами обучения с учителем (Supervised Learning) неизбежно сталкивается с жесткими ограничениями. Если собирать датасет, где входом $X$ является текущее состояние доски, а меткой $Y$ — идеальный следующий ход мастера, модель не сможет генерализовать стратегию. На стандартной сетке 13×13 (или классической 19×19) число комбинаций расположения камней столь велико, что ни один исторический лог партий не покроет этот объем. Кроме того, человеческая разметка субъективна: даже лучшие гроссмейстеры совершают ошибки, из-за чего «истинные метки» (ground truth) оказываются размытыми.

Главное отличие подходов сформулировано лектором следующим образом: в классическом обучении с учителем алгоритм обучают на примерах, тогда как в обучении с подкреплением его обучают на опыте. Помимо игровой индустрии, алгоритмы последовательного принятия решений критически важны в беспилотном вождении, управлении суставами роботов и маркетинге (в частности, в системах реального времени для таргетирования рекламы и проведения онлайн-аукционов ставок).

🧩 Базовый аппарат RL: Агенты, среды и уравнения 13:55

Взаимодействие в системе RL строится по циклическому принципу. Агент находится в некотором состоянии среды $s_t$. Он выполняет действие $a_t$, под влиянием которого среда переходит в новое состояние $s_{t+1}$. В ответ агент регистрирует две вещи: наблюдение $o_t$ и скалярную величину вознаграждения (награду) $r_t$.

Разработчики строго разграничивают понятия «состояние» (state) и «наблюдение» (observation). В шахматах или Го они эквивалентны: игроку доступна вся доска целиком. Однако в стратегиях реального времени (например, Starcraft) присутствует так называемый «туман войны» (fog of war) — агент видит только ограниченный радиус вокруг своих юнитов. В таком случае наблюдение содержит значительно меньше информации, чем полное скрытое состояние среды.

Для иллюстрации математического аппарата лектор приводит простейшую дискретную среду «Recycling is good», состоящую из пяти линейных состояний:

Вводится временное ограничение: мусоровоз приезжает через 3 минуты, а переход между соседними клетками занимает 1 минуту. Без этого лимита агент мог бы бесконечно циклировать между третьей и четвертой клетками, собирая бесконечную награду за обертку.

Цель агента — максимизировать совокупный долгосрочный доход $R$, рассчитываемый с учетом фактора дисконтирования $\gamma$ (гамма), принимающего значения от 0 до 1:

$$R = \sum_{t=0}^{T} \gamma^t r_t$$

Дисконтирование отражает ценность времени (аналог инфляции или падения заряда батареи робота) — награда сейчас ценнее, чем награда в далеком будущем. При цене шага в $\gamma = 1$ оптимальной стратегией будет движение строго направо к баку переработки (итоговый доход: $0 + 1 + 10 = 11$). Если же заложить высокий уровень дисконтирования ($\gamma = 0.9$), расчеты усложняются.

Для нахождения оптимального пути используется таблица ценности — Q-table. Размерность этой матрицы составляет (Количество состояний $\times$ Количество действий). Каждая ячейка таблицы $Q(s, a)$ показывает, насколько выгодно совершить действие $a$, находясь в состоянии $s$. Найти идеальные значения таблицы можно методом обратного прохода по дереву решений (backtracking) от терминальных вершин к начальной.

В основе поиска лежит знаменитое уравнение оптимальности Беллмана (Bellman optimality equation):

$$Q^(s, a) = r + \gamma \max_{a'} Q^(s', a')$$

Оно гласит, что идеальная ценность текущей пары «состояние-действие» складывается из немедленной награды $r$ и дисконтированной максимальной ценности следующего состояния $s'$ по всем возможным будущим действиям $a'$. Стратегия агента (policy, обозначаемая как $\pi$) в контексте Q-обучения тривиальна — это функция, выбирающая аргумент с максимальным значением ценности:

$$\pi(s) = \arg\max_a Q^*(s, a)$$


🧠 Глубокое Q-обучение (DQN) и нейросетевые аппроксиматоры 35:31

Главная проблема классических таблиц ценности заключается в проклятии размерности. Если состояний в среде миллионы или миллиарды (как в сложных симуляторах или видеоиграх), хранить и обновлять такую матрицу в оперативной памяти становится физически невозможно. На помощь приходит глубокое обучение: нейросети выступают в роли универсальных аппроксиматоров функций. Мы заменяем жесткую Q-таблицу нейросетью (Deep Q-Network, DQN), которая принимает на вход вектор состояния $s$, а на выходном слое генерирует непрерывные скалярные значения ценности для каждого доступного действия.

Обучение такой сети сопряжено с фундаментальной сложностью — отсутствием фиксированных эталонных меток $Y$. На начальных итерациях веса сети инициализированы случайно, и на forward pass она выдает абсолютно мусорные предсказания. Чтобы сымитировать классическое обучение с учителем, инженеры используют уравнение Беллмана для динамического вычисления таргетов.

Процесс минимизации квадратичной функции потерь ($L_2$ Loss) выглядит следующим образом:

  1. Нейросеть принимает текущее состояние $s$.
  2. Выбирается действие $a$ (например, движение влево, если его текущая оценка выше).
  3. Агент совершает шаг, видит реальную награду $r$ и переходит в состояние $s'$.
  4. Формируется динамическая метка (таргет) $Y$: $$Y = r + \gamma \max_{a'} Q(s', a'; \theta^{-})$$

  5. Вычисляется ошибка между текущим предсказанием $Q(s, a; \theta)$ и таргетом $Y$. Веса сети обновляются через стандартный метод обратного распространения ошибки (backpropagation).

Математический нюанс: при вычислении таргета $Y$ используется тот же самый сетевой архитектор, что создает уязвимость для расхождения градиентов. В момент дифференцирования функции потерь параметры части уравнения, отвечающей за таргет ($\theta^{-}$), фиксируются и временно считаются константными, чтобы сеть «не гонялась за собственным хвостом».


🕹️ Практический кейс: Разбор игры Breakout и оптимизация обучения 53:26

В качестве демонстрационного стенда рассматривается классическая аркада Breakout, где игроку необходимо перемещать платформу влево и вправо, отбивая мяч и разрушая кирпичную стену. Лектор предлагает спроектировать архитектуру DQN для этой задачи.

Входными данными ($s$) выступает изображение с экрана. Однако скармливать нейросети сырые высокоразмерные RGB-кадры вычислительно неэффективно. Применяется конвейер предварительной обработки (препроцессинга) $f(s)$:

Критически важный аспект препроцессинга — учет фактора времени. По одному статичному кадру невозможно определить, летит мяч вверх или падает вниз. Чтобы предоставить сети информацию о векторе скорости и направлении, стек входа формируют сразу из четырех последовательных исторических кадров. В качестве альтернативы можно было бы высчитывать явные векторы скоростей вручную, но стек кадров делает алгоритм универсальным для любых типов игр.

Архитектура сети строится на базе сверточных слоев (CNN), извлекающих пространственные признаки, и завершается полносвязным слоем с тремя выходами (ценности действий: «влево», «вправо», «бездействие»).

Для успешной сходимости классического ванильного DQN требуются два инженерных патча, без которых обучение в реальных средах разваливается.

1. Память воспроизведения (Experience Replay)

При последовательной игре кадры жестко коррелируют между собой (например, мяч долго летит по одной траектории). Обучение на таких непрерывных батчах приводит к тому, что нейросеть избыточно адаптируется под локальный паттерн движения и забывает всё остальное. Это похоже на то, как если бы классический классификатор обучали сначала только на кошках, а потом только на собаках.

Решение: все переходы $(s, a, r, s')$ сохраняются в специальный буфер памяти $D$. На каждом шаге градиентного спуска алгоритм случайно сэмплирует мини-батч из этого архива, перемешивая старые и новые игровые ситуации. Это радикально повышает эффективность использования данных (один яркий опыт переживается сетью многократно).

2. Дилемма исследования и эксплуатации (Exploration vs Exploitation)

Если агент на раннем этапе случайно найдет стратегию, приносящую хотя бы минимальный доход (например, застрянет в локальном минимуме с наградой +1), он начнет постоянно ее эксплуатировать (exploit). Из-за этого алгоритм никогда не попробует альтернативные действия, ведущие к крупному кушу в +1000 очков.

Для борьбы с этим внедряется $\epsilon$-жадная стратегия (epsilon-greedy). С заданной вероятностью $\epsilon$ (например, 5%) агент совершает абсолютно случайный ход, игнорируя подсказки нейросети. Это позволяет ИИ исследовать новые неочевидные траектории. Примечательно, что в процессе тренировки Breakout обученный агент сам открывает эффективную человеческую стратегию — пробить туннель в углу стены и запустить мяч в пространство за кирпичами, где он уничтожает их автоматически без участия платформы.


🚀 Продвинутые методы и конкурентное самообучение 1:20:24

Существуют среды с экстремально разреженным вознаграждением (sparse rewards), где базовый DQN бессилен. Яркий пример — игра Montezuma’s Revenge. Персонажу нужно пройти лабиринт, обойти ловушки, прыгнуть по веревке и спуститься по лестнице, чтобы получить первый ключ. Вероятность того, что случайный поиск ($\epsilon$-greedy) выдаст такую длинную безошибочную цепочку действий, близка к нулю.

В таких сценариях применяется «обучение подражанием» (imitation learning). Сеть инициализируют не случайными весами, а обучают на демонстрациях человеческой игры, закладывая базовые концепты («лестница — это для перемещения», «монстр — это опасность»).

Помимо DQN, в современной практике доминирует алгоритм PPO (Proximal Policy Optimization). В отличие от Q-обучения, оценивающего ценность действий, PPO относится к семейству градиентов стратегий (Policy Gradient) и оптимизирует распределение вероятностей действий напрямую.

Преимущества PPO:

Ещё одним мощным драйвером развития RL является конкурентное самообучение (competitive self-play). Модель клонируют, инициализируют ветки с небольшими отличиями и заставляют играть друг против друга (например, в виртуальное сумо). За счет случайных флуктуаций один из клонов начинает побеждать, его архитектурные паттерны копируются на всю популяцию, и цикл повторяется. Так зарождаются сложные эмерджентные стратегии поведения (удержание центра тяжести, обманные маневры), которые программисты никогда не закладывали вручную.


🤝 Игры кончились: RLHF и выравнивание языковых моделей 1:30:20

Переломным моментом для ИИ-индустрии стало перенесение методов RL на текстовые генеративные модели. Изначально большие языковые модели обучаются на задачу предсказания следующего токена (Next Token Prediction) по массивам интернет-текстов. Однако сырая веб-генерация принципиально не соответствует критериям полезности, вежливости и безопасности (helpfulness, honest, harmless). Если пользователь спросит у базовой модели: «Мой ноутбук не включается, что делать?», она, начитавшись форумов, может выдать продолжение в духе: «Ноутбуки часто ломаются из-за проблем с питанием», вместо реальной пошаговой инструкции по ремонту.

Процесс превращения сырой модели в полезного ассистента состоит из двух ключевых макроэтапов.

Этап 1. Supervised Fine-Tuning (SFT)

Сначала собирается высококлассный, но ограниченный датасет, где эксперты-люди вручную пишут идеальные ответы на разнообразные запросы (промпты). Базовая модель дообучается на этих парах методами классического обучения с учителем. Главный минус SFT — колоссальная дороговизна ручного написания текстов. В первой версии InstructGPT использовалось всего около 13 000 таких пар. Такого объема данных критически мало для качественной генерализации на все темы мира. SFT — это слепое подражание (imitation), а не осознанный выбор лучшего пути.

Этап 2. Обучение модели вознаграждения (Reward Model) и RLHF

Чтобы запустить полноценный цикл обучения с подкреплением, требуется судья (критик). Посадить живых людей оценивать миллионы генераций в реальном времени невозможно, поэтому создается отдельная нейросеть — Модель вознаграждения (Reward Model, RM).

Для ее обучения берут текущую SFT-модель, генерируют несколько вариантов ответов на один и тот же промпт (за счет изменения параметра температуры) и просят человека-разметчика просто ранжировать их от лучшего к худшему (например, Ответ B лучше Ответа C, который лучше Ответа A). Выразить предпочтение для человека в разы быстрее и проще, чем писать текст с нуля.

Из SFT-модели удаляется финальный классификационный слой (softmax) и заменяется линейной головой, выдающей единственное скалярное число — балл человеческого предпочтения. Специальная функция потерь штрафует модель, если она присваивает низкий балл тексту, который человек выбрал в качестве фаворита.

Когда RM обучена, запускается финальный цикл RLHF:

Особенность текстового RL заключается в экстремальной разреженности наград. Модель вознаграждения не может оценивать отдельные буквы или слова — ей нужен законченный смысловой абзац. Поэтому в процессе генерации все промежуточные награды равны нулю. Только когда генерация полностью завершена, RM выносит вердикт, и этот финальный сигнал пробрасывается назад алгоритмом PPO для корректировки вероятностей выбора слов языковой моделью.

По мнению известного исследователя Андрея Карпати, обучение с подкреплением в его текущем виде временами демонстрирует чудовищную неэффективность. Человеческий разум способен обучаться на порядки быстрее и с меньшим количеством итераций, в то время как алгоритмам RL требуются миллионы попыток для стабилизации весов. Тем не менее, на сегодняшний день связка PPO и моделей вознаграждения остается самым мощным и безальтернативным инструментом для выравнивания передовых систем ИИ.

💬 Цитаты

«В классическом обучении с учителем вы обучаете на примерах. В обучении с подкреплением вы обучаете на опыте.»

Лектор курсов CS230 11:13

«Технология RLHF стала тем самым прыжком, который превратил GPT-2 в ChatGPT.»

Лектор курсов CS230 01:29
👥 Спикер
🎬 Упомянутые фильмы и сериалы
📖 Термины
Агент (Agent)
Сущность в обучении с подкреплением, которая совершает действия и обучается на основе полученных наград.
Функция ценности (Q-value)
Оценка того, насколько выгодно совершить определенное действие в конкретном состоянии среды.
RLHF
Метод обучения ИИ, при котором модель оптимизируется на основе оценок и предпочтений людей-экспертов.
📊 Цифры
🗓 Хронология
  1. 2017 Команда DeepMind с помощью алгоритма AlphaGo решает сложнейшую с точки зрения принятия решений игру Го.
  2. 2022 Публикация фундаментальной работы по применению RLHF для выравнивания больших языковых моделей.
⚖️ Другая сторона
Искусственный интеллект Deep Reinforcement Learning Stanford CS230 RLHF Q-learning DQN