Pular para o conteúdo principal

Estágio 3 · Capítulo 15 · Teoria

15. Modelo ACT e Fracionamento de Ações

Capítulo 15 do Curso para Iniciantes em IA Física da Seeed — entrada e saída do ACT, a estrutura ResNet e Transformer, intuição sobre atenção, CVAE, bloco de ação vs horizonte de ação, defesas contra acúmulo de erro e limites de capacidade do ACT.

15.1 De Clonagem Comportamental a ACT​

ACT

15.1 De Clonagem Comportamental a ACT: Só Precisamos de um "Bom Modelo"

O Capítulo 9 abordou a clonagem comportamental: gravar demonstrações de teleoperação como um conjunto de dados e deixar o modelo aprender a "fazer o que você vê". Isso deixou uma pergunta — que modelo é digno desses dados? Um modelo de política implantável precisa superar pelo menos três obstáculos:

  1. Entender imagens.
  2. Pensar de forma coerente.
  3. Resistir ao erro acumulado.

ACT (Action Chunking with Transformers) é o modelo de política construído para superar esses três obstáculos. Proposto por uma equipe de Stanford em 2023, ele primeiro ganhou fama na plataforma de baixo custo ALOHA de dois braços realizando tarefas delicadas como abrir tampas de copos e selar sacos; depois, o Mobile ALOHA demonstrou tarefas complexas como cozinhar camarão. Hoje ele está incorporado ao LeRobot como uma das políticas padrão — e é o modelo que você vai treinar e implantar na prática neste estágio.

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

ACT

15.2 Entrada e Saída do ACT​

Interface

15.2 Entrada e Saída do ACT: Veja Primeiro as Duas Pontas

A maneira mais confiável de entender qualquer modelo é olhar primeiro para sua "interface" — o que ele recebe, o que ele produz.

Entrada: Observação Atual​

Durante a inferência, o ACT recebe um quadro de observação contendo dois tipos de informação:

EntradaNo reBot ArmDimensionalidade
Imagens (Observação)Fluxos RGB duplos de vista superior + punho2 × imagens
Estado das juntas (Estado)6 ângulos de junta + abertura do gripperVetor de 7 dimensões

Observe que o ACT é apenas por quadro: ele não lembra quadros passados; cada decisão é baseada em "o que vê agora + onde as juntas estão agora".

Saída: Bloco de Ação para uma Janela Curta de Futuro​

A saída do ACT não é a próxima ação, mas sim um bloco inteiro de sequência de ações (Action Chunk):

Input: 2 image streams + 7-dim joint state (current frame)
Output: action sequence for next k steps, each step 7-dim (6 joints + gripper)
i.e., a k × 7 action matrix

Na configuração padrão de ACT do LeRobot, k (tamanho do bloco) é tipicamente 100 — uma inferência fornece um plano de ação completo para cerca de 100 passos futuros no tempo. Isso responde à antecipação do Capítulo 9: Action Chunk não é um truque abstrato de otimização; é a forma natural de saída do ACT.

ACT input and output

15.3 Estrutura Interna do ACT​

Architecture

15.3 Estrutura Interna do ACT: Três Oficinas em Uma Linha de Montagem

Oficina 1: Espinha Dorsal Visual (ResNet) — De Pixels a Recursos​

As imagens das câmeras de vista superior e de punho passam cada uma por uma ResNet18 (uma CNN pré-treinada no ImageNet), comprimidas em um conjunto de recursos visuais. Pense na ResNet como o "córtex visual" do modelo: pixels brutos não significam nada para ele; ela extrai informações estruturadas como "há um objeto vermelho à esquerda da mesa" ou "há uma abertura diretamente abaixo do gripper".

Oficina 2: Codificador Transformer — Entendendo "o Presente"​

Recursos visuais + vetor de estado das juntas se unem e entram no codificador Transformer. O trabalho do codificador é fundir múltiplos fluxos em um entendimento unificado da situação atual: "onde está o alvo, onde estou, em que ponto a tarefa está".

Oficina 3: Decodificador Transformer — Planejando "o Futuro"​

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

ACT internal structure

15.4 O Que é um Transformer​

Transformer

15.4 O Que é um Transformer: Intuição por Trás da Atenção

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

Ele foi proposto pelo Google em 2017 para tradução automática; o artigo se chama "Attention Is All You Need" e mais tarde se tornou a arquitetura fundamental dos grandes modelos de linguagem. Sem precisar de fórmulas — três intuições bastam:

  1. Token: cortar a informação em "partes". Transformers não processam frases brutas ou pixels brutos diretamente; primeiro cortam a entrada em partes padronizadas (tokens) — uma frase em palavras, uma imagem em patches, um vetor de estado de juntas também pode ser um token. Uma vez que toda a informação é unificada em "uma sequência de partes", o mesmo mecanismo as processa todas.
  2. Autoatenção: cada parte pode "ver" todas as outras partes. Este é o núcleo do Transformer. Ao processar cada parte, ele calcula sua relevância para cada outra parte e se concentra em absorver informações das mais relevantes — "para onde olhar" não é prescrito por humanos; o modelo aprende isso.
  3. Codificador e Decodificador: um entende, o outro gera. O Codificador funde uma sequência de entrada de partes em "um entendimento da situação atual"; o Decodificador pega esse entendimento e gera uma nova sequência de partes de saída — em tradução, é a frase no idioma-alvo; no ACT, é a sequência de ações futuras.
Transformer

15.5 Como o Transformer é Usado no ACT​

Attention

15.5 Como o Transformer é Usado no ACT

  • No codificador: fundindo múltiplas observações. Patches de recursos visuais de ambas as imagens (via ResNet) mais o vetor de estado das juntas tornam-se todos tokens alimentados no codificador. A autoatenção os alinha — "a posição atual do gripper" e "aquele bloco vermelho na imagem" são conectados em um entendimento unificado: onde está o alvo, onde estou, em que ponto a tarefa está.
  • No decodificador: planejando toda a sequência de ações de uma vez. O decodificador usa k vetores de consulta correspondentes a k passos futuros de ação; essas consultas extraem informações do entendimento do codificador enquanto também se coordenam entre si via autoatenção — a ação no passo 37 "sabe" o que o passo 36 pretende fazer. O bloco de ação inteiro é, portanto, um todo coerente, não 100 decisões isoladas.
  • No foco da atenção: saber para onde "olhar". Ao gerar cada ação, o modelo automaticamente foca nas regiões da imagem mais relevantes para a ação atual — ao se aproximar do alvo, ele foca na posição relativa gripper-bloco; enquanto se move, foca na direção do alvo — em vez de tratar todas as regiões igualmente.

Resumo em uma frase: a ResNet "vê com clareza", o codificador Transformer "entende", o decodificador Transformer "planeja de forma coerente" — tudo movido a atenção.

Attention in ACT

15.6 O Que é CVAE​

CVAE

15.6 O Que é CVAE

CVAE (Conditional Variational Autoencoder). O ACT do LeRobot na verdade é treinado com isso, você só não vê isso na linha de comando lerobot-train --policy.type=act.

Que Armadilha Ele Evita: A Média Erra​

O trabalho do CVAE não é "reduzir o humano a uma única resposta correta", mas reconhecer: dada a observação atual, as ações podem ter múltiplos estilos; durante o treinamento, ele primeiro identifica qual estilo é este, depois reproduz aquela sequência de ações.

O artigo fez comparações (em tarefas simuladas):

  • Se as demonstrações são roteirizadas (apenas uma forma), remover o CVAE mal afeta a taxa de sucesso.
  • Com dados humanos, removê-lo derruba o sucesso de ~35% para 2%.

Portanto, o CVAE não existe para deixar as fórmulas mais bonitas; ele existe para permitir que o modelo lide com dados em que "humanos mudam de abordagem e têm mãos trêmulas".

"Condicional" significa: as ações geradas devem estar ancoradas no que é visto atualmente — seja um lagostim ou um bloco na mesa, ele não pode inventar coisas. CVAE é "dado o que você vê, componha como se mover em seguida".

15.7 Bloco de Ação vs. Horizonte de Ação​

Bloco vs horizonte

15.7 Bloco de Ação vs. Horizonte de Ação

Estes são os dois conceitos mais precisamente diferenciados neste capítulo; eles são dois parâmetros ajustáveis de forma independente:

  • Action Chunk: o comprimento da sequência de ações que o modelo prevê em uma única passada forward, ou seja, o número de linhas k na matriz de saída. No LeRobot, o ACT usa por padrão chunk de tamanho 100.
  • Action Horizon: depois de prever esses 100 passos, quantos são realmente executados em malha aberta, antes de observar novamente e voltar a prever.

A relação é: o chunk previsto pode ser longo, mas a cada vez apenas o primeiro pequeno segmento é confiável.

Action chunk vs action horizon

Por que não executar todos os 100 passos? Porque as previsões se tornam menos confiáveis quanto mais longe vão — o ambiente muda, objetos podem ser esbarrados e, na segunda metade, a "situação presumida" pelo modelo já se desviou da realidade. Executar em malha aberta por tempo demais = dirigir de olhos fechados. Quanto menor o Horizon, com mais frequência o modelo "abre os olhos para conferir", tornando-se mais robusto a perturbações; mas se for pequeno demais, perde-se a suavidade obtida com o chunking.

Uma analogia

É como usar navegação por celular enquanto dirige. A navegação (o modelo) calcula toda a rota (chunk) de uma vez, mas você não trava o volante — a cada alguns quilômetros você dá uma olhada no trânsito em tempo real (re-observa) e a navegação refaz o plano conforme necessário (re-prediz). A distância em que você "confia na rota antiga e continua dirigindo" é o Horizon.

15.8 Continuidade da Ação e Acúmulo de Erros​

Defesas

15.8 Continuidade da Ação e Acúmulo de Erros: Duas Linhas de Defesa do ACT

O Capítulo 9 deixou duas ameaças à estabilidade de robôs reais: jitter de ação e acúmulo de erros. Agora vamos ver como o ACT lida com elas usando métodos estruturados.

  • Defesa 1: coerência intra-chunk corrige o jitter.
  • Defesa 2: ensemble temporal corrige descontinuidades.
ACT defenses

15.9 Para Quais Tarefas o ACT é Adequado?​

Adequação

15.9 Para Quais Tarefas o ACT é Adequado?

Dadas as características de projeto do ACT, sua "zona de conforto" é bem clara:

Adequado paraMotivo
Manipulação em bancada (agarrar, colocar, organizar, conectar/desconectar)O ACT se originou nessas tarefas; as necessidades de dados e o tamanho do modelo são compatíveis
Tarefas únicas ou poucas tarefasClonagem comportamental aprende mapeamentos específicos de tarefa; mais tarefas = mais dados necessários
Tarefas curtas (segundos até ~1 minuto)O erro se acumula ao longo do tempo; tarefas mais curtas são mais estáveis
Tarefas com informação visual suficienteCenas em que câmeras dupla superior + de punho cobrem as informações principais
Hardware com recursos limitadosO ACT tem relativamente poucos parâmetros; GPUs de consumo podem treinar e inferir; CPU também pode inferir

15.10 Limites de Capacidade do ACT​

Limites

15.10 Limites de Capacidade do ACT

Igualmente importante é saber o que ele não consegue fazer:

ACT capability boundaries
Loading Comments...