← Trilha 1 MÓDULO 1.4

🎯 Aprendizado por Imitação e Behavior Cloning

A receita mais usada para treinar VLAs também é a mais frágil. Behavior cloning copia o demonstrador por regressão supervisionada — mas pequenos erros levam o robô para estados nunca vistos, e o erro se acumula. Aqui você entende por que isso acontece e como mitigar.

6
Tópicos
~40
Minutos
Interm.
Nível
Teo+Prát
Tipo

Conteúdo detalhado

1

📝 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.

2

📉 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.

tempo (passos) → desvio expert (treino) clone (execução) erro O(εT²)

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.

3

🔄 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.

1

Rodar a política atual

O clone executa e visita estados próprios, fora da distribuição do expert.

2

Expert rotula esses estados

O humano indica a ação correta onde o clone erraria.

3

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.

4

🌀 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.

5

🧹 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.

6

📏 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

BC é o padrão — regressão supervisionada estado→ação, simples e escalável.
Distribution shift — erro composto O(εT²) é a falha estrutural do BC.
DAgger e dados — correção on-policy e cobertura/diversidade definem o teto.
Multimodalidade — MSE colapsa modos; políticas expressivas resolvem. Meça OOD.

Próximo módulo

1.5 — Diffusion Policy e Flow Matching: as políticas expressivas que resolvem a multimodalidade.