Human-gated DAgger, end-to-end

Ambil alih saat policy salah bertindak, lalu latih tepat pada koreksi itu.

Policy yang dilatih dengan behavior cloning hanya mengenal keadaan yang pernah dikunjungi oleh demonstrasi Anda. DAgger menutup celah itu dengan data dari keadaan yang dicapai oleh policy itu sendiri. AY-Robots menjalankan seluruh loop ini di SO-100: mengendalikan checkpoint, mengambil alih di tengah run, menyimpan episode hasil koreksi, menyusun campuran dataset, dan melanjutkan pelatihan dari checkpoint yang baru saja dikendalikan.

  • HG-DAgger, dikendalikan manusia
  • SO-100 / SO-101
  • ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
  • Tingkat intervensi per ronde

Mengapa policy yang sudah dilatih melakukan sesuatu yang tidak pernah didemonstrasikan

Behavior cloning memperlakukan kendali sebagai supervised learning biasa: observasi masuk, target joint keluar, dicocokkan pada frame yang direkam manusia. Itu hanya berlaku selama robot tetap berada pada keadaan yang pernah dikunjungi manusia tersebut, dan pada kenyataannya tidak demikian. Gripper yang menutup empat puluh milidetik lebih awal menggeser kubus dua milimeter dari posisi yang didemonstrasikan. Observasi berikutnya adalah observasi yang tidak tercakup dalam training set, sehingga aksi pada titik itu merupakan ekstrapolasi, dan keadaan sesudahnya makin jauh lagi. Distribusi pelatihan dan distribusi yang sebenarnya dihasilkan oleh policy yang sudah dilatih adalah dua hal berbeda, dan yang kedua makin menjauh dari yang pertama seiring berjalannya episode.

Ross, Gordon, dan Bagnell mendeskripsikan tepat kegagalan reduksi ini pada 2011 dan mengukur besarnya kerusakan: classifier yang salah dengan probabilitas e di bawah distribusi expert dapat membuat kesalahan sebesar orde T kuadrat kali e pada horizon sepanjang T langkah di bawah distribusi yang dihasilkannya sendiri, karena satu kesalahan menghasilkan observasi yang tidak pernah dibuat oleh expert dan kesalahan itu berlipat ganda. Solusi mereka adalah algoritma yang menjadi topik halaman ini: jalankan policy saat ini, kumpulkan label expert untuk keadaan yang dikunjunginya, gabungkan dengan semua yang sudah terkumpul sejauh ini, latih ulang, ulangi. Lebih banyak demonstrasi dengan jenis yang sama tidak membantu, karena itu hanya mengambil sampel ulang dari distribusi yang sama. Label pada keadaan yang dicapai policy itulah yang membantu. Varian yang diimplementasikan di sini adalah human-gated (HG-DAgger, Kelly et al.): policy memegang kendali sampai seseorang memutuskan bahwa arahnya salah dan mengambil alih, sehingga koreksi hanya dihasilkan di tempat yang memang dibutuhkan, dan lengan robot tidak pernah diminta bergerak ke keadaan yang tidak akan diizinkan oleh operator.

  • Behavior cloning hanya valid pada distribusi keadaan tempat ia dilatih.
  • Kegagalannya memperkuat diri sendiri: penyimpangan kecil menghasilkan keadaan yang asing, yang kemudian menghasilkan penyimpangan yang lebih besar.
  • Obatnya bukan lebih banyak demonstrasi, melainkan label pada keadaan yang dicapai oleh policy itu sendiri.
  • Human-gated berarti operator yang memutuskan kapan harus turun tangan, bukan skor otonomi.

Mengapa kesalahan berlipat ganda

Geser horizon-nya. Di bawah behavior cloning, biaya tambahan yang diharapkan tumbuh kurang lebih sebanding dengan kuadrat jumlah langkah, karena setiap kesalahan menghasilkan keadaan yang tidak pernah dicakup demonstrasi; loop agregasi menjaga pertumbuhan itu tetap mendekati linear (Ross et al., 2011).

200
1.0 %
Behavior cloning
400
DAgger
2.00
200×
Behavior cloning ÷ DAgger
0.000100200300400050100150200Biaya tambahan yang diharapkan (batas atas)
Horizon tugas (langkah)

Kurva ilustratif dari batas atas pada Ross et al. (2011), bukan pengukuran dari robot Anda. Yang penting bentuknya, bukan angkanya.

Satu ronde DAgger, enam langkah

Inilah loop seperti yang benar-benar dijalankan platform ini, bukan skema. Setiap langkah di bawah berpadanan dengan satu kontrol di cockpit.

Telusuri loop-nya

Enam langkah yang sama, satu per satu, lengkap dengan apa yang terjadi pada lengan dan pada dataset di setiap langkahnya.

01

Jalankan policy dan rekam

Mulai run inferensi terhadap checkpoint yang sudah Anda latih. Run ini direkam saat berlangsung, lengkap dengan teks tugas dari run itu sendiri, sehingga frame-nya bisa dipakai sebagai data pelatihan nantinya, bukan sekadar video yang hanya bisa ditonton.

1 dari 6

Apa yang diambil alih platform ini dari tangan Anda

Setiap butir di sini adalah langkah loop yang kalau tidak, harus Anda bangun dan pelihara sendiri.

Pengambilalihan tanpa leader arm

Pilih input keyboard atau slider di awal run, dan Anda bisa mengoreksi hanya dengan laptop. Nudge keyboard dibatasi di sisi server maksimal dua derajat per joint dan empat derajat pada gripper; target slider bersifat absolut, dan server bergerak paling banyak enam derajat menuju target itu per pemanggilan. Batasan ini ditegakkan oleh server, bukan oleh UI, sehingga tombol yang macet tidak bisa membuat lengan melesat.

Dokumentasi teleoperation

Intervensi ditandai per frame

Setiap frame yang direkam selama Anda memegang kendali lengan membawa flag intervensi, dan kolom action membawa pose lengkap yang diperintahkan. Anda tidak perlu memelihara kolom flag secara manual atau menyelaraskannya dengan indeks frame setelahnya.

Format dataset LeRobot

Triase: koreksi, evaluasi, atau buang

Setiap run mendapat satu keputusan di kartu penyimpanan. Run koreksi menjadi bahan ronde pelatihan berikutnya, run evaluasi tetap di luar pelatihan sehingga tetap menjadi pengukuran yang bersih, dan run yang buruk dibuang alih-alih diam-diam merusak campuran dataset.

Session dan episode

Susun campuran secara eksplisit

Training set untuk ronde n disusun oleh Anda sendiri: dataset asli ditambah koreksi, dengan episode dipilih per sumber. Tidak ada pencampuran otomatis, tidak ada data simulasi tersembunyi, dan hasil susunannya berperilaku seperti dataset lain mana pun.

Dataset

Lanjutkan dari checkpoint

Arahkan run pelatihan ke checkpoint yang baru saja Anda kendalikan, bukan ke model dasar, sehingga setiap ronde dimulai dari titik akhir ronde sebelumnya. Yang diinisialisasi hanya bobotnya; state optimizer tidak dipulihkan, itulah sebabnya ronde pertama sebaiknya diperlakukan sebagai uji kelayakan.

Pelatihan

GPU disewa per ronde

ACT dan SmolVLA berjalan di 4090, Pi0 serta GR00T N1.5 atau N1.7 di A100 dengan 80 GB. Anda memulai satu ronde, pod menyala, checkpoint masuk ke bucket Anda, dan Anda membayar sesuai jam yang dipakai ronde tersebut.

Harga GPU

Rencanakan ronde Anda

Tingkat intervensi adalah metrik kemajuan loop ini: frame terkoreksi dibagi frame dari run tersebut. Atur titik awal Anda dan seberapa besar hasil tiap ronde, lalu lihat berapa ronde yang dibutuhkan untuk mencapai target Anda.

30 %
25 %
3 000
RondeTingkat intervensiFrame terkoreksi
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

Ini model, bukan ramalan. Ronde sesungguhnya berjalan tidak rata, dan ronde yang tidak menggerakkan tingkat intervensi berarti tidak menghasilkan apa-apa; justru itulah sinyal yang layak diperhatikan.

Membangun loop sendiri versus menjalankannya di sini

Semua ini bukan hal yang mustahil dikerjakan sendiri. Pertanyaannya adalah berapa banyak malam yang habis untuk infrastruktur alih-alih untuk ronde, dan ada satu baris di mana mengerjakannya sendiri jelas jawaban yang lebih baik.

Langkah loopDisiapkan sendiriDi AY-Robots
Mengambil alih di tengah runLeader arm, atau kode Anda sendiri di servo bus. Pengambilalihan lewat keyboard dan slider, termasuk batas amannya, harus Anda tulis sendiri lalu di-debug di hardware sungguhan.Leader arm, keyboard, atau slider, dipilih saat run dimulai. Batas sudutnya ada di server.
Menandai intervensiAnda menambahkan kolom flag, menjaganya tetap selaras dengan indeks frame, dan memeriksanya ulang setiap kali format rekaman berubah.Setiap frame yang direkam selama pengambilalihan otomatis ditandai, dengan pose yang diperintahkan ada di kolom action.
Menyortir runKonvensi direktori dan shell script. Freeze frame di sekitar serah terima harus Anda cari dan saring sendiri.Satu keputusan per run di kartu penyimpanan. Frame serah terima tetap berada di direktori raw.
Membangun dataset campuranMerge script untuk tiap versi format. Menjaga indeks episode, metadata, dan referensi video tetap konsisten adalah bagian yang melelahkan.Compose dari dataset asli plus koreksi dengan pemilihan episode per sumber; hasilnya dataset biasa.
Memulai ronde berikutnya dari policy terakhirAnda menyambungkan checkpoint ke trainer sendiri, dan Anda juga bisa memulihkan state optimizer kalau menginginkan resume yang sesungguhnya.Satu field untuk base checkpoint. Hanya bobot: inisialisasi dari checkpoint, bukan optimizer resume.
Kendali atas training loopPenuh. Loss Anda sendiri, jadwal Anda sendiri, ablasi Anda sendiri, instrumentasi Anda sendiri, tanpa platform yang menghalangi. Kalau pertanyaan risetnya adalah training loop itu sendiri, kerjakan sendiri.Satu jalur tetap dengan daftar policy yang sudah ditentukan dan hyperparameter yang disediakan form, bukan kode bebas.

Paper yang menjadi dasar halaman ini

Baca ini dulu sebelum berdebat soal loop-nya. Setiap tautan menuju halaman abstrak, bukan ke balik paywall.

  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)

    Paper DAgger yang asli: memaparkan masalah kesalahan berantai, memberikan batas T-kuadrat untuk pendekatan supervised biasa, dan mengusulkan agregasi data dari keadaan yang dikunjungi sendiri oleh learner.

  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

    Varian human-gated: expert yang memutuskan kapan mengambil kendali, bukannya ditanya untuk keadaan yang dipilih policy; inilah mode yang diimplementasikan platform ini.

  3. EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning

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

    Cara lain untuk mengatur intervensi: ketidaksepakatan ensemble sebagai sinyal keyakinan untuk kapan learner boleh bertindak sendiri. Pembanding yang berguna terhadap membiarkan manusia yang menilai.

  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

    Memperlakukan perhatian manusia sebagai sumber daya yang langka dan hanya meminta bantuan pada keadaan yang baru atau berisiko; kerangka yang tepat ketika satu orang mengawasi lengan sepanjang sore.

  5. DART: Noise Injection for Robust Imitation Learning

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

    Alternatif yang jujur: alih-alih mengoreksi policy secara online, mengganggu demonstrasi sehingga expert menunjukkan cara pulih. Perlu diketahui sebelum berkomitmen pada intervensi.

  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

    Peta bidang ini: bentuk-bentuk umpan balik manusia apa saja yang ada, antarmuka mana yang membawanya, dan di mana posisi intervensi bergaya DAgger di antaranya.

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

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

    Paper ACT. Action chunking adalah alasan lengan murah bisa dikendalikan oleh imitation policy sama sekali, dan ACT adalah policy tercepat untuk mengiterasi satu ronde DAgger.

  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 berbasis flow matching yang dibangun di atas vision-language model yang sudah dipretrain, dan salah satu checkpoint yang bisa di-fine-tune di sini; paper ini secara eksplisit menyatakan bahwa kemampuan baru datang dari fine-tuning, bukan dari model dasar saja.

Pertanyaan yang paling sering ditanyakan

Apakah saya perlu leader arm untuk DAgger?

Tidak. Pilih input keyboard atau slider saat memulai run, dan pengambilalihan langsung manual sejak frame pertama, dikendalikan dari browser. Leader arm lebih nyaman untuk gerakan halus, dan merupakan mode di mana lengan menyelaraskan diri sebelum serah terima, tapi loop-nya tetap berjalan tanpa leader arm.

Berapa banyak ronde DAgger yang saya perlukan?

Tidak ada angka pasti yang jujur untuk ini. Perhatikan tingkat intervensi: kalau tidak turun dari satu ronde ke ronde berikutnya, ronde itu tidak menghasilkan apa-apa, dan biasanya masalahnya ada pada setup tugas, kamera, atau dataset asli, bukan pada jumlah rondenya.

Apakah ini DAgger yang sesungguhnya atau versi yang lebih longgar?

Ini adalah HG-DAgger, varian human-gated. DAgger klasik menanyai expert untuk keadaan yang dipilih policy, termasuk keadaan yang tidak akan pernah diizinkan oleh operator waras mana pun untuk dicapai lengan sungguhan. Di sini seseorang yang memutuskan kapan harus turun tangan, dan hanya segmen itu yang menjadi label.

Apakah saya hanya melatih dengan data koreksi?

Tidak, dan memang sebaiknya tidak begitu. Melatih hanya dengan koreksi akan menghasilkan policy yang cuma tahu cara pulih dari kesalahan. Dataset hasil susunan adalah data asli ditambah koreksi, dengan episode dari setiap sumber dipilih secara eksplisit.

Apakah melanjutkan dari checkpoint berarti me-resume run pelatihan?

Yang terjadi adalah inisialisasi bobot dari checkpoint tersebut. State optimizer tidak dipulihkan, jadi ini bukan resume dalam arti yang ketat. Dalam praktiknya, bobotlah yang membawa perilaku yang sudah dipelajari melintasi ronde, tapi penting untuk tahu mana dari keduanya yang sebenarnya Anda dapatkan.

Bagaimana tingkat intervensi dihitung?

Frame yang ditandai sebagai intervensi dibagi total frame dari run tersebut. Angka ini ditampilkan pada status Takeover, dan inilah satu angka yang layak dicatat per ronde, berdampingan dengan checkpoint yang Anda kendalikan dan campuran dataset yang Anda latih.

Dengan policy apa saja loop ini bisa dijalankan?

ACT, SmolVLA, Pi0, serta GR00T N1.5 atau N1.7. Loop ini sendiri policy-agnostic karena hanya menghasilkan dataset dan checkpoint; bedanya secara praktis ada pada berapa lama satu ronde berlangsung dan GPU apa yang dibutuhkan.

Bisakah saya melakukan ini tanpa memiliki robot sendiri?

Anda bisa merekam dan melatih tanpa robot sendiri dengan membeli dataset di marketplace atau menyewa operator, dan Anda bisa mengendalikan SO-100 sungguhan di browser lewat halaman live. Ronde DAgger berbeda: dibutuhkan lengan yang bisa Anda ambil alih di tengah run, jadi untuk loop ini sendiri Anda butuh hardware di meja Anda sendiri.

Drive a real arm

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

Jalankan ronde pertama Anda minggu ini

Install client, kendalikan checkpoint yang sudah Anda punya, dan ambil alih pada saat pertama lengan meleset melewati kubus. Satu run itu saja sudah menjadi ronde DAgger dalam skala kecil: semua yang setelahnya tinggal menyusun campuran dataset dan membayar jam GPU.