Human-gated DAgger, dall'inizio alla fine

Prendi il controllo quando la policy sbaglia, poi addestrala sulla tua correzione.

Una policy addestrata con behavior cloning conosce solo gli stati visitati dalle tue dimostrazioni. DAgger colma questo divario con dati provenienti dagli stati che la policy stessa raggiunge. AY-Robots esegue l'intero ciclo su un SO-100: guidare un checkpoint, prendere il controllo a metà run, conservare gli episodi corretti, comporre il mix e continuare l'addestramento dal checkpoint appena guidato.

  • HG-DAgger, human-gated
  • SO-100 / SO-101
  • ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
  • Tasso di intervento per round

Perché una policy addestrata fa qualcosa che non è mai stato dimostrato

Il behavior cloning tratta il controllo come un normale apprendimento supervisionato: osservazione in ingresso, target articolare in uscita, adattato ai frame registrati da una persona. Questo vale solo finché il robot resta sugli stati visitati da quella persona, e non è così. Una pinza che si chiude quaranta millisecondi troppo presto sposta il cubo di due millimetri rispetto alla posa dimostrata. L'osservazione successiva non è contenuta nel training set, quindi l'azione in quel punto è un'estrapolazione, e lo stato dopo si trova ancora più fuori. La distribuzione di addestramento e la distribuzione che la policy appresa produce davvero sono due cose diverse, e la seconda si allontana dalla prima man mano che l'episodio procede.

Ross, Gordon e Bagnell hanno descritto esattamente questo fallimento della riduzione nel 2011 e ne hanno quantificato il danno: un classificatore che sbaglia con probabilità e sotto la distribuzione dell'esperto può commettere, su un orizzonte di T passi e sotto la distribuzione che genera da solo, un numero di errori dell'ordine di T al quadrato per e, perché un errore produce osservazioni che l'esperto non ha mai generato e gli errori si accumulano. La loro soluzione è l'algoritmo di cui parla questa pagina: eseguire la policy attuale, raccogliere etichette dell'esperto per gli stati che visita, aggregarle con tutto ciò che è stato raccolto finora, riaddestrare, ripetere. Più dimostrazioni dello stesso tipo non aiutano, perché ricampionano la stessa distribuzione. Le etichette sugli stati che la policy raggiunge sì. La variante implementata qui è human-gated (HG-DAgger, Kelly et al.): la policy mantiene il controllo finché una persona non decide che sta sbagliando e prende il controllo, così le correzioni nascono solo dove servono, e al braccio non viene mai chiesto di entrare in uno stato che l'operatore non permetterebbe.

  • Il behavior cloning vale solo sulla distribuzione di stati su cui è stato addestrato.
  • Il fallimento si autoamplifica: una piccola deviazione produce uno stato sconosciuto, che produce una deviazione più grande.
  • Il rimedio non sono più dimostrazioni, sono etichette sugli stati che la policy stessa raggiunge.
  • Human-gated significa che è l'operatore a decidere quando intervenire, non un punteggio di autonomia.

Perché l'errore si accumula

Trascina l'orizzonte. Con behavior cloning il costo aggiuntivo atteso cresce all'incirca con il quadrato del numero di passi, perché ogni errore produce stati che le dimostrazioni non hanno mai coperto; un ciclo di aggregazione mantiene la crescita vicina alla linearità (Ross et al., 2011).

200
1.0 %
Behavior cloning
400
DAgger
2.00
200×
Behavior cloning ÷ DAgger
0.000100200300400050100150200Costo aggiuntivo atteso (limite superiore)
Orizzonte del compito (passi)

Curve illustrative basate sui limiti in Ross et al. (2011), non misurazioni del tuo robot. Conta la forma, non i numeri.

Un round DAgger in sei passaggi

Così funziona davvero il ciclo sulla piattaforma, non uno schema. Ogni passaggio qui sotto corrisponde a un comando nel cockpit.

Percorri il ciclo passo per passo

Gli stessi sei passaggi, uno alla volta, con quello che succede sul braccio e nel dataset a ciascuno di essi.

01

Guidare la policy e registrarla

Avvia un run di inferenza su un checkpoint che hai addestrato tu. Il run viene registrato mentre avviene, con il testo del compito del run stesso, così i frame restano utilizzabili come dati di addestramento in seguito, invece di essere solo un video da guardare.

1 di 6

Quello che la piattaforma ti toglie dalle mani

Ogni voce qui è un passaggio del ciclo che altrimenti dovresti costruire e mantenere da solo.

Presa di controllo senza leader arm

Scegli input da tastiera o slider all'inizio del run e puoi correggere con il solo laptop. I movimenti da tastiera sono limitati lato server a due gradi per giunto e quattro sulla pinza; i target dello slider sono assoluti e il server si muove al massimo di sei gradi verso di essi per chiamata. I limiti sono imposti dal server, non dall'interfaccia, quindi un tasto bloccato non può far impazzire il braccio.

Documentazione sulla teleoperazione

Interventi contrassegnati per frame

Ogni frame registrato mentre tieni il controllo del braccio porta un flag di intervento, e la colonna action contiene la posa comandata per intero. Non devi mantenere a mano una colonna di flag né allinearla agli indici dei frame in seguito.

Formato dataset LeRobot (in inglese)

Selezione: correzione, valutazione o cestino

Ogni run riceve una decisione sulla scheda di salvataggio. I run di correzione alimentano il round di addestramento successivo, i run di valutazione restano fuori dall'addestramento così da rimanere una misura pulita, e i run andati male spariscono invece di avvelenare in silenzio il mix.

Sessioni ed episodi

Comporre il mix in modo esplicito

Il set di addestramento per il round n lo assembli tu: dataset originale più correzioni, episodi selezionati per fonte. Nessuna miscelazione automatica, nessun dato di simulazione nascosto, e il risultato composto si comporta come qualsiasi altro dataset.

Dataset

Continuare da un checkpoint

Punta un run di addestramento al checkpoint che hai appena guidato invece che al modello base, così ogni round inizia dove è finito l'ultimo. Inizializza solo i pesi; lo stato dell'optimizer non viene ripristinato, per questo conviene trattare il primo round come un test di fattibilità.

Addestramento

GPU affittate per round

ACT e SmolVLA su una 4090, Pi0 e GR00T N1.5 o N1.7 su una A100 con 80 GB. Avvii un round, il pod si avvia, i checkpoint arrivano nel tuo bucket, e paghi solo le ore che il round ha impiegato.

Prezzi GPU

Pianifica i tuoi round

Il tasso di intervento è la metrica di avanzamento del ciclo: frame corretti diviso frame del run. Imposta il punto di partenza e quanto rende ogni round, e guarda quanti round servono per arrivare dove vuoi.

30 %
25 %
3 000
RoundTasso di interventoFrame corretti
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

Un modello, non una previsione. I round reali sono irregolari, e un round che non muove il tasso non ha portato nulla; è esattamente questo il segnale da tenere d'occhio.

Costruire il ciclo da soli oppure farlo girare qui

Niente di tutto questo è impossibile a mano. È una questione di quante serate finiscono nell'idraulica invece che nei round, e c'è una riga in cui farlo da soli è chiaramente la scelta migliore.

Passaggio del cicloCostruito a manoSu AY-Robots
Prendere il controllo a metà runUn leader arm, oppure codice tuo sul bus dei servo. La presa di controllo da tastiera e slider, compresi i limiti di sicurezza, la scrivi e la debugghi tu su hardware reale.Leader arm, tastiera o slider, scelti all'avvio del run. I limiti d'angolo vivono nel server.
Contrassegnare gli interventiAggiungi tu la colonna di flag, la mantieni allineata all'indice dei frame e la ricontrolli ogni volta che cambia il formato di registrazione.Ogni frame registrato durante una presa di controllo viene contrassegnato automaticamente, con la posa comandata nella colonna action.
Ordinare i runConvenzioni di cartelle e script di shell. I fermo immagine attorno a un passaggio di consegne li trovi ed escludi tu.Una decisione per run sulla scheda di salvataggio. I frame di passaggio di consegne restano nella cartella raw.
Costruire il dataset mistoScript di merge per ogni versione di formato. Tenere coerenti indici degli episodi, metadati e riferimenti video è la parte noiosa.Componi da originale più correzioni con selezione degli episodi per fonte; il risultato è un dataset normale.
Iniziare il round successivo dall'ultima policyColleghi tu il checkpoint nel trainer, e puoi anche ripristinare lo stato dell'optimizer se vuoi una vera ripresa.Un campo per il checkpoint di base. Solo pesi: inizializza dal checkpoint, non è una ripresa dell'optimizer.
Controllo sul ciclo di addestramentoTotale. Il tuo loss, il tuo schedule, le tue ablation, la tua strumentazione, nessuna piattaforma in mezzo. Se la domanda di ricerca è il ciclo di addestramento stesso, fallo a mano.Un percorso fisso con un elenco definito di policy e gli iperparametri che il modulo espone, non codice arbitrario.

Gli articoli su cui si basa tutto questo

Leggeteli prima di discutere il ciclo. Ogni link porta alla pagina dell'abstract, non a un 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)

    L'articolo originale su DAgger: espone il problema dell'errore che si accumula, fornisce il limite di T al quadrato per l'approccio puramente supervisionato e propone di aggregare dati dagli stati che il learner visita da solo.

  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

    La variante human-gated: è l'esperto a decidere quando prendere il controllo invece di essere interrogato sugli stati scelti dalla policy, ed è la modalità che questa piattaforma implementa.

  3. EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning

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

    L'altro modo di regolare gli interventi: il disaccordo tra ensemble come segnale di fiducia su quando il learner può agire da solo. Un utile contrasto rispetto a lasciar decidere a una persona.

  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

    Tratta l'attenzione umana come la risorsa scarsa e chiede aiuto solo negli stati nuovi o rischiosi, l'inquadramento giusto quando una persona sorveglia il braccio per un intero pomeriggio.

  5. DART: Noise Injection for Robust Imitation Learning

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

    L'alternativa onesta: invece di correggere la policy online, perturbare le dimostrazioni così che l'esperto mostri il recupero. Da conoscere prima di impegnarsi negli interventi.

  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

    La mappa del campo: quali forme di feedback umano esistono, quali interfacce le veicolano e dove si colloca tra queste l'intervento in stile DAgger.

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

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

    L'articolo su ACT. L'action chunking è il motivo per cui un braccio economico può essere guidato da una policy di imitazione, ed ACT è la policy più veloce con cui iterare un round 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

    Un VLA a flow matching costruito su un modello vision-language pre-addestrato, ed è uno dei checkpoint che puoi affinare qui; l'articolo è esplicito nel dire che le nuove abilità vengono dal fine-tuning, non dal solo modello base.

Le domande che le persone fanno davvero

Mi serve un leader arm per DAgger?

No. Scegli input da tastiera o slider all'inizio del run e la presa di controllo è manuale fin dal primo frame, pilotata dal browser. Un leader arm è più piacevole per i movimenti fini, ed è la modalità in cui il braccio si allinea da solo prima del passaggio di consegne, ma il ciclo funziona anche senza.

Quanti round DAgger mi servono?

Non esiste un numero fisso onesto. Osserva il tasso di intervento: se non scende da un round all'altro, quel round non ha portato nulla, e il problema di solito sta nell'impostazione del compito, nelle telecamere o nel dataset originale, non nel numero di round.

È vero DAgger o qualcosa di più libero?

È HG-DAgger, la variante human-gated. Il DAgger classico interroga l'esperto sugli stati scelti dalla policy, compresi stati in cui nessun operatore sensato lascerebbe arrivare un braccio reale. Qui è una persona a decidere quando intervenire, e solo quei segmenti diventano etichette.

Mi alleno solo sulle correzioni?

No, e non dovresti. Addestrarsi solo sulle correzioni produce una policy che sa solo recuperare. Il dataset composto è i dati originali più le correzioni, con gli episodi di ogni fonte scelti esplicitamente.

Continuare da un checkpoint riprende il run di addestramento?

Inizializza i pesi da quel checkpoint. Lo stato dell'optimizer non viene ripristinato, quindi non è una ripresa in senso stretto. In pratica sono i pesi a portare il comportamento appreso da un round all'altro, ma vale la pena sapere quale dei due si sta ottenendo.

Come si calcola il tasso di intervento?

Frame contrassegnati come intervento diviso il totale dei frame del run. Compare nello stato della presa di controllo, ed è l'unico numero che vale la pena annotare per ogni round, insieme al checkpoint guidato e al mix addestrato.

Con quali policy posso far girare questo ciclo?

ACT, SmolVLA, Pi0 e GR00T N1.5 o N1.7. Il ciclo in sé è indipendente dalla policy perché produce solo dataset e checkpoint; in pratica la differenza sta in quanto dura un round e quale GPU serve.

Posso farlo senza possedere un robot?

Puoi registrare e addestrare senza uno, acquistando dataset sul marketplace o commissionando operatori, e puoi guidare un vero SO-100 nel browser sulla pagina live. Un round DAgger è diverso: serve un braccio che tu possa prendere in mano a metà run, quindi per il ciclo vero e proprio serve hardware sulla tua scrivania.

Drive a real arm

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

Fai il tuo primo round questa settimana

Installa il client, guida un checkpoint che hai già e prendi il controllo la prima volta che il braccio sbaglia la presa sul cubo. Quell'unico run è un round DAgger in miniatura: tutto il resto è comporre il mix e pagare le ore di GPU.