Contenido detallado
📝 Behavior Cloning: la formulación básica
Behavior Cloning (BC) reduce el control al aprendizaje supervisado: dado un dataset de pares (estado, acción) demostrados por una persona, se entrena una política π(a|s) que maximiza la verosimilitud de las acciones observadas. Es simple, estable y escalable; por eso casi todos los VLA (RT-1, OpenVLA, π0) se entrenan con BC. La política no necesita recompensas ni interactuar con el entorno durante el entrenamiento, solo necesita las demostraciones.
# Behavior Cloning — objetivo
# maximizar Σ log π(a_t | s_t) sobre demos do expert
for (obs, action) in demo_loader:
pred = policy(obs) # estado → ação
loss = criterion(pred, action) # ex: cross-entropy ou flow
loss.backward(); opt.step()
💡 Por qué BC es el estándar
Recopilar demos es más seguro y barato que dejar que un robot explore mediante refuerzo en el mundo real (donde los fallos rompen el hardware). BC transforma un problema de control en un problema de aprendizaje supervisado bien comportado.
Política supervisada
Aprender la acción como etiqueta.
π(a|s)
Distribución de acciones dado el estado.
Máxima verosimilitud
Objetivo de entrenamiento del BC.
Offline
Sin interacción durante el entrenamiento.
📉 Distribution shift y error compuesto
El talón de Aquiles del BC: el modelo se entrena con la distribución de estados del expert, pero durante la ejecución visita estados que él mismo generó. Un pequeño error desvía al robot hacia un estado ligeramente fuera de la distribución, donde la política es menos confiable, comete un error mayor, y así sucesivamente: el error compuesto (compounding error). Teóricamente, el costo crece con O(εT²) en el horizonte T, frente al O(εT) ideal.
Pequeñas desviaciones salen de la distribución de entrenamiento y se amplifican: el fallo estructural del behavior cloning ingenuo.
📊 Las matemáticas del drift
- O(εT²) — costo del error del BC ingenuo (Ross & Bagnell).
- O(εT) — costo ideal de una política con corrección on-policy.
- ε — tasa de error por paso; los horizontes largos penalizan el BC.
Covariate shift
Estados de prueba ≠ de entrenamiento.
Error acumulativo
Errores que se acumulan.
O(εT²)
Costo cuadrático en el horizonte.
Comportamiento de recuperación
Saber volver a la trayectoria.
🔄 DAgger y teleoperación
DAgger (Dataset Aggregation) combate el distribution shift recopilando etiquetas en los estados que la política realmente visita: se ejecuta el clon y el experto anota la acción correcta en esos estados, la agrega al dataset y vuelve a entrenar. Esto enseña comportamientos de recuperación. Las demos en sí provienen de teleoperación — leader-follower, VR o guantes, cuya calidad y cobertura definen el techo de la política.
Ejecuta la política actual
El clon ejecuta y visita sus propios estados, fuera de la distribución del experto.
Expert etiqueta esos estados
El humano indica la acción correcta cuando el clon se equivocaría.
Agregar y reentrenar
El dataset crece con casos de recuperación; el ciclo se repite.
⚡ Consejo práctico
DAgger puro es costoso (necesita al experto en el loop). En la práctica, muchos equipos inyectan perturbaciones en las demos (ruido en la pose) y registran recuperaciones intencionales: DAgger «barato» que mejora la robustez sin etiquetado en línea.
DAgger
Agregar etiquetas on-policy.
On-policy correction
Corregir en los estados visitados.
Leader-follower
Teleoperación con brazo maestro.
Cobertura
Variedad de estados en las demos.
🌀 Multimodalidad de las acciones: por qué falla MSE
Para un mismo estado, con frecuencia hay varias acciones igual de buenas — rodear un obstáculo por la izquierda o por la derecha. Distintos demostradores eligen caminos diferentes. Si la política se entrena con MSE, aprende a promedio de esas acciones, que puede caer exactamente en el obstáculo (mode averaging). Por eso los VLAs modernos usan cabezas expresivas — difusión, flow matching o tokens discretos: capaces de representar distribuciones multimodales.
✓ Políticas expresivas
- ✓La difusión y el flow capturan múltiples modos.
- ✓Los tokens discretos modelan una distribución categórica.
- ✓Eligen un modo coherente, no el promedio.
✗ MSE / regresión unimodal
- ✗Colapsa los modos válidos en el promedio.
- ✗El promedio puede ser una acción inválida.
- ✗Trayectorias vacilantes/temblorosas.
Multimodal actions
Varios caminos válidos.
Promedio de modos
El promedio que se convierte en una acción inválida.
Política expresiva
Difusión/flow/tokens.
Puente para M1.5
Motiva diffusion policy.
🧹 Calidad de datos: cobertura y diversidad
En imitation learning, datos > arquitectura. Lo que importa no es el volumen bruto, sino cobertura (estados raros y de recuperación representados), diversidad (objetos, posiciones, iluminación, distractores) y consistencia. Las demos subóptimas o contradictorias confunden la política; las demos limpias y variadas generalizan. Un corpus pequeño pero diverso muchas veces supera a uno grande pero redundante.
📊 Ejes de calidad
- Cobertura — estados de borde y recuperación presentes.
- Diversidad — objetos, fondos, posiciones e iluminación variados.
- Consistencia — estrategia coherente entre demos.
⚡ Consejo práctico
Antes de recopilar más demos, audita las que tienes: elimina las trayectorias con fallas silenciosas, balancea los objetos y agrega distractores. Una cobertura intencional rinde más que mil repeticiones de la misma escena.
Coverage
Estados representados.
Diversidad
Variación de escenas y objetos.
Calidad de las demostraciones
Óptimas > subóptimas.
Distractores
Objetos adicionales para mayor robustez.
📏 Métricas: tasa de éxito y generalización
La métrica soberana es el tasa de éxito — fracción de intentos que completan la tarea. Pero una cifra alta en escenas de entrenamiento puede engañar. La prueba honesta mide generalización en tres ejes: objetos nuevos, posiciones/escenas nuevas e instrucciones reformuladas. Evalúa siempre con N intentos suficientes y protocolos OOD (out-of-distribution), informando el intervalo de confianza.
# Protocolo de avaliação honesto
seen = eval(policy, scenes_treino) # baseline
ood_obj = eval(policy, objetos_novos) # generaliza objeto?
ood_pos = eval(policy, posicoes_novas) # generaliza cena?
ood_instr = eval(policy, instrucoes_novas) # generaliza linguagem?
report(success_rate, n=50, ci=0.95)
💡 No confíes solo en el número de entrenamiento
Una política puede tener un 95% in-distribution y un 20% OOD. El valor de un VLA está precisamente en la generalización —mide los tres ejes por separado o estarás optimizando la métrica equivocada.
Tasa de éxito
Métrica primaria de tarea.
OOD eval
Probar fuera de la distribución.
Ejes de generalización
Objeto · escena · instrucción.
Intervalo de confianza
Reportar la varianza.
✅ Resumen del módulo
Próximo módulo
1.5 — Diffusion Policy y Flow Matching: las políticas expresivas que resuelven la multimodalidad.