Human-gated DAgger, ištisai

Perimkite valdymą, kai politika klysta, tada apmokykite ją remiantis būtent šia korekcija.

Politika, apmokyta Behavior Cloning būdu, žino tik tas būsenas, kurias aplankė jūsų demonstracijos. DAgger užpildo šią spragą duomenimis iš būsenų, kurias pasiekia pati politika. AY-Robots vykdo visą ciklą ant SO-100: valdote checkpoint, perimate valdymą seanso metu, išsaugote koreguotus epizodus, sudarote mišinį ir tęsiate apmokymą nuo to paties checkpoint, kurį ką tik valdėte.

  • HG-DAgger, žmogaus valdomas
  • SO-100 / SO-101
  • ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
  • Intervencijų dažnis per raundą

Kodėl apmokyta politika daro tai, kas niekada nebuvo demonstruota

Behavior Cloning traktuoja valdymą kaip įprastą mokymą su mokytoju: įeina stebėjimas, išeina sąnario tikslinė padėtis, o modelis pritaikomas prie kadrų, kuriuos įrašė žmogus. Tai veikia tik tol, kol robotas išlieka tose būsenose, kurias aplankė tas žmogus, o taip nebūna. Griebtuvas, kuris užsidaro keturiasdešimt milisekundžių per anksti, pastumia kubą du milimetrus nuo demonstruotos padėties. Kito stebėjimo mokymo aibėje nėra, tad veiksmas ten yra ekstrapoliacija, o kita būsena atsiduria dar toliau nuo mokymo duomenų. Mokymo skirstinys ir skirstinys, kurį iš tikrųjų sukuria apmokyta politika, yra du skirtingi dalykai, ir antrasis vis labiau nutolsta nuo pirmojo epizodui tęsiantis.

Ross, Gordon ir Bagnell 2011 metais aprašė būtent šį redukcijos trūkumą ir jį įvertino skaičiais: klasifikatorius, kuris pagal eksperto skirstinį klysta su tikimybe e, per T žingsnių horizontą pagal savo paties sukurtą skirstinį gali padaryti maždaug T kvadratu kartų e klaidų, nes viena klaida sukuria stebėjimus, kurių ekspertas niekada negeneravo, ir klaidos kaupiasi. Jų sprendimas yra būtent tas algoritmas, apie kurį šis puslapis. Paleisti dabartinę politiką, surinkti eksperto žymes toms būsenoms, kurias ji aplanko, sujungti jas su viskuo, kas surinkta iki šiol, iš naujo apmokyti, kartoti. Daugiau tokio paties tipo demonstracijų nepadeda, nes jos vėl imamos iš to paties skirstinio. Padeda žymės iš būsenų, kurias pasiekia pati politika. Čia įgyvendinta variacija yra žmogaus valdoma (HG-DAgger, Kelly et al.): politika išlaiko valdymą, kol žmogus nusprendžia, kad kažkas negerai, ir perima valdymą, todėl korekcijos atsiranda tik ten, kur jų reikia, o ranka niekada nesiunčiama į būseną, kurios operatorius neleistų.

  • Behavior Cloning galioja tik tame būsenų skirstinyje, kuriame buvo apmokytas.
  • Klaida save stiprina: nedidelis nuokrypis sukuria nepažįstamą būseną, o ši sukuria dar didesnį nuokrypį.
  • Sprendimas yra ne daugiau demonstracijų, o žymės iš būsenų, kurias pasiekia pati politika.
  • Žmogaus valdomas reiškia, kad įsikišimo momentą nusprendžia operatorius, o ne autonomijos įvertis.

Kodėl klaida kaupiasi

Pastumkite horizontą. Taikant Behavior Cloning, numatomos papildomos sąnaudos auga apytiksliai proporcingai žingsnių skaičiaus kvadratui, nes kiekviena klaida sukuria būsenas, kurių demonstracijos niekada neapėmė; agregavimo ciklas išlaiko augimą artimą tiesiniam (Ross et al., 2011).

200
1.0 %
Behavior Cloning
400
DAgger
2.00
200×
Behavior Cloning ÷ DAgger
0.000100200300400050100150200Numatomos papildomos sąnaudos (riba)
Užduoties horizontas (žingsniai)

Iliustracinės kreivės pagal Ross et al. (2011) ribas, o ne matavimai iš jūsų roboto. Svarbi kreivės forma, ne konkretūs skaičiai.

Vienas DAgger raundas, šeši žingsniai

Tai ciklas taip, kaip jis iš tikrųjų vyksta platformoje, o ne schema. Kiekvienas žemiau esantis žingsnis atitinka valdiklį kabinoje.

Ciklas žingsnis po žingsnio

Tie patys šeši žingsniai, po vieną, su tuo, kas kiekviename iš jų vyksta su ranka ir duomenų rinkinyje.

01

Paleisti politiką ir ją įrašyti

Paleiskite inferencijos seansą su savo apmokytu checkpoint. Seansas įrašomas jo metu, kartu su paties seanso užduoties tekstu, todėl kadrai vėliau tinka kaip mokymo duomenys, o ne lieka tik video, kurį galima peržiūrėti.

1 6

Ką platforma padaro už jus

Kiekvienas punktas čia yra ciklo žingsnis, kurį kitu atveju tektų kurti ir palaikyti patiems.

Perėmimas be leader rankos

Seanso pradžioje pasirinkite klaviatūros ar slider valdymą, ir korekcijoms užteks vieno nešiojamo kompiuterio. Klaviatūros paspaudimai serverio pusėje apriboti iki dviejų laipsnių kiekvienam sąnariui ir keturių griebtuvui; slider tikslai yra absoliutūs, o serveris kiekvienu kvietimu pajuda link jų ne daugiau kaip šešiais laipsniais. Ribojimai užtikrinami serveryje, ne naudotojo sąsajoje, tad įstrigęs klavišas negali mesti rankos į šalį.

Teleoperacijos dokumentacija

Intervencijos žymimos kiekviename kadre

Kiekvienas kadras, įrašytas kol valdote ranką, turi intervencijos žymą, o action stulpelyje yra visa nurodyta poza. Jums nereikia rankiniu būdu pildyti žymų stulpelio ar vėliau derinti jo su kadrų indeksais.

LeRobot duomenų rinkinio formatas

Atranka: korekcija, vertinimas ar šiukšlinė

Kiekvienas seansas gauna po vieną sprendimą išsaugojimo kortelėje. Korekcijos seansai patenka į kitą apmokymo raundą, vertinimo seansai lieka už apmokymo ribų ir todėl išlieka švarus matavimas, o nepavykę seansai tiesiog dingsta, užuot tyliai užteršę mišinį.

Seansai ir epizodai

Sudaryti mišinį aiškiai

N-tojo raundo mokymo aibę sudarote patys: originalų duomenų rinkinį plius korekcijas, epizodus atrinkdami pagal šaltinį. Jokio automatinio maišymo, jokių paslėptų simuliacijos duomenų, o sudarytas rezultatas elgiasi kaip bet kuris kitas duomenų rinkinys.

Duomenų rinkiniai

Tęsti nuo checkpoint

Nukreipkite apmokymo seansą į checkpoint, kurį ką tik valdėte, o ne į bazinį modelį, kad kiekvienas raundas prasidėtų ten, kur baigėsi ankstesnis. Inicializuojami tik svoriai; optimizatoriaus būsena neatkuriama, todėl pirmąjį raundą verta traktuoti kaip įgyvendinamumo patikrą.

Apmokymas

GPU nuomojami raundais

ACT ir SmolVLA ant 4090, Pi0 ir GR00T N1.5 arba N1.7 ant A100 su 80 GB. Paleidžiate raundą, pod užsiveda, checkpoint atsiranda jūsų bucket, o mokate tik už raundui sugaištas valandas.

GPU kainos

Suplanuokite raundus

Intervencijų dažnis yra ciklo pažangos rodiklis: koreguoti kadrai padalinti iš seanso kadrų skaičiaus. Nustatykite pradinę reikšmę ir kiek naudos duoda kiekvienas raundas, ir pamatykite, kiek raundų reikia norimam rezultatui pasiekti.

30 %
25 %
3 000
RaundasIntervencijų dažnisKoreguoti kadrai
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

Modelis, ne prognozė. Tikri raundai vyksta nevienodai, o raundas, kuris nepakeičia dažnio, nieko nedavė; būtent tai ir verta stebėti.

Ciklą kurti patiems ar vykdyti čia

Nieko iš to neįmanoma padaryti rankomis. Klausimas tik, kiek vakarų nueina infrastruktūrai vietoj raundų, ir yra viena eilutė, kur savarankiškas sprendimas akivaizdžiai geresnis.

Ciklo žingsnisSusikurti patiemsSu AY-Robots
Perėmimas seanso metuLeader ranka arba nuosavas kodas servo magistralėje. Klaviatūros ir slider perėmimą, įskaitant saugias ribas, patys rašote ir derinate ant tikros aparatinės įrangos.Leader ranka, klaviatūra arba slideriai, pasirenkami seanso pradžioje. Kampų ribojimai gyvena serveryje.
Intervencijų žymėjimasPatys pridedate žymų stulpelį, išlaikote jį suderintą su kadrų indeksu ir tikrinate iš naujo kaskart pasikeitus įrašymo formatui.Kiekvienas per perėmimą įrašytas kadras pažymimas automatiškai, su nurodyta poza action stulpelyje.
Seansų rūšiavimasKatalogų susitarimai ir shell skriptai. Sustingusius kadrus aplink perdavimą turite patys surasti ir atfiltruoti.Vienas sprendimas kiekvienam seansui išsaugojimo kortelėje. Perdavimo kadrai lieka raw kataloge.
Mišraus duomenų rinkinio kūrimasSujungimo skriptai kiekvienai formato versijai. Suderinti epizodų indeksus, metaduomenis ir video nuorodas - pati varginanti dalis.Sudarymas iš originalo plius korekcijų, epizodus atrenkant pagal šaltinį; rezultatas yra normalus duomenų rinkinys.
Kito raundo pradėjimas nuo paskutinės politikosCheckpoint į treniravimo procesą sujungiate patys ir, jei norite tikro tęsimo, galite atkurti ir optimizatoriaus būseną.Vienas laukas baziniam checkpoint. Tik svoriai: inicializuojama iš checkpoint, tai nėra optimizer resume.
Kontrolė virš apmokymo cikloVisiška. Jūsų nuostolio funkcija, jūsų grafikas, jūsų abliacijos, jūsų instrumentacija, jokios platformos tarpe. Jei tyrimo klausimas yra pats apmokymo ciklas, darykite tai rankomis.Fiksuotas kelias su nustatytu politikų sąrašu ir hiperparametrais, kuriuos siūlo forma, o ne laisvas kodas.

Darbai, kuriais tai remiasi

Prieš ginčydamiesi dėl ciklo, perskaitykite šiuos darbus. Kiekviena nuoroda veda į santraukos puslapį, o ne už mokėjimo sienos.

  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)

    Originalus DAgger darbas: jame suformuluojama kaupiamosios klaidos problema, pateikiama T kvadratu riba grynai prižiūrimam mokymui ir siūloma agreguoti duomenis iš būsenų, kurias aplanko pats mokinys.

  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

    Žmogaus valdoma variacija: ekspertas pats nusprendžia, kada perimti valdymą, o ne yra klausiamas apie būsenas, kurias pasirinko politika; būtent šį režimą ir įgyvendina ši platforma.

  3. EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning

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

    Kitas būdas valdyti intervencijas: ansamblio narių nesutarimas kaip patikimumo signalas, kada mokinys gali veikti savarankiškai. Naudingas priešpriešinis atvejis sprendimui, kurį priima žmogus.

  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

    Žmogaus dėmesį traktuoja kaip ribotą išteklių ir pagalbos prašo tik naujose ar rizikingose būsenose; tinkamas požiūris, kai vienas žmogus prižiūri ranką visą popietę.

  5. DART: Noise Injection for Robust Imitation Learning

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

    Sąžininga alternatyva: vietoj politikos korekcijos realiu laiku, demonstracijos yra trikdomos, kad ekspertas parodytų, kaip atsigauti. Verta žinoti prieš apsisprendžiant dėl intervencijų.

  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

    Srities žemėlapis: kokios žmogaus grįžtamojo ryšio formos egzistuoja, kokios sąsajos jas perteikia ir kur tarp jų yra DAgger tipo intervencija.

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

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

    ACT darbas. Action chunking yra priežastis, kodėl pigią ranką apskritai gali valdyti imitacinio mokymosi politika, o ACT yra greičiausia politika, su kuria galima kartoti DAgger raundus.

  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

    VLA modelis, sukurtas flow matching principu ant iš anksto apmokyto vision-language modelio, ir vienas iš checkpoint, kurį galima fine-tune čia; darbe aiškiai teigiama, kad nauji įgūdžiai atsiranda iš fine-tuning, o ne vien iš bazinio modelio.

Klausimai, kuriuos žmonės iš tikrųjų užduoda

Ar DAgger reikalinga leader ranka?

Ne. Seanso pradžioje pasirinkite klaviatūros ar slider valdymą, ir perėmimas bus rankinis nuo pat pirmo kadro, valdomas iš naršyklės. Leader ranka patogesnė smulkiems judesiams ir tai vienintelis režimas, kuriame ranka pati susiderina prieš perduodama valdymą, bet ciklas veikia ir be jos.

Kiek DAgger raundų reikia?

Sąžiningo fiksuoto skaičiaus nėra. Stebėkite intervencijų dažnį: jei jis nemažėja nuo vieno raundo iki kito, tas raundas nieko nedavė, o priežastis dažniausiai slypi užduoties sąrangoje, kamerose ar originaliame duomenų rinkinyje, o ne raundų skaičiuje.

Ar tai tikras DAgger, ar kažkas laisvesnio?

Tai HG-DAgger, žmogaus valdoma variacija. Klasikinis DAgger klausia eksperto apie būsenas, kurias pasirinko politika, įskaitant tokias, į kurias joks sveiko proto operatorius neleistų tikrai rankai patekti. Čia žmogus nusprendžia, kada įsikišti, ir tik tie segmentai tampa žymėmis.

Ar apmokoma tik korekcijomis?

Ne, ir taip daryti nereikėtų. Apmokant tik korekcijomis gaunama politika, kuri moka tik atsigauti. Sudarytą duomenų rinkinį sudaro originalūs duomenys plius korekcijos, aiškiai atrenkant epizodus iš kiekvieno šaltinio.

Ar tęsimas nuo checkpoint atnaujina patį apmokymo seansą?

Tai inicializuoja svorius iš to checkpoint. Optimizatoriaus būsena neatkuriama, tad griežtąja prasme tai nėra tęsimas (resume). Praktikoje būtent svoriai perneša išmoktą elgesį per raundą, bet verta žinoti, kurį iš dviejų variantų gaunate.

Kaip skaičiuojamas intervencijų dažnis?

Kadrai, pažymėti kaip intervencija, padalinti iš viso seanso kadrų skaičiaus. Jis rodomas perėmimo būsenoje ir yra tas vienas skaičius, kurį verta užsirašyti kiekvienam raundui kartu su valdytu checkpoint ir apmokytu mišiniu.

Su kuriomis politikomis galima vykdyti šį ciklą?

ACT, SmolVLA, Pi0 ir GR00T N1.5 arba N1.7. Pats ciklas nepriklauso nuo konkrečios politikos, nes jis tik sukuria duomenų rinkinius ir checkpoint; praktinis skirtumas yra tai, kiek trunka raundas ir kokios GPU jam reikia.

Ar tai įmanoma neturint nuosavo roboto?

Įrašyti ir apmokyti galima ir be jo: perkant duomenų rinkinius rinkoje arba samdant operatorius, o tikrą SO-100 galima valdyti naršyklėje live puslapyje. DAgger raundas yra kitoks reikalas, jam reikia rankos, kurią galima perimti seanso metu, todėl pačiam ciklui reikalinga aparatinė įranga ant nuosavo stalo.

Drive a real arm

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

Įvykdykite pirmąjį raundą šią savaitę

Įsidiekite klientą, valdykite jau turimą checkpoint ir perimkite valdymą pirmą kartą, kai ranka pralenkia kubą. Tas vienas seansas yra DAgger raundas miniatiūroje: viskas po to - tik mišinio sudarymas ir mokėjimas už GPU valandas.