Volver a Blog

Se explica la política de ACT: acción con transformadores para el aprendizaje de robots

¿Qué es la política de ACT? Una inmersión profunda en 2026 en el Acción de la Cumplimiento con Transformadores: arquitectura, capacitación CVAE, orientación de hiperparámetros, comparación con la política de difusión, puntos de referencia de inferencia y cómo entrenar ACT con datos de RCSV.

Parte de: [Guía de aprendizaje por imitación]

ACT Action Chunking with Transformers se convirtió en uno de los algoritmos de aprendizaje de imitación más ampliamente adoptados para la manipulación hábil después de su publicación por Tony Zhao y colaboradores de Stanford. Aquí hay una explicación práctica de cómo funciona y cómo usarlo.

¿Qué es ACT?

ACT es un algoritmo de aprendizaje de imitación diseñado para tareas de manipulación de granos finos en las que el robot debe realizar movimientos suaves y coordinados basados en observaciones visuales. En el momento de la inferencia, ACT toma una secuencia de imágenes de las cámaras del robot y el estado conjunto actual, y emite una gran cantidad de acciones futuras una secuencia corta de objetivos de posición conjunta en lugar de una sola acción siguiente. El robot ejecuta esta pieza, luego vuelve a consultar la política para la siguiente pieza. Este diseño de predicción de muchos pasos adelante es la característica definidora de ACT y la fuente de la mayoría de sus ventajas sobre la clonación de comportamiento más simple.

ACT se introdujo en el contexto del sistema de manipulación bimanual ALOHA y demostró el éxito en tareas que anteriormente se consideraban fuera del alcance para el aprendizaje de imitación: enrollar una batería, abrir una bolsa de ziploc, enredar una aguja. Su visión central de que la predicción de acción en pedazos reduce los errores de composición y suaviza las trayectorias desde entonces se ha adoptado en numerosos algoritmos de seguimiento, incluida la Política de difusión, pi0, y OpenVLA.

Cómo funciona el proceso de desmontaje

La clonación de comportamiento estándar (BC) entrena una política para predecir la próxima acción única dada la observación actual. En el momento de la inferencia, los errores de predicción se acumulan: cada pequeño error cambia ligeramente el estado del robot, lo que lo coloca en una distribución en la que la política no fue entrenada, lo que hace que la siguiente predicción sea peor, y así sucesivamente. Este error de composición es el modo de falla central de BC ingenuo en tareas de manipulación fina. En una trayectoria de manipulación de 200 pasos, incluso un 1% por paso de la tasa de error de composición a ~87% probabilidad de desviación de la distribución de demostración por el paso 200.

El chunking de acción rompe este ciclo prediciendo una secuencia de k acciones futuras típicamente 50100 pasos a 50 Hz, correspondiente a 12 segundos de movimiento. La política se compromete a este plan y lo ejecuta antes de volver a consultar. Debido a que el plan se generó a partir de una sola observación consistente, la trayectoria es suave y consistente internamente. La política solo necesita manejar k "puntos de decisión" por episodio en lugar de 200, reduciendo el factor de composición de 200 a 200/k (por ejemplo, 4 re-questiones para k=50).

Ensamblaje temporal

En la práctica, ACT no ejecuta la pieza completa antes de volver a consultar. En cambio, vuelve a consultar cada m paso (donde m < k), produciendo trozos de acción superpuestos. Para cada paso de tiempo futuro, múltiples trozos proporcionan predicciones, y estas predicciones se promedian con pesos en decadencia exponencial (los trozos más recientes pesados más alto). Este ensamblaje temporal suaviza aún más la ejecución y reduce el nerviosismo en los límites entre los trozos.

El calendario de peso de ensamblaje utiliza una decadencia exponencial: para una predicción de un pedazo generado hace t pasos, el peso es T2, donde la temperatura controla la tasa de decadencia. El papel ACT original utiliza temperatura = 10 (a 50 Hz), lo que significa que las predicciones del pedazo actual tienen un peso de ~1.0 mientras que las predicciones de un pedazo generado hace 20 pasos tienen un peso de ~0.14. Esto produce una mezcla suave entre predicciones consecutivas.

¿Por qué no aumentar el tamaño de la pieza? Los trozos más grandes significan menos puntos de decisión, pero también menos reactividad a los cambios ambientales (objeto se mueve, se presenta un obstáculo).

ACT Arquitectura: el cuadro completo

ACT utiliza una arquitectura CVAE (Conditional Variational Codificador Automático) con una columna vertebral transformadora.

El codificador CVAE (sólo para formación)

Durante la formación, un codificador procesa toda la trayectoria de la demostración imágenes, estados conjuntos y acciones de verdad fundamental y produce una variable de estilo latente z (dimensión 32 en la implementación original) que captura el "estilo" de la demostración. Las diferentes demostraciones de la misma tarea pueden acercarse al objeto desde diferentes ángulos, usar diferentes orientaciones de agarre o moverse a diferentes velocidades.

El codificador es un transformador que atende a la secuencia de acción completa (todas las acciones de la verdad de la tierra en la pieza) y la observación actual.

En el momento de la inferencia, z se establece en cero (la media del anterior), lo que hace que la política sea determinista dada la observación. Esta es una elección de diseño deliberada: en el despliegue, se quiere un comportamiento consistente y predecible, no muestreo aleatorio de la distribución de estilo aprendido. La estructura de la CVAE es puramente una ayuda de formación que evita el colapso de los modos sin ella, el modelo tiende a promediar entre los estilos de demostración, produciendo movimientos que son el medio de todos los enfoques (y por lo tanto ninguno de ellos).

El decodificador de transformador (entrenamiento + inferencia)

El decodificador toma tres entradas: el latente z (o cero en la inferencia), los tokens de observación actuales (desde la columna vertebral de la visión + propriocepción) y un conjunto de consultas posicionales k aprendizables (una por acción en el pedazo). El decodificador utiliza la atención transformer estándar: las consultas posicionales atenden a los tokens de observación y z, produciendo predicciones de acción k en paralelo.

Detalles de arquitectura de la implementación original:

  • Cosas de transformador: 4 capas de codificador, 7 capas de decodificador (deliberadamente asimétrico el decodificador es más profundo porque hace más trabajo)
  • Dimensión oculta: 512
  • Tas de atención: 8
  • Dimensión de alimentación: 2048
  • Parámetros totales: ~40M (excluyendo la columna vertebral de la visión)

La columna vertebral de la visión

La columna vertebral de visión es típicamente una ResNet-18 que procesa cada vista de la cámara de forma independiente. Cada imagen de la cámara (480×640 RGB) se procesa a través de la ResNet para producir un mapa de características (15×20×512), que se aplania en 300 tokens por cámara. Con 24 cámaras, esto produce 6001,200 tokens visuales que se pasan al decodificador del transformador.

Vistas de cámaras múltiples cámaras de muñeca más cámaras de sobrecarga cada una contribuye a un flujo de tokens, dando a la política una rica información espacial sobre la escena de manipulación. La configuración mínima viable es de 2 cámaras: una montada en la muñeca (para detalles de manipulación de primer plano) y una sobrecarga o tercera persona (para el contexto espacial). Tres cámaras (1 muñeca + 2 terceras personas en diferentes ángulos) es el estándar RCSV para la recopilación de datos y superan consistentemente las configuraciones de 2 cámaras en 515% de tasa de éxito en tareas de precisión.

Acto de formación: el objetivo de la CVAE

La pérdida de entrenamiento tiene dos componentes:

# ACT training loss (simplified PyTorch)
def act_loss(model, batch):
    images = batch["images"]           # (B, n_cameras, 3, H, W)
    joint_states = batch["qpos"]       # (B, n_joints)
    actions = batch["actions"]         # (B, chunk_size, action_dim)

    # Encoder: process full trajectory -> latent z
    z_mean, z_logvar = model.encoder(images, joint_states, actions)
    z = reparameterize(z_mean, z_logvar)  # (B, latent_dim)

    # Decoder: predict action chunk from observation + z
    predicted_actions = model.decoder(images, joint_states, z)  # (B, chunk_size, action_dim)

    # Reconstruction loss: L1 on predicted actions
    reconstruction = F.l1_loss(predicted_actions, actions)

    # KL divergence: regularize z toward N(0, I)
    kl_div = -0.5 * torch.mean(
        1 + z_logvar - z_mean.pow(2) - z_logvar.exp()
    )

    # Total loss
    beta = 10.0  # KL weight - tune this carefully
    total_loss = reconstruction + beta * kl_div
    return total_loss, {"recon": reconstruction.item(), "kl": kl_div.item()}

El hiperparámetro beta controla el equilibrio entre la exactitud de la reconstrucción y la regularidad del espacio latente. Demasiado bajo (beta < 1): el modelo memoriza demostraciones pero z se vuelve sin sentido, y la inferencia con z = 0 produce basura. Demasiado alto (beta > 100): el modelo ignora z por completo, perdiendo la capacidad de manejar demostraciones multimodales. Monitorear tanto la pérdida de reconstrucción como la divergencia de KL durante el entrenamiento el entrenamiento saludable muestra que KL se estabiliza entre 0,55,0 nats.

Orientación sobre los hiperparámetros

ACT tiene menos hiperparámetros que la mayoría de los algoritmos RL profundos, pero los que tiene importancia significativa. Aquí hay una guía de nuestra experiencia en entrenamiento ACT en más de 20 tareas de manipulación en RCSV:

Hyperparameter Default Range to Search Effect of Increasing When to Increase
Chunk size (k) 100 20–200 Smoother trajectories, less reactive Smooth tasks (wiping, pouring); decrease for reactive tasks
Latent dim (z) 32 16–64 More expressive style capture High demonstration variance (different operators, strategies)
KL weight (beta) 10 1–100 Stronger regularization, less memorization Small datasets (<50 demos) to prevent overfitting
Learning rate 1e-5 5e-6–5e-5 Faster convergence, risk of instability Large datasets (>200 demos); use warmup
Temporal ensemble temp 10 5–50 Slower blending, more inertia Smoother tasks; decrease for faster reactivity
Number of cameras 2 1–4 Richer spatial information, more compute 3D reasoning tasks (stacking, insertion)
Backbone ResNet-18 ResNet-18/34/50 Better visual features, more compute Visually complex scenes (cluttered, varying lighting)
Training epochs 3000 1000–8000 Better fit, risk of overfitting More demos or more complex tasks

El tamaño de la pieza es el hiperparámetro más importante. Si solo sintonizas una cosa, sintoniza el tamaño de la pieza. Un tamaño de la pieza que es demasiado grande para tu tarea hace que el robot "comprometa" con los planes que ya están obsoletos cuando terminan de ejecutar. Comience en k=50 para una nueva tarea y ajuste: si el robot es tirador en los límites de los fragmentos, aumente k; si el robot no reacciona a los cambios ambientales, disminuya k.

ACT vs política de difusión: comparación detallada

En las tareas ALOHA originales, ACT logró tasas de éxito de 8095% en comparación con 2050% para el BC estándar en los mismos datos. Pero la comparación más interesante es ACT vs. Diffusion Policy (Chi et al., 2023), el otro algoritmo dominante de aprendizaje por imitación.

Dimension ACT Diffusion Policy Verdict
Inference latency (50Hz control) 2–5ms per chunk 50–200ms per chunk (DDPM); 10–30ms (DDIM) ACT wins by 5–10x
Multi-modality handling CVAE latent (limited) Full diffusion (excellent) Diffusion wins
Data efficiency (<50 demos) Good Moderate ACT slightly better
Data efficiency (>200 demos) Good Excellent Diffusion slightly better
Training time (same data) ~8 hours (A100) ~12 hours (A100) ACT faster
Trayectoria smoothness Excellent (temporal ensembling) Very good ACT slightly better
Precisión tasks (<1mm tolerance) Good Excellent Diffusion wins
Bimanual coordination Excellent (designed for ALOHA) Good ACT wins
Model size ~40M params ~80M params ACT smaller
Edge deployment (Jetson AGX Orin) ~25 Hz ~5 Hz (DDPM); ~12 Hz (DDIM) ACT much better
Open-source implementations LeRobot, original repo LeRobot, original repo Tie

Cuándo usar ACT: Cuando la velocidad de inferencia es importante (implementación de borde, altas tasas de control), cuando tienes datos limitados (<100 demos), para tareas bimanual, o cuando necesitas la más simple línea de entrenamiento posible. ACT también es la mejor opción cuando estás implementando en hardware limitado por computación como Jetson Orin Nano, donde la denunciación iterativa de la Política de difusión se vuelve prohibitivamente lenta.

Cuándo utilizar la política de difusión: Cuando sus demostraciones tengan una multmodalidad significativa (múltiples estrategias válidas para la misma tarea), para tareas de ensamblaje de precisión donde la precisión submilimétrica importa, o cuando tenga datos abundantes (> 200 demostraciones) y pueda permitirse el cálculo de la formación y la inferencia. La capacidad de la Política de difusión para representar la distribución completa de las acciones válidas (en lugar de colapsar a una media a través del CVAE) le da una ventaja en tareas donde hay verdaderamente múltiples enfoques correctos.

Indicadores de velocidad de inferencia

Hemos comparado la inferencia de ACT en plataformas de hardware relevantes para la implementación de robótica. Todas las mediciones utilizan la arquitectura estándar de ACT (ResNet-18, espina dorsal, 2 cámaras, espacio de acción 7-DOF, tamaño de pieza 50):

Hardware ACT Inference (ms) ACT Throughput (Hz) DP-DDIM Inference (ms) DP-DDIM Throughput (Hz) Notes
NVIDIA A100 (80GB) 1.8 555 12 83 Datacenter training/inference
NVIDIA RTX 4090 2.5 400 15 67 Desktop workstation
NVIDIA RTX 4070 4.2 238 25 40 Budget desktop
Jetson AGX Orin (64GB) 12 83 45 22 Onboard robot compute
Jetson Orin Nano (8GB) 40 25 180 5.5 Min viable edge
Jetson Orin NX (16GB) 22 45 85 12 Mid-range edge
Apple M3 Pro (18GB) 8 125 35 28 Development laptop

El umbral crítico para el control de manipulación en tiempo real es de 20 Hz (50 ms por inferencia). ACT cumple con esto en todas las plataformas que probamos excepto la configuración Jetson de gama más baja (Orin Nano todavía maneja 25 Hz).

Los requisitos de los datos y lo que constituyen los datos buenos

ACT funciona bien con 50 200 demostraciones por tarea en la mayoría de los resultados publicados. Sin embargo, la calidad de los datos es más importante que la cantidad. He aquí lo que hemos aprendido sobre la calidad de los datos de recopilar más de 25,000 demostraciones en RCSV:

Datos mínimos viables por complejidad de tarea

  • Pic-and-place simple (un objeto, ubicación fija): 2030 demostraciones. ACT aprende esto confiablemente con un mínimo de datos.
  • Pick-and-place con variación de pose (posición aleatoria de objetos): 5080 demos. Necesita cubrir el espacio de trabajo.
  • Múltiple manipulación (recolección, transporte, ubicación con precisión): 100150 demostraciones.
  • ** Coordinación bimanual (dos brazos, movimientos dependientes):** 150250 demostraciones.
  • Conjunto rico en contacto (inserción, torsión, arranque): 200400 demostraciones.

Requisitos de calidad

Las demostraciones deben ser suaves y con propósito la política de ACT aprenderá cualquier patrón de movimiento que haya en los datos, incluidas las vacilaciones, correcciones y enfoques subóptimos. Criterios de calidad específicos:

  • No hay pausas: Las manifestaciones deben fluir continuamente. Las largas pausas (> 0,5 segundos de no movimiento) confunden el proceso de acción la política aprende a predecir los trozos de "no hacer nada".
  • ** Velocidad constante:** Los operadores deben ejecutar a un ritmo constante. La mezcla de demostraciones rápidas y lentas dentro del mismo conjunto de datos obliga a la CVAE a desperdiciar la variación de velocidad de modelado de capacidad latente en lugar de la variación relevante para la tarea.
  • Clean starts/ends: Cada episodio debe comenzar desde una postura neutral similar y terminar con el agarre claramente en la configuración final.
  • Sólo el éxito: Eliminar todas las demostraciones fallidas. A diferencia de algunos enfoques de RL que pueden aprender de los fracasos, ACT trata todos los datos de formación como demostraciones expertas para imitar.

La consistencia de la cámara también es crítica. Si la colocación de la cámara cambia entre las sesiones de grabación, las características visuales aprendidas por la política ya no coincidirán con la configuración de implementación. Utilice montajes físicos en lugar de brazos flexibles, y registre los parámetros de calibración de la cámara con cada conjunto de datos.

Procedimiento de formación paso a paso

Este es el procedimiento de formación de extremo a extremo que utilizamos en el RCSV para las nuevas políticas del ACT:

  1. ** Recopilación de datos:** Registra demostraciones utilizando teleoperación con la configuración de seguidor del líder. Rate de control de 50 Hz, cámaras 23, grabación sincronizada. Exportación al formato LeRobot HDF5.
  2. ** Validación de datos:** Ejecutar el verificador de calidad de datos de la RCSV: comprobar que las longitudes de los episodios están dentro de 2 veces de cada uno, que no hay caídas en el marco de la cámara, que las posiciones conjuntas están dentro de los límites, que se verifican las etiquetas de éxito.
  3. Split: 90/10 tren/val split, estratificado según la configuración de objetos si corresponde.
  4. ** Entrenamiento:** Utilice el guión de entrenamiento LeRobot ACT con los hiperparámetros de la tabla anterior.
  5. ** Selección de puntos de verificación:** NO utilice el punto de verificación final. Seleccione el punto de verificación con la menor pérdida de validación.
  6. Evaluación de simulación (si está disponible): Realice 100 episodios en simulación con el punto de control seleccionado.
  7. Evaluación real: ejecutar 20 episodios en hardware real. Comparar con la evaluación sim. Un intervalo >20% sugiere una falta de coincidencia en la calibración de la cámara o problemas de escalación del espacio de acción.
# Full ACT training command via LeRobot
python lerobot/scripts/train.py \
  --policy.name=act \
  --dataset.repo_id=svrc/openarm_pick_place \
  --policy.chunk_size=50 \
  --policy.n_obs_steps=1 \
  --policy.dim_model=512 \
  --policy.n_heads=8 \
  --policy.n_encoder_layers=4 \
  --policy.n_decoder_layers=7 \
  --policy.latent_dim=32 \
  --policy.kl_weight=10.0 \
  --training.learning_rate=1e-5 \
  --training.batch_size=8 \
  --training.num_epochs=5000 \
  --training.eval_freq=500 \
  --training.save_freq=1000 \
  --device=cuda \
  --output_dir=outputs/act_openarm_pick_place/

Los fracasos y las soluciones comunes en la formación

  • En la política de salida de la acción de cero/acciones constantes: El peso KL (beta) es demasiado alto. El modelo está ignorando la observación y la salida de la acción media. Reducir la beta en 510x.
  • ** Ejecución jerky en los límites de los trozos:** La temperatura de ensamblaje temporal es demasiado baja (la mezcla es demasiado nítida). Aumenta la temperatura de 10 a 2030. También verifique si su bucle de ejecución está implementando correctamente trozos superpuestos.
  • **Buen desempleo de la cámara: ** Desajuste entre la capacitación y el despliegue.
  • ** Trabaja durante los primeros 2 segundos, luego deriva:** El tamaño de la pieza es demasiado grande en relación con la dinámica de la tarea. La política se compromete a un plan que es anticuado por el final de la ejecución. Reducir el tamaño de la pieza en 50%.
  • Incoherencia entre las carreras: No hay suficientes demostraciones. Con <30 demostraciones, el rendimiento de ACT es muy sensible a la división tren/val. Recoge más datos.
  • ** La divergencia de KL se desploma a cero:** Beta es demasiado baja. El codificador está codificando toda la información en z, y el decodificador aprende a ignorar las observaciones. Aumenta la beta hasta que KL se estabilice en 0,55.0.

ACT Variantes y extensiones

Desde el documento original del ACT, han aparecido varias extensiones:

  • ** ACT+ (LeRobot):** Agrega historia propioceptiva (últimos 25 estados conjuntos) a la observación, mejorando la estimación de velocidad sin cálculo explícito de velocidad.
  • ACT con difusión (ACT-DP): reemplaza el CVAE con una cabeza de acción de difusión manteniendo la estructura de predicción en pedazos. Combina la suavidad del ACT con el manejo de la política de difusión de múltiples modalidades. El entrenamiento es 50% más lento pero maneja mejor las demostraciones multimodal.
  • ACT con lenguaje (ACT-L): Agrega un lenguaje integrado (desde CLIP o T5) a los tokens de observación, permitiendo especificar tareas en el idioma. "Pick up the red cup" vs. "pick up the blue cup" se puede manejar con una sola política.
  • Acta ALOHA móvil: Ampliará ACT para controlar conjuntamente una base móvil (2 velocidad en dimensión) y dos brazos (2 x 7-DOF), para un espacio de acción total de 16 DOF. El tamaño de la pieza se reduce típicamente a 2030 para que el componente de movilidad mantenga la reactividad ante obstáculos.

Formación de ACT con datos de RCSV

La plataforma de datos de RCSV exporta conjuntos de datos en formato HDF5 compatible con LeRobot, que es el formato de entrada estándar para el código de entrenamiento ACT de código abierto. Después de descargar su conjunto de datos, entrenar una política ACT de base requiere una GPU con al menos 16 GB de VRAM y aproximadamente 8 horas de entrenamiento para una sola tarea. El apoyo de ingeniería RCSV está disponible para ayudar a los equipos a configurar las carreras de entrenamiento, ajustar el tamaño de las piezas y la tasa de aprendizaje y evaluar el rendimiento de las políticas.

Para equipos sin infraestructura de GPU, RCSV ofrece entrenamientos gestionados en hardware A100: usted proporciona el conjunto de datos, devuelvamos un punto de control capacitado con métricas de evaluación. La vuelta de marcha es típicamente de 2448 horas. El costo depende del tamaño del conjunto de datos y el número de configuraciones de hiperparámetros buscadas.

Para el hardware para recopilar sus propios datos, consulte nuestro [catálogo de hardware]T7) o explore [opciones de arrendamiento de robots]T8). La configuración [OpenArm]T9) con doble brazo líder-seguidor ($ 9.000 para la estación completa de recopilación de datos) es la configuración más rentable para la recopilación de datos ACT.

Lectura relacionada

Relacionado: Guía de LeRobot · Configuración de ALOHA móvil · Erros comunes en el aprendizaje de imitación · Entrenamiento de cuerpo cruzado · Empezar con la teleoperatoria · Glosario de robótica