Preuzmite kontrolu kad policy pogriješi, pa trenirajte upravo tu korekciju.
Policy trenirana putem behavior cloninga poznaje samo stanja koja su posjetile vaše demonstracije. DAgger zatvara taj jaz podacima iz stanja do kojih dolazi sama policy. AY-Robots vodi cijelu petlju na SO-100: vozite checkpoint, preuzmite kontrolu usred vožnje, zadržite ispravljene epizode, sastavite mješavinu i nastavite trening od upravo voženog checkpointa.
- HG-DAgger, uz ljudsku kontrolu
- SO-100 / SO-101
- ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
- Stopa intervencija po rundi
Zašto trenirana policy radi nešto što nikad nije demonstrirano
Behavior cloning tretira upravljanje kao obično nadzirano učenje: na ulazu opažanje, na izlazu ciljna pozicija zglobova, prilagođeno frejmovima koje je snimio čovjek. To vrijedi samo dok robot ostaje na stanjima koja je taj čovjek posjetio, a on to ne čini. Hvataljka koja se zatvori četrdeset milisekundi prerano pomjeri kocku dva milimetra od demonstrirane pozicije. Sljedeće opažanje je takvo da ga skup za trening ne sadrži, pa je akcija tu ekstrapolacija, a stanje poslije toga leži još dalje van. Distribucija treninga i distribucija koju stvarno stvara naučena policy dvije su različite stvari, i druga se tokom epizode sve više udaljava od prve.
Ross, Gordon i Bagnell su tačno ovaj problem redukcije opisali 2011. i brojčano ga odredili: klasifikator koji pod ekspertskom distribucijom griješi s vjerovatnoćom e može pod distribucijom koju sam stvara, na horizontu od T koraka, napraviti reda veličine T na kvadrat puta e grešaka, jer jedna greška proizvodi opažanja koja ekspert nikad nije generisao, pa se greške akumuliraju. Njihovo rješenje je algoritam o kojem govori ova stranica: pokrenuti trenutnu policy, prikupiti ekspertske labele za stanja koja posjećuje, agregirati ih sa svime što je prikupljeno do sada, ponovo trenirati, ponoviti. Više demonstracija iste vrste ne pomaže, jer se time samo ponovo uzorkuje ista distribucija. Labele na stanjima do kojih policy dolazi pomažu. Varijanta implementirana ovdje je human-gated (HG-DAgger, Kelly et al.): policy zadržava kontrolu dok osoba ne odluči da nešto ide po zlu i preuzme kontrolu, tako da se korekcije stvaraju samo tamo gdje su potrebne, a ruka nikad ne biva poslana u stanje koje operater ne bi dozvolio.
- Behavior cloning vrijedi samo na distribuciji stanja na kojoj je treniran.
- Greška se sama pojačava: malo odstupanje proizvodi nepoznato stanje, koje proizvodi veće odstupanje.
- Rješenje nisu dodatne demonstracije, nego labele na stanjima do kojih policy sama dolazi.
- Human-gated znači da operater odlučuje kada intervenisati, a ne neka mjera autonomije.
Zašto se greška akumulira
Pomjerite horizont. Kod behavior cloninga očekivani dodatni trošak raste otprilike s kvadratom broja koraka, jer svaka greška proizvodi stanja koja demonstracije nikad nisu pokrile; petlja agregacije drži taj rast blizu linearnog (Ross et al., 2011).
Ilustrativne krive iz granica u Ross et al. (2011), a ne mjerenja s vašeg robota. Bitan je oblik krive, ne brojevi.
Jedna DAgger runda, šest koraka
Ovo je petlja onako kako je platforma stvarno izvodi, a ne šema. Svaki korak dolje odgovara jednom kontrolnom elementu u kokpitu.
Prođite kroz petlju
Isti ti koraci, jedan po jedan, sa onim što se pritom dešava na ruci i u skupu podataka.
Pokrenite policy i snimite je
Pokrenite inferenciju na checkpointu koji ste sami trenirali. Vožnja se snima dok traje, zajedno s tekstom zadatka same vožnje, tako da frejmovi kasnije mogu poslužiti kao trening podaci umjesto da budu samo video koji se može gledati.
Preuzmite kontrolu i ispravite
Čim ruka uradi nešto pogrešno, pritisnite Preuzmi. Runner se pauzira i ruka je vaša. S leader rukom ona se prvo dovede u pozu followera i tek onda preda kontrolu; kod unosa tastaturom ili sliderima, odabranog na početku vožnje, preuzimanje je odmah ručno. Ispravite pokret, a zatim prebacite kontrolu nazad na policy. Frejmovi snimljeni tokom preuzimanja automatski se označavaju kao intervencija.
Razvrstajte vožnju
Za svaku vožnju odlučite šta je bila: sačuvajte je kao korekciju, zadržite kao evaluacionu vožnju, ili je odbacite. Zamrznuti frejmovi oko primopredaje ostaju u raw direktoriju i nikad ne ulaze u skup podataka.
Sinhronizujte skup korekcija
Korekcije se skupljaju u posebnom skupu podataka za svaku policy i putem automatske cloud sinhronizacije odlaze u vaš bucket. U ovoj fazi se ništa ne spaja ni sa čim; korekcije su jednostavno vlastiti, zaseban skup podataka.
Sami sastavite mješavinu
Koristite Sastavi skup podataka da izgradite trening skup za sljedeću rundu: originalni skup podataka plus korekcije, s epizodama eksplicitno odabranim po izvoru. Rezultat je običan skup podataka koji se sinhronizuje i trenira kao i svaki drugi. Ništa se ne umješava iza vaših leđa, a simulacijski podaci se ne dodaju automatski.
Nastavite trening od checkpointa
Trenirajte sastavljeni skup podataka pomoću Nastavi od checkpointa umjesto polaska od baznog modela, tako da runda počinje tačno tamo gdje je stala policy koju ste upravo vozili. Preciznije rečeno: inicijalizuje težine iz tog checkpointa, to nije nastavak (resume) optimizatora.
Šta platforma preuzima umjesto vas
Svaka stavka ovdje je korak petlje koji biste inače sami gradili i održavali.
Preuzimanje bez leader ruke
Odaberite unos tastaturom ili sliderima na početku vožnje i za korekciju vam je dovoljan samo laptop. Pomaci tastaturom su na strani servera ograničeni na dva stepena po zglobu i četiri na hvataljci; ciljevi slidera su apsolutni, a server se pomjera najviše šest stepeni prema njima po pozivu. Ograničenja provodi server, a ne korisnički interfejs, pa zaglavljena tipka ne može izbaciti ruku iz kontrole.
Dokumentacija o teleoperacijiIntervencije označene po frejmu
Svaki frejm snimljen dok držite kontrolu nosi oznaku intervencije, a kolona action nosi punu zadanu pozu. Ne morate ručno održavati kolonu za oznaku niti je naknadno usklađivati s indeksima frejmova.
LeRobot format skupa podatakaRazvrstavanje: korekcija, evaluacija ili brisanje
Svaka vožnja dobija jednu odluku na kartici za spremanje. Korekcijske vožnje hrane sljedeću rundu treninga, evaluacione vožnje ostaju izvan treninga i time ostaju čisto mjerenje, a loše vožnje nestaju umjesto da tiho zagade mješavinu.
Sesije i epizodeEksplicitno sastavite mješavinu
Trening skup za rundu n sastavljate sami: originalni skup podataka plus korekcije, epizode odabrane po izvoru. Nema automatskog miješanja, nema skrivenih simulacijskih podataka, a sastavljeni rezultat ponaša se kao svaki drugi skup podataka.
Skupovi podatakaNastavite od checkpointa
Usmjerite trening na checkpoint koji ste upravo vozili umjesto na bazni model, tako da svaka runda počinje tamo gdje je prethodna stala. Inicijalizuju se samo težine; stanje optimizatora se ne obnavlja, zbog čega prvu rundu vrijedi tretirati kao test izvodljivosti.
TreningGPU-ovi iznajmljeni po rundi
ACT i SmolVLA na 4090, Pi0 i GR00T N1.5 ili N1.7 na A100 sa 80 GB. Pokrenete rundu, pod se digne, checkpointi završe u vašem bucketu, a plaćate samo sate koje je runda potrošila.
Cijene GPU-aIsplanirajte svoje runde
Stopa intervencija je metrika napretka petlje: ispravljeni frejmovi podijeljeni s ukupnim brojem frejmova vožnje. Postavite početnu vrijednost i koliko vam donosi svaka runda, pa pogledajte koliko je rundi potrebno da stignete gdje želite.
| Runda | Stopa intervencija | Ispravljeni frejmovi |
|---|---|---|
| 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, ne prognoza. Stvarne runde su neravnomjerne, a runda koja ne pomjeri stopu nije donijela ništa; upravo je to signal koji se isplati pratiti.
Graditi petlju sami ili je voziti ovdje
Ništa od ovoga nije nemoguće uraditi ručno. Pitanje je koliko večeri ode na infrastrukturu umjesto na runde, a postoji jedan red u kojem je samostalna izrada jasno bolji odgovor.
| Korak petlje | Ručno postavljanje | Na AY-Robots |
|---|---|---|
| Preuzimanje usred vožnje | Leader ruka, ili vlastiti kod na servo busu. Preuzimanje tastaturom i sliderima, uključujući sigurna ograničenja, morate sami napisati i zatim debagovati na stvarnom hardveru. | Leader ruka, tastatura ili slideri, odabrani pri pokretanju vožnje. Ograničenja uglova žive u serveru. |
| Označavanje intervencija | Sami dodajete kolonu za oznaku, održavate je usklađenu s indeksom frejma i ponovo je provjeravate svaki put kad se promijeni format snimanja. | Svaki frejm snimljen tokom preuzimanja automatski se označava, sa zadanom pozom u koloni action. |
| Sortiranje vožnji | Konvencije direktorija i shell skripte. Zamrznute frejmove oko primopredaje morate sami pronaći i izbaciti. | Jedna odluka po vožnji na kartici za spremanje. Frejmovi primopredaje ostaju u raw direktoriju. |
| Izgradnja mješovitog skupa podataka | Merge skripte za svaku verziju formata. Naporni dio je uskladiti indekse epizoda, metapodatke i reference na video. | Sastavljanje od originala plus korekcija s odabirom epizoda po izvoru; rezultat je običan skup podataka. |
| Početak sljedeće runde od zadnje policy | Sami povezujete checkpoint u trainer, a možete i obnoviti stanje optimizatora ako želite pravi nastavak. | Jedno polje za bazni checkpoint. Samo težine: inicijalizuje se iz checkpointa, to nije nastavak optimizatora. |
| Kontrola nad petljom treninga | Potpuna. Vaš loss, vaš raspored, vaše ablacije, vaša instrumentacija, nikakva platforma na putu. Ako je istraživačko pitanje sama petlja treninga, uradite je ručno. | Fiksni put sa određenom listom policy modela i hiperparametrima koje formular nudi, ne proizvoljan kod. |
Radovi na kojima se ovo temelji
Pročitajte ovo prije nego što se raspravljate o petlji. Svaki link vodi na stranicu sažetka, ne iza paywalla.
- 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)
Originalni DAgger rad: postavlja problem akumulacije greške, daje T-na-kvadrat granicu za čisto nadzirani pristup i predlaže agregiranje podataka iz stanja koja sam učenik posjećuje.
- 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 varijanta: ekspert odlučuje kada preuzeti kontrolu umjesto da bude ispitivan o stanjima koja je odabrala policy; upravo je ovaj način implementiran na platformi.
- EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning
Kunal Menda, Katherine Driggs-Campbell, Mykel J. Kochenderfer · 2019 · arXiv:1807.08364, IROS 2019
Drugi način kontrole intervencija: neslaganje unutar ansambla kao signal pouzdanosti za to kad učenik smije djelovati sam. Koristan kontrast prepuštanju te procjene čovjeku.
- 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
Tretira ljudsku pažnju kao oskudan resurs i traži pomoć samo kod novih ili rizičnih stanja, što je pravi okvir kad jedna osoba nadgleda ruku cijelo popodne.
- DART: Noise Injection for Robust Imitation Learning
Michael Laskey, Jonathan Lee, Roy Fox, Anca Dragan, Ken Goldberg · 2017 · CoRL 2017
Iskrena alternativa: umjesto ispravljanja policy uživo, poremetiti demonstracije tako da ekspert pokaže oporavak. Vrijedi znati prije nego što se odlučite na intervencije.
- 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 oblasti: koji oblici ljudske povratne informacije postoje, koji interfejsi ih prenose i gdje se među njima nalazi intervencija u DAgger stilu.
- Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware
Tony Z. Zhao, Vikash Kumar, Sergey Levine, Chelsea Finn · 2023 · arXiv:2304.13705
ACT rad. Action chunking je razlog zašto imitaciona policy uopšte može upravljati jeftinom rukom, a ACT je policy s kojom se DAgger runda najbrže iterira.
- π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 zasnovan na flow matchingu, izgrađen na pretreniranom vision-language modelu, i jedan od checkpointa koje ovdje možete fine-tunati; rad izričito navodi da nove vještine dolaze iz fine-tuninga, a ne samo iz baznog modela.
Pitanja koja ljudi zaista postavljaju
Da li mi treba leader ruka za DAgger?
Ne. Odaberite unos tastaturom ili sliderima pri pokretanju vožnje i preuzimanje je ručno od prvog frejma, vođeno iz browsera. Leader ruka je prijatnija za fine pokrete i jedini je način u kojem se ruka sama poravna prije primopredaje, ali petlja radi i bez nje.
Koliko mi DAgger rundi treba?
Ne postoji iskren fiksan broj. Pratite stopu intervencija: ako ne pada iz runde u rundu, ta runda vam nije donijela ništa, a problem je obično u postavci zadatka, kamerama ili originalnom skupu podataka, a ne u broju rundi.
Je li ovo pravi DAgger ili nešto labavije?
Ovo je HG-DAgger, human-gated varijanta. Klasični DAgger ispituje eksperta o stanjima koja je odabrala policy, uključujući stanja u koja nijedan pri zdravoj pameti operater ne bi pustio pravu ruku. Ovdje osoba odlučuje kada intervenisati, i samo ti segmenti postaju labele.
Treniram li samo na korekcijama?
Ne, i ne biste ni trebali. Trening samo na korekcijama daje policy koja zna samo kako se oporaviti. Sastavljeni skup podataka su originalni podaci plus korekcije, s epizodama iz svakog izvora eksplicitno odabranim.
Da li nastavak od checkpointa nastavlja trening kao resume?
Inicijalizuje težine iz tog checkpointa. Stanje optimizatora se ne obnavlja, pa u strogom smislu to nije resume. U praksi upravo težine nose naučeno ponašanje kroz rundu, ali vrijedi znati koje od to dvoje zapravo dobijate.
Kako se računa stopa intervencija?
Frejmovi označeni kao intervencija podijeljeni ukupnim brojem frejmova vožnje. Prikazuje se u statusu preuzimanja i to je jedini broj koji se isplati zapisati po rundi, uz checkpoint koji ste vozili i mješavinu na kojoj ste trenirali.
Koje policy mogu koristiti uz ovu petlju?
ACT, SmolVLA, Pi0, te GR00T N1.5 ili N1.7. Sama petlja je nezavisna od policy jer proizvodi samo skupove podataka i checkpointe; praktična razlika je u tome koliko runda traje i koji GPU joj je potreban.
Mogu li ovo raditi bez vlastitog robota?
Snimati i trenirati možete i bez robota, kupovinom skupova podataka na marketplaceu ili angažovanjem operatera, a pravi SO-100 možete voziti u browseru na live stranici. DAgger runda je nešto drugo: treba joj ruka koju možete preuzeti usred vožnje, pa za samu petlju trebate hardver na vlastitom stolu.
A real SO-100, live in the browser. No signup, no hardware needed.
Odvozite prvu rundu ove sedmice
Instalirajte klijent, odvozite checkpoint koji već imate i preuzmite kontrolu prvi put kad ruka promaši kocku. Ta jedna vožnja je DAgger runda u malom: sve poslije toga je sastavljanje mješavine i plaćanje GPU sati.