Prevezmite riadenie, keď policy zlyhá, a natrénujte presne túto korekciu.
Policy natrénovaná pomocou behavior cloning pozná len tie stavy, ktoré navštívili vaše demonštrácie. DAgger túto medzeru uzatvára dátami zo stavov, do ktorých sa policy dostane sama. AY-Robots beží celý cyklus na SO-100: spustite checkpoint, prevezmite riadenie počas behu, ponechajte si korigované epizódy, zostavte mix a trénujte ďalej z checkpointu, ktorý ste práve riadili.
- HG-DAgger, riadené človekom
- SO-100 / SO-101
- ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
- Miera intervencie za kolo
Prečo natrénovaná policy robí niečo, čo nikdy nebolo demonštrované
Behavior cloning zaobchádza s riadením ako s bežným učením s učiteľom: na vstupe pozorovanie, na výstupe cieľová poloha kĺbov, natrénované na snímkach, ktoré zaznamenal človek. To platí len dovtedy, kým robot zostáva v stavoch, ktoré tento človek navštívil, a presne to sa nedeje. Čeľusť, ktorá sa zavrie o štyridsať milisekúnd skôr, posunie kocku o dva milimetre mimo demonštrovanej polohy. Nasledujúce pozorovanie sa v trénovacej množine nenachádza, akcia je teda extrapoláciou a stav po nej leží ešte ďalej mimo. Trénovacia distribúcia a distribúcia, ktorú skutočne vytvára natrénovaná policy, sú dve odlišné veci a tá druhá sa počas priebehu epizódy od prvej čoraz viac vzďaľuje.
Ross, Gordon a Bagnell presne toto zlyhanie redukcie opísali v roku 2011 a škodu aj vyčíslili: klasifikátor, ktorý sa pod expertnou distribúciou mýli s pravdepodobnosťou e, môže na horizonte T krokov pod vlastnou vytvorenou distribúciou urobiť rádovo T na druhú krát e chýb, pretože jedna chyba vytvorí pozorovania, aké expert nikdy nevygeneroval, a chyby sa tak kumulujú. Ich riešením je práve algoritmus, o ktorom je táto stránka: spustiť aktuálnu policy, zbierať expertné labely pre stavy, ktoré navštívi, agregovať ich so všetkým doteraz nazbieraným, znova natrénovať, opakovať. Ďalšie demonštrácie rovnakého druhu nepomôžu, pretože vzorkujú tú istú distribúciu. Pomáhajú labely zo stavov, ktoré dosiahne policy. Tu implementovaný variant je riadený človekom (HG-DAgger, Kelly et al.): policy si drží riadenie, kým sa človek nerozhodne, že to ide zle, a prevezme kontrolu, takže korekcie vznikajú len tam, kde sú potrebné, a rameno sa nikdy nedostane do stavu, ktorý by operátor nedovolil.
- Behavior cloning platí len na distribúcii stavov, na ktorej bol natrénovaný.
- Zlyhanie sa samo zosilňuje: malá odchýlka vytvorí neznámy stav, ktorý vytvorí väčšiu odchýlku.
- Náprava nespočíva vo viacerých demonštráciách, ale v labeloch zo stavov, ktoré dosiahne samotná policy.
- Riadené človekom znamená, že o zásahu rozhoduje operátor, nie skóre autonómie.
Prečo sa chyba kumuluje
Posuňte horizont. Pri behavior cloning rastie očakávaná dodatočná cena približne s druhou mocninou počtu krokov, pretože každá chyba vytvára stavy, ktoré demonštrácie nikdy nepokryli; agregačná slučka udržuje rast blízko lineárneho (Ross et al., 2011).
Ilustračné krivky z hraníc uvedených v Ross et al. (2011), nie merania z vášho robota. Podstatný je tvar, nie čísla.
Jedno kolo DAgger, šesť krokov
Toto je slučka presne tak, ako ju platforma skutočne beží, nie schéma. Každý krok nižšie zodpovedá ovládaciemu prvku v kokpite.
Prejsť si slučku krok za krokom
Tých istých šesť krokov, jeden po druhom, s tým, čo sa pri každom z nich deje na ramene a v datasete.
Spustiť policy a nahrávať
Spustite inferenčný beh proti checkpointu, ktorý ste natrénovali. Beh sa nahráva priebežne, spolu s textom úlohy daného behu, takže snímky sú neskôr použiteľné ako trénovacie dáta a nie sú len videom, na ktoré sa dá len pozerať.
Prevziať riadenie a opraviť
V okamihu, keď rameno urobí niečo zlé, stlačte Prevziať riadenie. Runner sa pozastaví a rameno je vaše. S leader ramenom najprv prejde do polohy follower a odovzdá riadenie; pri vstupe cez klávesnicu alebo slidery, zvolenom na začiatku behu, je prevzatie manuálne okamžite. Opravte pohyb a potom vráťte riadenie policy. Snímky nahraté počas prevzatia sú automaticky označené ako intervencie.
Roztriediť beh
Pri každom behu rozhodnite, čím bol: založte ho ako korekciu, ponechajte ako evaluačný beh, alebo zahoďte. Zamrznuté snímky okolo odovzdania riadenia zostávajú v raw adresári a do datasetu sa nikdy nedostanú.
Synchronizovať korekčný dataset
Korekcie sa zhromažďujú v korekčnom datasete pre danú policy a cez automatickú cloudovú synchronizáciu putujú do vášho bucketu. V tomto bode sa nič nezlučuje s ničím; korekcie sú jednoducho samostatný dataset.
Zostaviť mix sami
Pomocou funkcie Zostaviť dataset vytvorte trénovaciu množinu pre ďalšie kolo: pôvodný dataset plus korekcie, s epizódami vybranými explicitne podľa zdroja. Výsledkom je bežný dataset, ktorý sa synchronizuje a trénuje ako každý iný. Nič sa nemieša za vaším chrbtom a simulačné dáta sa nepridávajú automaticky.
Trénovať ďalej z checkpointu
Zostavený dataset trénujte pomocou Pokračovať od checkpointu namiesto štartu od základného modelu, aby kolo začínalo od policy, ktorú ste práve riadili. Presne povedané: inicializuje to váhy z daného checkpointu, nie je to obnovenie optimizéra.
Čo za vás platforma rieši
Každá položka tu je krok slučky, ktorý by ste si inak museli postaviť a udržiavať sami.
Prevzatie riadenia bez leader ramena
Na začiatku behu zvoľte vstup cez klávesnicu alebo slidery a na korekciu vám stačí notebook. Posuny klávesnicou server obmedzuje na dva stupne na kĺb a štyri na čeľusti; cieľové hodnoty sliderov sú absolútne a server sa k nim pri každom volaní priblíži najviac o šesť stupňov. Obmedzenia vynucuje server, nie rozhranie, takže zaseknutá klávesa nemôže rameno vychýliť.
Dokumentácia k teleoperáciiIntervencie označené pri každom snímku
Každý snímok nahratý počas toho, čo držíte rameno, nesie príznak intervencie, a stĺpec action obsahuje kompletnú zadanú polohu. Stĺpec s príznakom nemusíte spravovať ručne ani ho dodatočne zarovnávať s indexmi snímkov.
Formát LeRobot datasetuRoztriedenie: korekcia, evaluácia alebo kôš
Každý beh dostane na karte uloženia jedno rozhodnutie. Korekčné behy napájajú ďalšie kolo trénovania, evaluačné behy zostávajú mimo trénovania, aby ostali čistým meraním, a nepodarené behy zmiznú namiesto toho, aby potichu znehodnotili mix.
Sessions a epizódyZostavte mix explicitne
Trénovaciu množinu pre kolo n zostavujete vy: pôvodný dataset plus korekcie, epizódy vybrané podľa zdroja. Žiadne automatické miešanie, žiadne skryté simulačné dáta, a zostavený výsledok sa správa ako každý iný dataset.
DatasetyPokračovať od checkpointu
Nasmerujte trénovací beh na checkpoint, ktorý ste práve riadili, namiesto základného modelu, aby každé kolo začínalo tam, kde skončilo predošlé. Inicializujú sa len váhy; stav optimizéra sa neobnovuje, preto sa prvé kolo oplatí brať ako test uskutočniteľnosti.
TrénovanieGPU prenajaté na kolo
ACT a SmolVLA na 4090, Pi0 a GR00T N1.5 alebo N1.7 na A100 s 80 GB. Spustíte kolo, pod sa naštartuje, checkpointy pristanú vo vašom buckete, a platíte za hodiny, ktoré kolo trvalo.
Ceny GPUNaplánujte si kolá
Miera intervencie je metrika pokroku slučky: korigované snímky delené počtom snímkov behu. Nastavte, kde začínate a koľko vám prinesie každé kolo, a uvidíte, koľko kôl potrebujete na dosiahnutie cieľa.
| Kolo | Miera intervencie | Korigované snímky |
|---|---|---|
| 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 | |
Model, nie prognóza. Skutočné kolá sú nerovnomerné a kolo, ktoré nehýbe mierou, vám neprinieslo nič; presne to je signál, ktorý sa oplatí sledovať.
Postaviť si slučku sami, alebo ju spustiť tu
Nič z toho nie je ručne nemožné. Je to otázka, koľko večerov padne na inštalatérstvo namiesto kôl, a je tu jeden riadok, kde je vlastné riešenie jednoznačne lepšou voľbou.
| Krok slučky | Ručné zostavenie | Na AY-Robots |
|---|---|---|
| Prevzatie riadenia počas behu | Leader rameno alebo vlastný kód na servo zbernici. Prevzatie cez klávesnicu a slidery vrátane bezpečných limitov si napíšete a odladíte na skutočnom hardvéri sami. | Leader rameno, klávesnica alebo slidery, zvolené pri štarte behu. Uhlové obmedzenia sú v serveri. |
| Označovanie intervencií | Pridáte stĺpec s príznakom, udržiavate ho zarovnaný s indexom snímku a znova ho kontrolujete pri každej zmene formátu nahrávania. | Každý snímok nahratý počas prevzatia je označený automaticky, so zadanou polohou v stĺpci action. |
| Triedenie behov | Konvencie adresárov a shell skripty. Zamrznuté snímky okolo odovzdania riadenia si musíte sami nájsť a vyfiltrovať. | Jedno rozhodnutie na beh na karte uloženia. Snímky odovzdania zostávajú v raw adresári. |
| Zostavenie zmiešaného datasetu | Merge skripty pre každú verziu formátu. Zladiť indexy epizód, metadáta a odkazy na video je tá zdĺhavá časť. | Zostavenie z pôvodných dát plus korekcií s výberom epizód podľa zdroja; výsledkom je bežný dataset. |
| Začať ďalšie kolo od poslednej policy | Checkpoint si do trénera zapojíte sami a môžete obnoviť aj stav optimizéra, ak chcete skutočné pokračovanie. | Jedno pole pre základný checkpoint. Len váhy: inicializuje sa z checkpointu, nie je to obnovenie optimizéra. |
| Kontrola nad trénovacou slučkou | Úplná. Vlastná loss, vlastný harmonogram, vlastné ablácie, vlastná inštrumentácia, žiadna platforma navyše. Ak je výskumnou otázkou samotná trénovacia slučka, urobte to ručne. | Pevná cesta s pevným zoznamom policies a hyperparametrami, ktoré ponúka formulár, nie ľubovoľný kód. |
Práce, na ktorých to stojí
Prečítajte si ich, skôr než sa pustíte do sporu o slučke. Každý odkaz vedie na stránku s abstraktom, nie za platenú stenu.
- 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)
Pôvodná práca o DAgger: formuluje problém kumulujúcej sa chyby, uvádza hranicu T na druhú pre čisto supervizovaný prístup a navrhuje agregovať dáta zo stavov, ktoré sám navštívi učiaci sa systém.
- HG-DAgger: Interactive Imitation Learning with Human Experts
Michael Kelly, Chelsea Sidrane, Katherine Driggs-Campbell, Mykel J. Kochenderfer · 2019 · arXiv:1810.02890, ICRA 2019
Variant riadený človekom: expert rozhoduje, kedy prevezme riadenie, namiesto toho, aby bol dopytovaný na stavy, ktoré si zvolila policy; presne tento režim táto platforma implementuje.
- EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning
Kunal Menda, Katherine Driggs-Campbell, Mykel J. Kochenderfer · 2019 · arXiv:1807.08364, IROS 2019
Iný spôsob riadenia zásahov: nezhoda v ensemble ako signál dôvery na to, kedy môže systém konať sám. Užitočný kontrast k tomu, nechať posúdenie na človeku.
- 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
Pozornosť človeka chápe ako vzácny zdroj a o pomoc žiada len pri nových alebo rizikových stavoch, čo je správny rámec, keď jeden človek dohliada na rameno celé popoludnie.
- DART: Noise Injection for Robust Imitation Learning
Michael Laskey, Jonathan Lee, Roy Fox, Anca Dragan, Ken Goldberg · 2017 · CoRL 2017
Čestná alternatíva: namiesto korigovania policy online narušiť demonštrácie tak, aby expert predviedol návrat do správneho stavu. Oplatí sa poznať pred tým, ako sa zaviažete k intervenciám.
- 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
Mapa odboru: aké formy ľudskej spätnej väzby existujú, cez aké rozhrania sa prenášajú a kam medzi nimi patrí zásah v štýle DAgger.
- Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware
Tony Z. Zhao, Vikash Kumar, Sergey Levine, Chelsea Finn · 2023 · arXiv:2304.13705
Práca o ACT. Action chunking je dôvod, prečo lacné rameno vôbec môže riadiť imitačná policy, a ACT je najrýchlejšia policy na iteráciu kola DAgger.
- π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 založený na flow matching, postavený na predtrénovanom vision-language modeli, a jeden z checkpointov, ktoré tu môžete fine-tunovať; práca výslovne uvádza, že nové zručnosti pochádzajú z fine-tuningu, nie zo samotného základného modelu.
Otázky, ktoré ľudia naozaj kladú
Potrebujem na DAgger leader rameno?
Nie. Pri štarte behu zvoľte vstup cez klávesnicu alebo slidery a prevzatie je manuálne od prvého snímku, riadené z prehliadača. Leader rameno je príjemnejšie pri jemných pohyboch a je to jediný režim, v ktorom sa rameno pred odovzdaním samo zarovná, ale slučka funguje aj bez neho.
Koľko kôl DAgger potrebujem?
Poctivé pevné číslo neexistuje. Sledujte mieru intervencie: ak neklesá z kola na kolo, dané kolo vám neprinieslo nič, a problém zvyčajne nie je v počte kôl, ale v nastavení úlohy, kamerách alebo pôvodnom datasete.
Je to skutočný DAgger, alebo niečo voľnejšie?
Je to HG-DAgger, variant riadený človekom. Klasický DAgger dopytuje experta na stavy, ktoré si zvolila policy, vrátane stavov, do ktorých by žiadny rozumný operátor nenechal ísť skutočné rameno. Tu rozhoduje o zásahu človek a labelmi sa stávajú len tieto úseky.
Trénujem len na korekciách?
Nie, a ani by ste nemali. Trénovanie len na korekciách vám dá policy, ktorá vie iba to, ako sa zotaviť. Zostavený dataset tvoria pôvodné dáta plus korekcie, s epizódami z každého zdroja vybranými explicitne.
Obnovuje pokračovanie od checkpointu trénovací beh?
Inicializuje váhy z daného checkpointu. Stav optimizéra sa neobnovuje, takže v prísnom zmysle to nie je pokračovanie. V praxi práve váhy nesú naučené správanie naprieč kolami, ale oplatí sa vedieť, ktorú z týchto dvoch vecí vlastne dostávate.
Ako sa počíta miera intervencie?
Snímky označené ako intervencia delené celkovým počtom snímkov behu. Zobrazuje sa v stave prevzatia riadenia a je to to jediné číslo, ktoré sa oplatí zapísať pri každom kole spolu s checkpointom, ktorý ste riadili, a mixom, na ktorom ste trénovali.
S ktorými policies môžem túto slučku spustiť?
ACT, SmolVLA, Pi0 a GR00T N1.5 alebo N1.7. Samotná slučka je voči policy nezávislá, pretože produkuje len datasety a checkpointy; praktický rozdiel je v tom, ako dlho kolo trvá a akú GPU potrebuje.
Dá sa to robiť aj bez vlastného robota?
Nahrávať a trénovať môžete aj bez neho, kúpou datasetov na marketplace alebo objednaním operátorov, a skutočný SO-100 môžete riadiť v prehliadači na stránke live. Kolo DAgger je iné: potrebuje rameno, ktoré môžete prevziať počas behu, takže na samotnú slučku potrebujete hardvér na vlastnom stole.
A real SO-100, live in the browser. No signup, no hardware needed.
Spustite svoje prvé kolo tento týždeň
Nainštalujte klienta, spustite checkpoint, ktorý už máte, a prevezmite riadenie prvýkrát, keď rameno minie kocku. Tento jediný beh je kolo DAgger v miniatúre: všetko potom je už len zostavenie mixu a platenie za hodiny GPU.