DAgger и вмешательства
В уроке 1.1 политика съезжала с маршрута: она попадала туда, где оператор не ездил, и примеров там не было. Мы добавляли такие примеры, предполагая, куда она съедет: шумным оператором и сдвинутыми кадрами. В этом уроке обойдёмся без предположений: Ада едет сама, а эксперт подсказывает правильное действие там, куда она заехала. Это DAgger. Потом разберём, как беречь время эксперта-человека: пусть он сам перехватывает управление, когда видит опасность, или робот зовёт его, когда сомневается.
Ада — домашний гуманоидный робот, на котором построены лабораторные работы курса. Подробнее о ней — в уроке 0.1.
Где взять нужные данные
В уроке 1.1 политика разбивалась по одной причине: она попадала туда, где оператор никогда не ездил. Оператор вёл Аду по центру коридора, а Ада из-за мелких ошибок съезжала к стене. Примеров «что делать у стены» в данных не было, поэтому там она и ошибалась, и каждая ошибка уводила её ещё дальше от примеров.
Во второй половине урока 1.1 мы добавили в данные состояния рядом с маршрутом: шумного оператора и сдвинутые кадры. Это помогло, но это догадка: мы заранее предполагали, куда политика съедет. Если она съедет туда, куда мы не догадались, примеров снова не будет.
Надёжнее не угадывать, а спрашивать. Пусть Ада едет сама, а эксперт в каждой точке, куда она заехала, говорит правильное действие. Добавляем эти примеры и переобучаем — данные появляются ровно там, где политика ошибается. Это DAgger. Как он устроен и почему работает?
DAgger: едет политика, размечает эксперт
DAgger (Dataset Aggregation) — это цикл из четырёх шагов. Его предложили в 2011 году Стефан Росс, Джефф Гордон и Дрю Багнелл:
- Обучить политику на демонстрациях эксперта.
- Пустить политику ехать самой и записать все состояния, в которые она попала.
- Попросить эксперта разметить эти состояния правильными действиями.
- Добавить новые примеры ко всем старым и переобучить политику. Повторить с шага 2.
Цикл убирает причину дрейфа. В behavior cloning первая ошибка уводила политику туда, где примеров нет, и в худшем случае ошибки копились как . В DAgger за несколько кругов примеры появляются как раз там, куда политика заезжает. Авторы доказали, что тогда ошибка растёт линейно по длине эпизода, а не квадратично.
Есть оговорка: если одна ошибка необратима — например, Ада упала с лестницы, — выигрыш пропадает.
Под капотом: алгоритм и гарантия
На практике , а на следующих итерациях эксперт не вмешивается: в статье этот вариант «часто работает лучше всего». Возвращают лучшую политику на валидации, а не последнюю.
Гарантия: при достаточном числе итераций
Здесь — лучшая достижимая ошибка на агрегированных данных, а — насколько одна ошибка увеличивает стоимость эпизода. Если ошибку можно быстро исправить, ограничено, и рост линейный. Если ошибка необратима, растёт вместе с , и преимущество перед behavior cloning пропадает. Для доказательства нужен алгоритм обучения без сожалений (no-regret): например, обучение на всех накопленных данных с выпуклой функцией потерь.
Как это проверяли. В оригинальной статье были видеоигры. В Super Tux Kart экспертом был человек с джойстиком, и обычный behavior cloning не улучшался от новых демонстраций, а DAgger почти перестал вылетать с трассы после пяти итераций. В Super Mario Bros экспертом был планировщик с доступом к внутреннему состоянию игры. В лаборатории ниже устроено так же: правильный руль подсказывает классический планировщик, который знает точную карту дома.
Сколько таких кругов понадобится Аде, чтобы перестать врезаться?
Ада учится на своих ошибках
Проверим на политике из урока 1.1: она обучена на 10 аккуратных поездках робота-оператора и доезжает 6 раз из 10. Сначала сделаем итерацию DAgger и сравним результат с исходной политикой на тех же стартах. Потом ограничим время учителя: он разметит только 40 кадров, а где спросить, решаешь ты. В последней задаче эксперт — ты: перехватываешь управление, когда Ада начинает съезжать. Задачи — справа, по одной.
Под капотом: что внутри лаборатории
- Мир и политика — те же, что в уроке 1.1. Стартовая политика обучена на 10 аккуратных поездках робота-оператора.
- Проверка. Обе Ады проезжают по 10 раз с одних и тех же стартов с одинаковым шумом в моторах, как в лаборатории урока 1.1.
- Итерация DAgger. Политика проезжает маршрут сама с шумом 0,2 рад/с, учитель-планировщик размечает каждое посещённое состояние. Новые примеры добавляются ко всем старым, сеть дообучается 500 итераций с шагом 0,003.
- 40 подсказок. Каждое касание выбирает 10 ближайших кадров из 10 поездок политики урока 1.1 в радиусе 35 см. Учитель размечает только их, сеть дообучается так же, как в DAgger, каждый раз от исходной политики.
- Ты — эксперт. Старт и шум — из той проверочной поездки, где политика урока 1.1 врезается. Пока кнопка зажата, руль ведёт курсор, и эти пары «наблюдение → твой руль» идут в данные. После поездки сеть дообучается.
Итог лаборатории: одной итерации DAgger хватает, чтобы Ада доезжала 10 из 10 вместо 6 из 10. Но сравнение неравное: политика после DAgger получила новые размеченные примеры, а политика из урока 1.1 — ни одного. Может быть, DAgger выигрывает только потому, что данных стало больше?
DAgger против «ещё больше демонстраций»
Чтобы это проверить, сравним два способа при одинаковом числе размеченных примеров. Серая кривая — behavior cloning на 5, 10, 20 и 40 аккуратных демонстрациях. Оранжевая — те же 5 демонстраций плюс итерации DAgger, по одной размеченной поездке на итерацию. Каждая точка — обучение с нуля и 20 проверочных поездок, на точку уходит секунда-две. Точки добавляешь ты, задача — справа.
При одинаковой разметке DAgger выигрывает: важно не сколько примеров, а где они. Но в этих сравнениях кадры размечал планировщик: он отвечает мгновенно, без ошибок и не устаёт. Получится ли так же, если эксперт — человек?
Почему людям неудобен DAgger
С человеком DAgger работает хуже. Планировщику всё равно, кто ведёт машину, а человеку — нет. Попробуй сказать, как правильно повернуть руль, глядя на видео, где рулит кто-то другой: реакции не те, обратной связи нет, ощущение задержки. Авторы HG-DAgger (2019) писали именно об этом: при разметке «со стороны» качество меток человека падает.
Их решение: человек не размечает всё подряд, а перехватывает управление, когда видит опасность, и сам возвращает его политике. В данные попадают только участки, где вёл человек. В лаборатории это режим «Ты — эксперт».
В эксперименте на настоящем автомобиле с виртуальными препятствиями у HG-DAgger не было ни столкновений, ни съездов, хотя выборка была маленькой.
Под капотом: HG-DAgger
Политика — ансамбль сетей. Человек сам решает, когда перехватить управление и когда вернуть его. В данные попадают только пары «наблюдение → действие человека» с его участков; на участках политики метки не собирают.
Попутно авторы оценивают, где политике опасно ехать одной. «Сомнение» ансамбля — норма диагонали ковариации его выходов. Порог — среднее последних 25% значений сомнения в моменты, когда человек перехватывал управление. В симуляции при старте внутри «безопасной» по области столкновений было в 12 раз меньше.
Вмешательства в индустрии. Беспилотные компании годами считали disengagements — случаи, когда человеку приходится брать управление. У Waymo удалённые операторы сегодня не ведут машину, а советуют системе, и она может совет отвергнуть. У домашнего гуманоида 1X NEO незнакомые задачи выполняет удалённый оператор, и эти сессии становятся данными для обучения.
Задача: кто решает, когда нужен эксперт
У HG-DAgger остаётся слабое место: чтобы вовремя перехватить управление, человек должен всё время смотреть на робота. Методы этого семейства собирают данные там, куда заезжает политика, а различаются тем, кто решает, когда звать эксперта. Разложи карточки по корзинам: перетащи карточку или нажми её, а потом корзину.
Может ли робот сам понять, когда ему нужна помощь?
Робот просит помощи, когда сомневается
Может, если умеет оценить свою неуверенность. Человек не может смотреть на робота весь день, поэтому политика должна сама понимать, когда ей нужна помощь, и звать эксперта только тогда.
Простой способ оценить неуверенность — обучить три сети на одних данных с разной инициализацией. Там, где данных много, они отвечают одинаково. Там, где данных нет, начинают спорить. Разброс их ответов и есть неуверенность.
Ниже Ада едет десять раз. Если разброс ансамбля выше порога, она просит помощи, и этот шаг ведёт учитель. Задача справа: найди порог, при котором Ада почти не врезается и не зовёт человека без необходимости.
Так устроен ThriftyDAgger (2021). Там робот, который зовёт человека по порогу, обошёл HG-DAgger, где решает человек: 73 успешных вставки из 100 против 57.
Сначала обучи ансамбль.
Под капотом: неуверенность ансамбля
Три сети учатся на одних данных и отличаются только начальными весами. Политика едет по среднему ответу, а неуверенность — разброс ответов:
Если , робот просит помощи.
Там, где данных много, сети сходятся к одному ответу. Где данных нет, каждая экстраполирует по-своему, и растёт. ThriftyDAgger добавляет второй сигнал — риск: обученная оценка вероятности не доехать до цели. Пороги он выбирает так, чтобы человек вмешивался в заданной доле шагов, например в 1%.
Подходящий порог есть, но окно узкое: ниже него Ада зовёт человека слишком часто, выше — перестаёт просить помощи и врезается.
Из каждого вмешательства мы пока брали одно — правильное действие в этом месте. Есть ли в нём ещё что-то полезное?
От вмешательств к обучению с подкреплением
Есть. Само вмешательство говорит, что политика попала в плохое место: иначе человек не стал бы брать управление. Этот сигнал «здесь что-то пошло не так» используют как награду в обучении с подкреплением:
- RLIF (2023)Шагу перед вмешательством ставят награду −1, остальным — 0, и учат политику обучением с подкреплением. Так можно превзойти даже неидеального эксперта: нужен только сам факт вмешательства.
- HIL-SERL (Science Robotics, 2025)20–30 демонстраций, вмешательства человека и обучение с подкреплением на настоящем роботе: почти 100% успеха на задаче за 1–2,5 часа.
- π*0.6 и RECAP (ноябрь 2025)Модель Physical Intelligence учится на демонстрациях, исправлениях оператора и собственных попытках. На складывании белья и приготовлении эспрессо производительность выросла более чем вдвое. Авторы отмечают: даже одна итерация часто заметно улучшает результат — как и в нашей лаборатории.
Подробно обучение с подкреплением разберём в части 5, а π*0.6 — в уроке 3.8.
Семь вопросов о типичных заблуждениях
Итоги урока
- DAgger лечит сдвиг распределения: политика едет сама, эксперт размечает её состояния, данные копятся.
- При равной разметке DAgger выигрывает у «ещё больше демонстраций»: важно не сколько данных, а где они.
- Людям трудно размечать со стороны. HG-DAgger: человек перехватывает управление сам, в данные идут его участки.
- Неуверенность можно мерить разбросом ансамбля и просить помощи только тогда, когда сеть сомневается.
- Вмешательство — ещё и сигнал «здесь плохо». На нём строят обучение с подкреплением в системах 2025 года.
Открытые вопросы
Ты запускаешь пилот роботов-курьеров с удалёнными операторами. Как построить процесс, чтобы каждое вмешательство улучшало политику?
Записывать каждое вмешательство вместе с наблюдениями до него и действиями оператора; регулярно добавлять эти данные ко всему датасету и переобучать; следить за метрикой «вмешательств на час» по версиям политики; настроить порог, при котором робот сам зовёт оператора, и проверять, что вмешательств становится меньше без роста аварий.
Почему в DAgger важно агрегировать все данные, а не учиться только на последней итерации?
Каждая итерация покрывает состояния, куда попала текущая политика. Если учиться только на последней, новая политика забудет, как вести себя там, где ошибалась прежняя, и начнёт ошибаться там снова. Агрегирование сохраняет всё распределение состояний, которое политика уже посетила.
Гид по статье
- Читать внимательноАлгоритм DAgger (раздел 3) и эксперименты: Super Tux Kart, Super Mario Bros, распознавание рукописных слов.
- Можно пропуститьДоказательства про no-regret online learning, если теория онлайн-обучения незнакома.
- Вопрос по ходуПочему алгоритм возвращает лучшую политику на валидации, а не последнюю?
Материалы
- HG-DAggerM. Kelly et al., ICRA 2019 — человек перехватывает управление
- ThriftyDAggerR. Hoque et al., CoRL 2021 — бюджет внимания
- RLIFJ. Luo et al., ICLR 2024 — вмешательство как награда
- HIL-SERLJ. Luo et al., Science Robotics 2025
- DAgger в Super Tux KartВидео авторов оригинальной статьи
Дальше: мультимодальность. DAgger и вмешательства решают проблему сдвига: примеры появляются там, куда заезжает политика. Остаётся другая проблема. Бывает, что правильных действий два: оператор объезжает препятствие то слева, то справа. Политика, обученная на среднеквадратичную ошибку, выдаёт среднее этих действий и едет прямо в препятствие. Так Ада въезжала в чайник в уроке 0.1. Почему так происходит и как научить политику выбирать одно действие — урок 1.3.