Kumuha ng kontrol kapag nagkamali ang policy, pagkatapos ay isanay ito sa iyong pagwawasto.
Ang policy na sinanay sa pamamagitan ng behavior cloning ay alam lang ang mga state na naabot ng iyong mga demonstrasyon. Sinasarhan ng DAgger ang puwang na iyon gamit ang data mula sa mga state na naaabot mismo ng policy. Pinapatakbo ng AY-Robots ang buong loop sa isang SO-100: patakbuhin ang isang checkpoint, kumuha ng kontrol habang tumatakbo, itago ang mga naitamang episode, buuin ang timpla, at ituloy ang training mula sa checkpoint na kagagamit mo lang.
- HG-DAgger, kontrolado ng tao
- SO-100 / SO-101
- ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
- Rate ng interbensyon kada round
Bakit gumagawa ang sinanay na policy ng bagay na hindi kailanman idinemonstra
Tinuturing ng behavior cloning ang kontrol bilang ordinaryong supervised learning: observation papasok, joint target palabas, naka-fit sa mga frame na nairekord ng tao. Tama lang iyon habang nananatili ang robot sa mga state na naabot ng taong iyon, at hindi iyon ang nangyayari. Ang isang gripper na nagsasara ng apatnapung millisecond nang maaga ay nagtutulak sa cube ng dalawang milimetro palayo sa idinemonstrang pose. Ang susunod na observation ay wala sa training set, kaya ang aksyon doon ay isang extrapolation, at ang state pagkatapos noon ay lalong lumalayo pa. Ang training distribution at ang distribution na talagang nililikha ng natutunang policy ay dalawang magkaibang bagay, at ang ikalawa ay lumalayo sa una habang tumatakbo ang episode.
Inilarawan nina Ross, Gordon, at Bagnell ang eksaktong pagkabigong ito noong 2011 at binigyan nila ito ng bilang: ang isang classifier na nagkakamali nang may probability e sa ilalim ng expert distribution ay maaaring magkamali sa antas ng T-kuwadrado beses e sa loob ng horizon na T na hakbang, sa ilalim ng distribution na sarili niyang nililikha, dahil ang isang pagkakamali ay lumilikha ng mga observation na hindi kailanman ginawa ng eksperto, at nag-iipon ang mga error. Ang solusyon nila ang algorithm na paksa ng pahinang ito: patakbuhin ang kasalukuyang policy, kolektahin ang mga label ng eksperto para sa mga state na naaabot nito, pagsamahin ang mga ito sa lahat ng nakolekta na, sanayin muli, ulitin. Hindi tumutulong ang karagdagang demonstrasyon ng parehong uri, dahil muli lang nilang sina-sample ang parehong distribution. Ang mga label sa mga state na naaabot ng policy ang tumutulong. Ang variant na ipinatupad dito ay human-gated (HG-DAgger, Kelly et al.): pinananatili ng policy ang kontrol hanggang sa magpasya ang isang tao na may mali na at kukuha ng kontrol, kaya ang mga pagwawasto ay nalilikha lamang kung saan kailangan, at hindi kailanman hinihiling sa arm na pumunta sa isang state na hindi papayagan ng operator.
- Balido lang ang behavior cloning sa distribution ng mga state na pinagsanayan nito.
- Pinalalakas ng sarili ang pagkabigo: isang maliit na paglihis ay lumilikha ng hindi pamilyar na state, na lumilikha naman ng mas malaking paglihis.
- Ang lunas ay hindi karagdagang demonstrasyon, kundi mga label sa mga state na naaabot mismo ng policy.
- Ang human-gated ay nangangahulugang ang operator ang nagpapasya kung kailan mananghali, hindi ang isang autonomy score.
Bakit nag-iipon ang error
I-drag ang horizon. Sa ilalim ng behavior cloning, lumalago ang inaasahang karagdagang gastos nang halos parisukat sa bilang ng mga hakbang, dahil ang bawat pagkakamali ay lumilikha ng mga state na hindi kailanman nasakop ng mga demonstrasyon; pinapanatili ng aggregation loop ang paglago na malapit sa linear (Ross et al., 2011).
Mga ilustratibong kurba mula sa mga bound sa Ross et al. (2011), hindi mga sukat mula sa iyong robot. Ang mahalaga ay ang hugis, hindi ang mga numero.
Isang DAgger round, anim na hakbang
Ito ang loop kung paano talaga ito pinapatakbo ng platform, hindi lang isang schema. Bawat hakbang sa ibaba ay tumutugma sa isang control sa cockpit.
Dumaan sa loop
Ang parehong anim na hakbang, isa-isa, kasama ang nangyayari sa arm at sa dataset sa bawat isa.
Patakbuhin ang policy at i-record ito
Simulan ang isang inference run gamit ang isang checkpoint na sinanay mo. Nire-record ang run habang nagaganap ito, kasama ang task text ng mismong run, para magamit ang mga frame bilang training data pagkatapos, sa halip na maging video na panonoorin mo lang.
Kumuha ng kontrol at iwasto
Sa sandaling gumawa ang arm ng maling galaw, pindutin ang Kumuha ng Kontrol. Nagpa-pause ang runner at sa iyo na ang arm. Gamit ang leader arm, unang pupunta ito sa follower pose bago ilipat ang kontrol; gamit ang keyboard o slider input, na pinili sa simula ng run, manual agad ang pagkuha ng kontrol. Iwasto ang galaw, pagkatapos ibalik ang kontrol sa policy. Awtomatikong minamarkahan bilang interbensyon ang mga frame na nairekord habang hawak mo ang kontrol.
I-triage ang run
Magpasya kada run kung ano ito: itala ito bilang pagwawasto, itago bilang evaluation run, o itapon. Ang mga freeze frame sa paligid ng handover ay nananatili sa raw directory at hindi kailanman pumapasok sa dataset.
I-sync ang correction dataset
Naiipon ang mga pagwawasto sa isang correction dataset kada policy at napupunta sa iyong bucket sa pamamagitan ng awtomatikong cloud sync. Wala pang nagsasamahan sa puntong ito; ang mga pagwawasto ay isa lamang hiwalay na dataset.
Buuin ang timpla mismo
Gamitin ang Buuin ang Dataset para bumuo ng training set para sa susunod na round: ang orihinal na dataset kasama ang mga pagwawasto, na may mga episode na pinili nang tuwiran kada source. Ang resulta ay isang ordinaryong dataset na nag-sync at nagsasanay tulad ng ibang dataset. Walang ihahalo nang lihim, at walang simulation data na idinaragdag nang awtomatiko.
Ituloy ang training mula sa checkpoint
Isanay ang binuong dataset gamit ang Ituloy mula sa Checkpoint sa halip na magsimula sa base model, para magsimula ang round mula sa policy na kagagamit mo lang. Maging eksakto tungkol dito: ini-initialize nito ang mga weight mula sa checkpoint na iyon, hindi ito isang optimizer resume.
Ano ang inaalis ng platform sa iyong pasanin
Bawat item dito ay isang hakbang ng loop na kung hindi ay ikaw mismo ang bubuo at mag-aalaga.
Pagkuha ng kontrol nang walang leader arm
Piliin ang keyboard o slider input sa simula ng run at makakapag-wasto ka na gamit lang ang laptop. Ang mga keyboard nudge ay naka-clamp sa server-side sa dalawang degree kada joint at apat sa gripper; absolute ang mga slider target at gumagalaw ang server nang hanggang anim na degree patungo rito kada call. Ang mga clamp ay ipinapatupad ng server, hindi ng UI, kaya hindi maiitulak ang arm ng isang natigil na key.
Docs ng teleoperationMinamarkahan ang mga interbensyon kada frame
Bawat frame na nairekord habang hawak mo ang arm ay may dalang intervention flag, at ang action column ay may dalang kumpletong commanded pose. Hindi mo na kailangang mag-alaga ng flag column nang manu-mano o i-align ito sa mga frame index pagkatapos.
Format ng LeRobot dataset (sa Ingles)Triage: pagwawasto, ebalwasyon, o tapon
Bawat run ay may isang desisyon sa save card. Ang mga correction run ay pumapasok sa susunod na training round, ang mga evaluation run ay nananatiling labas sa training para manatiling malinis na sukatan, at ang mga masamang run ay nawawala sa halip na tahimik na sirain ang timpla.
Mga session at episodeBuuin ang timpla nang tuwiran
Ang training set para sa round n ay ikaw mismo ang bumubuo: orihinal na dataset kasama ang mga pagwawasto, mga episode na pinili kada source. Walang awtomatikong paghahalo, walang lihim na simulation data, at ang nabuong resulta ay kumikilos tulad ng ibang dataset.
Mga datasetItuloy mula sa isang checkpoint
Ituro ang isang training run sa checkpoint na kagagamit mo lang sa halip na sa base model, para ang bawat round ay magsimula kung saan natapos ang huli. Ini-initialize lamang nito ang mga weight; hindi ibinabalik ang optimizer state, kaya karapat-dapat ituring ang round 1 bilang isang feasibility test.
TrainingMga GPU na inuupahan kada round
ACT at SmolVLA sa isang 4090, Pi0 at GR00T N1.5 o N1.7 sa isang A100 na may 80 GB. Sinimulan mo ang isang round, gumagana ang pod, napupunta ang mga checkpoint sa iyong bucket, at binabayaran mo lang ang mga oras na ginamit ng round.
Presyo ng GPUPlanuhin ang mga round
Ang rate ng interbensyon ang progress metric ng loop: mga naitamang frame hinati sa mga frame ng run. Itakda kung saan ka magsisimula at kung gaano karami ang naidudulot ng bawat round, at tingnan kung ilang round ang kailangan para marating ang gusto mo.
| Round | Rate ng interbensyon | Mga naitamang frame |
|---|---|---|
| 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 | |
Isang modelo, hindi isang forecast. Hindi pantay ang takbo ng mga tunay na round, at ang isang round na hindi nakapagbago sa rate ay walang naidulot; iyon mismo ang senyales na dapat bantayan.
Ang bumuo ng loop mismo laban sa pagpapatakbo dito
Wala sa mga ito ang imposibleng gawin nang manu-mano. Tanong lang ito kung ilang gabi ang mapupunta sa plumbing sa halip na sa mga round, at may isang hilera kung saan mas maganda talaga ang gawin ito mismo.
| Hakbang ng loop | Manu-manong i-setup | Sa AY-Robots |
|---|---|---|
| Pagkuha ng kontrol habang tumatakbo | Isang leader arm, o sarili mong code sa servo bus. Ang pagkuha ng kontrol gamit ang keyboard at slider, kasama ang mga safe limit, ay isang bagay na isusulat mo at ide-debug sa tunay na hardware. | Leader arm, keyboard, o slider, pinili kapag nagsimula ang run. Nakatira sa server ang mga angle clamp. |
| Pagmamarka ng mga interbensyon | Idadagdag mo ang flag column, panatilihin itong naka-align sa frame index, at susuriin muli ito tuwing nagbabago ang recording format. | Awtomatikong minamarkahan ang bawat frame na nairekord habang may takeover, kasama ang commanded pose sa action column. |
| Pag-uuri-uri ng mga run | Mga directory convention at shell script. Ikaw ang maghahanap at magsasala ng mga freeze frame sa paligid ng handover. | Isang desisyon kada run sa save card. Nananatili sa raw directory ang mga handover frame. |
| Pagbuo ng pinagsamang dataset | Mga merge script kada format version. Ang pagpapanatili ng pagkakapareho ng episode index, metadata, at video reference ang mahirap na bahagi. | Buuin mula sa orihinal kasama ang mga pagwawasto na may episode selection kada source; ang resulta ay isang normal na dataset. |
| Pagsisimula ng susunod na round mula sa huling policy | Ikaw mismo ang mag-uugnay sa checkpoint sa trainer, at maaari mo ring ibalik ang optimizer state kung gusto mo ng tunay na resume. | Isang field para sa base checkpoint. Weights lang: ini-initialize mula sa checkpoint, hindi ito optimizer resume. |
| Kontrol sa training loop | Kumpleto. Sarili mong loss, sarili mong schedule, sarili mong ablation, sarili mong instrumentation, walang platform na hahadlang. Kung ang research question mismo ay ang training loop, gawin ito nang manu-mano. | Isang nakatakdang landas na may nakatakdang listahan ng mga policy at ang mga hyperparameter na inilalantad ng form, hindi arbitraryong code. |
Ang mga papel na pinagbatayan nito
Basahin ang mga ito bago mo tutulan ang loop. Ang bawat link ay papunta sa abstract page, hindi sa paywall.
- 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)
Ang orihinal na DAgger paper: inilalahad nito ang problema ng compounding error, binibigyan ang T-kuwadradong bound para sa payak na supervised approach, at iminumungkahi ang pag-aggregate ng data mula sa mga state na naaabot mismo ng learner.
- HG-DAgger: Interactive Imitation Learning with Human Experts
Michael Kelly, Chelsea Sidrane, Katherine Driggs-Campbell, Mykel J. Kochenderfer · 2019 · arXiv:1810.02890, ICRA 2019
Ang human-gated na variant: ang eksperto ang nagpapasya kung kailan kukuha ng kontrol sa halip na tanungin tungkol sa mga state na pinili ng policy; ito ang mode na ipinatutupad ng platform na ito.
- EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning
Kunal Menda, Katherine Driggs-Campbell, Mykel J. Kochenderfer · 2019 · arXiv:1807.08364, IROS 2019
Ang ibang paraan para i-gate ang mga interbensyon: hindi pagkakasundo ng ensemble bilang confidence signal kung kailan maaaring kumilos nang mag-isa ang learner. Kapaki-pakinabang na kontrast sa pagpapahintulot sa isang tao na humatol dito.
- 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
Tinuturing ang atensyon ng tao bilang iisang limitadong resource at humihingi lang ng tulong sa mga bago o mapanganib na state, ang tamang frame kapag iisang tao ang nagbabantay sa arm sa buong hapon.
- DART: Noise Injection for Robust Imitation Learning
Michael Laskey, Jonathan Lee, Roy Fox, Anca Dragan, Ken Goldberg · 2017 · CoRL 2017
Ang tapat na alternatibo: sa halip na iwasto ang policy online, guluhin ang mga demonstrasyon para ipakita ng eksperto ang recovery. Karapat-dapat malaman bago mag-commit sa mga interbensyon.
- 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
Ang mapa ng larangan: anong mga anyo ng human feedback ang umiiral, anong mga interface ang nagdadala sa mga ito, at kung saan nakaupo ang interbensyong DAgger-style sa kanila.
- Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware
Tony Z. Zhao, Vikash Kumar, Sergey Levine, Chelsea Finn · 2023 · arXiv:2304.13705
Ang ACT paper. Ang action chunking ang dahilan kung bakit kahit isang murang arm ay mapapatakbo ng imitation policy, at ang ACT ang pinakamabilis na policy na magamit sa pag-ulit ng isang DAgger round.
- π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
Isang flow-matching VLA na binuo sa ibabaw ng isang pretrained vision-language model, at isa sa mga checkpoint na maaari mong i-fine-tune dito; malinaw na sinasabi ng papel na ang mga bagong kasanayan ay nagmumula sa fine-tuning, hindi sa base model lamang.
Mga tanong na talagang itinatanong ng mga tao
Kailangan ko ba ng leader arm para sa DAgger?
Hindi. Piliin ang keyboard o slider input kapag sinimulan mo ang run, at manual na ang pagkuha ng kontrol mula sa unang frame, kontrolado mula sa browser. Mas kaaya-aya ang leader arm para sa maiinam na galaw, at ito ang mode kung saan nag-a-align ang arm bago maghandover, pero tumatakbo pa rin ang loop kahit wala nito.
Ilang DAgger round ang kailangan ko?
Walang tapat na nakatakdang bilang. Bantayan ang rate ng interbensyon: kung hindi ito bumaba mula sa isang round patungo sa susunod, wala talagang naidulot ang round na iyon, at ang problema ay karaniwang nasa task setup, sa mga camera, o sa orihinal na dataset kaysa sa bilang ng mga round.
Tunay bang DAgger ito o mas maluwag lang na bersyon?
HG-DAgger ito, ang human-gated na variant. Tinatanong ng classic DAgger ang eksperto tungkol sa mga state na pinili ng policy, kasama na ang mga state na hindi papayagang maabot ng isang matinong operator sa tunay na arm. Dito, isang tao ang nagpapasya kung kailan mananghali, at ang mga segment na iyon lamang ang nagiging label.
Sa mga pagwawasto lang ba ako magsasanay?
Hindi, at hindi mo dapat gawin iyon. Ang pagsasanay sa mga pagwawasto lamang ay magbibigay sa iyo ng policy na alam lang kung paano bumangon. Ang binuong dataset ay ang orihinal na data kasama ang mga pagwawasto, na may mga episode mula sa bawat source na pinili nang tuwiran.
Ibinabalik ba ng pagtuloy mula sa checkpoint ang training run?
Ini-initialize nito ang mga weight mula sa checkpoint na iyon. Hindi ibinabalik ang optimizer state, kaya hindi ito resume sa mahigpit na kahulugan. Sa praktika, ang mga weight ang nagdadala ng natutunang behavior sa buong round, pero karapat-dapat malaman kung alin sa dalawa ang nakukuha mo.
Paano kinakalkula ang rate ng interbensyon?
Mga frame na minarkahang interbensyon hinati sa kabuuang mga frame ng run. Ipinapakita ito sa takeover status, at ito ang tanging numero na karapat-dapat itala kada round kasama ang checkpoint na ginamit mo at ang timplang isinanay mo.
Anong mga policy ang maaari kong gamitin sa loop na ito?
ACT, SmolVLA, Pi0, at GR00T N1.5 o N1.7. Ang loop mismo ay policy-agnostic dahil dataset at checkpoint lang ang nililikha nito; ang praktikal na pagkakaiba ay kung gaano katagal ang isang round at kung anong GPU ang kailangan nito.
Magagawa ko ba ito kahit walang sariling robot?
Maaari kang mag-record at magsanay kahit wala nito sa pamamagitan ng pagbili ng mga dataset sa marketplace o pag-commission ng mga operator, at maaari mong patakbuhin ang isang tunay na SO-100 sa browser sa live page. Iba ang isang DAgger round: kailangan nito ng arm na maaari mong kontrolin habang tumatakbo, kaya para sa loop mismo, kailangan mo ng hardware sa sarili mong mesa.
A real SO-100, live in the browser. No signup, no hardware needed.
Patakbuhin ang iyong unang round ngayong linggo
I-install ang client, patakbuhin ang isang checkpoint na mayroon ka na, at kumuha ng kontrol sa unang beses na lumagpas ang arm sa cube. Ang iisang run na iyon ay isang DAgger round sa maliit na sukat: lahat ng sunod dito ay ang pagbuo ng timpla at pagbabayad para sa mga oras ng GPU.