Human-gated DAgger, otsast otsani

Võta üle, kui policy eksib, ja treeni just selle parandusega edasi.

Behavior cloninguga treenitud policy tunneb ainult neid olekuid, mida sinu demonstratsioonid läbisid. DAgger täidab selle lünga andmetega olekutest, kuhu policy ise jõuab. AY-Robots käivitab kogu tsükli SO-100 peal: sõida checkpointi, võta keset jooksu üle, hoia parandatud episoodid alles, pane kokku segu ja treeni edasi täpselt sellest checkpointist, mida äsja sõitsid.

  • HG-DAgger, inimjuhitud
  • SO-100 / SO-101
  • ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
  • Sekkumismäär iga vooru kohta

Miks treenitud policy teeb midagi, mida kunagi ei demonstreeritud

Behavior cloning käsitleb juhtimist tavalise juhendatud õppena: sisse läheb vaatlus, välja tuleb liigese sihtväärtus, sobitatuna kaadritega, mille inimene salvestas. See kehtib ainult seni, kuni robot püsib olekutes, kus see inimene käis, aga nii see ei lähe. Haaraja, mis sulgub nelikümmend millisekundit liiga vara, lükkab kuubikut kaks millimeetrit demonstreeritud asendist kõrvale. Järgmine vaatlus on selline, mida treeningandmestik ei sisalda, seega on seal tehtav tegevus ekstrapolatsioon, ning sellele järgnev olek jääb veelgi kaugemale. Treeningjaotus ja jaotus, mille õpitud policy tegelikult tekitab, on kaks erinevat asja, ning teine eemaldub episoodi kestel esimesest üha enam.

Ross, Gordon ja Bagnell kirjeldasid täpselt seda taandamise viga 2011. aastal ja arvutasid kahju suuruse: klassifikaator, mis eksib eksperdi jaotuse all tõenäosusega e, võib T-sammulise horisondi jooksul enda tekitatud jaotuse all teha suurusjärgus T ruudus korda e viga, sest üks viga tekitab vaatlusi, mida ekspert kunagi ei tekitanud, ja vead kuhjuvad. Nende lahendus on algoritm, millest see leht räägib: sõida praeguse policy'ga, kogu eksperdi märgendid olekute kohta, kuhu see jõuab, liida need kokku kõigega, mis seni kogutud, treeni uuesti, korda. Samalaadsed demonstratsioonid rohkem ei aita, sest need ammutavad sama jaotust. Märgendid olekutest, kuhu policy jõuab, aitavad. Siin rakendatud variant on inimjuhitud (HG-DAgger, Kelly et al.): policy hoiab kontrolli, kuni inimene otsustab, et asi läheb valesti, ja võtab üle, nii et parandused tekivad ainult seal, kus neid vaja on, ning käsivart ei saadeta kunagi olekusse, mida operaator ei lubaks.

  • Behavior cloning kehtib ainult jaotusel, millel see treeniti.
  • Viga võimendab iseennast: väike hälve tekitab tundmatu oleku, mis tekitab suurema hälbe.
  • Ravim ei ole rohkem demonstratsioone, vaid märgendid olekutest, kuhu policy ise jõuab.
  • Inimjuhitud tähendab, et operaator otsustab, millal sekkuda, mitte mingi autonoomiaskoor.

Miks viga kuhjub

Lohista horisonti. Behavior cloning'i puhul kasvab oodatav lisakulu ligikaudu sammude arvu ruuduga, sest iga viga tekitab olekuid, mida demonstratsioonid kunagi ei katnud; agregeerimistsükkel hoiab kasvu peaaegu lineaarsena (Ross et al., 2011).

200
1.0 %
Behavior cloning
400
DAgger
2.00
200×
Behavior cloning ÷ DAgger
0.000100200300400050100150200Oodatav lisakulu (piirväärtus)
Ülesande horisont (sammud)

Illustreerivad kõverad Ross et al. (2011) piirväärtuste põhjal, mitte sinu roboti mõõtmised. Oluline on kuju, mitte arvud.

Üks DAggeri voor kuues sammus

Nii see tsükkel platvormil tegelikult töötab, mitte skeem. Iga allolev samm vastab ühele juhtelemendile kokpitis.

Käi tsükkel läbi

Samad kuus sammu, ükshaaval, koos sellega, mis igal neist käsivarrel ja andmestikus toimub.

01

Käivita policy ja salvesta see

Käivita inferentsijooks enda treenitud checkpointi vastu. Jooks salvestatakse toimumise ajal koos jooksu enda ülesandetekstiga, nii et kaadrid sobivad hiljem treeningandmeteks, mitte ei jää lihtsalt videoks, mida saab ainult vaadata.

1 / 6

Mida platvorm sinu käest ära võtab

Iga siinne punkt on tsükli samm, mille sa muidu peaksid ise ehitama ja hooldama.

Ülevõtmine ilma leader armita

Vali jooksu alguses klaviatuuri või slideri sisestus, ja saad parandada ainuüksi sülearvutiga. Klaviatuuri nügimised on serveripoolselt piiratud kahe kraadiga liigese kohta ja nelja kraadiga haarajal; slideri sihtväärtused on absoluutsed ning server liigub nende suunas maksimaalselt kuus kraadi kutse kohta. Piirangud kehtestab server, mitte kasutajaliides, nii et kinnijäänud klahv ei saa käsivart visata.

Teleoperatsiooni dokumentatsioon

Interventsioonid märgitud kaadri kaupa

Iga kaader, mis salvestatakse ajal, mil käsivars on sinu käes, kannab interventsioonimärget, ja action-veerg sisaldab täielikku käsutatud asendit. Sa ei pea märgeveergu käsitsi hooldama ega hiljem kaadriindeksitega joondama.

LeRoboti andmestiku formaat

Sorteerimine: parandus, hindamine või prügikast

Iga jooks saab salvestamiskaardil ühe otsuse. Parandusjooksud toidavad järgmist treeningvooru, hindamisjooksud jäävad treeningust välja ja püsivad seetõttu puhta mõõtmisena, ning ebaõnnestunud jooksud kaovad, selle asemel et segu vaikselt rikkuda.

Sessioonid ja episoodid

Pane segu kokku selgesõnaliselt

Vooru n treeningkomplekti paned kokku sina: algne andmestik pluss parandused, episoodid valitud allika kaupa. Automaatset segamist ei toimu, varjatud simulatsiooniandmeid ei ole, ja kokkupandud tulemus käitub nagu iga teine andmestik.

Andmestikud

Jätka checkpointist

Suuna treeningjooks alusmudeli asemel checkpointi peale, mida äsja sõitsid, nii et iga voor algab sealt, kuhu eelmine lõppes. See lähtestab ainult kaalud; optimeerija olekut ei taastata, mistõttu tasub esimest vooru käsitleda teostatavuse testina.

Treening

GPU-d renditakse vooru kaupa

ACT ja SmolVLA 4090-l, Pi0 ning GR00T N1.5 või N1.7 80 GB A100-l. Käivitad vooru, pod tõuseb üles, checkpointid maanduvad sinu bucketisse, ja maksad tundide eest, mis voor võttis.

GPU hinnad

Planeeri oma voorud

Sekkumismäär on tsükli edenemise mõõdik: parandatud kaadrid jagatud jooksu kaadritega. Sea, kust alustad ja kui palju iga voor sulle annab, ning vaata, mitu vooru kulub sinnani, kuhu tahad jõuda.

30 %
25 %
3 000
VoorSekkumismäärParandatud kaadrid
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

Mudel, mitte prognoos. Päris voorud kulgevad tõmblevalt, ja voor, mis määra ei liiguta, ei ole midagi andnud; just seda tasub jälgida.

Tsükli ise ehitamine versus siin käivitamine

Midagi siin ei ole käsitsi tehtuna võimatu. Küsimus on, mitu õhtut kulub torustiku peale voorude asemel, ja on üks rida, kus omal käel tegemine on selgelt parem vastus.

Tsükli sammKäsitsi üles seatunaAY-Robotsil
Keset jooksu ülevõtmineLeader arm või oma kood servobussil. Klaviatuuri ja slideriga ülevõtmise, sh turvalised piirangud, kirjutad ja silud ise päris riistvaral.Leader arm, klaviatuur või sliderid, valitakse jooksu alguses. Nurgapiirangud asuvad serveris.
Interventsioonide märkimineLisad ise märgeveeru, hoiad selle kaadriindeksiga joondatud ja kontrollid seda igal salvestusformaadi muutumisel uuesti.Iga ülevõtmise ajal salvestatud kaader on automaatselt märgitud, koos käsutatud asendiga action-veerus.
Jooksude sorteerimineKataloogikonventsioonid ja shellskriptid. Üleandmise ümber olevad seisukaadrid pead ise leidma ja välja filtreerima.Üks otsus jooksu kohta salvestamiskaardil. Üleandmiskaadrid jäävad raw-kataloogi.
Segatud andmestiku ehitamineLiitmisskriptid iga formaadiversiooni jaoks. Episoodiindeksite, metaandmete ja videoviidete kooskõla hoidmine on tüütu töö.Pane kokku algsest pluss parandustest, episoodivalikuga allika kaupa; tulemus on tavaline andmestik.
Järgmise vooru alustamine viimasest policy'stÜhendad checkpointi ise treenijasse ja saad soovi korral taastada ka optimeerija oleku, seega päriselt jätkata.Üks väli baas-checkpointi jaoks. Ainult kaalud: lähtestab checkpointist, ei ole optimeerija jätkamine.
Kontroll treeningtsükli üleTäielik. Oma kadu, oma ajakava, oma ablatsioonid, oma instrumenteerimine, ükski platvorm ei sega. Kui uurimisküsimus ongi treeningtsükkel ise, tee see käsitsi.Kindel tee koos kindla policy'de nimekirja ja vormil pakutavate hüperparameetritega, mitte suvaline kood.

Tööd, millel see põhineb

Loe need läbi, enne kui tsükliga vaidled. Iga link viib kokkuvõtte lehele, mitte tasumüüri taha.

  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)

    DAggeri algupärane artikkel: sõnastab kuhjuva vea probleemi, annab T-ruudus piirväärtuse tavalisele juhendatud lähenemisele ja pakub välja andmete agregeerimise olekutest, mida õppija ise külastab.

  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

    Inimjuhitud variant: ekspert otsustab, millal kontroll üle võtta, selle asemel et teda küsitletaks olekute kohta, mille policy valis; just see režiim on siin platvormil rakendatud.

  3. EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning

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

    Teine viis sekkumisi juhtida: ansambli erimeelsus kindlustundemärgina selle kohta, millal õppija tohib üksi tegutseda. Kasulik vastand sellele, kui otsustaja on inimene.

  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

    Käsitleb inimese tähelepanu napi ressursina ja küsib abi ainult uudsete või riskantsete olekute puhul; õige raamistik, kui üks inimene jälgib käsivart terve pärastlõuna.

  5. DART: Noise Injection for Robust Imitation Learning

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

    Aus alternatiiv: selle asemel et parandada policy'd reaalajas, häirib demonstratsioone, nii et ekspert näitab taastumist. Tasub teada, enne kui sekkumistele pühendud.

  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

    Valdkonna kaart: millised inimtagasiside vormid on olemas, millised liidesed neid kannavad ja kuhu DAgger-laadne sekkumine nende hulgas paigutub.

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

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

    ACT-i artikkel. Action chunking on põhjus, miks odavat käsivart saab üldse matkiva policy'ga juhtida, ja ACT on kiireim policy, millega DAggeri vooru läbi teha.

  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

    Flow matchingu-põhine VLA, ehitatud eeltreenitud visioon-keele mudeli peale, ja üks checkpointidest, mida siin saab peenhäälestada; artikkel ütleb otsesõnu, et uued oskused tulevad peenhäälestusest, mitte üksnes alusmudelist.

Küsimused, mida päriselt küsitakse

Kas DAggeri jaoks on vaja leader armi?

Ei. Vali jooksu käivitamisel klaviatuuri või slideri sisestus, ja ülevõtmine on käsitsi juba esimesest kaadrist, juhituna brauserist. Leader arm on peenliigutusteks meeldivam ja see on ainus režiim, kus käsivars joondab end enne üleandmist ise, aga tsükkel töötab ka ilma selleta.

Mitu DAggeri vooru on vaja?

Ausat kindlat arvu ei ole. Jälgi sekkumismäära: kui see vooru vahel ei lange, ei andnud see voor midagi, ja probleem peitub tavaliselt ülesande seadistuses, kaamerates või algses andmestikus, mitte voorude arvus.

Kas see on päris DAgger või midagi lõdvemat?

See on HG-DAgger, inimjuhitud variant. Klassikaline DAgger küsitleb eksperti olekute kohta, mille policy valis, sealhulgas olekute kohta, kuhu ükski mõistlik operaator päris käsivart ei laseks jõuda. Siin otsustab inimene, millal sekkuda, ja märgendiks saavad ainult need lõigud.

Kas ma treenin ainult parandustel?

Ei, ja seda ei tasu ka teha. Ainult parandustel treenides saad policy, mis oskab ainult taastuda. Kokkupandud andmestik koosneb algsetest andmetest pluss parandustest, iga allika episoodid valitud selgesõnaliselt.

Kas checkpointist jätkamine jätkab treeningjooksu?

See lähtestab kaalud sellest checkpointist. Optimeerija olekut ei taastata, seega ei ole see ranges mõttes jätkamine (resume). Praktikas kannavad õpitud käitumist vooru üle just kaalud, aga tasub teada, kumba neist kahest sa tegelikult saad.

Kuidas sekkumismäär arvutatakse?

Interventsioonina märgitud kaadrid jagatud jooksu kaadrite koguarvuga. See kuvatakse ülevõtmise olekus ja on ainus arv, mis tasub iga vooru kohta üles kirjutada, koos sõidetud checkpointi ja treenitud seguga.

Milliste policy'dega saab seda tsüklit käivitada?

ACT, SmolVLA, Pi0 ning GR00T N1.5 või N1.7. Tsükkel ise ei sõltu policy'st, sest see toodab ainult andmestikke ja checkpointe; praktiline erinevus on selles, kui kaua voor kestab ja millist GPU-d see vajab.

Kas saan seda teha ilma robotit omamata?

Salvestada ja treenida saab ka ilma: ostes andmestikke turult või tellides operaatoreid, ning päris SO-100-ga saab brauseris sõita live-lehel. DAggeri voor on midagi muud: see vajab käsivart, mida saad keset jooksu üle võtta, seega tsükli enda jaoks on vaja riistvara enda laual.

Drive a real arm

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

Sõida oma esimene voor sel nädalal

Paigalda klient, sõida checkpointiga, mis sul juba on, ja võta üle esimesel korral, kui käsivars kuubikust mööda sirutab. See üks jooks on DAggeri voor pisikeses mõõtkavas: kõik pärast seda on segu kokkupanemine ja GPU-tundide eest maksmine.