Human-gated DAgger, от край до край

Поемете контрола, когато policy сгреши, и тренирайте точно тази корекция.

Policy, трениран чрез behavior cloning, познава само състоянията, посетени в демонстрациите. DAgger затваря тази празнина с данни от състоянията, до които policy стига сам. AY-Robots изпълнява целия цикъл на SO-100: карайте checkpoint, поемайте контрола по средата на пробега, запазвайте коригираните епизоди, съставете сместа и продължете обучението от последния каран checkpoint.

  • HG-DAgger, с човешки контрол
  • SO-100 / SO-101
  • ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
  • Процент на интервенциите на рунд

Защо трениран policy прави нещо, което никога не е било демонстрирано

Behavior cloning третира управлението като обикновено supervised обучение: наблюдение на входа, целева позиция на ставите на изхода, напаснато върху кадрите, записани от човек. Това е валидно само докато роботът остава в състоянията, посетени от този човек, а той не остава. Захват, който се затваря четиридесет милисекунди по-рано, измества кубчето с два милиметра от демонстрираната поза. Следващото наблюдение не присъства в тренировъчния набор, действието там е екстраполация, а състоянието след него е още по-встрани. Тренировъчното разпределение и разпределението, което самата научена policy поражда, са две различни неща, и второто се отдалечава от първото с напредването на епизода.

Ross, Gordon и Bagnell описват точно този провал на редукцията през 2011 г. и остойностяват щетата: класификатор, който греши с вероятност e при разпределението на експерта, може да направи от порядъка на T на квадрат по e грешки за хоризонт от T стъпки при разпределението, което сам поражда, защото една грешка произвежда наблюдения, каквито експертът никога не е генерирал, и грешките се натрупват. Тяхното решение е алгоритъмът, за който става дума на тази страница: карай текущата policy, събирай експертни етикети за състоянията, които тя посещава, обединявай ги с всичко събрано дотук, тренирай наново, повтаряй. Повече демонстрации от същия вид не помагат, защото извличат проба от същото разпределение. Етикети от състоянията, до които policy стига, помагат. Реализираният тук вариант е с човешки контрол (human-gated, HG-DAgger, Kelly и др.): policy запазва контрола, докато човек прецени, че нещо върви накриво, и поеме управлението, така че корекции се произвеждат само там, където са нужни, а ръката никога не бива карана в състояние, което операторът не би допуснал.

  • Behavior cloning е валиден само върху разпределението от състояния, върху което е трениран.
  • Провалът се самоусилва: малко отклонение поражда непознато състояние, което поражда по-голямо отклонение.
  • Лекарството не са повече демонстрации, а етикети от състоянията, до които policy стига сам.
  • Human-gated означава, че операторът решава кога да се намеси, а не показател за автономност.

Защо грешката се натрупва

Преместете хоризонта. При behavior cloning очакваният допълнителен разход расте приблизително с квадрата на броя стъпки, защото всяка грешка поражда състояния, никога непокрити от демонстрациите; цикъл на агрегиране задържа растежа близо до линеен (Ross и др., 2011).

200
1.0 %
Behavior cloning
400
DAgger
2.00
200×
Behavior cloning ÷ DAgger
0.000100200300400050100150200Очакван допълнителен разход (граница)
Хоризонт на задачата (стъпки)

Илюстративни криви от границите в Ross и др. (2011), не измервания от вашия робот. Важна е формата, не числата.

Един DAgger рунд, шест стъпки

Така изглежда цикълът на практика на платформата, а не като схема. Всяка стъпка по-долу отговаря на елемент за управление в кокпита.

Цикълът стъпка по стъпка

Същите шест стъпки, една по една, с това, което се случва с ръката и с набора от данни при всяка от тях.

01

Карайте policy и записвайте

Стартирайте inference пробег срещу трениран от вас checkpoint. Пробегът се записва в реално време, заедно с текста на задачата на самия пробег, така че кадрите по-късно да стават годни за тренировъчни данни, а не просто видео за гледане.

1 от 6

Какво платформата поема вместо вас

Всяка точка тук е стъпка от цикъла, която иначе би трябвало сами да изградите и поддържате.

Поемане без leader ръка

Изберете вход от клавиатура или плъзгачи при старта на пробега и коригирате само с лаптоп. Стъпките от клавиатурата се ограничават от сървъра твърдо до два градуса на става и четири градуса на захвата; целите от плъзгачите са абсолютни и сървърът се придвижва към тях с най-много шест градуса на извикване. Ограничението седи в сървъра, не в интерфейса, така че заседнал клавиш не може да „хвърли" ръката.

Телеоперация в Docs

Интервенции, маркирани на кадър

Всеки кадър, записан докато държите ръката, носи маркировка за интервенция, а колоната action съдържа пълната зададена поза. Не поддържате колона с флагове на ръка и не я подравнявате после спрямо индексите на кадрите.

Форматът на LeRobot набора от данни

Сортиране: корекция, оценка или кошче

Всеки пробег получава едно решение на картата за запис. Корекционните пробеги захранват следващия тренировъчен рунд, оценъчните пробеги остават извън обучението и така остават чисто измерване, а неуспешните пробеги изчезват, вместо тихо да развалят сместа.

Sessions и епизоди

Съставете сместа изрично

Тренировъчния набор за рунд n съставяте вие: оригинален набор плюс корекции, епизоди, избрани по източник. Без автоматично примесване, без скрити симулационни данни, а съставеният резултат се държи като всеки друг набор от данни.

Набори от данни

Продължете от checkpoint

Насочете тренировъчния пробег към checkpoint-а, който току-що карахте, вместо към базовия модел, така всеки рунд започва там, където е приключил предишният. Инициализират се само теглата, състоянието на optimizer-а не се възстановява, затова първия рунд е добре да се третира като тест за приложимост.

Обучение

GPU под наем на рунд

ACT и SmolVLA на 4090, Pi0 и GR00T N1.5 или N1.7 на A100 с 80 GB. Стартирате рунд, pod-ът се вдига, checkpoint-ите кацат в bucket-а ви, а плащате за часовете, които рундът е отнел.

Цени на GPU

Планирайте рундовете си

Процентът на интервенциите е метриката за напредък на цикъла: коригирани кадри, разделени на кадрите на пробега. Задайте начална стойност и подобрение на рунд и вижте колко рунда са нужни, за да стигнете целта.

30 %
25 %
3 000
РундПроцент на интервенциитеКоригирани кадри
1
30.0 %
900
2
22.5 %
675
3
16.9 %
506
4
12.7 %
380
5
9.5 %
285
6
7.1 %
214
Σ2 960

Модел, не прогноза. Реалните рундове са неравномерни, а рунд, който не помръдва процента, не е донесъл нищо; точно това си струва да следите.

Изграждане на цикъла сами срещу изпълнението му тук

Нищо от това не е невъзможно на ръка. Въпросът е колко вечери отиват в инфраструктура вместо в рундове, и има един ред, в който собствената работа е ясно по-добрият отговор.

Стъпка от цикълаИзграждане на ръкаНа AY-Robots
Поемане по средата на пробегаLeader ръка или собствен код на servo bus-а. Поемане с клавиатура и плъзгачи, включително безопасни граници, пишете и дебъгвате сами на истински хардуер.Leader ръка, клавиатура или плъзгачи, избрани при старта на пробега. Ограниченията на ъглите седят в сървъра.
Маркиране на интервенцииДобавяте колоната с флагове, поддържате я подравнена спрямо индекса на кадъра и я проверявате отново при всяка промяна на формата за запис.Всеки кадър, записан по време на поемане, се маркира автоматично, със зададената поза в колоната action.
Сортиране на пробегитеКонвенции за директории и shell скриптове. Замръзналите кадри около предаването сами трябва да намерите и отсеете.Едно решение на пробег на картата за запис. Кадрите от предаването остават в raw директорията.
Изграждане на смесения набор от данниMerge скриптове за всяка версия на формата. Поддържането на индексите на епизодите, метаданните и видео връзките в синхрон е досадната част.Съставяне от оригинал плюс корекции с избор на епизоди по източник; резултатът е обикновен набор от данни.
Започване на следващия рунд от последната policyСами включвате checkpoint-а в trainer-а и по желание можете да възстановите и състоянието на optimizer-а, тоест истинско продължаване.Едно поле за базовия checkpoint. Само тегла: инициализира от checkpoint-а, не е optimizer resume.
Контрол над тренировъчния цикълПълен. Собствен loss, собствен график, собствени аблации, собствена инструментация, без платформа по средата. Ако изследователският въпрос е самият тренировъчен цикъл, направете го на ръка.Фиксиран път с определен списък от policies и хиперпараметрите, които формата излага, не произволен код.

Изследванията, върху които стъпва това

Прочетете ги, преди да спорите за цикъла. Всеки линк води към страницата с abstract, не зад платена стена.

  1. A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning

    Stephane Ross, Geoffrey J. Gordon, J. Andrew Bagnell · 2011 · AISTATS 2011 (PMLR 15)

    Оригиналната работа за DAgger: формулира проблема с натрупването на грешки, дава T-на-квадрат границата за чисто supervised подхода и предлага агрегиране на данни от състоянията, посетени от самия обучаван модел.

  2. HG-DAgger: Interactive Imitation Learning with Human Experts

    Michael Kelly, Chelsea Sidrane, Katherine Driggs-Campbell, Mykel J. Kochenderfer · 2019 · arXiv:1810.02890, ICRA 2019

    Вариантът с човешки контрол: експертът решава кога да поеме контрола, вместо да бъде питан за състояния, избрани от policy; точно този режим е реализиран тук.

  3. EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning

    Kunal Menda, Katherine Driggs-Campbell, Mykel J. Kochenderfer · 2019 · arXiv:1807.08364, IROS 2019

    Другият начин да се управляват интервенциите: несъгласие в ансамбъла като сигнал за увереност кога обучаваният модел може да действа сам. Поучителен контраст спрямо оставянето на решението на човек.

  4. ThriftyDAgger: Budget-Aware Novelty and Risk Gating for Interactive Imitation Learning

    Ryan Hoque, Ashwin Balakrishna, Ellen Novoseller, Albert Wilcox, Daniel S. Brown, Ken Goldberg · 2021 · CoRL 2021

    Третира човешкото внимание като оскъден ресурс и пита за помощ само при нови или рискови състояния; правилната рамка, когато един човек наблюдава ръката цял следобед.

  5. DART: Noise Injection for Robust Imitation Learning

    Michael Laskey, Jonathan Lee, Roy Fox, Anca Dragan, Ken Goldberg · 2017 · CoRL 2017

    Честната алтернатива: вместо да коригирате policy онлайн, разбъркайте демонстрациите, така че експертът да покаже възстановяване. Полезно е да се знае, преди да се обвържете с интервенции.

  6. Interactive Imitation Learning in Robotics: A Survey

    Carlos Celemin, Rodrigo Perez-Dattari, Eugenio Chisari, Giovanni Franzese, Leandro de Souza Rosa, Ravi Prakash, Zlatan Ajanovic, Marta Ferraz, Abhinav Valada, Jens Kober · 2022 · arXiv:2211.00600

    Картата на областта: какви форми на човешка обратна връзка съществуват, през какви интерфейси преминават и къде сред тях стои интервенцията от типа на DAgger.

  7. Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware

    Tony Z. Zhao, Vikash Kumar, Sergey Levine, Chelsea Finn · 2023 · arXiv:2304.13705

    Работата за ACT. Action chunking е причината евтина ръка изобщо да може да се кара от policy за имитационно обучение, а ACT е policy-то, с което DAgger рунд се преминава най-бързо.

  8. π0: A Vision-Language-Action Flow Model for General Robot Control

    Kevin Black, Noah Brown, Danny Driess, Adnan Esmail, Michael Equi, Chelsea Finn et al. · 2024 · arXiv:2410.24164

    VLA, базиран на flow matching и предварително трениран vision-language модел, тук достъпен като checkpoint за fine-tuning; работата изрично посочва, че новите умения идват от fine-tuning-а, а не само от базовия модел.

Въпроси, които хората наистина задават

Нужна ли ми е leader ръка за DAgger?

Не. Изберете вход от клавиатура или плъзгачи при старта на пробега и поемането е ръчно от първия кадър, управлявано от браузъра. Leader ръка е по-приятна за фини движения и е единственият режим, в който ръката сама се подравнява преди предаването; цикълът обаче работи и без нея.

Колко DAgger рунда са ми нужни?

Честно фиксирано число няма. Следете процента на интервенциите: ако той не спада от рунд на рунд, рундът не е донесъл нищо, а причината обикновено е в устройството на задачата, в камерите или в оригиналния набор от данни, а не в броя рундове.

Това истинско DAgger ли е, или нещо по-хлабаво?

Това е HG-DAgger, вариантът с човешки контрол. Класическото DAgger пита експерта за състояния, избрани от policy, включително състояния, в които никой разумен оператор не би пуснал истинска ръка. Тук човек решава кога да се намеси, и само тези сегменти стават етикети.

Тренирам ли само върху корекциите?

Не, и не бива. Обучение само върху корекции дава policy, което умее единствено да се възстановява. Съставеният набор от данни е оригиналните данни плюс корекциите, с изрично избрани епизоди от всеки източник.

Продължаването от checkpoint възобновява ли тренировъчния пробег?

То инициализира теглата от този checkpoint. Състоянието на optimizer-а не се възстановява, така че в строг смисъл не е възобновяване. На практика теглата пренасят наученото поведение през рунда, но е добре да знаете кое от двете получавате.

Как се изчислява процентът на интервенциите?

Кадрите, маркирани като интервенция, разделени на общия брой кадри на пробега. Показва се в статуса на поемането и е числото, което си струва да се записва за всеки рунд, заедно с карания checkpoint и тренираната смес.

С кои policies работи този цикъл?

ACT, SmolVLA, Pi0, както и GR00T N1.5 или N1.7. Самият цикъл е независим от policy-то, защото произвежда само набори от данни и checkpoint-и; практическата разлика е в продължителността на рунда и нужния GPU.

Може ли без собствен робот?

Записване и обучение са възможни и без него: чрез закупени набори от данни на пазара или чрез поръчани оператори, а истинска SO-100 можете да карате в браузъра на live страницата. DAgger рундът е различен, той изисква ръка, която можете да поемете по средата на пробега. За самия цикъл значи трябва хардуер на собственото бюро.

Изпълнете първия си рунд тази седмица

Инсталирайте клиента, карайте вече наличен checkpoint и поемете контрола първия път, когато ръката пропусне кубчето. Този единствен пробег е DAgger рунд в миниатюра; всичко след него е съставяне на сместа и плащане на GPU часовете.