Награда за любопытство: как RND учит агентов исследовать мир
Когда среда почти не даёт наград, обучение с подкреплением буксует. Prediction-based rewards дают агенту внутренний стимул — искать то, что он ещё не умеет предсказывать.

Классический пример провала обучения с подкреплением — игра Montezuma's Revenge на Atari. Агент получает очки только после того, как найдёт ключ, дойдёт до двери и откроет её. До этого момента внешняя награда равна нулю, и алгоритм, который оптимизирует только её, не понимает, куда идти. В 2018 году исследователи OpenAI показали метод Random Network Distillation (RND), который добавляет агенту вторую награду — за новизну. Именно она заставляет его лезть в неисследованные комнаты вместо того, чтобы стоять на месте.
Проблема разреженной награды
Обучение с подкреплением (RL) работает так: агент совершает действия, получает награду, корректирует поведение, чтобы награду максимизировать. Схема ломается, когда награда разреженная — то есть приходит редко и с большой задержкой относительно действий, которые к ней привели.
В играх с плотной наградой (очки капают почти за каждый шаг) даже простой алгоритм постепенно нащупывает стратегию. Но если между стартом и первым положительным сигналом лежат сотни осмысленных действий, случайное блуждание почти никогда до него не доберётся. Агенту нужен собственный внутренний мотор, который толкает его исследовать, пока внешний мир молчит.
Что такое внутренняя награда
Идея внутренней мотивации (intrinsic motivation) не новая: агент получает бонус не от среды, а от самого себя — за то, что попал в состояние, которое считает новым или интересным. Итоговая награда становится суммой:
- внешняя — то, что даёт игра или задача (очки, победа, достижение цели);
- внутренняя — бонус за новизну состояния, который агент вычисляет сам.
Вопрос в том, как численно измерить «новизну». Именно здесь prediction-based подходы предлагают элегантный ответ: новизна — это то, что агент пока не умеет предсказывать.
Prediction-based rewards: награда за ошибку предсказания
Базовая механика такая. Рядом с основным агентом работает предсказательная модель. Она пытается предсказать какую-то величину, связанную с текущим состоянием. Ошибка её предсказания и есть внутренняя награда:
- состояние встречается впервые — модель предсказывает плохо, ошибка большая, награда высокая;
- агент бывал здесь много раз — модель уже обучилась, ошибка мала, награда почти нулевая.
Так агента тянет туда, где он ещё «не разобрался». По мере того как он осваивает область, бонус за неё гаснет сам собой, и внимание смещается на следующие неизведанные участки.
Ранние версии этой идеи предсказывали динамику среды: по текущему состоянию и действию модель угадывала следующее состояние. Проблема — так называемая шумная телевизионная ловушка. Если в среде есть источник настоящей случайности (мелькающий экран, генератор шума), предсказать его точно нельзя в принципе. Ошибка там всегда высокая, и агент залипает перед «телевизором», получая вечный поток фальшивой новизны.
Как RND обходит ловушку шума
Random Network Distillation решает проблему хитро. Вместо предсказания будущего состояния используются две нейросети, обе принимают на вход текущее состояние:
- Целевая сеть (target) — со случайными весами, зафиксированными раз и навсегда. Её никогда не обучают. Она просто превращает состояние в вектор чисел детерминированно.
- Сеть-предиктор (predictor) — обучается предсказывать выход целевой сети на тех же состояниях.
Внутренняя награда — это ошибка предиктора относительно целевой сети. Логика: если состояние встречалось часто, предиктор уже научился воспроизводить выход целевой сети на нём, ошибка мала. Если состояние редкое, предиктор его ещё не видел, ошибка велика.
Целевая функция детерминирована — у случайной, но зафиксированной сети нет собственного шума. Значит, ошибку нельзя набрать, просто пялясь на экран с помехами: предсказать выход постоянной функции реально, было бы достаточно примеров. Так RND отделяет настоящую новизну от неустранимой случайности среды.
На Montezuma's Revenge подход из статьи OpenAI 2018 года впервые позволил агенту стабильно проходить значительную часть уровня и превзойти средний результат человека — там, где методы без внутренней мотивации не двигались с места.
Сравнение подходов к исследованию
| Подход | Что предсказывает | Слабое место |
|---|---|---|
| Count-based (подсчёт посещений) | Ничего, считает частоту состояний | Плохо масштабируется на большие и непрерывные пространства |
| Forward dynamics | Следующее состояние по текущему и действию | Ловушка шумного телевизора |
| ICM (curiosity module) | Динамику в пространстве признаков | Признаки нужно аккуратно выучить, чувствителен к шуму |
| RND | Выход случайной фиксированной сети | Награда затухает; чувствителен к нормализации |
Что важно на практике
RND красиво выглядит на бумаге, но при реализации всплывают детали, без которых он не работает:
- Нормализация наблюдений и наград. Масштаб выхода случайной сети произволен, поэтому внутреннюю награду нормализуют по бегущему стандартному отклонению. Без этого баланс между внешней и внутренней наградой разъезжается.
- Раздельные оценки ценности. В оригинальной работе внешнюю и внутреннюю награду ведут через две отдельные головы value-функции, потому что у них разная природа: одна эпизодическая, другая нет.
- Затухание бонуса — это фича. По мере обучения предиктора внутренняя награда падает, и агент естественно переключается на внешнюю цель. Настраивать «выключение» любопытства вручную не нужно.
Стоит трезво понимать границы метода. RND даёт мощный сигнал исследовать новое, но он не различает полезное новое и бесполезное. В среде, где случайных новых состояний много, а к цели ведёт лишь узкий коридор действий, любопытство может распылять агента. Prediction-based rewards — инструмент против разреженности награды, а не замена продуманной постановки задачи.
Общая идея живёт дольше конкретной архитектуры: превратить незнание в измеримую величину и платить агенту за его сокращение. Меняются формы предсказания — от динамики среды до случайной сети — но принцип остаётся тем же: пусть агент сам ищет то, чего он ещё не понимает.
Prompt-инженер: Идеальные запросы для Midjourney, ChatGPT и других моделей.
Спросить за 15 ₽Источники: Exploration by Random Network Distillation (Burda et al., OpenAI), OpenAI: Reinforcement Learning with Prediction-Based Rewards
Частые вопросы
Чем внутренняя награда отличается от внешней?
Почему нельзя просто предсказывать следующее состояние?
Зачем в RND нужна вторая сеть со случайными весами?
RND работает только в играх Atari?
Что произойдёт, когда агент исследует всю среду?
Можно ли использовать RND вместе с современными RL-алгоритмами?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.