Pular para o conteúdo principal
Fase 3 · Capítulo 14 · Teoria

14. Modelo ACT e blocos de ação

Capítulo 14 do curso para iniciantes em SO-ARM Physical AI — entrada e saída do ACT, a estrutura ResNet e Transformer, a intuição da atenção, CVAE, bloco de ação vs. horizonte de ação, as duas defesas contra o erro acumulado e os limites do ACT.

14.1 Da clonagem de comportamento ao ACT​

ACT

14.1 Da clonagem de comportamento ao ACT: só falta "um bom modelo"

O Capítulo 8 cobriu a clonagem de comportamento: gravar demos de teleoperação como dataset e deixar o modelo aprender "fazer o que vê". Ficou uma pergunta — qual modelo merece esses dados? Uma política implantável precisa cruzar ao menos três barreiras:

  1. Entender imagens.
  2. Pensar com coerência.
  3. Resistir ao erro acumulado.

ACT (Action Chunking with Transformers) é o modelo construído para cruzá-las. Proposto por uma equipe de Stanford em 2023, ficou famoso na plataforma de dupla braço ALOHA de baixo custo com tarefas delicadas como abrir tampas e selar sacos; depois, o Mobile ALOHA mostrou tarefas complexas como cozinhar camarão. Hoje é uma das políticas padrão do LeRobot — e o modelo que você vai treinar e implantar nesta fase.

O nome do ACT É toda a sua filosofia de design: Action Chunking + Transformer (modelador de sequências). O resto do capítulo desmonta esses dois termos.

ACT

14.2 Entrada e saída do ACT​

Interface

14.2 Entrada e saída do ACT: veja primeiro as duas pontas

A forma mais confiável de entender um modelo é olhar a "interface" — o que entra, o que sai.

Entrada: a observação atual​

Na inferência, o ACT recebe um quadro com dois tipos de informação:

EntradaNo SO-ARMDimensionalidade
Imagens (observação)RGB frontal + lateral2 × imagens
Estado articular (estado)5 ângulos + abertura da garrasvetor de 6

Note que o ACT é de quadro único: não lembra quadros passados; cada decisão se baseia em "o que vejo agora + onde estão as juntas agora".

Saída: bloco de ações para uma janela curta de futuro​

A saída do ACT não é a próxima ação, mas um bloco inteiro (Action Chunk):

Entrada: 2 fluxos de imagem + estado articular de 6 (quadro atual)
Saída: sequência de ações dos próximos k passos, cada passo de 6 (5 juntas + garras)
ou seja, uma matriz de ações k × 6

Na configuração padrão do LeRobot, k (chunk size) costuma ser 100 — uma inferência entrega o plano completo de uns 100 passos futuros. Isso responde ao gancho do Capítulo 8: o bloco de ações não é um truque abstrato; é a forma natural de saída do ACT.

Entrada e saída do ACT

14.3 Estrutura interna do ACT​

Arquitetura

14.3 Estrutura interna do ACT: três oficinas numa linha

Oficina 1: espinha visual (ResNet) — de pixels a features​

As imagens frontal e lateral passam cada uma por um ResNet18 (CNN pré-treinado no ImageNet), comprimidas num conjunto de features visuais. Pense no ResNet como a "córtes visual" do modelo: pixels crus não significam nada para ele; ele extrai informações estruturadas como "tem um objeto vermelho à esquerda" ou "há uma abertura logo abaixo da garras".

Oficina 2: codificador Transformer — entender "o presente"​

Features visuais + vetor de estado convergem e entram no codificador Transformer. O trabalho dele é fundir os fluxos num entendimento unificado da situação: "onde está o alvo, onde estou, em que ponto da tarefa vou".

Oficina 3: decodificador Transformer — planejar "o futuro"​

O decodificador pega o entendimento do codificador e gera de uma vez a sequência dos próximos k passos. Ele não cospe ações uma a uma; como quem escreve uma partitura, compõe num só fôlego todo o "movimento futuro" — essa é a razão fundamental de os blocos serem internamente tão coerentes.

Estrutura interna do ACT

14.4 O que é um Transformer​

Transformer

14.4 O que é um Transformer: a intuição da atenção

As oficinas 2 e 3 do ACT são Transformer, mas o que É um Transformer?

Foi proposto pelo Google em 2017 para tradução automática; o paper se chama "Attention Is All You Need", e depois virou a arquitetura base dos grandes modelos de linguagem. Sem fórmulas — três intuições bastam:

  1. Token: cortar a informação em "peças". O Transformer não processa frases ou pixels crus; primeiro corta a entrada em peças padronizadas (tokens) — uma frase em palavras, uma imagem em patches, um vetor de estado também pode ser um token. Unificada a informação em "sequência de peças", o mesmo mecanismo processa tudo.
  2. Auto-atenção: toda peça pode "ver" todas as outras. É o núcleo do Transformer. Ao processar cada peça, ele calcula a relevância dela com todas as outras e se concentra em absorver das mais relevantes — "o que olhar" não é prescrito por humanos; o modelo aprende.
  3. Codificador e decodificador: um entende, outro gera. O codificador funde uma sequência de entrada em "um entendimento da situação"; o decodificador toma esse entendimento e gera uma nova sequência — na tradução, a frase no idioma alvo; no ACT, a sequência de ações futuras.
Transformer

14.5 Como o Transformer é usado no ACT​

Atenção

14.5 Como o Transformer é usado no ACT

  • No codificador: fundir múltiplas observações. Os patches visuais das duas imagens (via ResNet) mais o vetor de estado viram tokens do codificador. A auto-atenção os alinha — "a posição atual da garras" e "aquele bloco vermelho na imagem" se ligam num entendimento único: onde está o alvo, onde estou, como vai a tarefa.
  • No decodificador: planejar toda a sequência de uma vez. O decodificador usa k vetores de consulta correspondentes aos k passos futuros; essas consultas extraem do entendimento do codificador e se coordenam entre si por auto-atenção — a ação do passo 37 "sabe" o que o passo 36 pretende. O bloco inteiro é um todo orgânico, não 100 decisões isoladas.
  • No foco da atenção: saber "o que olhar". Ao gerar cada ação, o modelo se concentra automaticamente nas regiões mais relevantes — na aproximação, na posição relativa garras-objeto; em movimento, na direção do alvo — sem tratar todas as regiões igualmente.

Numa frase: o ResNet "enxerga direito", o codificador Transformer "entende", o decodificador Transformer "planeja com coerência" — tudo movido a atenção.

Atenção no ACT

14.6 O que é CVAE​

CVAE

14.6 O que é CVAE

CVAE (autoencoder variacional condicional). O ACT do LeRobot na verdade treina com isso — só não aparece na linha lerobot-train --policy.type=act.

O buraco que ele evita: o erro da média​

O papel do CVAE não é "reduzir o humano a uma única resposta correta", mas admitir: dada a observação, as ações podem ter vários estilos; no treino ele identifica primeiro qual é, e depois reproduz aquela sequência.

O paper comparou (em tarefas simuladas):

  • Se as demonstrações são roteirizadas (um único jeito), tirar o CVAE quase não afeta o sucesso.
  • Com dados humanos, tirar derruba o sucesso de ~35% para 2%.

Ou seja, o CVAE não está aí para enfeitar fórmulas, mas para o modelo aguentar dados onde "o humano troca de método e treme a mão".

"Condicional" significa: as ações geradas devem se fundamentar no que se vê — tenha um bloco ou uma caneta na mesa, ele não pode inventar. O CVAE é "dado o que você vê, compor como se mover".

14.7 Bloco de ação vs. horizonte de ação​

Bloco vs. horizonte

14.7 Bloco de ação vs. horizonte de ação

Os dois conceitos melhor distinguidos do capítulo; dois parâmetros ajustáveis de forma independente:

  • Bloco de ação (Action Chunk): o comprimento da sequência que o modelo prevê numa passada, isto é, as linhas k da matriz de saída. No LeRobot, o ACT usa 100 por padrão.
  • Horizonte de ação (Action Horizon): previstos esses 100 passos, quantos são de fato executados em malha aberta antes de reobservar e reprever.

A relação: o bloco previsto pode ser longo, mas cada vez só se confia no primeiríssimo trecho.

Bloco de ação e horizonte

Por que não executar os 100? Porque prever longe é menos confiável — o ambiente muda, objetos são empurrados, e na segunda metade a "situação assumida" já se afastou da realidade. Malha aberta longa demais = dirigir de olhos fechados. Quanto menor o horizonte, mais vezes o modelo "abre os olhos para re-conferir", ficando mais robusto a perturbações; porém pequeno demais perde a suavidade do chunking.

Uma analogia

É como navegar com o celular dirigindo. O navegador (o modelo) calcula a rota inteira (bloco) de uma vez, mas você não trava o volante — a cada poucos quilômetros espia o trânsito (reobserva) e o navegador replaneja (reprevê). A distância em que você "confia na rota velha e segue" é o horizonte.

14.8 Continuidade da ação e erro acumulado: as duas defesas do ACT​

Defesas

14.8 Continuidade da ação e erro acumulado: as duas defesas do ACT

O Capítulo 8 deixou duas ameaças à estabilidade real: tremor de ação e erro acumulado. Vejamos como o ACT as aborda de forma estruturada.

  • Defesa 1: coerência intra-bloco corrige o tremor.
  • Defesa 2: ensemble temporal corrige as descontinuidades.
As duas defesas do ACT

14.9 Para quais tarefas o ACT serve?​

Aptidão

14.9 Para quais tarefas o ACT serve?

Dadas as características do ACT, sua "zona de conforto" é clara — e o SO-ARM está bem no meio dela:

Serve paraMotivo
Manipulação de mesa (pegar, colocar, organizar, encaixar)O ACT nasceu dessas tarefas; dados e tamanho combinam
Uma ou poucas tarefasA clonagem aprende mapeamentos específicos; mais tarefas = mais dados
Tarefas curtas (segundos a ~1 minuto)O erro acumula com o tempo; curtas são mais estáveis
Cenas com informação visual suficienteFrontal + lateral cobrindo o essencial
Hardware limitadoO ACT tem poucos parâmetros; GPUs de consumo treinam e inferem; CPU também infere

14.10 Os limites do ACT​

Limites

14.10 Os limites do ACT

Tão importante quanto saber o que ele não consegue fazer:

Limites do ACT
Loading Comments...