Conteúdo detalhado
📝 Behavior Cloning: a formulação básica
Behavior Cloning (BC) reduz controle a aprendizado supervisionado: dado um dataset de pares (estado, ação) demonstrados por um humano, treina-se uma política π(a|s) que maximiza a verossimilhança das ações observadas. É simples, estável e escala — por isso quase todo VLA (RT-1, OpenVLA, π0) é treinado por BC. A política não precisa de recompensa nem de interação com o ambiente durante o treino, apenas das demonstrações.
# 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 que BC é o padrão
Coletar demos é mais seguro e barato que deixar um robô explorar por reforço no mundo real (onde falhas quebram hardware). BC transforma um problema de controle num problema de aprendizado supervisionado bem-comportado.
Supervised policy
Aprender ação como rótulo.
π(a|s)
Distribuição de ação dado estado.
Max likelihood
Objetivo de treino do BC.
Offline
Sem interação no treino.
📉 Distribution shift e erro composto
O calcanhar de Aquiles do BC: o modelo é treinado na distribuição de estados do expert, mas em execução visita estados que ele próprio gerou. Um pequeno erro desvia o robô para um estado ligeiramente fora da distribuição, onde a política é menos confiável, comete um erro maior, e assim por diante — o erro composto (compounding error). Teoricamente, o custo cresce com O(εT²) no horizonte T, contra O(εT) ideal.
Pequenos desvios saem da distribuição de treino e se amplificam — a falha estrutural do behavior cloning ingênuo.
📊 A matemática do drift
- O(εT²) — custo de erro do BC ingênuo (Ross & Bagnell).
- O(εT) — custo ideal de uma política com correção on-policy.
- ε — taxa de erro por passo; horizontes longos punem o BC.
Covariate shift
Estados de teste ≠ de treino.
Compounding error
Erros que se acumulam.
O(εT²)
Custo quadrático no horizonte.
Recovery behavior
Saber voltar à trajetória.
🔄 DAgger e teleoperação
DAgger (Dataset Aggregation) ataca o distribution shift coletando rótulos nos estados que a política realmente visita: roda-se o clone, e o expert anota a ação correta nesses estados, agregando ao dataset e retreinando. Isso ensina comportamentos de recuperação. As demos em si vêm de teleoperação — leader-follower, VR ou luvas — cuja qualidade e cobertura definem o teto da política.
Rodar a política atual
O clone executa e visita estados próprios, fora da distribuição do expert.
Expert rotula esses estados
O humano indica a ação correta onde o clone erraria.
Agregar e retreinar
O dataset cresce com casos de recuperação; repete-se o ciclo.
⚡ Dica prática
DAgger puro é caro (precisa do expert no loop). Na prática, muitos times injetam perturbações nas demos (ruído na pose) e gravam recuperações intencionais — DAgger "barato" que melhora robustez sem rotulagem online.
DAgger
Agregar rótulos on-policy.
On-policy correction
Corrigir nos estados visitados.
Leader-follower
Teleop por braço mestre.
Cobertura
Variedade de estados nas demos.
🌀 Multimodalidade das ações: por que MSE falha
Para um mesmo estado, frequentemente há várias ações igualmente boas — contornar um obstáculo pela esquerda ou pela direita. Demonstradores diferentes escolhem caminhos diferentes. Se a política é treinada com MSE, ela aprende a média dessas ações, que pode cair exatamente no obstáculo (mode averaging). Por isso VLAs modernos usam cabeças expressivas — difusão, flow matching ou tokens discretos — capazes de representar distribuições multimodais.
✓ Políticas expressivas
- ✓Difusão/flow capturam múltiplos modos.
- ✓Tokens discretos modelam distribuição categórica.
- ✓Escolhem um modo coerente, não a média.
✗ MSE / regressão unimodal
- ✗Colapsa modos válidos na média.
- ✗Média pode ser uma ação inválida.
- ✗Trajetórias hesitantes/tremidas.
Multimodal actions
Vários caminhos válidos.
Mode averaging
Média que vira ação inválida.
Expressive policy
Difusão/flow/tokens.
Ponte p/ M1.5
Motiva diffusion policy.
🧹 Qualidade de dados: cobertura e diversidade
Em imitation learning, dados > arquitetura. O que importa não é volume bruto, mas cobertura (estados raros e de recuperação representados), diversidade (objetos, posições, iluminação, distratores) e consistência. Demos sub-ótimas ou contraditórias confundem a política; demos limpas e variadas generalizam. Um corpus pequeno mas diverso muitas vezes bate um grande mas redundante.
📊 Eixos de qualidade
- Cobertura — estados de borda e recuperação presentes.
- Diversidade — objetos, fundos, posições e luz variados.
- Consistência — estratégia coerente entre demos.
⚡ Dica prática
Antes de coletar mais demos, audite as que tem: remova trajetórias com falhas silenciosas, balanceie objetos e adicione distratores. Cobertura intencional rende mais que mil repetições da mesma cena.
Coverage
Estados representados.
Diversity
Variação de cenas e objetos.
Demo quality
Ótimas > sub-ótimas.
Distratores
Objetos extras para robustez.
📏 Métricas: success rate e generalização
A métrica soberana é o success rate — fração de tentativas que completam a tarefa. Mas um número alto em cenas de treino engana. O teste honesto mede generalização em três eixos: objetos novos, posições/cenas novas e instruções reformuladas. Avalie sempre com N tentativas suficientes e protocolos OOD (out-of-distribution), reportando intervalo de confiança.
# 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)
💡 Não confie só no número de treino
Uma política pode ter 95% in-distribution e 20% OOD. O valor de um VLA está justamente na generalização — meça os três eixos separadamente, ou estará otimizando a métrica errada.
Success rate
Métrica primária de tarefa.
OOD eval
Testar fora da distribuição.
Eixos de generalização
Objeto · cena · instrução.
Intervalo de confiança
Reportar variância.
✅ Resumo do módulo
Próximo módulo
1.5 — Diffusion Policy e Flow Matching: as políticas expressivas que resolvem a multimodalidade.