Vegye át az irányítást, ha a policy hibázik, majd tanítsa be pontosan erre a korrekcióra.
A behavior cloning módszerrel betanított policy csak azokat az állapotokat ismeri, amelyeket a demonstrációk érintettek. A DAgger ezt a rést zárja be: adatokat gyűjt azokból az állapotokból, amelyeket maga a policy ér el. Az AY-Robots a teljes ciklust lefuttatja egy SO-100 karon: checkpointot vezet, futtatás közben átveszi az irányítást, megtartja a korrigált epizódokat, összeállítja a keveréket, és onnan folytatja a tanítást, ahol az imént vezetett checkpointnál abbahagyta.
- HG-DAgger, emberi döntés
- SO-100 / SO-101
- ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
- Intervenciós arány körönként
Miért tesz a betanított policy olyasmit, amit sosem demonstráltak neki
A behavior cloning a szabályozást hagyományos felügyelt tanulásként kezeli: bemenet a megfigyelés, kimenet az ízületi célérték, illesztve azokra a frame-ekre, amelyeket egy ember rögzített. Ez csak addig állja meg a helyét, amíg a robot azokon az állapotokon marad, amelyeket az ember bejárt - és nem marad ott. Egy markoló, amely negyven ezredmásodperccel korábban zár, két milliméterrel arrébb tolja a kockát a demonstrált pózból. A következő megfigyelés olyan, amely nincs benne a tanítóhalmazban, tehát az ott adott akció extrapoláció, és az utána következő állapot még távolabb esik. A tanítóeloszlás és az az eloszlás, amelyet a betanított policy ténylegesen létrehoz, két különböző dolog, és a második az epizód lefutása közben egyre messzebb sodródik az elsőtől.
Ross, Gordon és Bagnell pontosan ezt a redukciós hibát írta le 2011-ben, és számszerűsítette is a kárt: egy osztályozó, amely a szakértői eloszlás alatt e valószínűséggel téved, T lépéses horizonton, a saját maga által előidézett eloszlás alatt nagyságrendileg T négyzet szorozva e hibát követhet el, mert egy hiba olyan megfigyeléseket hoz létre, amelyeket a szakértő sosem produkált, és a hibák felhalmozódnak. Az ő megoldásuk az az algoritmus, amelyről ez az oldal szól: futtassuk az aktuális policyt, gyűjtsünk szakértői címkéket az általa meglátogatott állapotokhoz, aggregáljuk mindazzal, amit eddig gyűjtöttünk, tanítsuk újra, és ismételjük. Ugyanolyan típusú demonstrációból több nem segít, mert ugyanabból az eloszlásból mintavételez. Az viszont segít, ha az állapotokhoz, amelyeket a policy elér, vannak címkék. Az itt megvalósított változat human-gated (HG-DAgger, Kelly et al.): a policy addig tartja az irányítást, amíg egy ember el nem dönti, hogy elromlik a helyzet, és át nem veszi azt - így korrekció csak ott keletkezik, ahol tényleg szükséges, és a kart sosem kell olyan állapotba vezetni, amelyet a kezelő nem engedélyezne.
- A behavior cloning csak azon az állapoteloszláson érvényes, amelyen tanították.
- A hiba önerősítő: egy kis eltérés ismeretlen állapotot hoz létre, amely nagyobb eltérést szül.
- A megoldás nem több demonstráció, hanem címkék azokra az állapotokra, amelyeket maga a policy ér el.
- Human-gated azt jelenti: a kezelő dönt a beavatkozásról, nem egy megbízhatósági érték.
Miért halmozódik fel a hiba
Húzza el a horizontot. Behavior cloning esetén a várható többletköltség nagyjából a lépésszám négyzetével nő, mert minden hiba olyan állapotokat hoz létre, amelyeket a demonstrációk sosem fedtek le; egy aggregációs ciklus a növekedést közel lineárisan tartja (Ross et al., 2011).
Szemléltető görbék a Ross et al. (2011) korlátai alapján, nem az ön robotján mért adatok. A lényeg a görbe alakja, nem a számok.
Egy DAgger-kör hat lépésben
Így fut a ciklus valójában a platformon, nem csak vázlatosan. Az alábbi lépések mindegyike egy vezérlőelemnek felel meg a cockpitben.
Járja végig a ciklust
Ugyanaz a hat lépés, egyenként, azzal, hogy mi történik közben a karon és az adathalmazban.
Policy futtatása és rögzítése
Indítson egy inferenciafuttatást egy saját maga betanított checkpointtal szemben. A futtatás közben rögzítésre kerül, a lefutás saját feladatszövegével együtt, így a frame-ek utólag tanítási adatként is használhatók, nem csak megnézhető videóként.
Átvétel és korrekció
Abban a pillanatban, amikor a kar rosszat csinál, nyomja meg az Átvétel gombot. A runner szünetel, a kar az öné. Leader karral a rendszer először a follower pózba áll, majd átadja az irányítást; billentyűzetes vagy csúszkás bemenettel, amelyet a futtatás indításakor választott ki, az átvétel azonnal kézi. Korrigálja a mozgást, majd adja vissza az irányítást a policynek. Az átvétel alatt rögzített frame-ek automatikusan intervencióként kerülnek megjelölésre.
Futtatások szűrése
Futtatásonként döntsön: korrekcióként mentse, kiértékelő futtatásként tartsa meg, vagy vesse el. Az átadás körüli állóképek a raw könyvtárban maradnak, és sosem kerülnek be az adathalmazba.
Korrekciós adathalmaz szinkronizálása
A korrekciók egy policyhez tartozó, önálló korrekciós adathalmazban gyűlnek össze, és az automatikus felhő-szinkronon keresztül kerülnek a bucketbe. Ezen a ponton még semmi nem kerül összeolvasztásra; a korrekciók egyelőre egyszerűen egy önálló adathalmazt alkotnak.
A keverék önálló összeállítása
Az Adathalmaz összeállítása funkcióval építse fel a következő kör tanítóhalmazát: az eredeti adathalmaz plusz a korrekciók, forrásonként explicit módon kiválasztott epizódokkal. Az eredmény egy hétköznapi adathalmaz, amely úgy szinkronizál és tanít, mint bármelyik másik. Semmi nem kerül háttérben bekeverésre, és szimulációs adat sem adódik hozzá automatikusan.
Folytatás a checkpointtól
Tanítsa be az összeállított adathalmazt a Folytatás checkpointtól funkcióval a base modell helyett, hogy a kör pontosan onnan induljon, ahol az imént vezetett policy tartott. Pontosan fogalmazva: ez a súlyokat inicializálja az adott checkpointból, nem egy optimizer-resume.
Amit a platform leveszi a válláról
Minden itt felsorolt elem a ciklus egy olyan lépése, amelyet egyébként önnek kellene megépítenie és karbantartania.
Átvétel leader kar nélkül
Válasszon billentyűzetes vagy csúszkás bemenetet a futtatás indításakor, és egy laptoppal is korrigálhat. A billentyűzetes finomítást a szerver ízületenként két fokra, a markolónál négy fokra korlátozza; a csúszkás célértékek abszolútak, és a szerver hívásonként legfeljebb hat fokot mozdul feléjük. A korlátozás a szerverben van, nem a felületen, így egy beragadt billentyű nem tudja megdobni a kart.
Teleoperáció a dokumentációbanIntervenciók frame-enként megjelölve
Minden frame, amely az átvétel alatt keletkezik, intervenciós jelölést kap, az action oszlop pedig a teljes kért pózt tartalmazza. Nem kell kézzel karbantartania egy jelzőoszlopot, sem utólag frame-indexekhez igazítania.
LeRobot adathalmaz-formátumSzűrés: korrekció, kiértékelés vagy kuka
Minden futtatás egyetlen döntést kap a mentés kártyán. A korrekciós futtatások táplálják a következő tanítási kört, a kiértékelő futtatások kimaradnak a tanításból és így tiszta mérést adnak, a rossz futtatások pedig eltűnnek ahelyett, hogy csendben megmérgeznék a keveréket.
Sessions és epizódokA keverék explicit összeállítása
Az n. kör tanítóhalmazát ön állítja össze: eredeti adathalmaz plusz korrekciók, forrásonként kiválasztott epizódokkal. Nincs automatikus bekeverés, nincs rejtett szimulációs adat, és az összeállított eredmény úgy viselkedik, mint bármely más adathalmaz.
AdathalmazokFolytatás checkpointtól
Egy tanítási futtatást az imént vezetett checkpointra irányíthat a base modell helyett, így minden kör ott indul, ahol az előző véget ért. Csak a súlyokat inicializálja; az optimizer állapota nem áll helyre, ezért az első kört érdemes megvalósíthatósági tesztként kezelni.
TanításGPU-k körönként bérelve
ACT és SmolVLA egy 4090-en, Pi0 és GR00T N1.5 vagy N1.7 egy 80 GB-os A100-on. Elindít egy kört, a pod elindul, a checkpointok a bucketbe kerülnek, és csak azokért az órákért fizet, amíg a kör tartott.
GPU-árakTervezze meg a köröket
Az intervenciós arány a ciklus haladási mutatója: korrigált frame-ek osztva a futtatás frame-jeivel. Állítsa be, honnan indul és mennyit hoz körönként, majd nézze meg, hány kör kell a célig.
| Kör | Intervenciós arány | Korrigált frame-ek |
|---|---|---|
| 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 | |
Ez egy modell, nem előrejelzés. A valós körök egyenetlenek, és egy kör, amely nem mozdítja az arányt, semmit nem hozott - pontosan ezt érdemes figyelni.
Saját megépítés vagy futtatás itt
Ebből semmi nem lehetetlen kézzel. Csak arról szól, hány este megy el infrastruktúrára körök helyett, és van egy sor, ahol a kézi megoldás egyértelműen jobb.
| A ciklus lépése | Kézzel felépítve | Az AY-Robots-on |
|---|---|---|
| Átvétel futtatás közben | Leader kar, vagy saját kód a szervóbuszon. A billentyűzetes és csúszkás átvételt, beleértve a biztonságos korlátokat is, önnek kell megírnia és élő hardveren debuggolnia. | Leader kar, billentyűzet vagy csúszkák, a futtatás indításakor kiválasztva. A szögkorlátok a szerverben élnek. |
| Intervenciók megjelölése | Ön adja hozzá a jelzőoszlopot, tartja frame-indexhez igazítva, és minden formátumváltáskor újra ellenőrzi. | Minden, az átvétel alatt rögzített frame automatikusan megjelölésre kerül, a kért pózzal az action oszlopban. |
| Futtatások rendszerezése | Könyvtár-konvenciók és shell-szkriptek. Az átadás körüli állóképeket önnek kell megtalálnia és kiszűrnie. | Egy döntés futtatásonként a mentés kártyán. Az átadási frame-ek a raw könyvtárban maradnak. |
| A kevert adathalmaz felépítése | Formátumverziónkénti merge-szkriptek. Az epizódindexek, a metaadatok és a videóhivatkozások konzisztenssé tétele a fáradságos rész. | Összeállítás eredetiből plusz korrekciókból, forrásonkénti epizódválasztással; az eredmény egy normál adathalmaz. |
| A következő kör indítása az utolsó policyből | Ön maga köti be a checkpointot a trainerbe, és akár az optimizer állapotát is helyreállíthatja, ha valódi folytatást szeretne. | Egy mező a bázis-checkpointhoz. Csak súlyok: a checkpointból inicializál, nem optimizer-resume. |
| Kontroll a tanítási ciklus felett | Teljes. Saját loss, saját ütemezés, saját abláció, saját instrumentáció, semmilyen platform nincs útban. Ha a kutatási kérdés maga a tanítási ciklus, csinálja kézzel. | Egy rögzített útvonal egy meghatározott policy-listával és a formon elérhető hiperparaméterekkel, nem tetszőleges kód. |
Az írások, amelyekre ez épül
A ciklussal való vitatkozás előtt olvassa el ezeket. Minden link az absztrakt oldalára visz, nem egy fizetőfal mögé.
- 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)
Az eredeti DAgger-cikk: kimondja a hibafelhalmozódás problémáját, megadja a T-négyzet korlátot a tisztán felügyelt megközelítésre, és javasolja, hogy a tanuló által maga meglátogatott állapotokból gyűjtsünk adatot.
- HG-DAgger: Interactive Imitation Learning with Human Experts
Michael Kelly, Chelsea Sidrane, Katherine Driggs-Campbell, Mykel J. Kochenderfer · 2019 · arXiv:1810.02890, ICRA 2019
A human-gated változat: a szakértő dönti el, mikor veszi át az irányítást, ahelyett hogy a policy által választott állapotokról kérdeznék - ez az a mód, amelyet ez a platform megvalósít.
- EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning
Kunal Menda, Katherine Driggs-Campbell, Mykel J. Kochenderfer · 2019 · arXiv:1807.08364, IROS 2019
A beavatkozások kapuzásának másik módja: az ensemble-en belüli egyet nem értés mint megbízhatósági jel arra, hogy a tanuló mikor cselekedhet egyedül. Tanulságos ellenpont ahhoz képest, ha ezt egy emberre bízzuk.
- 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
Az emberi figyelmet szűkös erőforrásként kezeli, és csak új vagy kockázatos állapotoknál kér segítséget - ez a helyes keret, ha egy ember felügyeli a kart egy egész délutánon át.
- DART: Noise Injection for Robust Imitation Learning
Michael Laskey, Jonathan Lee, Roy Fox, Anca Dragan, Ken Goldberg · 2017 · CoRL 2017
A becsületes alternatíva: ahelyett, hogy a policyt menet közben korrigálnánk, a demonstrációkat zajosítjuk, hogy a szakértő mutassa be a visszatalálást. Érdemes ismerni, mielőtt elköteleződünk a beavatkozások mellett.
- 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
A terület térképe: milyen emberi visszajelzési formák léteznek, milyen felületeken keresztül jutnak érvényre, és hol helyezkedik el közöttük a DAgger-jellegű beavatkozás.
- Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware
Tony Z. Zhao, Vikash Kumar, Sergey Levine, Chelsea Finn · 2023 · arXiv:2304.13705
Az ACT-cikk. Az action chunking az oka annak, hogy egy olcsó kart egyáltalán vezérelni lehet imitációs policyvel, és az ACT az a policy, amellyel a leggyorsabban végig lehet futtatni egy DAgger-kört.
- π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
Egy flow matchingre épülő VLA, amely egy előre betanított vision-language modellre épül, és az egyik olyan checkpoint, amelyet itt finomhangolhat; a cikk kifejezetten kimondja, hogy az új képességek a finomhangolásból erednek, nem magából a base modellből.
Amit az emberek valóban kérdeznek
Kell-e leader kar a DAgger-hez?
Nem. Válasszon billentyűzetes vagy csúszkás bemenetet a futtatás indításakor, és az átvétel az első frame-től kézi lesz, a böngészőből vezérelve. A leader kar kellemesebb a finom mozgásokhoz, és ez az egyetlen mód, amelyben a kar átadás előtt önmagát igazítja, de a ciklus nélküle is működik.
Hány DAgger-kör kell?
Nincs őszinte, rögzített szám. Figyelje az intervenciós arányt: ha az egyik körről a másikra nem csökken, az a kör semmit nem hozott, és az ok általában a feladat felépítésében, a kamerákban vagy az eredeti adathalmazban keresendő, nem a körök számában.
Ez valódi DAgger, vagy csak hasonló hozzá?
Ez HG-DAgger, a human-gated változat. A klasszikus DAgger a policy által választott állapotokról kérdezi a szakértőt, köztük olyanokról is, ahová egy épeszű kezelő sosem engedne egy valódi kart. Itt egy ember dönti el, mikor avatkozik be, és csak ezek a szakaszok válnak címkévé.
Csak a korrekciókon tanítok?
Nem, és nem is szabadna. Ha kizárólag korrekciókon tanít, olyan policyt kap, amely csak a visszatalálást ismeri. Az összeállított adathalmaz az eredeti adatokból plusz a korrekciókból áll, forrásonként explicit módon kiválasztott epizódokkal.
A checkpointtól való folytatás folytatja a tanítási futtatást?
A súlyokat inicializálja abból a checkpointból. Az optimizer állapota nem áll helyre, tehát szigorú értelemben nem folytatás. A gyakorlatban a súlyok viszik át a tanult viselkedést a körön át, de érdemes tudni, melyiket kapja a kettő közül.
Hogyan számítják az intervenciós arányt?
Intervencióként megjelölt frame-ek osztva a futtatás összes frame-jével. Megjelenik az átvétel-státuszban, és ez az az egy szám, amelyet körönként érdemes feljegyezni, a vezetett checkpoint és a betanított keverék mellett.
Milyen policykkel futtatható ez a ciklus?
ACT, SmolVLA, Pi0, valamint GR00T N1.5 vagy N1.7. Maga a ciklus policy-független, mert csak adathalmazokat és checkpointokat állít elő; a gyakorlatban a modellek a kör hosszában és a szükséges GPU-ban különböznek.
Megvan ez saját robot nélkül is?
Rögzíteni és tanítani robot nélkül is lehet, a piactéren vásárolt adathalmazokkal vagy megbízott operátorokkal, és egy valódi SO-100-at a böngészőből is vezethet a live oldalon. Egy DAgger-kör más: olyan kar kell hozzá, amelyet futtatás közben átvehet, tehát magához a ciklushoz hardver kell a saját asztalára.
A real SO-100, live in the browser. No signup, no hardware needed.
Futtassa le az első kört ezen a héten
Telepítse a klienst, vezessen egy már meglévő checkpointot, és vegye át az irányítást, amint a kar először nyúl túl a kockán. Ez az egyetlen futtatás egy DAgger-kör kicsiben; minden, ami utána jön, a keverék összeállítása és a GPU-órák kifizetése.