Human-gated DAgger, van begin tot eind

Neem over wanneer de policy misgrijpt, train vervolgens precies die correctie.

Een policy die met behavior cloning is getraind, kent alleen de toestanden die in uw demonstraties voorkwamen. DAgger dicht dat gat met data uit de toestanden die de policy zelf bereikt. AY-Robots doorloopt de volledige lus op een SO-100: een checkpoint aansturen, midden in de run overnemen, de gecorrigeerde episodes bewaren, de mix samenstellen en verder trainen vanaf het checkpoint dat u net hebt aangestuurd.

  • HG-DAgger, human-gated
  • SO-100 / SO-101
  • ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
  • Interventiepercentage per ronde

Waarom een getrainde policy iets doet dat nooit is gedemonstreerd

Behavior cloning behandelt besturing als gewone supervised learning: observatie erin, gewrichtsdoel eruit, gefit op de frames die een mens heeft opgenomen. Dat klopt alleen zolang de robot op de toestanden blijft die die mens bezocht heeft, en dat gebeurt niet. Een gripper die veertig milliseconden te vroeg sluit, duwt de kubus twee millimeter uit zijn gedemonstreerde positie. De volgende observatie komt dan niet voor in de trainingsset, dus de actie daar is een extrapolatie, en de toestand daarna ligt nog verder buiten bereik. De trainingsverdeling en de verdeling die de geleerde policy zelf oproept, zijn twee verschillende dingen, en de tweede drift steeds verder van de eerste weg naarmate de episode vordert.

Ross, Gordon en Bagnell beschreven precies dit falen in 2011 en becijferden de schade: een classifier die onder de expertverdeling met kans e fout gaat, kan over een horizon van T stappen onder zijn eigen verdeling in de orde van T in het kwadraat maal e fouten maken, omdat een fout observaties oplevert die de expert nooit heeft voortgebracht en de fouten zich zo opstapelen. Hun oplossing is het algoritme waar deze pagina over gaat: de huidige policy laten rijden, expertlabels verzamelen voor de toestanden die hij bezoekt, ze samenvoegen met alles wat tot dan toe verzameld is, opnieuw trainen, herhalen. Meer demonstraties van hetzelfde soort helpen niet, want die putten uit dezelfde verdeling. Labels op de toestanden die de policy bereikt, wel. De hier geimplementeerde variant is human-gated (HG-DAgger, Kelly et al.): de policy houdt de controle totdat een mens beslist dat het misgaat en overneemt, zodat correcties alleen ontstaan waar ze nodig zijn en de arm nooit een toestand in wordt gestuurd die de operator niet zou toestaan.

  • Behavior cloning geldt alleen voor de toestandsverdeling waarop het is getraind.
  • Het falen versterkt zichzelf: een kleine afwijking levert een onbekende toestand op, die weer een grotere afwijking oplevert.
  • Het middel is niet meer demonstraties, maar labels op de toestanden die de policy zelf bereikt.
  • Human-gated betekent dat de operator beslist wanneer er wordt ingegrepen, niet een autonomiescore.

Waarom de fout zich opstapelt

Versleep de horizon. Onder behavior cloning groeit de verwachte extra kosten ongeveer met het kwadraat van het aantal stappen, omdat elke fout toestanden oplevert die de demonstraties nooit hebben gedekt; een aggregatielus houdt die groei dicht bij lineair (Ross et al., 2011).

200
1.0 %
Behavior cloning
400
DAgger
2.00
200×
Behavior cloning ÷ DAgger
0.000100200300400050100150200Verwachte extra kosten (bovengrens)
Taakhorizon (stappen)

Illustratieve curves op basis van de grenzen uit Ross et al. (2011), geen metingen van uw robot. Het gaat om de vorm, niet om de getallen.

Een DAgger-ronde in zes stappen

Dit is de lus zoals het platform hem werkelijk uitvoert, geen schema. Elke stap hieronder komt overeen met een bedieningselement in het cockpit.

Stap voor stap door de lus

Dezelfde zes stappen, een voor een, met wat er bij elke stap op de arm en in de dataset gebeurt.

01

Policy laten rijden en opnemen

Start een inferentierun tegen een zelf getraind checkpoint. De run wordt tijdens het rijden opgenomen, met de taaktekst van de run zelf, zodat de frames achteraf bruikbaar zijn als trainingsdata in plaats van een video die u alleen kunt terugkijken.

1 van 6

Wat het platform u uit handen neemt

Elk punt hier is een stap van de lus die u anders zelf zou moeten bouwen en onderhouden.

Overname zonder leader-arm

Kies bij de start van de run toetsenbord- of slider-invoer, en een laptop volstaat om te corrigeren. Toetsenbord-nudges worden server-side hard begrensd op twee graden per gewricht en vier graden op de gripper; slider-doelen zijn absoluut, en de server beweegt per aanroep hoogstens zes graden in hun richting. De begrenzing zit in de server, niet in de interface, dus een vastzittende toets kan de arm niet laten doorslaan.

Teleoperatie in de docs

Interventies per frame gemarkeerd

Elk frame dat wordt opgenomen terwijl u de arm vasthoudt, draagt een interventiemarkering, en de action-kolom bevat de volledige aangestuurde pose. U hoeft geen flag-kolom met de hand bij te houden of achteraf op frame-indices uit te lijnen.

LeRobot-datasetformaat

Beoordelen: correctie, evaluatie of prullenbak

Elke run krijgt een beslissing op de opslagkaart. Correctieruns voeden de volgende trainingsronde, evaluatieruns blijven buiten het trainen en leveren zo een schone meting, en mislukte runs verdwijnen in plaats van de mix stilletjes te vergiftigen.

Sessies en episodes

Mix expliciet samenstellen

De trainingsset voor ronde n stelt u zelf samen: oorspronkelijke dataset plus correcties, episodes per bron geselecteerd. Geen automatisch bijmengen, geen verborgen simulatiedata, en het samengestelde resultaat gedraagt zich als elke andere dataset.

Datasets

Verdergaan vanaf een checkpoint

Richt een trainingsrun op het checkpoint dat u net hebt aangestuurd in plaats van op het basismodel, zodat elke ronde begint waar de vorige eindigde. Er worden alleen gewichten geinitialiseerd; de optimizer-status wordt niet hersteld, en daarom is het verstandig ronde een als haalbaarheidstest te behandelen.

Training

GPU's gehuurd per ronde

ACT en SmolVLA op een 4090, Pi0 en GR00T N1.5 of N1.7 op een A100 met 80 GB. U start een ronde, de pod komt op, checkpoints komen in uw bucket terecht, en u betaalt voor de uren die de ronde heeft gekost.

GPU-prijzen

Rondes plannen

Het interventiepercentage is de voortgangsmaat van de lus: gecorrigeerde frames gedeeld door frames van de run. Stel in waar u begint en hoeveel elke ronde oplevert, en bekijk hoeveel rondes nodig zijn om waar u wilt komen.

30 %
25 %
3 000
RondeInterventiepercentageGecorrigeerde frames
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

Een model, geen voorspelling. Echte rondes verlopen grillig, en een ronde die het percentage niet beweegt, heeft niets opgeleverd; precies dat is het signaal om op te letten.

De lus zelf bouwen versus hier draaien

Niets hiervan is met de hand onmogelijk. Het is een kwestie van hoeveel avonden naar infrastructuur gaan in plaats van naar rondes, en er is een rij waarin het zelf doen duidelijk de betere keuze is.

Stap van de lusZelf opzettenOp AY-Robots
Overnemen tijdens de runEen leader-arm, of eigen code op de servobus. Toetsenbord- en slider-overname, inclusief veilige limieten, schrijft en debugt u zelf op echte hardware.Leader-arm, toetsenbord of sliders, gekozen bij de start van de run. De hoekbegrenzing zit in de server.
Interventies markerenU voegt de flag-kolom toe, houdt hem uitgelijnd met de frame-index en controleert hem opnieuw bij elke wijziging van het opnameformaat.Elk frame dat tijdens een overname wordt opgenomen, wordt automatisch gemarkeerd, met de aangestuurde pose in de action-kolom.
Runs sorterenMapafspraken en shellscripts. De stilstaande frames rond een overdracht moet u zelf vinden en eruit filteren.Een beslissing per run op de opslagkaart. Overdrachtsframes blijven in de raw-map.
Gemengde dataset bouwenMerge-scripts per formaatversie. Episode-indices, metadata en videoverwijzingen consistent krijgen is het vervelende werk.Samenstellen uit origineel plus correcties met episodeselectie per bron; het resultaat is een normale dataset.
De volgende ronde starten bij de laatste policyU verdraadt het checkpoint zelf in de trainer, en u kunt daarbij ook de optimizer-status herstellen als u een echte resume wilt.Een veld voor het basischeckpoint. Alleen gewichten: het initialiseert vanaf het checkpoint, het is geen optimizer-resume.
Controle over de trainingslusVolledig. Uw eigen loss, uw eigen schema, uw eigen ablaties, uw eigen instrumentatie, geen platform ertussen. Als de onderzoeksvraag de trainingslus zelf is, doet u het met de hand.Een vast traject met een vaste lijst policies en de hyperparameters die het formulier aanbiedt, geen vrije code.

De papers waarop dit is gebaseerd

Lees deze voordat u het oneens bent met de lus. Elke link gaat naar de abstract-pagina, niet naar een betaalmuur.

  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)

    De oorspronkelijke DAgger-paper: beschrijft het probleem van de opstapelende fout, geeft de T-kwadraat-grens voor de zuiver supervised aanpak en stelt voor data te aggregeren uit de toestanden die de lerende agent zelf bezoekt.

  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

    De human-gated variant: de expert beslist wanneer hij de controle overneemt, in plaats van bevraagd te worden over toestanden die de policy koos; precies deze modus is hier geimplementeerd.

  3. EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning

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

    De andere manier om interventies te sturen: onenigheid binnen een ensemble als vertrouwenssignaal voor wanneer de lerende agent alleen mag handelen. Leerzaam contrast met het aan een mens overlaten.

  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

    Behandelt menselijke aandacht als de schaarse hulpbron en vraagt alleen om hulp bij nieuwe of risicovolle toestanden; het juiste uitgangspunt wanneer een persoon de hele middag toezicht houdt op de arm.

  5. DART: Noise Injection for Robust Imitation Learning

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

    Het eerlijke alternatief: in plaats van de policy online te corrigeren, worden de demonstraties verstoord zodat de expert herstelgedrag laat zien. Goed om te kennen voordat u zich vastlegt op interventies.

  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

    De plattegrond van het veld: welke vormen van menselijke feedback er bestaan, via welke interfaces ze binnenkomen en waar interventie in DAgger-stijl daartussen staat.

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

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

    De ACT-paper. Action chunking is de reden waarom een goedkope arm uberhaupt door een imitatiepolicy kan worden aangestuurd, en ACT is de policy waarmee een DAgger-ronde het snelst te doorlopen is.

  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

    Een op flow matching gebaseerd VLA bovenop een voorgetraind vision-language-model, en een van de checkpoints die u hier kunt finetunen; de paper stelt expliciet dat nieuwe vaardigheden uit finetuning komen, niet uit het basismodel alleen.

Veelgestelde vragen

Heb ik een leader-arm nodig voor DAgger?

Nee. Kies bij de start van de run toetsenbord- of slider-invoer, dan is de overname vanaf het eerste frame handmatig en verloopt ze vanuit de browser. Een leader-arm is prettiger voor fijne bewegingen en is de enige modus waarin de arm zichzelf uitlijnt voor de overdracht, maar de lus draait ook zonder.

Hoeveel DAgger-rondes heb ik nodig?

Een eerlijk vast getal bestaat niet. Let op het interventiepercentage: daalt het niet van de ene ronde naar de volgende, dan heeft die ronde niets opgeleverd, en ligt de oorzaak meestal in de taakopzet, de camera's of de oorspronkelijke dataset, niet in het aantal rondes.

Is dit echte DAgger of iets losers?

Het is HG-DAgger, de human-gated variant. Klassiek DAgger bevraagt de expert over toestanden die de policy zelf koos, inclusief toestanden waarin geen enkele verstandige operator een echte arm zou laten komen. Hier beslist een mens wanneer er wordt ingegrepen, en alleen die segmenten worden labels.

Train ik alleen op de correcties?

Nee, en dat moet u ook niet doen. Alleen trainen op correcties levert een policy op die uitsluitend herstelgedrag kent. De samengestelde dataset bestaat uit de oorspronkelijke data plus de correcties, met episodes per bron expliciet gekozen.

Zet Verder trainen vanaf checkpoint de trainingsrun voort?

Het initialiseert de gewichten vanaf dat checkpoint. De optimizer-status wordt niet hersteld, dus in strikte zin is het geen resume. In de praktijk zijn het de gewichten die het geleerde gedrag over een ronde heen dragen, maar het is goed te weten welke van de twee u krijgt.

Hoe wordt het interventiepercentage berekend?

Als interventie gemarkeerde frames gedeeld door het totale aantal frames van de run. Het staat in de overname-status en is het ene getal dat het waard is per ronde te noteren, samen met het aangestuurde checkpoint en de getrainde mix.

Met welke policies kan ik deze lus draaien?

ACT, SmolVLA, Pi0, en GR00T N1.5 of N1.7. De lus zelf is policy-onafhankelijk, want hij levert alleen datasets en checkpoints op; het praktische verschil zit in hoe lang een ronde duurt en welke GPU nodig is.

Kan dit ook zonder eigen robot?

Opnemen en trainen kan zonder: door datasets te kopen op de marktplaats of operators in te huren, en een echte SO-100 kunt u op de live-pagina in de browser besturen. Een DAgger-ronde is iets anders: die vraagt een arm die u midden in de run kunt overnemen, dus voor de lus zelf heeft u hardware op uw eigen bureau nodig.

Drive a real arm

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

Draai deze week uw eerste ronde

Installeer de client, stuur een checkpoint aan dat u al heeft, en neem over zodra de arm voorbij de kubus grijpt. Die ene run is een DAgger-ronde in het klein: alles daarna is de mix samenstellen en de GPU-uren betalen.