Pārņem vadību, kad policy pieļauj kļūdu, un apmāci tieši uz šīs korekcijas.
Policy, kas apmācīta ar behavior cloning, pazīst tikai tos stāvokļus, kuros bija demonstrācijas. DAgger aizpilda šo robu ar datiem no stāvokļiem, ko policy sasniedz pati. AY-Robots izpilda visu ciklu uz SO-100: vadi checkpoint, pārņem vadību lidojuma laikā, saglabā koriģētās epizodes, sastādi maisījumu un apmāci tālāk tieši no tā checkpoint, ko tikko vadīji.
- HG-DAgger, cilvēka apstiprināts
- SO-100 / SO-101
- ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
- Iejaukšanās rādītājs katrā kārtā
Kāpēc apmācīta policy dara to, kas nekad nav demonstrēts
Behavior cloning uztver vadību kā parastu pārraudzītu mācīšanos: ieejā novērojums, izejā locītavu mērķis, pielāgots tiem kadriem, ko ierakstījis cilvēks. Tas darbojas tikai tik ilgi, kamēr robots paliek tajos stāvokļos, kurus apmeklējis cilvēks, — un tā nenotiek. Satvērējs, kas aizveras par četrdesmit milisekundēm pārāk agri, pabīda kubu par diviem milimetriem no demonstrētās pozas. Nākamais novērojums ir tāds, kāda apmācības kopā nav, tāpēc darbība tur ir ekstrapolācija, un nākamais stāvoklis atrodas vēl tālāk no zināmā. Apmācības sadalījums un sadalījums, ko faktiski rada iemācītā policy, ir divas dažādas lietas, un otrais ar katru epizodes soli aizvien vairāk attālinās no pirmā.
Ross, Gordon un Bagnell tieši šo problēmu aprakstīja 2011. gadā un novērtēja tās apmēru: klasifikators, kas eksperta sadalījumā kļūdās ar varbūtību e, savā paša izraisītajā sadalījumā T soļu horizontā var pieļaut aptuveni T kvadrātā reiz e kļūdas, jo katra kļūda rada novērojumus, kādus eksperts nekad nav radījis, un kļūdas tādējādi savstarpēji pastiprinās. Viņu risinājums ir tieši tas algoritms, par kuru ir šī lapa: izpildīt pašreizējo policy, savākt eksperta atzīmes tiem stāvokļiem, ko tā apmeklē, apvienot tās ar visu līdz šim savākto, no jauna apmācīt, atkārtot. Vairāk tāda paša veida demonstrāciju nepalīdz, jo tās tikai no jauna izlasa to pašu sadalījumu. Atzīmes stāvokļiem, ko sasniedz policy, gan palīdz. Šeit ieviestais variants ir cilvēka apstiprināts (HG-DAgger, Kelly et al.): policy patur vadību līdz brīdim, kad cilvēks nolemj, ka kaut kas iet greizi, un pārņem to, tāpēc korekcijas rodas tikai tur, kur tās vajadzīgas, un roku nekad neliek doties uz stāvokli, kādu operators neļautu.
- Behavior cloning ir derīgs tikai tajā stāvokļu sadalījumā, uz kura tas apmācīts.
- Kļūda pastiprina pati sevi: neliela novirze rada nepazīstamu stāvokli, kas rada vēl lielāku novirzi.
- Risinājums nav vairāk demonstrāciju, bet gan atzīmes tiem stāvokļiem, kurus policy sasniedz pati.
- Cilvēka apstiprinājums nozīmē: par iejaukšanos lemj operators, nevis kāds ticamības rādītājs.
Kāpēc kļūda uzkrājas
Pavelc horizontu. Ar behavior cloning gaidāmās papildu izmaksas aug aptuveni proporcionāli soļu skaita kvadrātam, jo katra kļūda rada stāvokļus, ko demonstrācijas nekad nav aptvērušas; apkopošanas cikls šo pieaugumu notur tuvu lineāram (Ross et al., 2011).
Ilustratīvas līknes no Ross et al. (2011) robežām, nevis mērījumi no tava robota. Svarīga ir līknes forma, nevis konkrētie skaitļi.
Viena DAgger kārta, seši soļi
Tā šis cikls patiešām darbojas platformā, nevis kā shēma. Katrs zemāk minētais solis atbilst kādai cockpit vadīklai.
Izej ciklu soli pa solim
Tie paši seši soļi, katrs atsevišķi, ar to, kas katrā no tiem notiek ar roku un datu kopā.
Palaid policy un ieraksti to
Sāc inferences braucienu ar checkpoint, ko esi apmācījis. Braucienu ieraksta tā notikšanas brīdī, kopā ar paša brauciena uzdevuma tekstu, tāpēc kadrus vēlāk var izmantot kā apmācības datus, nevis tikai kā video, ko var noskatīties.
Pārņem vadību un koriģē
Tiklīdz roka dara ko nepareizu, spied Pārņemt. Runner apstājas, un roka pieder tev. Ar leader-roku tā vispirms pati aizbrauc uz follower-pozu un tad nodod vadību; ja brauciena sākumā izvēlēta tastatūras vai slīdņa ievade, pārņemšana ir manuāla uzreiz. Koriģē kustību un tad atdod vadību atpakaļ policy. Kadri, kas ierakstīti pārņemšanas laikā, automātiski tiek atzīmēti kā iejaukšanās.
Izšķir braucienu
Par katru braucienu izlem, kas tas bija: reģistrē to kā korekciju, saglabā kā izvērtēšanas braucienu vai izmet. Sastingušie kadri ap nodošanas brīdi paliek raw direktorijā un nekad nenonāk datu kopā.
Sinhronizē korekciju datu kopu
Korekcijas sakrājas katras policy savā korekciju datu kopā un caur automātisko cloud sinhronizāciju nonāk tavā bucket. Šajā solī vēl nekas netiek apvienots — korekcijas pagaidām ir tikai sava atsevišķa datu kopa.
Pats sastādi maisījumu
Izmanto Sastādīt datu kopu, lai izveidotu nākamās kārtas apmācības kopu: sākotnējo datu kopu plus korekcijas, ar epizožu izvēli, kas veikta atsevišķi katram avotam. Rezultāts ir parasta datu kopa, kas sinhronizējas un apmācās tāpat kā jebkura cita. Nekas netiek piejaukts tavā aizmugurē, un simulācijas dati automātiski netiek pievienoti.
Turpini apmācību no checkpoint
Sastādīto datu kopu apmāci ar darbību Turpināt no checkpoint, nevis sāc no bāzes modeļa, lai kārta sāktos tieši no tās policy, ko tikko vadīji. Šeit precizitāte ir svarīga: tas inicializē svarus no tā checkpoint, tas nav optimizētāja atsākšana.
Ko platforma paveic tavā vietā
Katrs šeit minētais punkts ir cikla solis, ko citādi būtu jābūvē un jāuztur pašam.
Pārņemšana bez leader-rokas
Brauciena sākumā izvēlies tastatūras vai slīdņa ievadi, un koriģēt vari, izmantojot tikai klēpjdatoru. Tastatūras soļus serveris ierobežo līdz diviem grādiem uz locītavu un četriem grādiem uz satvērēju; slīdņa mērķi ir absolūti, un serveris ar katru izsaukumu virzās uz tiem ne vairāk kā par sešiem grādiem. Ierobežojumus uztur serveris, nevis saskarne, tāpēc iestrēdzis taustiņš roku nevar padarīt nevadāmu.
Teleoperācijas dokumentācijaIejaukšanās atzīmētas katram kadram
Katram kadram, kas ierakstīts, kamēr roka ir tavās rokās, ir iejaukšanās atzīme, un action slejā ir pilnā pavēlētā poza. Tev nav jāuztur atzīmju sleja ar roku, nedz vēlāk jāsaskaņo tā ar kadru indeksiem.
LeRobot datu kopas formātsIzšķiršana: korekcija, izvērtēšana vai atkritne
Katram braucienam pienākas viens lēmums saglabāšanas kartītē. Korekciju braucieni baro nākamo apmācības kārtu, izvērtēšanas braucieni paliek ārpus apmācības un tāpēc saglabā tīru mērījumu, bet neveiksmīgi braucieni pazūd, nevis klusi sabojā maisījumu.
Sesijas un epizodesSastādi maisījumu skaidri
Apmācības kopu n-tajai kārtai sastādi pats: sākotnējā datu kopa plus korekcijas, ar epizožu izvēli katram avotam atsevišķi. Nekāda automātiska piejaukšana, nekādi slēpti simulācijas dati, un sastādītais rezultāts uzvedas kā jebkura cita datu kopa.
Datu kopasTurpini no checkpoint
Norādi apmācības braucienam to checkpoint, ko tikko vadīji, nevis bāzes modeli, lai katra kārta sāktos tur, kur beidzās iepriekšējā. Tas inicializē tikai svarus; optimizētāja stāvoklis netiek atjaunots, tāpēc pirmo kārtu ir vērts uztvert kā iespējamības pārbaudi.
ApmācībaGPU īrē par kārtu
ACT un SmolVLA uz 4090, Pi0 un GR00T N1.5 vai N1.7 uz A100 ar 80 GB. Tu sāc kārtu, pod uzsāk darbu, checkpoints nonāk tavā bucket, un tu maksā par stundām, ko kārta prasīja.
GPU cenasPlāno savas kārtas
Iejaukšanās rādītājs ir cikla progresa metrika: koriģētie kadri dalīti ar brauciena kadru kopskaitu. Iestati sākuma vērtību un to, cik daudz iegūsti katrā kārtā, un redzi, cik kārtu vajag, lai sasniegtu mērķi.
| Kārta | Iejaukšanās rādītājs | Koriģētie kadri |
|---|---|---|
| 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 | |
Šis ir modelis, nevis prognoze. Reālas kārtas ir nevienmērīgas, un kārta, kas rādītāju nemaina, nav devusi neko — tieši to vērts vērot.
Būvēt ciklu pats vai palaist to šeit
Neko no tā nav neiespējami izdarīt pašrocīgi. Jautājums ir, cik vakaru aiziet cauruļu likšanā, nevis kārtās, un ir viena rinda, kur pašrocīga pieeja ir nepārprotami labākā atbilde.
| Cikla solis | Uzstādīts pašrocīgi | Uz AY-Robots |
|---|---|---|
| Vadības pārņemšana brauciena vidū | Leader-roka vai paša kods servo kopnē. Tastatūras un slīdņa pārņemšanu, ieskaitot drošības robežas, raksti un pēc tam atkļūdo pats uz reālas aparatūras. | Leader-roka, tastatūra vai slīdņi, izvēlēti brauciena sākumā. Leņķu ierobežojumi atrodas serverī. |
| Iejaukšanās atzīmēšana | Pats pievieno atzīmju sleju, uztur to saskaņotu ar kadru indeksu un pārbauda no jauna ikreiz, kad mainās ieraksta formāts. | Katrs pārņemšanas laikā ierakstītais kadrs tiek atzīmēts automātiski, un action slejā ir pavēlētā poza. |
| Braucienu šķirošana | Direktoriju konvencijas un shell skripti. Sastingušos kadrus ap nodošanas brīdi tev pašam jāatrod un jāizfiltrē. | Viens lēmums par braucienu saglabāšanas kartītē. Nodošanas kadri paliek raw direktorijā. |
| Sajauktās datu kopas veidošana | Apvienošanas skripti katrai formāta versijai. Epizožu indeksu, metadatu un video atsauču savstarpējā saskaņošana ir tā garlaicīgā daļa. | Sastādi no sākotnējās kopas plus korekcijām ar epizožu izvēli katram avotam; rezultāts ir parasta datu kopa. |
| Nākamās kārtas sākšana no pēdējās policy | Checkpoint pats iepīsi apmācītājā, un vari arī atjaunot optimizētāja stāvokli, ja gribi īstu atsākšanu. | Viens lauks bāzes checkpoint norādīšanai. Tikai svari: inicializē no checkpoint, tas nav optimizētāja atsākšana. |
| Kontrole pār apmācības ciklu | Pilnīga. Tavs loss, tavs grafiks, tavas ablācijas, tava instrumentācija, neviena platforma nav ceļā. Ja pētnieciskais jautājums ir pats apmācības cikls, dari to pašrocīgi. | Fiksēts ceļš ar noteiktu policy sarakstu un tiem hiperparametriem, ko piedāvā forma, nevis brīvs kods. |
Darbi, uz kuriem tas balstās
Izlasi tos, pirms strīdies par ciklu. Katra saite ved uz abstrakta lapu, nevis aiz apmaksas sienas.
- 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 oriģinālais darbs: formulē kļūdu uzkrāšanās problēmu, dod T-kvadrātā robežu vienkāršai pārraudzītai pieejai un ierosina apkopot datus no stāvokļiem, kurus apmeklē pats lerneris.
- HG-DAgger: Interactive Imitation Learning with Human Experts
Michael Kelly, Chelsea Sidrane, Katherine Driggs-Campbell, Mykel J. Kochenderfer · 2019 · arXiv:1810.02890, ICRA 2019
Cilvēka apstiprināts variants: eksperts lemj, kad pārņemt vadību, nevis tiek aptaujāts par stāvokļiem, ko izvēlējusies policy; tieši šo režīmu īsteno šī platforma.
- EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning
Kunal Menda, Katherine Driggs-Campbell, Mykel J. Kochenderfer · 2019 · arXiv:1807.08364, IROS 2019
Cits veids, kā vārtīt iejaukšanos: ansambļa nesaskaņa kā ticamības signāls tam, kad lerneris drīkst rīkoties viens pats. Noderīgs kontrasts tam, ka lēmumu pieņem cilvēks.
- 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
Uztver cilvēka uzmanību kā deficīta resursu un lūdz palīdzību tikai jaunos vai riskantos stāvokļos — pareizais skatījums, ja viena persona uzrauga roku veselu pēcpusdienu.
- DART: Noise Injection for Robust Imitation Learning
Michael Laskey, Jonathan Lee, Roy Fox, Anca Dragan, Ken Goldberg · 2017 · CoRL 2017
Godīgā alternatīva: tā vietā, lai koriģētu policy tiešsaistē, uztricina demonstrācijas, lai eksperts parāda atgūšanos. Vērts zināt, pirms apņemies iejaukšanās pieeju.
- 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
Nozares karte: kādas cilvēka atgriezeniskās saites formas pastāv, kādas saskarnes tās nodrošina un kur starp tām ierindojas DAgger tipa iejaukšanās.
- Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware
Tony Z. Zhao, Vikash Kumar, Sergey Levine, Chelsea Finn · 2023 · arXiv:2304.13705
ACT darbs. Action chunking ir iemesls, kāpēc lētu roku vispār var vadīt ar imitācijas policy, un ACT ir ātrākā policy, ar kuru iterēt DAgger kārtu.
- π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
Flow-matching VLA, kas būvēts uz iepriekš apmācīta vision-language modeļa, un viens no checkpoint, ko šeit vari fine-tunēt; darbs skaidri norāda, ka jaunas prasmes rodas no fine-tuning, nevis no bāzes modeļa vien.
Jautājumi, ko cilvēki tiešām uzdod
Vai DAgger ir vajadzīga leader-roka?
Nē. Izvēlies tastatūras vai slīdņa ievadi brauciena sākumā, un pārņemšana ir manuāla jau no pirmā kadra, vadīta no pārlūkprogrammas. Leader-roka smalkām kustībām ir patīkamāka, un tas ir vienīgais režīms, kurā roka pati saskaņojas pirms nodošanas, taču cikls strādā arī bez tās.
Cik DAgger kārtu ir vajadzīgs?
Godīga fiksēta skaitļa nav. Vēro iejaukšanās rādītāju: ja tas no vienas kārtas uz nākamo nekrītas, tā kārta nav devusi neko, un problēma parasti ir uzdevuma uzstādījumā, kamerās vai sākotnējā datu kopā, nevis kārtu skaitā.
Vai šis ir īsts DAgger vai kaut kas brīvāks?
Tas ir HG-DAgger — cilvēka apstiprināts variants. Klasiskais DAgger aptaujā ekspertu par stāvokļiem, kurus izvēlējusies policy, ieskaitot stāvokļus, kuros neviens saprātīgs operators reālu roku nelaistu. Šeit par iejaukšanos lemj cilvēks, un par atzīmēm kļūst tikai tie segmenti.
Vai apmācu tikai uz korekcijām?
Nē, un tā arī nevajadzētu darīt. Apmācoties tikai uz korekcijām, iegūsi policy, kas prot vienīgi atgūties. Sastādītā datu kopa ir sākotnējie dati plus korekcijas, ar epizodēm no katra avota izvēlētām atsevišķi.
Vai turpināšana no checkpoint atsāk apmācības braucienu?
Tā inicializē svarus no attiecīgā checkpoint. Optimizētāja stāvoklis netiek atjaunots, tāpēc stingrā nozīmē tā nav atsākšana. Praksē tieši svari pārnes iemācīto uzvedību no vienas kārtas uz nākamo, bet ir vērts zināt, kuru no abiem faktiski saņem.
Kā tiek aprēķināts iejaukšanās rādītājs?
Kā iejaukšanās atzīmētie kadri, dalīti ar brauciena kadru kopskaitu. Tas redzams pārņemšanas statusā, un tas ir tas viens skaitlis, ko vērts pierakstīt katrai kārtai kopā ar vadīto checkpoint un apmācīto maisījumu.
Ar kurām policy var palaist šo ciklu?
ACT, SmolVLA, Pi0, kā arī GR00T N1.5 vai N1.7. Pats cikls no policy ir neatkarīgs, jo tas rada tikai datu kopas un checkpoint; praktiskā atšķirība ir kārtas ilgums un vajadzīgā GPU.
Vai to var darīt bez sava robota?
Ierakstīt un apmācīt var arī bez tā — pērkot datu kopas tirgū vai pasūtot operatorus, un reālu SO-100 vari vadīt pārlūkprogrammā live lapā. DAgger kārta ir kas cits: tai vajag roku, kuru vari pārņemt brauciena vidū, tāpēc pašam ciklam aparatūra jātur uz sava galda.
A real SO-100, live in the browser. No signup, no hardware needed.
Palaid savu pirmo kārtu šonedēļ
Instalē klientu, vadi checkpoint, kas tev jau ir, un pārņem vadību pirmo reizi, kad roka pāršauj garām kubam. Šis viens brauciens ir DAgger kārta miniatūrā: viss pēc tam ir maisījuma sastādīšana un GPU stundu apmaksa.