HG-DAgger, controlat de om, integral

Preia controlul când policy greșește, apoi antrenează exact acea corecție.

O policy antrenată prin behavior cloning cunoaște doar stările vizitate de demonstrațiile tale. DAgger închide acest decalaj cu date din stările pe care policy le atinge ea însăși. AY-Robots rulează întreaga buclă pe un SO-100: conduci un checkpoint, preiei controlul în timpul rulării, păstrezi episoadele corectate, compui amestecul și continui antrenarea din checkpointul tocmai condus.

  • HG-DAgger, controlat de om
  • SO-100 / SO-101
  • ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
  • Rata de intervenție pe rundă

De ce o policy antrenată face ceva ce nu a fost niciodată demonstrat

Behavior cloning tratează controlul ca pe o învățare supervizată obișnuită: observație la intrare, țintă articulară la ieșire, ajustată pe cadrele înregistrate de un om. Asta ține doar atât timp cât robotul rămâne pe stările vizitate de acel om, iar el nu rămâne. Un gripper care se închide cu patruzeci de milisecunde mai devreme împinge cubul cu doi milimetri în afara poziției demonstrate. Următoarea observație este una pe care setul de antrenament nu o conține, deci acțiunea de acolo este o extrapolare, iar starea de după se află și mai departe. Distribuția de antrenament și distribuția pe care policy învățată o produce efectiv sunt două lucruri diferite, iar a doua se îndepărtează de prima pe măsură ce episodul avansează.

Ross, Gordon și Bagnell au descris exact acest eșec de reducere în 2011 și au cuantificat paguba: un clasificator care greșește cu probabilitatea e sub distribuția expertului poate face, sub distribuția pe care o produce el însuși, în ordinul lui T la pătrat ori e greșeli pe un orizont de T pași, pentru că o singură greșeală produce observații pe care expertul nu le-a generat niciodată, iar erorile se acumulează. Soluția lor este algoritmul despre care vorbește această pagină: rulezi policy curentă, colectezi etichete de la expert pentru stările pe care aceasta le vizitează, le agregi cu tot ce a fost colectat până acum, reantrenezi, repeți. Mai multe demonstrații de același fel nu ajută, pentru că reeșantionează aceeași distribuție. Etichetele pe stările pe care policy le atinge, da. Varianta implementată aici este human-gated (HG-DAgger, Kelly et al.): policy păstrează controlul până când o persoană decide că lucrurile merg prost și preia, astfel încât corecțiile apar doar unde sunt necesare, iar brațul nu este niciodată trimis într-o stare pe care operatorul nu ar permite-o.

  • Behavior cloning este valid doar pe distribuția de stări pe care a fost antrenat.
  • Eșecul se auto-amplifică: o abatere mică produce o stare necunoscută, care produce o abatere și mai mare.
  • Remediul nu sunt mai multe demonstrații, ci etichete pe stările pe care policy le atinge ea însăși.
  • Human-gated înseamnă că operatorul decide când intervine, nu un scor de autonomie.

De ce eroarea se acumulează

Trage orizontul. Sub behavior cloning, costul suplimentar așteptat crește aproximativ cu pătratul numărului de pași, pentru că fiecare greșeală produce stări pe care demonstrațiile nu le-au acoperit niciodată; o buclă de agregare menține creșterea aproape liniară (Ross et al., 2011).

200
1.0 %
Behavior cloning
400
DAgger
2.00
200×
Behavior cloning ÷ DAgger
0.000100200300400050100150200Cost suplimentar așteptat (limită)
Orizontul sarcinii (pași)

Curbe ilustrative derivate din limitele din Ross et al. (2011), nu măsurători de pe robotul tău. Contează forma, nu cifrele.

O rundă DAgger, șase pași

Așa rulează bucla efectiv pe platformă, nu ca schemă. Fiecare pas de mai jos corespunde unui control din cockpit.

Parcurge bucla

Aceiași șase pași, unul câte unul, cu ce se întâmplă la braț și în setul de date la fiecare dintre ei.

01

Rulează policy și înregistreaz-o

Pornești un run de inferență pe un checkpoint antrenat de tine. Rularea este înregistrată pe măsură ce se întâmplă, împreună cu textul sarcinii rulării înseși, astfel încât cadrele să poată fi folosite ulterior ca date de antrenament, nu doar ca un videoclip pe care îl poți privi.

1 din 6

Ce preia platforma în locul tău

Fiecare punct de aici este un pas al buclei pe care altfel l-ai construi și întreține singur.

Preluare fără braț leader

Alegi intrare de la tastatură sau slidere la începutul rulării și poți corecta doar cu un laptop. Impulsurile de tastatură sunt limitate pe server la două grade per articulație și patru grade la gripper; țintele sliderelor sunt absolute, iar serverul deplasează cel mult șase grade spre ele la fiecare apel. Limitele sunt impuse de server, nu de interfață, așa că o tastă blocată nu poate arunca brațul.

Documentația de teleoperare

Intervenții marcate pe fiecare cadru

Fiecare cadru înregistrat cât timp controlezi brațul poartă un marcaj de intervenție, iar coloana action conține poza comandată completă. Nu întreții manual o coloană de marcaje și nu o aliniezi ulterior cu indicii cadrelor. (engleză)

Formatul de dataset LeRobot

Triaj: corecție, evaluare sau eliminare

Fiecare rulare primește o singură decizie pe cardul de salvare. Rulările de corecție alimentează runda de antrenament următoare, rulările de evaluare rămân în afara antrenamentului ca să rămână o măsurătoare curată, iar rulările proaste dispar în loc să otrăvească pe ascuns amestecul.

Sesiuni și episoade

Compune explicit amestecul

Setul de antrenament pentru runda n este asamblat de tine: setul de date original plus corecțiile, cu episoade selectate pe fiecare sursă. Fără amestecare automată, fără date de simulare ascunse, iar rezultatul compus se comportă ca orice alt set de date.

Seturi de date

Continuă de la un checkpoint

Îndrepți o rulare de antrenament spre checkpointul tocmai condus, în loc de modelul de bază, astfel încât fiecare rundă începe de unde s-a terminat ultima. Se inițializează doar ponderile; starea optimizer-ului nu este restaurată, motiv pentru care runda unu merită tratată ca un test de fezabilitate.

Antrenament

GPU-uri închiriate pe rundă

ACT și SmolVLA pe o 4090, Pi0 și GR00T N1.5 sau N1.7 pe o A100 cu 80 GB. Pornești o rundă, pod-ul se ridică, checkpointurile ajung în bucket-ul tău, iar tu plătești orele pe care le-a durat runda.

Prețuri GPU

Planifică-ți rundele

Rata de intervenție este metrica de progres a buclei: cadre corectate împărțite la cadrele rulării. Setează de unde pornești și cât îți aduce fiecare rundă, apoi vezi câte runde îți trebuie ca să ajungi unde vrei.

30 %
25 %
3 000
RundaRata de intervențieCadre corectate
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

Un model, nu o prognoză. Rundele reale sunt neregulate, iar o rundă care nu mișcă rata nu ți-a adus nimic; exact acesta este semnalul de urmărit.

Construiești bucla singur sau o rulezi aici

Nimic din toate astea nu este imposibil de făcut manual. E o întrebare despre câte seri se duc pe infrastructură în loc de runde, și există un rând în care varianta pe cont propriu este clar mai bună.

Pasul bucleiConfigurat manualPe AY-Robots
Preluarea în timpul rulăriiUn braț leader sau propriul cod pe bus-ul servo. Preluarea de la tastatură și slidere, inclusiv limitele de siguranță, sunt ceva ce scrii și apoi depanezi pe hardware real.Braț leader, tastatură sau slidere, alese la începutul rulării. Limitele unghiulare stau în server.
Marcarea intervențiilorAdaugi coloana de marcaj, o menții aliniată cu indicele cadrului și o verifici din nou de fiecare dată când formatul de înregistrare se schimbă.Fiecare cadru înregistrat în timpul unei preluări este marcat automat, cu poza comandată în coloana action.
Sortarea rulărilorConvenții de directoare și scripturi shell. Cadrele înghețate din jurul predării trebuie să le găsești și să le filtrezi singur.O decizie pe rulare, pe cardul de salvare. Cadrele de predare rămân în directorul raw.
Construirea setului de date mixtScripturi de merge pentru fiecare versiune de format. Partea plictisitoare este să faci indicii episoadelor, metadatele și referințele video consistente.Compune din original plus corecții, cu selecție de episoade pe fiecare sursă; rezultatul este un set de date normal.
Pornirea rundei următoare de la ultima policyConectezi tu însuți checkpointul în trainer și poți restaura chiar și starea optimizer-ului dacă vrei o reluare reală.Un singur câmp pentru checkpointul de bază. Doar ponderi: se inițializează din checkpoint, nu este o reluare a optimizer-ului.
Controlul asupra buclei de antrenamentTotal. Propriul loss, propriul program, propriile ablații, propria instrumentare, nicio platformă în cale. Dacă întrebarea de cercetare este chiar bucla de antrenament, fă-o manual.Un traseu fix cu o listă stabilită de policies și hiperparametrii pe care îi expune formularul, nu cod arbitrar.

Lucrările pe care se bazează asta

Citește-le înainte să contrazici bucla. Fiecare link duce la pagina de abstract, nu în spatele unui 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)

    Lucrarea originală DAgger: formulează problema erorii cumulative, dă limita de tip T la pătrat pentru abordarea pur supervizată și propune agregarea datelor din stările pe care lernerul le vizitează el însuși.

  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

    Varianta human-gated: expertul decide când preia controlul, în loc să fie interogat pe stările alese de policy; acesta este modul implementat de această platformă.

  3. EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning

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

    Cealaltă modalitate de a controla intervențiile: dezacordul dintr-un ensemble ca semnal de încredere pentru momentul în care lernerul poate acționa singur. Un contrast util față de a lăsa un om să judece.

  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

    Tratează atenția umană ca resursă rară și cere ajutor doar în stări noi sau riscante, cadrul potrivit atunci când o singură persoană supraveghează brațul o după-amiază întreagă.

  5. DART: Noise Injection for Robust Imitation Learning

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

    Alternativa onestă: în loc să corectezi policy online, perturbi demonstrațiile ca expertul să arate cum se revine. Bine de știut înainte să te angajezi la intervenții.

  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

    Harta domeniului: ce forme de feedback uman există, prin ce interfețe ajung și unde se situează intervenția de tip DAgger printre ele.

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

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

    Lucrarea ACT. Action chunking este motivul pentru care un braț ieftin poate fi condus de o policy de imitație, iar ACT este policy cea mai rapidă cu care poți itera o rundă 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

    Un VLA bazat pe flow matching, construit pe un model vision-language preantrenat, și unul dintre checkpointurile pe care le poți fine-tuna aici; lucrarea afirmă explicit că abilitățile noi vin din fine-tuning, nu doar din modelul de bază.

Întrebări puse cu adevărat

Am nevoie de un braț leader pentru DAgger?

Nu. Alegi intrare de la tastatură sau slidere la începutul rulării, iar preluarea este manuală din primul cadru, controlată din browser. Un braț leader este mai plăcut pentru mișcări fine și este modul în care brațul se aliniază singur înainte de predare, dar bucla funcționează și fără el.

De câte runde DAgger am nevoie?

Nu există un număr fix onest. Urmărește rata de intervenție: dacă nu scade de la o rundă la alta, runda respectivă nu ți-a adus nimic, iar problema este de obicei în configurarea sarcinii, în camere sau în setul de date original, nu în numărul de runde.

Este acesta DAgger real sau ceva mai relaxat?

Este HG-DAgger, varianta human-gated. DAgger clasic interoghează expertul pe stările alese de policy, inclusiv stări în care niciun operator rezonabil nu ar lăsa un braț real să ajungă. Aici o persoană decide când intervine, și doar acele segmente devin etichete.

Antrenez doar pe corecții?

Nu, și nici n-ar trebui. Antrenată doar pe corecții, obții o policy care știe doar să revină din greșeală. Setul de date compus este format din datele originale plus corecțiile, cu episoadele din fiecare sursă alese explicit.

Continuarea de la un checkpoint reia rularea de antrenament?

Inițializează ponderile din acel checkpoint. Starea optimizer-ului nu este restaurată, deci nu este o reluare în sensul strict. În practică, ponderile sunt cele care duc mai departe comportamentul învățat între runde, dar merită să știi care dintre cele două primești.

Cum se calculează rata de intervenție?

Cadre marcate ca intervenție împărțite la numărul total de cadre al rulării. Este afișată în starea de preluare și este singura cifră care merită notată per rundă, alături de checkpointul condus și amestecul antrenat.

Cu ce policies pot rula această buclă?

ACT, SmolVLA, Pi0 și GR00T N1.5 sau N1.7. Bucla în sine este agnostică față de policy, pentru că produce doar seturi de date și checkpointuri; diferența practică este cât durează o rundă și de ce GPU are nevoie.

Pot face asta fără să dețin un robot?

Poți înregistra și antrena fără robot, cumpărând seturi de date de pe marketplace sau angajând operatori, iar un SO-100 real poți conduce în browser pe pagina live. O rundă DAgger este altceva: are nevoie de un braț pe care să îl poți prelua în timpul rulării, deci pentru buclă în sine îți trebuie hardware pe propriul birou.

Drive a real arm

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

Rulează prima ta rundă săptămâna asta

Instalezi clientul, conduci un checkpoint pe care îl ai deja și preiei controlul prima dată când brațul trece pe lângă cub. Această singură rulare este o rundă DAgger în miniatură: tot ce urmează este să compui amestecul și să plătești orele de GPU.