DAgger
- Detto anche: Dataset Aggregation
- Categoria: Learning & autonomy › Learning from demonstration
- Tag: imitation-learning, policy-distillation, covariate-shift, robot-learning, sim-to-real
Un algoritmo di apprendimento per imitazione che esegue ripetutamente la policy del learner stesso, fa etichettare a un esperto gli stati raggiunti e riaddestra sul dataset crescente per evitare l'accumulo degli errori.
Definizione
DAgger, abbreviazione di Dataset Aggregation (aggregazione di dataset), è un algoritmo di apprendimento per imitazione introdotto da Stéphane Ross, Geoffrey Gordon e J. Andrew Bagnell nel 2011. Affronta il principale punto debole del semplice behavior cloning. Una policy addestrata solo su dimostrazioni di un esperto vede gli stati visitati dall'esperto; una volta in servizio, piccoli errori la portano in stati che l'esperto non ha mai visitato, dove non ha dati di addestramento e tende a commettere errori più grandi. Questa discrepanza tra gli stati di addestramento e quelli di impiego è nota come covariate shift (spostamento delle covariate), e gli errori che ne derivano si accumulano lungo il compito.
DAgger corregge la discrepanza raccogliendo dati sulla distribuzione degli stati del learner stesso. Il ciclo è semplice: addestrare una policy iniziale sui dati dell'esperto; eseguire quella policy, o una miscela di essa e dell'esperto, per visitare nuovi stati; chiedere all'esperto quale azione avrebbe scelto in ogni stato visitato; aggiungere questi stati etichettati al dataset; riaddestrare sull'intero dataset aggregato; e ripetere. L'articolo originale formula il tutto come un problema di apprendimento online no-regret e mostra che l'errore della policy cresce all'incirca linearmente con la durata del compito anziché quadraticamente, come può accadere con il behavior cloning.
Il requisito pratico è un esperto interrogabile in stati arbitrari. È facile quando l'esperto è un pianificatore, un controllore programmato o una policy in simulazione, ed è più difficile quando è una persona, che deve etichettare stati che non ha scelto. Varianti come HG-DAgger lasciano che una persona prenda il controllo solo quando il learner sbaglia. Nel robot learning attuale, DAgger è il modo standard per distillare una policy insegnante privilegiata, addestrata con apprendimento per rinforzo sullo stato reale del simulatore, in una policy studente che usa solo sensori di bordo come le telecamere.
Perché è importante
La maggior parte delle policy robotiche apprese viene addestrata da dimostrazioni o da un insegnante più forte, e il divario tra gli stati visti in addestramento e quelli raggiunti in servizio è una delle principali cause di fallimento. DAgger è il metodo più semplice e meglio compreso per colmare quel divario, ed è alla base di molte pipeline insegnante–studente usate per portare sui robot reali abilità addestrate in simulazione.
Applicazioni principali
- Distillazione di policy di simulazione privilegiate in policy studente basate sulla visione
- Addestramento di controllori di locomozione con zampe e di parkour per il trasferimento sim-to-real
- Apprendimento di policy di guida e di navigazione di droni da pianificatori o esperti umani
- Apprendimento per imitazione interattivo in cui una persona corregge il robot durante l'esecuzione
- Compressione di più policy di abilità specialistiche in un'unica policy generalista
In pratica
Un team che addestra un quadrupede a scalare e saltare ostacoli addestra prima diverse policy specialistiche con apprendimento per rinforzo in simulazione, ciascuna con accesso alle altezze esatte del terreno. Poi addestra un'unica policy basata sulla visione che vede solo una telecamera di profondità e la propriocezione. A ogni round la policy visiva guida il robot simulato; a ogni passo si chiede allo specialista pertinente quale azione sceglierebbe, e si memorizza la coppia formata dall'osservazione e dall'azione dello specialista. La policy visiva viene riaddestrata su tutti i dati raccolti fino a quel momento, e il ciclo si ripete finché non si avvicina abbastanza agli specialisti. Poiché gli stati sono stati generati dallo studente, i suoi dati di addestramento includono gli inciampi e le inquadrature insolite che incontrerà sul robot reale.
Idee sbagliate comuni
- DAgger è behavior cloning con più dati — la differenza chiave è che i nuovi dati provengono da stati visitati dal learner stesso, non da altre dimostrazioni dell'esperto
- DAgger richiede un esperto umano — va bene qualsiasi esperto in grado di etichettare stati arbitrari, e in robotica è più spesso una policy insegnante o un pianificatore in simulazione
- L'esperto deve controllare il robot mentre si raccolgono i dati — in DAgger di solito agisce il learner e l'esperto si limita a etichettare, ed è questo che mette in luce gli errori del learner stesso
- DAgger elimina la necessità di un esperto dopo il primo round — l'esperto deve essere disponibile per etichettare gli stati in ogni round di addestramento
Chi dovrebbe saperlo
- Ricercatori di robot learning che usano l'apprendimento per imitazione
- Ingegneri che costruiscono pipeline sim-to-real insegnante–studente
- Sviluppatori di locomozione con zampe e di autonomia dei droni
- Studenti di apprendimento per imitazione e apprendimento per rinforzo
Tecnologie correlate
- Behavior cloning (Behavior Cloning)
- HG-DAgger
- Distillazione di policy (Policy Distillation)
- Isaac Gym
- Apprendimento per rinforzo (Reinforcement Learning)
Termini correlati
Progetti correlati
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- OpenPI: Physical Intelligence VLA foundation models for general robot control
- NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
- Mobile ALOHA: Bimanual mobile manipulation with 4 robot arms on a wheeled base for teleoperation
- OpenArm: 7DOF humanoid arm for physical AI research in contact-rich environments
- Koch v1.1 Low-Cost Robot Arm: Open-source 6-DOF robot arm for affordable teleoperation and imitation learning research.