Human-gated DAgger, од почетка до краја

Преузмите контролу када policy погреши, а затим је тренирајте баш на тој исправци.

Policy тренирана Behavior Cloning-ом познаје само стања која су се појавила у демонстрацијама. DAgger затвара тај јаз подацима из стања до којих policy сама стигне. AY-Robots води целу петљу на SO-100 руци: вожња checkpoint-а, преузимање усред вожње, чување исправљених епизода, састављање мешавине и настављање тренинга од управо воженог checkpoint-а.

  • HG-DAgger, human-gated
  • SO-100 / SO-101
  • ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
  • Стопа интервенције по рунди

Зашто тренирана policy ради нешто што никад није демонстрирано

Behavior cloning третира управљање као обично надгледано учење: улаз опсервација, излаз циљно стање зглобова, прилагођено кадровима које је снимио човек. То важи само док робот остаје на стањима која је тај човек посетио, а управо то се не дешава. Хватаљка која се затвори четрдесет милисекунди прерано помери коцку два милиметра ван демонстриране позе. Следећа опсервација се не налази у скупу за тренинг, па је акција тамо екстраполација, а стање после тога лежи још даље напоље. Дистрибуција на којој се тренира и дистрибуција коју заправо ствара научена policy две су различите ствари, а друга се током епизоде све више удаљава од прве.

Ross, Gordon и Bagnell су управо овај проблем свели на праву меру још 2011. и израчунали штету: класификатор који под експертском дистрибуцијом греши са вероватноћом e може, под сопственом дистрибуцијом коју сам ствара, током хоризонта од T корака направити реда величине T на квадрат пута e грешака, зато што једна грешка ствара опсервације које експерт никада није произвео, па се грешке гомилају. Њихов одговор на то је алгоритам о коме говори ова страница: покренути тренутну policy, прикупити стручне ознаке за стања која она посети, агрегирати их са свиме прикупљеним до сада, поново тренирати, поновити. Више демонстрација исте врсте не помаже, јер само поново узоркују исту дистрибуцију. Ознаке из стања до којих policy стигне - помажу. Овде примењена варијанта је human-gated (HG-DAgger, Kelly et al.): policy задржава контролу док особа не процени да греши и не преузме, тако да исправке настају само тамо где су заиста потребне, а рука никада не сме да уђе у стање које оператер не би дозволио.

  • Behavior cloning важи само на дистрибуцији стања на којој је трениран.
  • Грешка се сама појачава: мало одступање ствара непознато стање, а оно ствара веће одступање.
  • Лек нису више демонстрација, него ознаке из стања до којих policy сама стигне.
  • Human-gated значи да о тренутку интервенције одлучује оператер, а не показатељ аутономије.

Зашто се грешка гомила

Померите хоризонт. Под Behavior Cloning-ом очекивани додатни трошак расте отприлике са квадратом броја корака, јер свака грешка ствара стања која демонстрације никада нису покриле; петља агрегације држи раст близу линеарном (Ross et al., 2011).

200
1.0 %
Behavior Cloning
400
DAgger
2.00
200×
Behavior Cloning ÷ DAgger
0.000100200300400050100150200Очекивани додатни трошак (граница)
Хоризонт задатка (кораци)

Илустративне криве из граница у Ross et al. (2011), нису мерења на вашем роботу. Битан је облик, не бројеви.

Једна DAgger рунда, шест корака

Овако петља заиста ради на платформи, а не као шема. Сваки корак испод одговара једном контролном елементу у кокпиту.

Прођите кроз петљу

Истих шест корака, један по један, са тим шта се дешава на руци и у скупу података у сваком од њих.

01

Покрени policy и снимај

Покрените inference покретање над checkpoint-ом који сте сами тренирали. Покретање се снима док траје, заједно са текстом задатка тог покретања, тако да кадрови касније могу да послуже као подаци за тренинг, а не само као видео за гледање.

1 од 6

Шта платформа скида са ваших плећа

Свака ставка овде је корак петље који бисте иначе сами градили и одржавали.

Преузимање без leader руке

Изаберите тастатуру или slider унос на почетку покретања и можете да исправљате само са лаптопом. Тастатурни помаци су на серверу тврдо ограничени на два степена по зглобу и четири на хватаљки; slider циљеви су апсолутни, а сервер се по позиву помера ка њима највише шест степени. Ограничења спроводи сервер, не интерфејс, па залепљени тастер не може да баци руку.

Teleoperation у документацији

Интервенције означене по кадру

Сваки кадар снимљен док држите руку носи ознаку интервенције, а колона action садржи потпуну наручену позу. Не одржавате ознаку ручно нити је накнадно усклађујете са индексима кадрова.

LeRobot формат скупа података

Разврставање: исправка, евалуација или отпад

Свако покретање добија једну одлуку на картици за чување. Покретања-исправке хране следећу рунду тренинга, евалуациона покретања остају ван тренинга и тако остају чиста мера, а лоша покретања нестају уместо да тихо трују мешавину.

Сесије и епизоде

Мешавину састављате изричито

Скуп за тренинг рунде 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 магистрали. Преузимање тастатуром и slider-ом, укључно са безбедним границама, пишете и дебагујете на правом хардверу.Leader рука, тастатура или slider, изабрани на почетку покретања. Ограничења угла живе у серверу.
Означавање интервенцијаСами додајете колону ознаке, држите је усклађену са индексом кадра и проверавате поново сваки пут кад се формат снимања промени.Сваки кадар снимљен током преузимања аутоматски је означен, са наручиваном позом у колони action.
Разврставање покретањаКонвенције за директоријуме и shell скрипте. Замрзнуте кадрове око предаје морате сами наћи и издвојити.Једна одлука по покретању на картици за чување. Кадрови предаје остају у raw директоријуму.
Изградња мешаног скупа податакаMerge скрипте по верзији формата. Усклађивање индекса епизода, метаподатака и видео референци је мукотрпан део посла.Састављање из оригинала плус исправки са избором епизода по извору; резултат је нормалан скуп података.
Настављање следеће рунде од последње вожене policyСами повезујете checkpoint у trainer, а по жељи можете вратити и стање optimizer-а за прави наставак.Једно поље за базни checkpoint. Само тежине: иницијализује се из checkpoint-а, није optimizer resume.
Контрола над петљом тренингаПотпуна. Ваш loss, ваш распоред, ваше аблације, ваша инструментација, платформа не стоји на путу. Ако је истраживачко питање управо петља тренинга, урадите је ручно.Фиксан пут са утврђеном листом policy опција и хиперпараметрима које нуди форма, не произвољан код.

Радови на којима ово почива

Прочитајте их пре него што почнете да оспоравате петљу. Сваки линк води на страницу апстракта, не иза paywall-а.

  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-квадрат границу за чисто надгледани приступ и предлаже агрегирање података из стања која учeник сам посети.

  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

    Human-gated варијанта: експерт одлучује када преузима, уместо да буде испитиван о стањима која je policy изабрала; управо тај режим је овде примењен.

  3. EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning

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

    Други начин да се контролишу интервенције: неслагање ансамбла (ensemble) као сигнал поверења за то када учeник сме сам да делује. Користан контраст у односу на то да човек то процењује.

  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-tune); рад изричито каже да нове вештине долазе из fine-tuning-а, а не само из базног модела.

Питања која људи заиста постављају

Да ли ми треба leader рука за DAgger?

Не. Изаберите тастатуру или slider унос на почетку покретања и преузимање је ручно од првог кадра, вођено из browser-а. Leader рука је пријатнија за фине покрете и то је режим у коме се рука сама поравна пре предаје, али петља ради и без ње.

Колико DAgger рунди ми треба?

Поштеног фиксног броја нема. Пратите стопу интервенције: ако она не падне из једне рунде у следећу, та рунда није донела ништа, а узрок је обично у постављању задатка, камерама или оригиналном скупу података, а не у броју рунди.

Да ли је ово прави DAgger или нешто лабавије?

Ово је HG-DAgger, human-gated варијанта. Класични DAgger испитује експерта о стањима која je policy изабрала, укључујући стања у која ниједан разуман оператер не би пустио праву руку. Овде човек одлучује када да интервенише, и само ти сегменти постају ознаке.

Да ли тренирам само на исправкама?

Не, и не бисте требали. Тренинг само на исправкама даје policy која зна само да се опоравља. Састављени скуп података је оригинални скуп плус исправке, са изричито изабраним епизодама по извору.

Да ли настављање од checkpoint-а наставља сам тренинг?

Оно иницијализује тежине из тог checkpoint-а. Стање optimizer-а се не враћа, тако да у строгом смислу то није наставак. У пракси тежине носе научено понашање кроз рунду, али вреди знати које од то двоје заправо добијате.

Како се рачуна стопа интервенције?

Кадрови означени као интервенција подељени укупним бројем кадрова покретања. Приказује се у статусу преузимања и то је једини број који вреди записати по рунди, уз checkpoint који сте возили и мешавину коју сте тренирали.

Са којим policy опцијама могу да покренем ову петљу?

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

Могу ли ово да радим без сопственог робота?

Снимање и тренинг могу да иду и без њега: куповином скупова података на marketplace-у или ангажовањем оператера, а прави SO-100 можете возити у browser-у на live страници. DAgger рунда је нешто друго - треба јој рука коју можете преузети усред покретања, па за саму петљу треба хардвер на вашем сопственом столу.

Drive a real arm

A real SO-100, live in the browser. No signup, no hardware needed.

Одвозите прву рунду ове недеље

Инсталирајте клијент, возите checkpoint који већ имате, и преузмите контролу први пут кад рука посегне поред коцке. То једно покретање је DAgger рунда у минијатури: све после тога је састављање мешавине и плаћање GPU сати.