Toma el control cuando la política se equivoca, y entrena exactamente esa corrección.
Una política entrenada mediante behavior cloning solo conoce los estados que visitaron tus demostraciones. DAgger cierra esa brecha con datos de los estados que la propia política alcanza. AY-Robots ejecuta el bucle completo en un SO-100: conducir un checkpoint, tomar el control a mitad de la ejecución, conservar los episodios corregidos, componer la mezcla y continuar el entrenamiento desde el checkpoint que acabas de conducir.
- HG-DAgger, human-gated
- SO-100 / SO-101
- ACT, SmolVLA, Pi0, GR00T N1.5 / N1.7
- Tasa de intervención por ronda
Por qué una política entrenada hace algo que nunca se demostró
Behavior cloning trata el control como aprendizaje supervisado ordinario: entra una observación, sale un objetivo articular, ajustado a los fotogramas que grabó un humano. Eso solo es válido mientras el robot permanezca en los estados que ese humano visitó, y no permanece. Un gripper que cierra cuarenta milisegundos antes de tiempo desplaza el cubo dos milímetros fuera de la pose demostrada. La siguiente observación es una que el conjunto de entrenamiento no contiene, así que la acción allí es una extrapolación, y el estado siguiente queda aún más alejado. La distribución de entrenamiento y la distribución que la política aprendida realmente induce son dos cosas distintas, y la segunda se aleja de la primera a medida que avanza el episodio.
Ross, Gordon y Bagnell describieron exactamente este fallo de reducción en 2011 y cuantificaron el daño: un clasificador que se equivoca con probabilidad e bajo la distribución del experto puede cometer del orden de T al cuadrado por e errores a lo largo de un horizonte de T pasos bajo la distribución que él mismo induce, porque un error produce observaciones que el experto nunca generó y los errores se acumulan. Su solución es el algoritmo del que trata esta página. Ejecutar la política actual, recoger etiquetas del experto para los estados que visita, agregarlas a todo lo recogido hasta el momento, reentrenar, repetir. Más demostraciones del mismo tipo no ayudan, porque vuelven a muestrear la misma distribución. Las etiquetas sobre los estados que la política alcanza sí. La variante implementada aquí es human-gated (HG-DAgger, Kelly et al.): la política conserva el control hasta que una persona decide que algo va mal y toma el control, de modo que las correcciones se producen solo donde se necesitan, y nunca se le pide al brazo que entre en un estado que el operador no permitiría.
- Behavior cloning solo es válido sobre la distribución de estados con la que se entrenó.
- El fallo se autoamplifica: una pequeña desviación produce un estado desconocido, que produce una desviación mayor.
- El remedio no son más demostraciones, son etiquetas sobre los estados que la propia política alcanza.
- Human-gated significa que el operador decide cuándo intervenir, no una puntuación de autonomía.
Por qué el error se acumula
Arrastra el horizonte. Bajo behavior cloning, el coste extra esperado crece aproximadamente con el cuadrado del número de pasos, porque cada error produce estados que las demostraciones nunca cubrieron; un bucle de agregación mantiene el crecimiento cerca de lineal (Ross et al., 2011).
Curvas ilustrativas a partir de las cotas de Ross et al. (2011), no mediciones de tu robot. Lo importante es la forma, no las cifras.
Una ronda de DAgger, seis pasos
Así es como la plataforma ejecuta realmente el bucle, no un esquema. Cada paso de abajo corresponde a un control del cockpit.
Recorrer el bucle
Los mismos seis pasos, uno por uno, con lo que ocurre en el brazo y en el dataset en cada uno de ellos.
Ejecutar la política y grabarla
Iniciar una ejecución de inferencia contra un checkpoint que hayas entrenado. La ejecución se graba mientras ocurre, con el texto de tarea de la propia ejecución, de modo que los fotogramas sirven después como datos de entrenamiento y no solo como un vídeo para ver.
Tomar el control y corregir
En el momento en que el brazo hace lo incorrecto: pulsa Tomar el control. El runner se pausa y el brazo es tuyo. Con un brazo líder, este primero se desplaza a la pose del follower y entrega el control; con entrada por teclado o deslizadores, elegida al iniciar la ejecución, la toma de control es manual desde el principio. Corrige el movimiento y devuelve el control a la política. Los fotogramas grabados durante la toma de control se marcan como intervención automáticamente.
Clasificar la ejecución
Decide para cada ejecución qué fue: archivarla como corrección, conservarla como ejecución de evaluación o descartarla. Los fotogramas congelados alrededor de una entrega se quedan en el directorio raw y nunca entran en el dataset.
Sincronizar el dataset de correcciones
Las correcciones se acumulan en un dataset de correcciones propio de cada política y llegan a tu bucket mediante la sincronización automática con la nube. En este punto no se fusiona nada con nada; las correcciones son, sencillamente, un dataset propio.
Componer tú mismo la mezcla
Usa Componer dataset para construir el conjunto de entrenamiento de la siguiente ronda: el dataset original más las correcciones, con los episodios elegidos explícitamente por fuente. El resultado es un dataset normal que se sincroniza y se entrena como cualquier otro. Nada se mezcla a tus espaldas, y no se añaden datos de simulación de forma automática.
Continuar el entrenamiento desde el checkpoint
Entrena el dataset compuesto con Continuar desde checkpoint en lugar de partir del modelo base, de modo que la ronda empiece en la política que acabas de conducir. Hay que ser precisos con lo que esto es: inicializa los pesos a partir de ese checkpoint, no es una reanudación del optimizador.
Lo que la plataforma te quita de encima
Cada punto de aquí es un paso del bucle que, de otro modo, tendrías que construir y mantener tú mismo.
Toma de control sin brazo líder
Elige entrada por teclado o deslizadores al iniciar la ejecución y podrás corregir con solo un portátil. Los impulsos de teclado se limitan en el servidor a dos grados por articulación y cuatro en el gripper; los objetivos de los deslizadores son absolutos y el servidor avanza hacia ellos como máximo seis grados por llamada. Los límites los impone el servidor, no la interfaz, así que una tecla atascada no puede descontrolar el brazo.
Documentación de teleoperaciónIntervenciones marcadas por fotograma
Cada fotograma grabado mientras controlas el brazo lleva una marca de intervención, y la columna action lleva la pose completa ordenada. No mantienes una columna de marcas a mano ni la alineas después con los índices de fotograma.
Formato de dataset LeRobotClasificación: corrección, evaluación o papelera
Cada ejecución recibe una decisión en la tarjeta de guardado. Las ejecuciones de corrección alimentan la siguiente ronda de entrenamiento, las de evaluación quedan fuera del entrenamiento para seguir siendo una medición limpia, y las ejecuciones malas desaparecen en lugar de contaminar la mezcla en silencio.
Sesiones y episodiosComponer la mezcla explícitamente
El conjunto de entrenamiento de la ronda n lo ensamblas tú: dataset original más correcciones, con episodios seleccionados por fuente. Sin mezcla automática, sin datos de simulación ocultos, y el resultado compuesto se comporta como cualquier otro dataset.
DatasetsContinuar desde un checkpoint
Apunta una ejecución de entrenamiento al checkpoint que acabas de conducir en lugar de al modelo base, de modo que cada ronda empiece donde terminó la anterior. Solo inicializa los pesos; el estado del optimizador no se restaura, por lo que conviene tratar la primera ronda como una prueba de viabilidad.
EntrenamientoGPUs alquiladas por ronda
ACT y SmolVLA en una 4090, Pi0 y GR00T N1.5 o N1.7 en una A100 con 80 GB. Inicias una ronda, el pod se levanta, los checkpoints llegan a tu bucket, y pagas las horas que ha durado la ronda.
Precios de GPUPlanifica tus rondas
La tasa de intervención es la métrica de progreso del bucle: fotogramas corregidos dividido entre fotogramas de la ejecución. Fija tu punto de partida y cuánto aporta cada ronda, y comprueba cuántas rondas hacen falta para llegar donde quieres.
| Ronda | Tasa de intervención | Fotogramas corregidos |
|---|---|---|
| 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 modelo, no una previsión. Las rondas reales son irregulares, y una ronda que no mueve la tasa no te ha aportado nada; esa es exactamente la señal que vale la pena vigilar.
Construir el bucle tú mismo frente a ejecutarlo aquí
Nada de esto es imposible a mano. Es cuestión de cuántas noches se van en fontanería en lugar de en rondas, y hay una fila en la que hacerlo tú mismo es claramente la mejor opción.
| Paso del bucle | Montado a mano | En AY-Robots |
|---|---|---|
| Tomar el control a mitad de la ejecución | Un brazo líder, o tu propio código en el bus de servos. La toma de control por teclado y deslizadores, incluidos los límites seguros, la escribes y depuras tú en hardware real. | Brazo líder, teclado o deslizadores, elegidos al iniciar la ejecución. Los límites de ángulo residen en el servidor. |
| Marcar intervenciones | Añades la columna de marca, la mantienes alineada con el índice de fotograma y la revisas cada vez que cambia el formato de grabación. | Cada fotograma grabado durante una toma de control se marca automáticamente, con la pose ordenada en la columna action. |
| Clasificar las ejecuciones | Convenciones de directorios y scripts de shell. Los fotogramas congelados alrededor de una entrega los encuentras y filtras tú. | Una decisión por ejecución en la tarjeta de guardado. Los fotogramas de entrega se quedan en el directorio raw. |
| Construir el dataset mixto | Scripts de fusión por versión de formato. Mantener coherentes los índices de episodio, los metadatos y las referencias de vídeo es la parte tediosa. | Componer a partir del original más correcciones con selección de episodios por fuente; el resultado es un dataset normal. |
| Empezar la siguiente ronda desde la última política | Conectas tú mismo el checkpoint al entrenador, y también puedes restaurar el estado del optimizador si quieres una reanudación real. | Un campo para el checkpoint base. Solo pesos: inicializa desde el checkpoint, no es una reanudación del optimizador. |
| Control sobre el bucle de entrenamiento | Total. Tu loss, tu programación, tus ablaciones, tu instrumentación, sin ninguna plataforma de por medio. Si la pregunta de investigación es el propio bucle de entrenamiento, hazlo a mano. | Un camino fijo con una lista establecida de políticas y los hiperparámetros que expone el formulario, no código arbitrario. |
Los papers en los que se basa esto
Lee esto antes de discutir el bucle. Cada enlace lleva a la página del abstract, no a un muro de pago.
- 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)
El paper original de DAgger: plantea el problema de la acumulación de errores, da la cota de T al cuadrado para el enfoque puramente supervisado y propone agregar datos de los estados que el propio aprendiz visita.
- 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: el experto decide cuándo tomar el control en lugar de que se le consulte sobre estados elegidos por la política; este es el modo que implementa esta plataforma.
- EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning
Kunal Menda, Katherine Driggs-Campbell, Mykel J. Kochenderfer · 2019 · arXiv:1807.08364, IROS 2019
La otra forma de controlar las intervenciones: el desacuerdo entre un ensemble como señal de confianza para saber cuándo el aprendiz puede actuar solo. Un contraste útil frente a dejar que lo juzgue una persona.
- 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
Trata la atención humana como el recurso escaso y solo pide ayuda en estados novedosos o arriesgados, el enfoque correcto cuando una sola persona supervisa el brazo toda la tarde.
- DART: Noise Injection for Robust Imitation Learning
Michael Laskey, Jonathan Lee, Roy Fox, Anca Dragan, Ken Goldberg · 2017 · CoRL 2017
La alternativa honesta: en lugar de corregir la política en línea, perturbar las demostraciones para que el experto muestre cómo recuperarse. Conviene conocerla antes de comprometerse con las intervenciones.
- 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
El mapa del campo: qué formas de feedback humano existen, qué interfaces las transmiten y dónde encaja entre ellas la intervención al estilo DAgger.
- Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware
Tony Z. Zhao, Vikash Kumar, Sergey Levine, Chelsea Finn · 2023 · arXiv:2304.13705
El paper de ACT. El action chunking es la razón por la que un brazo barato puede ser conducido por una política de imitación, y ACT es la política más rápida para iterar una ronda de DAgger.
- π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 basado en flow matching construido sobre un modelo de visión y lenguaje preentrenado, y uno de los checkpoints que se pueden ajustar aquí; el paper es explícito en que las nuevas habilidades vienen del fine-tuning, no solo del modelo base.
Preguntas que la gente realmente hace
¿Necesito un brazo líder para DAgger?
No. Elige entrada por teclado o deslizadores al iniciar la ejecución y la toma de control es manual desde el primer fotograma, manejada desde el navegador. Un brazo líder resulta más cómodo para movimientos finos, y es el único modo en el que el brazo se alinea solo antes de la entrega, pero el bucle funciona sin él.
¿Cuántas rondas de DAgger necesito?
No hay un número fijo honesto. Vigila la tasa de intervención: si no baja de una ronda a la siguiente, esa ronda no ha aportado nada, y el problema suele estar en la configuración de la tarea, en las cámaras o en el dataset original, no en el número de rondas.
¿Es esto DAgger de verdad o algo más laxo?
Es HG-DAgger, la variante human-gated. El DAgger clásico consulta al experto sobre estados que eligió la política, incluidos estados a los que ningún operador razonable dejaría llegar a un brazo real. Aquí una persona decide cuándo intervenir, y solo esos segmentos se convierten en etiquetas.
¿Entreno solo con las correcciones?
No, y no deberías. Entrenar solo con correcciones da como resultado una política que únicamente sabe recuperarse. El dataset compuesto son los datos originales más las correcciones, con los episodios de cada fuente elegidos explícitamente.
¿Continuar desde un checkpoint reanuda la ejecución de entrenamiento?
Inicializa los pesos a partir de ese checkpoint. El estado del optimizador no se restaura, así que no es una reanudación en sentido estricto. En la práctica, los pesos son lo que transporta el comportamiento aprendido de una ronda a otra, pero conviene saber cuál de las dos cosas se obtiene.
¿Cómo se calcula la tasa de intervención?
Fotogramas marcados como intervención divididos entre el total de fotogramas de la ejecución. Se muestra en el estado de la toma de control, y es el único número que vale la pena anotar por ronda junto con el checkpoint conducido y la mezcla entrenada.
¿Con qué políticas puedo ejecutar este bucle?
ACT, SmolVLA, Pi0 y GR00T N1.5 o N1.7. El bucle en sí es independiente de la política porque solo produce datasets y checkpoints; la diferencia práctica está en cuánto dura una ronda y qué GPU necesita.
¿Puedo hacer esto sin tener un robot propio?
Puedes grabar y entrenar sin tenerlo comprando datasets en el marketplace o encargando el trabajo a operadores, y puedes conducir un SO-100 real desde el navegador en la página live. Una ronda de DAgger es distinta: necesita un brazo del que puedas tomar el control a mitad de la ejecución, así que para el bucle en sí conviene tener hardware en tu propia mesa.
A real SO-100, live in the browser. No signup, no hardware needed.
Ejecuta tu primera ronda esta semana
Instala el cliente, conduce un checkpoint que ya tengas, y toma el control la primera vez que el brazo se pase de largo del cubo. Esa única ejecución es una ronda de DAgger en miniatura: todo lo que viene después es componer la mezcla y pagar las horas de GPU.