Merr kontrollin kur policy gabon, pastaj trajnoje mbi korrigjimin tënd.
Një policy e trajnuar me behavior cloning njeh vetëm gjendjet që demonstrimet e tua kanë vizituar. DAgger e mbyll këtë boshllëk me të dhëna nga gjendjet që policy vetë i arrin. AY-Robots e ekzekuton të gjithë ciklin në një SO-100: drejto një checkpoint, merr kontrollin në mes të xhirimit, ruaj episodet e korrigjuara, përpilo përzierjen dhe vazhdo trajnimin nga checkpoint-i që sapo drejtove.
- HG-DAgger, i kontrolluar nga njeriu
- SO-100 / SO-101
- ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
- Norma e ndërhyrjes për raund
Pse një policy e trajnuar bën diçka që nuk u demonstrua kurrë
Behavior cloning e trajton kontrollin si mësim të mbikëqyrur të zakonshëm: vëzhgim në hyrje, cak nyjesh në dalje, i përshtatur mbi kuadrot që ka regjistruar një njeri. Kjo qëndron vetëm përderisa roboti mbetet në gjendjet që njeriu ka vizituar, dhe kjo nuk ndodh. Një kapëse që mbyllet dyzet milisekonda më herët e zhvendos kubin dy milimetra jashtë pozicionit të demonstruar. Vëzhgimi tjetër është një që grupi i trajnimit nuk e përmban, kështu që veprimi atje është një ekstrapolim, dhe gjendja pas tij ndodhet edhe më larg. Shpërndarja e trajnimit dhe shpërndarja që policy e mësuar prodhon vetë janë dy gjëra të ndryshme, dhe e dyta largohet gjithnjë e më shumë nga e para gjatë episodit.
Ross, Gordon dhe Bagnell e përshkruan pikërisht këtë dështim reduktimi në vitin 2011 dhe e kanë sasiuar dëmin: një klasifikues që gabon me probabilitet e nën shpërndarjen e ekspertit mund të bëjë, në rendin e T në katror herë e, gabime gjatë një horizonti prej T hapash nën shpërndarjen që ai vetë prodhon, sepse një gabim gjeneron vëzhgime që eksperti nuk i ka prodhuar kurrë dhe gabimet akumulohen. Zgjidhja e tyre është algoritmi për të cilin flet kjo faqe. Ekzekuto policy-n aktuale, mblidh etiketa eksperti për gjendjet që ajo viziton, bashkoji me gjithçka të mbledhur deri tani, ritrajno, përsërit. Më shumë demonstrime të të njëjtit lloj nuk ndihmojnë, sepse rimostrojnë të njëjtën shpërndarje. Etiketat mbi gjendjet që policy i arrin ndihmojnë. Varianti i zbatuar këtu është i kontrolluar nga njeriu (HG-DAgger, Kelly et al.): policy e mban kontrollin derisa një person vendos se po gabon dhe merr kontrollin, kështu që korrigjimet prodhohen vetëm aty ku nevojiten, dhe krahut nuk i kërkohet kurrë të hyjë në një gjendje që operatori nuk do ta lejonte.
- Behavior cloning vlen vetëm mbi shpërndarjen e gjendjeve mbi të cilën është trajnuar.
- Dështimi vetëfuqizohet: një devijim i vogël prodhon një gjendje të panjohur, e cila prodhon një devijim edhe më të madh.
- Ilaçi nuk janë më shumë demonstrime, por etiketa mbi gjendjet që policy vetë i arrin.
- I kontrolluar nga njeriu do të thotë që operatori vendos kur të ndërhyjë, jo një vlerë autonomie.
Pse gabimi akumulohet
Zvarrit horizontin. Nën behavior cloning, kostoja shtesë e pritur rritet përafërsisht me katrorin e numrit të hapave, sepse çdo gabim prodhon gjendje që demonstrimet nuk i mbulojnë kurrë; një cikël agregimi e mban rritjen afër lineares (Ross et al., 2011).
Kthesat janë ilustruese, nga kufijtë në Ross et al. (2011), jo matje nga roboti yt. Ajo që ka rëndësi është forma, jo numrat.
Një raund DAgger, gjashtë hapa
Ky është cikli ashtu siç e ekzekuton platforma në të vërtetë, jo një skemë. Çdo hap më poshtë korrespondon me një kontroll në kokpit.
Përshkoje ciklin hap pas hapi
Të njëjtët gjashtë hapa, një nga një, me atë që ndodh te krahu dhe te grupi i të dhënave në secilin prej tyre.
Drejto policy-n dhe regjistroje
Fillo një xhirim inferimi mbi një checkpoint që ke trajnuar. Xhirimi regjistrohet ndërsa ndodh, me tekstin e detyrës së vetë xhirimit, kështu që kuadrot mund të përdoren më pas si të dhëna trajnimi, në vend që të jenë thjesht një video për t'u shikuar.
Merr kontrollin dhe korrigjo
Sapo krahu bën diçka të gabuar, shtyp Merr kontrollin. Runner-i pauzon dhe krahu është yti. Me një krah leader, ai fillimisht drejtohet te pozicioni follower dhe ia kalon kontrollin; me hyrje nga tastiera ose rrëshqitësit, të zgjedhura në fillim të xhirimit, marrja e kontrollit është menjëherë manuale. Korrigjo lëvizjen, pastaj ktheja kontrollin policy-t. Kuadrot e regjistruara gjatë marrjes së kontrollit shënohen automatikisht si ndërhyrje.
Klasifiko xhirimin
Vendos për çdo xhirim se çfarë ishte: regjistroje si korrigjim, mbaje si xhirim vlerësues, ose hidhe. Kuadrot e ngrira rreth një dorëzimi mbeten në direktorinë raw dhe nuk hyjnë kurrë në grupin e të dhënave.
Sinkronizo grupin e korrigjimeve
Korrigjimet grumbullohen në një grup korrigjimesh për secilën policy dhe shkojnë te bucket-i yt përmes sinkronizimit automatik në cloud. Në këtë pikë nuk bashkohet asgjë me asgjë; korrigjimet janë thjesht një grup të dhënash më vete.
Përpilo vetë përzierjen
Përdor Përpilo grupin e të dhënave për të ndërtuar bashkësinë e trajnimit për raundin tjetër: grupi origjinal plus korrigjimet, me episode të zgjedhura shprehimisht sipas burimit. Rezultati është një grup i zakonshëm i të dhënave që sinkronizohet dhe trajnohet si çdo tjetër. Asgjë nuk përzihet pas shpine, dhe nuk shtohen automatikisht të dhëna simulimi.
Vazhdo trajnimin nga checkpoint-i
Trajno grupin e përpiluar me Vazhdo nga checkpoint-i në vend që të nisësh nga modeli bazë, kështu që raundi fillon nga policy që sapo drejtove. Të jemi të saktë për çfarë është kjo: ajo inicializon peshat nga ai checkpoint, nuk është një rifillim i optimizer-it.
Çfarë të lehtëson platforma
Çdo pikë këtu është një hap i ciklit që përndryshe do ta ndërtoje dhe mirëmbaje vetë.
Marrje kontrolli pa krah leader
Zgjidh hyrje nga tastiera ose rrëshqitësit në fillim të xhirimit dhe mund të korrigjosh vetëm me një laptop. Lëvizjet e vogla nga tastiera kufizohen nga serveri në dy gradë për nyje dhe katër gradë te kapësja; caqet e rrëshqitësve janë absolute dhe serveri lëviz më së shumti gjashtë gradë drejt tyre për çdo thirrje. Kufizimet zbatohen nga serveri, jo nga ndërfaqja, kështu që një tast i ngecur nuk mund ta hedhë krahun jashtë kontrollit.
Dokumentacioni i teleoperimitNdërhyrjet të shënuara për çdo kuadro
Çdo kuadro e regjistruar ndërkohë që mban krahun bart një shenjë ndërhyrjeje, dhe kolona action bart pozicionin e plotë të komanduar. Ti nuk mirëmban një kolonë shenjash me dorë, as nuk e rreshton pas me indekset e kuadrove.
Formati i grupit të të dhënave LeRobotKlasifikim: korrigjim, vlerësim ose koshi
Çdo xhirim merr një vendim të vetëm në kartën e ruajtjes. Xhirimet e korrigjimit ushqejnë raundin tjetër të trajnimit, xhirimet vlerësuese qëndrojnë jashtë trajnimit që të mbeten një matje e pastër, dhe xhirimet e dështuara zhduken në vend që të helmojnë heshtazi përzierjen.
Sesionet dhe episodetPërpilo përzierjen shprehimisht
Bashkësinë e trajnimit për raundin n e montoni ju vetë: grupi origjinal plus korrigjimet, me episode të zgjedhura sipas burimit. Pa përzierje automatike, pa të dhëna simulimi të fshehura, dhe rezultati i përpiluar sillet si çdo grup tjetër i të dhënave.
Grupet e të dhënaveVazhdo nga një checkpoint
Drejto një xhirim trajnimi te checkpoint-i që sapo drejtove, në vend të modelit bazë, kështu që çdo raund fillon aty ku përfundoi i fundit. Ajo inicializon vetëm peshat; gjendja e optimizer-it nuk rikthehet, prandaj raundi i parë ia vlen të trajtohet si një test fizibiliteti.
TrajnimiGPU të marra me qira për raund
ACT dhe SmolVLA në një 4090, Pi0 dhe GR00T N1.5 ose N1.7 në një A100 me 80 GB. Ti nis një raund, pod-i ngrihet, checkpoint-et bien në bucket-in tënd, dhe paguan për orët që ka zgjatur raundi.
Çmimet e GPU-vePlanifiko raundet e tua
Norma e ndërhyrjes është metrika e progresit të ciklit: kuadrot e korrigjuara pjesëtuar me kuadrot e xhirimit. Cakto ku fillon dhe sa përfitim sjell çdo raund, dhe shiko sa raunde duhen për të arritur atje ku do.
| Raundi | Norma e ndërhyrjes | Kuadro të korrigjuara |
|---|---|---|
| 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 | |
Një model, jo një parashikim. Raundet reale janë të parregullta, dhe një raund që nuk e lëviz normën nuk të ka sjellë asgjë; pikërisht ky është sinjali që ia vlen të vëzhgohet.
Ndërtimi i vetë ciklit kundrejt ekzekutimit këtu
Asgjë nga kjo nuk është e pamundur me dorë. Është çështje se sa mbrëmje shkojnë në infrastrukturë në vend të raundeve, dhe ka një rresht ku ta bësh vetë është qartazi zgjidhja më e mirë.
| Hapi i ciklit | Vendosur me dorë | Në AY-Robots |
|---|---|---|
| Marrja e kontrollit në mes të xhirimit | Një krah leader, ose kodi yt vetjak mbi bus-in e servove. Marrjen e kontrollit me tastierë dhe rrëshqitës, përfshirë kufijtë e sigurisë, e shkruan dhe e debugon vetë mbi harduer real. | Krah leader, tastierë ose rrëshqitës, të zgjedhur kur fillon xhirimi. Kufizimet e këndeve jetojnë në server. |
| Shënimi i ndërhyrjeve | Ti shton kolonën e shenjave, e mban të rreshtuar me indeksin e kuadrove dhe e rikontrollon sa herë ndryshon formati i regjistrimit. | Çdo kuadro e regjistruar gjatë një marrjeje kontrolli shënohet automatikisht, me pozicionin e komanduar në kolonën action. |
| Renditja e xhirimeve | Konventa direktorish dhe skripta shell. Kuadrot e ngrira rreth një dorëzimi duhet t'i gjesh dhe t'i filtrosh vetë. | Një vendim për çdo xhirim në kartën e ruajtjes. Kuadrot e dorëzimit mbeten në direktorinë raw. |
| Ndërtimi i grupit të përzier | Skripta bashkimi për çdo version formati. Pjesa e mundimshme është t'i mbash koherentë indekset e episodeve, metadatat dhe referencat e videove. | Përpilim nga origjinali plus korrigjimet me përzgjedhje episodesh sipas burimit; rezultati është një grup i zakonshëm i të dhënave. |
| Fillimi i raundit tjetër nga policy e fundit | Ti e lidh vetë checkpoint-in te trainer-i, dhe mund të rikthesh edhe gjendjen e optimizer-it nëse do një rifillim të vërtetë. | Një fushë e vetme për checkpoint-in bazë. Vetëm pesha: inicializon nga checkpoint-i, nuk është rifillim i optimizer-it. |
| Kontrolli mbi ciklin e trajnimit | I plotë. Loss-i yt, orari yt, ablacionet e tua, instrumentimi yt, asnjë platformë në mes. Nëse pyetja kërkimore është vetë cikli i trajnimit, bëje me dorë. | Një rrugë fikse me një listë të caktuar policy-sh dhe hiperparametrat që ofron formulari, jo kod arbitrar. |
Punimet mbi të cilat mbështetet kjo
Lexoji këto para se të polemizosh me ciklin. Çdo lidhje shkon te faqja e abstraktit, jo pas një paywall-i.
- 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)
Punimi origjinal i DAgger: përcakton problemin e akumulimit të gabimeve, jep kufirin T-në-katror për qasjen thjesht të mbikëqyrur, dhe propozon agregimin e të dhënave nga gjendjet që vetë mësuesi i viziton.
- HG-DAgger: Interactive Imitation Learning with Human Experts
Michael Kelly, Chelsea Sidrane, Katherine Driggs-Campbell, Mykel J. Kochenderfer · 2019 · arXiv:1810.02890, ICRA 2019
Varianti i kontrolluar nga njeriu: eksperti vendos kur të marrë kontrollin, në vend që të pyetet për gjendje të zgjedhura nga policy; ky është modi që zbaton kjo platformë.
- EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning
Kunal Menda, Katherine Driggs-Campbell, Mykel J. Kochenderfer · 2019 · arXiv:1807.08364, IROS 2019
Rruga tjetër për të kontrolluar ndërhyrjet: mospajtimi mes ansambleve si sinjal besueshmërie për kur mësuesi mund të veprojë vetëm. Kontrast i dobishëm ndaj lënies së gjykimit një personi.
- 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
E trajton vëmendjen e njeriut si burimin e kufizuar dhe kërkon ndihmë vetëm në gjendje të reja ose të rrezikshme; kuadri i duhur kur një person mbikëqyr krahun gjithë pasditen.
- DART: Noise Injection for Robust Imitation Learning
Michael Laskey, Jonathan Lee, Roy Fox, Anca Dragan, Ken Goldberg · 2017 · CoRL 2017
Alternativa e ndershme: në vend që të korrigjohet policy online, shqetësohen demonstrimet që eksperti të tregojë rikuperimin. Vlen ta njohësh para se të angazhohesh me ndërhyrje.
- 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 e fushës: cilat forma feedback-u njerëzor ekzistojnë, cilat ndërfaqe i përcjellin, dhe ku qëndron ndërhyrja në stilin DAgger mes tyre.
- Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware
Tony Z. Zhao, Vikash Kumar, Sergey Levine, Chelsea Finn · 2023 · arXiv:2304.13705
Punimi i ACT. Action chunking është arsyeja pse një krah i lirë mund të drejtohet fare nga një policy imitimi, dhe ACT është policy-ja më e shpejtë për të përsëritur një raund 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
Një VLA me flow matching, ndërtuar mbi një model vision-language të para-trajnuar, dhe një nga checkpoint-et që mund të bësh fine-tuning këtu; punimi thotë shprehimisht se aftësitë e reja vijnë nga fine-tuning-u, jo vetëm nga modeli bazë.
Pyetje që bëjnë njerëzit në të vërtetë
A më duhet një krah leader për DAgger?
Jo. Zgjidh hyrje nga tastiera ose rrëshqitësit kur fillon xhirimin, dhe marrja e kontrollit është manuale që nga kuadri i parë, e drejtuar nga browser-i. Një krah leader është më i këndshëm për lëvizje të hollë, dhe është modi ku krahu vetëalinjohet para dorëzimit, por cikli funksionon edhe pa të.
Sa raunde DAgger më duhen?
Nuk ka një numër fiks të ndershëm. Vëzhgo normën e ndërhyrjes: nëse nuk bie nga një raund në tjetrin, ai raund nuk të ka sjellë asgjë, dhe problemi zakonisht qëndron te vendosja e detyrës, te kamerat ose te grupi origjinal i të dhënave, jo te numri i raundeve.
A është kjo DAgger e vërtetë apo diçka më e lirshme?
Është HG-DAgger, varianti i kontrolluar nga njeriu. DAgger klasike e pyet ekspertin për gjendje të zgjedhura nga policy, përfshirë gjendje ku asnjë operator me mend të shëndosha nuk do ta linte krahun real të arrinte. Këtu një person vendos kur të ndërhyjë, dhe vetëm ato segmente bëhen etiketa.
A trajnoj vetëm mbi korrigjimet?
Jo, dhe s'duhet ta bësh. Trajnimi vetëm mbi korrigjime jep një policy që di vetëm si të rikuperohet. Grupi i përpiluar i të dhënave janë të dhënat origjinale plus korrigjimet, me episode të zgjedhura shprehimisht nga secili burim.
A e rifillon Vazhdo nga checkpoint-i xhirimin e trajnimit?
Ajo inicializon peshat nga ai checkpoint. Gjendja e optimizer-it nuk rikthehet, pra nuk është një rifillim në kuptimin e ngushtë. Në praktikë peshat janë ato që bartin sjelljen e mësuar përgjatë një raundi, por vlen ta dish se cilën nga të dyja po merr.
Si llogaritet norma e ndërhyrjes?
Kuadrot e shënuara si ndërhyrje pjesëtuar me numrin total të kuadrove të xhirimit. Shfaqet në statusin e marrjes së kontrollit, dhe është numri i vetëm që ia vlen të shkruhet për çdo raund, krahas checkpoint-it që drejtove dhe përzierjes që trajnove.
Me cilat policy mund ta ekzekutoj këtë cikël?
ACT, SmolVLA, Pi0, dhe GR00T N1.5 ose N1.7. Vetë cikli është i pavarur nga policy, sepse prodhon vetëm grupe të dhënash dhe checkpoint-e; ndryshimi praktik është sa zgjat një raund dhe cilën GPU kërkon.
A mund ta bëj këtë pa pasur vetë një robot?
Mund të regjistrosh dhe të trajnosh pa robot duke blerë grupe të dhënash në marketplace ose duke porositur operatorë, dhe mund të drejtosh një SO-100 real në browser te faqja live. Një raund DAgger është ndryshe: kërkon një krah që mund ta marrësh nën kontroll në mes të xhirimit, kështu që për vetë ciklin të duhet harduer mbi tavolinën tënde.
A real SO-100, live in the browser. No signup, no hardware needed.
Ekzekuto raundin tënd të parë këtë javë
Instalo klientin, drejto një checkpoint që ke tashmë, dhe merr kontrollin herën e parë që krahu e kapërcen kubin. Ai xhirim i vetëm është një raund DAgger në miniaturë: gjithçka pas tij është përpilimi i përzierjes dhe pagesa e orëve të GPU-së.