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
¿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
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
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
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
¿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
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
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 2
Vistas de cámaras múltiples
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
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 80
| 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
Datos mínimos viables por complejidad de tarea
- Pic-and-place simple (un objeto, ubicación fija): 20
30 demostraciones. ACT aprende esto confiablemente con un mínimo de datos. - Pick-and-place con variación de pose (posición aleatoria de objetos): 50
80 demos. Necesita cubrir el espacio de trabajo. - Múltiple manipulación (recolección, transporte, ubicación con precisión): 100
150 demostraciones. - ** Coordinación bimanual (dos brazos, movimientos dependientes):** 150
250 demostraciones. - Conjunto rico en contacto (inserción, torsión, arranque): 200
400 demostraciones.
Requisitos de calidad
Las demostraciones deben ser suaves y con propósito
- 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:
- ** 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 2
3, grabación sincronizada. Exportación al formato LeRobot HDF5. - ** 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.
- Split: 90/10 tren/val split, estratificado según la configuración de objetos si corresponde.
- ** Entrenamiento:** Utilice el guión de entrenamiento LeRobot ACT con los hiperparámetros de la tabla anterior.
- ** 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.
- Evaluación de simulación (si está disponible): Realice 100 episodios en simulación con el punto de control seleccionado.
- 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 5
10x. - ** 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 20
30. 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,5
5.0.
ACT Variantes y extensiones
Desde el documento original del ACT, han aparecido varias extensiones:
- ** ACT+ (LeRobot):** Agrega historia propioceptiva (últimos 2
5 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 20
30 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 24
Para el hardware para recopilar sus propios datos, consulte nuestro [catálogo de hardware]
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







