
Penjelasan langkah demi langkah bagi satu pusingan DAgger berpintu-manusia pada lengan SO-100: jalankan polisi dan rakamkannya, ambil alih apabila ia tersasar, failkan larian itu sebagai pembetulan, gubah set data campuran, dan sambung latihan daripada satu checkpoint. Turut merangkumi laluan ambil alih papan kekunci dan slaid untuk mereka yang tiada lengan leader, serta empat kesilapan yang menjadikan satu pusingan sia-sia.
Polisi anda berjalan. Ia menghala ke arah kiub, menutup gripper sesentimeter terlalu awal, dan terus bergerak seolah-olah ia telah menggenggamnya. Tiada apa yang menyebabkan ralat, dan seberapa lama pun anda merenung training loss, ia tidak menjelaskan sebabnya. Penyelesaiannya bukan 20 000 langkah gradien lagi pada demonstrasi yang sama. Penyelesaiannya ialah meletakkan semula tangan anda pada lengan itu tepat di titik ia tersasar, merakam apa yang anda lakukan sebagai gantinya, dan melatih checkpoint seterusnya menggunakan data lama ditambah pembetulan itu. Itulah satu pusingan DAgger, dan beginilah cara ia berjalan pada SO-100 dengan polisi vision-language-action.
Teorinya ada di tempat lain: mengapa pengagregatan set data berkesan sama sekali dan apa yang diubah oleh pintu-manusia terhadapnya. Ini pula ialah manual operasi, dan ia mengandaikan anda sudah mempunyai checkpoint terlatih, set kamera yang berfungsi, dan lengan yang boleh bergerak. Enam langkah di bawah ialah gelung sebagaimana dilaksanakan pada halaman DAgger platform ini, tetapi urutannya sama sahaja jika anda menggunakan skrip anda sendiri.
Satu pusingan secara ringkas
- •Jalankan polisi terlatih dan rakamkannya, menggunakan teks tugasan larian tersebut dan bukannya label teleoperasi generik.
- •Ambil alih sebaik sahaja tingkah laku tersasar: penyerahan cermin dengan lengan leader, atau segera dan manual melalui papan kekunci atau slaid jika tiada lengan leader.
- •Triaj setiap larian: failkan sebagai pembetulan, simpan sebagai episod penilaian, atau buang.
- •Gubah campuran itu secara manual - demonstrasi asal ditambah pembetulan, episod dipilih mengikut sumber. Jangan sekali-kali melatih hanya dengan pembetulan sahaja.
- •Sambung latihan daripada checkpoint terakhir, dan catatkan checkpoint mana menghasilkan campuran yang mana.
- •Angka yang menentukan sama ada pusingan itu bernilai atau tidak ialah kadar intervensi, bukan training loss.
Mengapa pusingan kedua bukan sekadar data tambahan
Behaviour cloning dilatih pada keadaan (states) yang pernah dilalui manusia. Semasa ujian, polisi pula melalui keadaan yang disebabkan oleh tindakannya sendiri, dan ralat tindakan yang kecil bertimbun menjadi keadaan yang tidak pernah diliputi oleh mana-mana demonstrasi. Ross, Gordon dan Bagnell memformalkan kegagalan ini untuk AISTATS 2011 dan menjawabnya dengan satu algoritma berulang yang melatih polisi deterministik pegun dan, di bawah reduksi mereka, mesti berprestasi baik di bawah taburan keadaan yang ditimbulkannya sendiri: jalankan polisi semasa, minta pakar melabel keadaan yang benar-benar dicapainya, tambahkan itu ke dalam set data, latih semula, ulang. Kelly et al. menjadikan pertanyaan ini praktikal melalui HG-DAgger, di mana manusia yang menentukan bila hendak mengambil kawalan dan bukannya melabel keadaan tanpa memegang kawalan; mereka melaporkan prestasi yang lebih baik berbanding DAgger dan behaviour cloning pada tugasan pemanduan autonomi simulasi dan sebenar. Pintu-manusia inilah yang menjadikan gelung ini tertanggung pada lengan meja - anda hanya menggerakkan tangan apabila sesuatu mula tersasar.
Dua akibat lebih penting dalam praktik berbanding dalam teori. Pembetulan bukan demonstrasi biasa: ia tertumpu pada kawasan bottleneck yang diterangkan oleh Mandlekar et al., di mana sedikit sisihan sahaja menjatuhkan polisi ke dalam keadaan yang tidak pernah diliputi demonstrasi. Dan set data yang dibina hanya daripada bahagian sukar itu ialah set data yang bentuknya tidak elok - Belkhale, Cui dan Sadigh berhujah dari sudut data bahawa kepelbagaian keadaan (state diversity) tidak selalu memberi manfaat, dan bahawa perbezaan tindakan (action divergence) serta kepelbagaian peralihan (transition diversity) bersama-sama menentukan kualiti set data. Set data campuran bukanlah satu kompromi, ia adalah intinya.
Bekukan perkara-perkara ini sebelum pusingan pertama
Satu pusingan DAgger membandingkan sesuatu polisi dengan dirinya sendiri merentasi masa. Apa-apa sahaja yang anda ubah antara pusingan selain set data akan menjadikan perbandingan itu tidak bermakna.
- Kedudukan dan pemasangan kamera, termasuk kamera pergelangan tangan. Longgarkan satu pengapit sahaja dan anda telah mengubah taburan pemerhatian, bukan polisinya.
- Pendedahan (exposure) dan white balance, jika tindanan tangkapan anda membenarkan ia dikunci. Auto-exposure yang hanyut antara pusingan ialah anjakan domain yang perlahan lagi tidak kelihatan.
- Penentukuran lengan dan kedudukan sifar servo. Jika anda terpaksa menentukur semula, layan semua yang dirakam sebelum itu sebagai set data yang berasingan.
- Teks tugasan. Setiap VLA di sini bersyarat kepadanya; menukar kata-katanya di tengah gelung bermakna ia menjadi tugasan yang berlainan.
- Pencahayaan, permukaan meja, set objek. Objek baharu ialah eksperimen baharu, bukan pusingan seterusnya.
- Kadar bingkai rakaman. Membandingkan kadar intervensi merentasi dua raster persampelan menghasilkan perbezaan yang sebenarnya berpunca daripada raster itu sendiri.
Hsu et al. membandingkan pandangan berpusatkan tangan dengan pandangan orang ketiga yang biasa digunakan, dan mendapati perspektif eye-in-hand secara konsisten meningkatkan kecekapan latihan dan generalisasi out-of-distribution, walaupun melihat lebih sedikit bahagian adegan. Pada lengan lima-sendi, pemasaan gripper biasanya adalah perkara yang dibetulkan oleh pembetulan anda, dan pemasaan gripper itulah yang dibawa oleh pandangan pergelangan tangan.
Pusingan itu, dari hujung ke hujung
- 1Jalankan inferens dan rakamkannya
Mulakan larian terhadap checkpoint yang ingin anda perbaiki, kemudian mulakan rakaman ke dalam root inferens. Apabila dirakam sedemikian, ia mewarisi teks tugasan larian itu sendiri, iaitu yang menjadi asas latihan polisi, dan bukannya label teleoperasi lalai. Tanpa rakaman, anda boleh melihat kegagalan itu tetapi tidak boleh melatih daripadanya.
bash# two calls, not one: the run, then its recording POST /inference/start # model_id, and hf_repo_id = the checkpoint to drive POST /recording/start # root=inference # root=inference also makes the recording inherit the run's task text - 2Ambil alih apabila ia tersasar
Tekan Take over dan pilih mod input: lengan leader, papan kekunci atau slaid. Runner akan berhenti seketika, anda membetulkan, anda menyerahkannya semula. Bingkai yang dirakam semasa anda mengawal ditandakan sebagai intervensi secara automatik.
bashPOST /inference/takeover/start # input = leader | keyboard | sliders POST /inference/takeover/nudge # keyboard, relative delta per call POST /inference/takeover/set # sliders, absolute target POST /inference/takeover/stop # back to the policy - 3Triaj episod
Putuskan mengikut episod: failkan sebagai pembetulan, simpan sebagai penilaian, atau buang. Larian yang diselesaikan oleh polisi tanpa bantuan ialah data penilaian.
- 4Segerakkan set data pembetulan
Pembetulan terkumpul dalam set data tempatan mengikut polisi dan dihantar ke storan awan melalui penyegerakan automatik. Tiada apa-apa yang dicampurkan masuk yang tidak anda letakkan sendiri di situ.
- 5Gubah set data campuran
Gabungkan set data asal dengan pembetulan, dengan memilih episod secara eksplisit mengikut sumber. Hasilnya ialah set data biasa mulai dari situ.
bashPOST /training/datasets/compose sources = [ original_dataset, korrekturen_<policy> ] episodes = explicit selection per source - 6Sambung latihan daripada checkpoint
Latih campuran itu daripada checkpoint sebelumnya, bukan daripada model asas. Catatkan checkpoint yang mana dan campuran yang mana; tanpa pasangan itu, pusingan tersebut tidak boleh dihasilkan semula.
bash# field on the training job base_checkpoint = s3://ay-robots/checkpoints/<run>/<checkpoint> # the platform passes it to the training pod as BASE_CKPT_S3
Langkah 2 secara terperinci: dua cara untuk mengambil alih
Dengan lengan leader
Dalam mod leader-follower, ambil alih ialah penyerahan antara dua lengan yang tidak berada pada pose yang sama. Menekan Take over menghentikan runner seketika dan menggerakkan leader ke pose semasa follower, supaya tiada apa-apa yang tersentak apabila tork dipindahkan. Jika pergerakan penjajaran itu tamat tempoh, anda menjajarkan leader secara manual dan hanya melepaskannya sebaik sahaja kedua-duanya berada dalam lingkungan lima darjah. Selepas itu anda meneleoperasikannya seperti biasa dan lajur tindakan (action column) merekodkan apa yang anda perintahkan.
Perlu jujur tentang laluan ini: pergerakan penjajaran dan penyerahan tork ialah bahagian gelung yang paling kurang diuji pada perkakasan sebenar. Uji penyerahan itu pada pose yang perlahan lagi tidak berbahaya sebelum anda bergantung kepadanya dalam larian yang penting bagi anda. Lengan leader menghasilkan pembetulan yang paling licin antara ketiga-tiga mod, tetapi ia juga mempunyai paling banyak perkara yang boleh tersasar dari segi mekanikal.
Tanpa lengan leader: papan kekunci dan slaid
Kebanyakan pembaca artikel ini hanya memiliki satu lengan. Itu sudah memadai. Pilih input papan kekunci atau slaid pada saat anda menekan Take over, dan ambil alih itu berlaku serta-merta dan secara manual - tiada lengan kedua untuk dijajarkan, jadi tiada langkah penjajaran. Follower mengekalkan posenya dan menunggu input.
| Mod input | Cara lengan bergerak | Had setiap panggilan yang dikuatkuasakan oleh server | Dikunci apabila |
|---|---|---|---|
| Lengan leader | Cermin (mirror) menggerakkan follower berdasarkan sudut sendi leader | Tiada panggilan nudge atau set dalam mod ini; cermin menulis matlamat follower secara berterusan | Tidak pernah dikunci, dan menjadi lalai jika tiada mod input dinyatakan - tetapi ia memerlukan lengan kedua; tanpa id leader, ambil alih akan ditolak |
| Papan kekunci | Nudge relatif bagi setiap tekanan kekunci, dihantar ke endpoint nudge ambil alih | Sekatan tegar pada 2 darjah bagi setiap sendi, 4 darjah untuk gripper | Ditolak dengan 409 jika ambil alih dimulakan dalam mod leader |
| Slaid | Pose sasaran mutlak, dihantar ke endpoint set ambil alih | Paling banyak 6 darjah pergerakan ke arah sasaran bagi setiap panggilan; antara muka terus menghantar kira-kira sepuluh kali sesaat | Ditolak dengan 409 jika ambil alih dimulakan dalam mod leader |
Sekatan ini dikuatkuasakan di bahagian server, bukan di antara muka, kerana delta yang tersalah taip pada lengan bus-servo boleh menyebabkan perlanggaran. Pembetulan papan kekunci terhasil secara berperingkat dan agak kasar; pembetulan slaid lebih licin, kerana server berjalan ke arah sasaran sementara antara muka terus menstrim. Walau apa pun, lajur tindakan menerima vektor pose penuh yang diperintahkan dan penandaan intervensi adalah sama seperti laluan leader, jadi pembetulan papan kekunci mendarat dalam set data yang sama tanpa sebarang perbezaan format.
Q / A joint 1 R / F joint 4
W / S joint 2 T / G joint 5
E / D joint 3 Z / X gripper
Bila untuk menekan butang itu
Lebih awal daripada lambat. Pembetulan yang bermula selepas gripper menutup pada kekosongan mengajar pemulihan daripada kegagalan yang sepatutnya tidak dimasuki langsung oleh polisi, dan data pemulihan jauh lebih rendah nilainya berbanding data pengelakan. Sampuk pada saat pertama anda yakin trajektori itu tersasar, betulkan sepanjang bahagian yang sukar, dan serahkan semula sebaik sahaja keadaan itu adalah sesuatu yang pernah ditangani polisi sebelum ini. ThriftyDAgger mengautomasikan keputusan itu dengan memintukan intervensi berdasarkan kebaharuan dan risiko anggaran di bawah bajet manusia yang tetap, tetapi pada satu lengan dengan seorang manusia yang sudah pun memerhati, pintu manusia lebih murah dan lebih baik ditentukur berbanding apa-apa yang boleh anda tala.
Boleh dilakukan dengan tindanan sumber terbuka dan beberapa skrip. Apa yang dikorbankan ialah kerja pencatatan (bookkeeping), dan di situlah pusingan DAgger biasanya gagal.
- Tulis bingkai daripada skrip inferens anda sendiri ke dalam set data LeRobot, menggunakan string tugasan yang menjadi asas latihan polisi.
- Hentikan seketika gelung polisi, tukar sumber arahan, dan tandakan setiap bingkai yang anda kawal sebagai intervensi. Tanpa penanda itu, pembetulan akan kelihatan seperti demonstrasi biasa.
- Putuskan secara sengaja apa yang berlaku kepada bingkai peralihan antara polisi melepaskan kawalan dan input pertama anda.
- Simpan pembetulan dalam set data mereka sendiri mengikut polisi, dan jejaki indeks episod secara manual supaya campuran itu boleh dibina semula.
- Arahkan titik masuk penalaan halus kepada checkpoint sebelumnya, dan semak dalam log bahawa ia benar-benar memuatkan pemberat (weights) tersebut.
Enam langkah yang sama wujud dalam bentuk butang. Apa yang diautomasikan ialah perkara yang mudah tersilap jika dibuat secara manual: penanda intervensi bagi setiap bingkai, pembahagian antara pembetulan dan penilaian, serta rekod checkpoint mana menghasilkan campuran yang mana. Tiada apa-apa yang masuk ke dalam set data yang digubah tanpa anda pilih sendiri.
Ia tidak membuat keputusan bagi pihak anda. Larian mana yang dikira sebagai pembetulan, episod mana yang masuk ke dalam campuran, dan bila untuk berhenti, semuanya kekal sebagai keputusan pertimbangan anda. Medan-medan ini didokumenkan di bawah latihan, dan mod input di bawah teleoperasi.
Langkah 3 secara terperinci: triaj menentukan kualiti
Selepas larian, anda mempunyai satu rakaman dengan sebahagian bingkai ditandakan sebagai intervensi. Tiga destinasi wujud, dan pilihan yang salah akan meracuni pusingan seterusnya secara senyap.
- Failkan sebagai pembetulan apabila intervensi itu memang satu pembaikan yang sebenar: polisi sedang menuju ke arah yang salah dan input anda menunjukkan perkara yang betul daripada keadaan yang dihasilkan oleh polisi itu sendiri.
- Simpan sebagai penilaian untuk larian autonomi yang bersih dan untuk larian yang anda ambil alih semata-mata atas sebab berhati-hati. Episod penilaian ialah cara anda mengukur checkpoint seterusnya, dan ia tidak boleh sekali-kali dijadikan bahan latihan.
- Buang larian yang rosak akibat sesuatu yang tidak berkaitan - bingkai kamera yang tergugur, servo yang tersekat, atau objek yang tertolak oleh anda. Pembetulan yang bercelaru lebih teruk daripada tiada pembetulan langsung.
Antara polisi melepaskan kawalan dan input pertama anda, lengan itu kekal pegun sementara perakam terus menulis - satu siri pose yang serupa dipadankan dengan imej yang sedikit berbeza. Di sini, bingkai penyerahan itu kekal dalam rakaman mentah dan dikeluarkan daripada set data pembetulan. Jika anda membina gelung ini sendiri, potong bingkai tersebut secara sengaja: polisi yang dilatih dengannya akan belajar untuk berhenti seketika di tempat yang sepatutnya ia bertindak.
Langkah 5 secara terperinci: menggubah campuran
Penggubahan mengambil set data asal ditambah set data pembetulan lalu menghasilkan satu set data LeRobot baharu yang biasa, yang boleh dilatih seperti mana-mana yang lain. Ciri pentingnya ialah pemilihan episod adalah eksplisit mengikut sumber - tiada apa-apa yang dicampurkan secara automatik. Itu kedengaran remeh sehinggalah kali pertama sesuatu polisi bertindak pelik dan anda terpaksa membina semula apa yang menjadi asas latihannya.
Persoalan yang masih terbuka ialah nisbahnya, dan tiada siapa mempunyai satu angka yang boleh dipindahkan secara universal. Apa yang disepakati oleh literatur ialah pembetulan sepatutnya dikira lebih daripada sekadar bahagian bingkainya. Mandlekar et al. melatih semula secara berulang menggunakan data yang dikumpul oleh sistem intervensi mereka, supaya polisi belajar melalui bottleneck itu, dan melaporkan bahawa ejen yang dilatih dengan cara itu mengatasi prestasi ejen yang dilatih dengan bilangan sampel yang setara daripada penunjuk cara bukan-intervensi. Sirius melangkah lebih jauh dengan memberi wajaran semula kepada sampel latihan berdasarkan anggaran kepercayaan manusia, melaporkan lonjakan 8 peratus dalam simulasi dan 27 peratus pada perkakasan sebenar dari segi kadar kejayaan polisi berbanding kaedah-kaedah yang dibandingkannya, pada kelajuan penumpuan dua kali ganda. Tiada satu pun titik masuk latihan di sini yang mendedahkan kawalan pewajaran sampel, jadi penggantinya yang lebih kasar ialah mengekalkan setiap episod pembetulan sambil melakukan subsampling ke atas demonstrasi asal - dan mencatatkan apa yang anda lakukan.

Langkah 6 secara terperinci: apa maksud sebenar menyambung daripada checkpoint
Melatih campuran itu daripada model asas memang berkesan tetapi membuang pusingan sebelumnya dan memerlukan kos satu larian penuh. Menyambung daripada checkpoint sebelumnya lebih pantas dan biasanya lebih baik. Ia juga lebih terhad daripada apa yang disarankan oleh istilah itu sendiri.
Checkpoint yang hanya mengandungi pemberat (weights-only) hanya menyimpan parameter dan tiada apa-apa lagi. Memuatkannya memberikan larian seterusnya titik permulaan yang lebih baik daripada model asas, tetapi momen optimizer, kedudukan jadual kadar pembelajaran (learning rate) dan susunan data semuanya bermula dari sifar. Jangkakan lonjakan loss pada permulaan larian yang disambung itu, jangan tafsirkannya sebagai kegagalan, dan jangan sebut pusingan itu sebagai satu resume. Ia adalah satu warm start.
| Polisi | Saiz | Tahap GPU | Inferens bagi setiap langkah tindakan | Format set data | Bilangan episod sebelum berbaloi dicuba |
|---|---|---|---|---|---|
| GR00T N1.7 | kira-kira 3 B, kira-kira 40 M dilatih semasa penalaan halus | A100 80 GB atau H100 80 GB | kira-kira 152 ms | LeRobot v2.0 atau v2.1 | 50 |
| GR00T N1.5 | kira-kira 3 B | A100 80 GB atau H100 80 GB | kira-kira 165 ms | LeRobot v2.0 atau v2.1 | 50 |
| Pi0.5 | kira-kira 3 B pada tulang belakang (backbone) PaliGemma | A100 80 GB atau H100 80 GB | kira-kira 485 ms | LeRobot v3.0 | 50 |
| SmolVLA | kira-kira 450 M | RTX 4090 atau mana-mana kad 24 GB | kira-kira 245 ms | LeRobot v3.0 | 30 |
| ACT | kira-kira 80 M, dilatih dari awal (from scratch) | RTX 4090 atau mana-mana kad 24 GB | kira-kira 20 ms | LeRobot v3.0 | 50 |
Kependaman (latency) bertimbun di dalam gelung DAgger dengan cara yang tidak berlaku semasa demonstrasi: pada kira-kira 485 ms bagi setiap langkah tindakan, anda mengambil alih kerana lengan itu teragak-agak, bukan kerana ia tersasar, dan pembetulan akibat keraguan sebegitu bukanlah data latihan yang berguna. Jika anda sedang mengulangi (iterate) data dan bukannya mengejar kadar kejayaan akhir, ulanglah menggunakan model yang pantas. Shukor et al. menerangkan SmolVLA sebagai direka untuk dilatih pada satu GPU sahaja dan digunakan pada GPU atau CPU pengguna biasa, dengan tindanan inferens tak segerak (asynchronous) yang memisahkan ramalan tindakan daripada pelaksanaannya bagi membolehkan kadar kawalan yang lebih tinggi - sifat inilah yang mengekalkan responsif gelung ambil alih.
Format set data juga tidak boleh saling ditukar ganti. GR00T menerima LeRobot v2.0 atau v2.1, dan repositori Isaac-GR00T menerangkan inputnya sebagai satu variasi format LeRobot v2 dengan tambahan fail penerangan modaliti; trainer yang lebih baharu di sini pula menjangkakan v3.0. Campuran yang digubah dalam versi yang salah akan gagal semasa dimuatkan, bukannya menghasilkan polisi yang buruk - mod kegagalan yang lebih baik, namun tetap membazirkan satu slot giliran (queue). Dokumentasi set data menyenaraikan format yang diterima oleh setiap trainer.
Gelung itu, dengan kerja pencatatan yang sudah siap dilakukan
Ambil alih dengan lengan leader, papan kekunci atau slaid; penandaan intervensi bagi setiap bingkai; pemfailan larian sebagai pembetulan atau penilaian; penggubahan set data campuran dengan pemilihan episod yang eksplisit mengikut sumber; dan menyambung latihan daripada checkpoint dan bukannya model asas. Apa yang kekal sebagai keputusan anda ialah larian mana yang dikira sebagai pembetulan, apa yang masuk ke dalam campuran, dan bila kadar intervensi sudah berhenti menurun.
Lihat bagaimana gelung DAgger disambungkanEmpat cara untuk mensia-siakan satu pusingan
1. Melatih hanya dengan pembetulan sahaja
Kegagalan yang paling biasa dan jalan pintas yang paling menggoda. Set data yang hanya mengandungi pembetulan hampir seluruhnya adalah bahagian tengah tugasan yang sukar, dengan bahagian menghampiri (approach) dan berundur (retreat) hilang sama sekali; polisi menjadi lebih baik pada bahagian yang sukar tetapi lupa cara untuk sampai ke situ. Pengagregatan bukan sekadar butiran pelaksanaan bagi kaedah ini, ia adalah mekanismenya: data lama itulah yang mengekalkan selebihnya tingkah laku pada tempatnya sementara pembetulan menggerakkan satu bahagian daripadanya.
2. Menggerakkan kamera antara pusingan
Kamera yang beranjak dua sentimeter antara pusingan menghasilkan polisi yang lebih teruk daripada polisi asal anda, dan satu diagnosis yang memakan masa sehari. Setiap VLA di sini bersyarat kepada imej; keadaan sendi (joint state) sahaja tidak dapat menentukan dengan jelas di mana objek itu berada. Ambil gambar susunan sebelum pusingan pertama dan semak gambar itu sebelum setiap pusingan berikutnya.
3. Membenarkan artifak penyerahan masuk ke dalam latihan
Telah dibincangkan di atas, dan berada dalam senarai ini kerana ia tidak kelihatan. Gejalanya ialah polisi yang tergagap-gagap seketika, tepat di titik operator pusingan sebelumnya mengambil alih. Ia kelihatan seperti keraguan; sebenarnya ia adalah tiruan.
4. Menganggap warm start sebagai resume
Jika anda percaya keadaan optimizer terbawa terus, lonjakan loss awal itu akan kelihatan seperti pepijat dan anda akan mula memburu data yang rosak. Jika anda tahu optimizer bermula dari baharu, lonjakan itu memang dijangka dan anda akan melihat apa yang berlaku selepasnya. Angka yang sama, kesimpulan yang bertentangan.
Mengukur pusingan
Metrik bagi gelung berpintu-manusia ialah kadar intervensi: bingkai yang dirakam semasa anda memegang kawalan, dibahagikan dengan jumlah bingkai keseluruhan larian itu. Ia terdapat dalam status ambil alih, dan ia satu-satunya angka yang menjawab persoalan yang ditanya oleh pusingan itu. Training loss menurun sama ada polisi bertambah baik atau tidak; kadar kejayaan pula bersifat binari dan bising pada saiz sampel yang dihasilkan oleh lengan meja. Kadar intervensi bersifat berterusan, diukur pada keadaan yang disebabkan oleh polisi itu sendiri, dan ia menurun apabila polisi semakin kurang memerlukan anda.
Bandingkan ia hanya merentasi larian yang dirakam dalam keadaan yang sama identik. Hujah penuh, serta cara membina satu set penilaian yang kekal relevan lebih daripada dua pusingan, terdapat dalam artikel mengenai mengukur gelung DAgger. Pusingan pertama secara realistiknya ialah ujian kebolehlaksanaan: anda hanya memeriksa sama ada ambil alih berfungsi pada perkakasan anda, pembetulan mendarat dengan penanda masing-masing, dan larian yang disambung itu memuatkan checkpoint yang anda namakan. Pusingan kedua dan ketiga ialah tempat kadar itu sepatutnya mula bergerak. Jika ia masih tidak bergerak menjelang pusingan keempat, masalahnya berada di hulu, bukan pada DAgger itu sendiri.
| Catatkan bagi setiap pusingan | Mengapa ia penting kemudian |
|---|---|
| Checkpoint yang digunakan | Tanpanya anda tidak dapat mengaitkan sebarang penambahbaikan kepada satu campuran tertentu |
| Mod input yang digunakan untuk ambil alih | Pembetulan papan kekunci lebih kasar berbanding pembetulan leader, dan ini terserlah dalam data |
| Bilangan larian dan cara setiap satu ditriaj | Sama ada pusingan itu mempunyai cukup pembetulan untuk memberi kesan |
| Kadar intervensi bagi setiap larian, dan purata | Metrik kemajuan gelung itu |
| Pemilihan episod yang tepat mengikut sumber | Satu-satunya cara untuk menghasilkan semula atau membatalkan satu pusingan |
| Warm start atau latihan baharu | Menjelaskan lengkung loss yang akan anda lihat seminggu kemudian |
Jika anda belum mempunyai checkpoint
Gelung ini tiada titik masuk tanpanya. Rakamkan set data pertama, latih polisi pertama, jalankannya - rakaman, latihan dan menjalankan polisi meliputi laluan tersebut. Klien rakaman terdapat pada halaman muat turun, tahap GPU dan kadar sejam pada halaman harga, dan bagaimana rupa episod yang boleh digunakan dalam panduan pengumpulan data SO-100. Pastikan demonstrasi anda betul sebelum membuat pembetulan: DAgger ialah mekanisme pembaikan, dan ia berfungsi jauh lebih baik pada sesuatu yang sudah hampir betul sedia ada.
Bolehkah saya menjalankan gelung DAgger tanpa lengan leader?▾
Boleh. Pilih input papan kekunci atau slaid apabila anda menekan Take over: ambil alih berlaku serta-merta dan secara manual, tanpa lengan kedua untuk dijajarkan. Papan kekunci menghantar nudge relatif yang disekat tegar oleh server pada 2 darjah bagi setiap sendi dan 4 darjah untuk gripper; slaid pula menghantar sasaran mutlak dan server bergerak paling banyak 6 darjah ke arahnya bagi setiap panggilan, sementara antara muka terus menstrim. Lajur tindakan dan penandaan intervensi adalah sama seperti dalam mod leader, jadi pembetulan tidak dapat dibezakan dalam set data.
Berapa banyak pembetulan yang diperlukan bagi satu pusingan?▾
Tiada satu angka universal yang boleh dipertahankan, dan bilangan bingkai lebih penting daripada bilangan episod. Peraturan praktikalnya ialah pembetulan tidak boleh hilang dalam campuran itu: dengan 200 episod asal dan tiga episod pembetulan sahaja, tiada apa-apa yang akan berubah. Sasarkan pembetulan yang meliputi tingkah laku yang gagal itu daripada beberapa konfigurasi permulaan yang berlainan, bukannya tiga ulangan penyelamatan yang sama.
Mengapa melatih hanya dengan pembetulan sahaja adalah idea yang buruk?▾
Kerana pembetulan hampir seluruhnya adalah bahagian tengah tugasan yang sukar. Bahagian menghampiri, penjajaran dan berundur hilang, jadi polisi kehilangan perkara yang sudah dilakukannya dengan baik sementara bertambah baik pada bahagian yang anda betulkan. Mengekalkan data lama dan menambah kepadanya ialah mekanisme itu sendiri, bukan tambahan pilihan.
Adakah menyambung daripada checkpoint bermakna menyambung semula (resume) larian latihan sebelumnya?▾
Tidak. Checkpoint yang hanya mengandungi pemberat hanya memulihkan parameter dan tiada apa-apa lagi: momen optimizer, kedudukan jadual kadar pembelajaran dan susunan data semuanya bermula dari baharu. Ia adalah satu warm start, dan lonjakan loss pada permulaan memang dijangka, bukan satu gejala masalah. Catatkan yang mana satu sebenarnya anda lakukan, supaya anda dapat membaca lengkung itu dengan betul seminggu kemudian.
Bagaimana jika kadar intervensi tidak menurun?▾
Berhenti menambah pusingan. Kadar yang statik bermakna pembetulan itu tidak mengajar apa yang anda sangkakan. Punca biasa terletak di hulu: kamera tergerak, pembetulan bermula terlalu lewat untuk menjadi data pengelakan, bingkai penyerahan berada dalam set latihan, atau tugasan itu kurang tertentu (underdetermined) daripada pemerhatian yang sebenarnya diterima oleh polisi.
Tiada satu pun daripada ini yang sudah selesai sepenuhnya, dan tiada satu pun yang boleh dibuat dengan satu klik sahaja. Pembelajaran tiruan interaktif ialah bidang penyelidikan yang aktif justeru kerana persoalannya - bila hendak campur tangan, bagaimana memberi wajaran kepada apa yang dilakukan manusia, berapa banyak data lama yang perlu dikekalkan - masih belum mempunyai jawapan yang pasti; tinjauan (survey) oleh Celemin et al. memetakan apa yang masih terbuka. Apa yang ada pada gelung ini ialah penumpuan (convergence) yang boleh diukur apabila ia dijalankan dengan berhati-hati, pada perkakasan yang berharga beberapa ratus euro sahaja. Bekukan susunan, campur tangan lebih awal, triaj dengan jujur, campurkan secara sengaja, dan catatkan kadar intervensi setiap kali.
Sources
- Ross, Gordon, Bagnell (AISTATS 2011): A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning
- Kelly, Sidrane, Driggs-Campbell, Kochenderfer (2019): HG-DAgger - Interactive Imitation Learning with Human Experts
- Mandlekar et al. (2020): Human-in-the-Loop Imitation Learning using Remote Teleoperation
- Liu, Nasiriany, Zhang, Bao, Zhu (2022): Robot Learning on the Job - Human-in-the-Loop Autonomy and Learning During Deployment (Sirius)
- Hoque et al. (2021): ThriftyDAgger - Budget-Aware Novelty and Risk Gating for Interactive Imitation Learning
- Celemin et al. (2022): Interactive Imitation Learning in Robotics - A Survey
- Belkhale, Cui, Sadigh (2023): Data Quality in Imitation Learning
- Hsu et al. (2022): Vision-Based Manipulators Need to Also See from Their Hands
- Zhao et al. (2023): Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware (ACT / ALOHA)
- Black et al. (2024): Pi0 - A Vision-Language-Action Flow Model for General Robot Control
- Bjorck et al. (2025): GR00T N1 - An Open Foundation Model for Generalist Humanoid Robots
- Shukor et al. (2025): SmolVLA - A Vision-Language-Action Model for Affordable and Efficient Robotics
- LeRobot documentation (Hugging Face)
- NVIDIA Isaac-GR00T repository
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started