Por que o ACT se destaca em Tarefas Bimanuals

O ACT (Action Chunked Transformers) foi originalmente desenvolvido especificamente para pesquisa em manipulação bimanual. Sua principal percepção — que prever sequências de ações futuras (chunks) em vez de ações de um único passo reduz o erro acumulado — é especialmente valiosa para tarefas bimanuals, onde um pequeno erro na trajetória de um braço pode causar uma falha em cascata na execução do outro braço.

O mecanismo de fragmentação de ações efetivamente dá à política um horizonte de planejamento. Em vez de se comprometer com um único comando conjunto a cada passo de 50Hz, o ACT planeja 100 passos à frente e suaviza a execução. Para uma tarefa de entrega, isso significa que a política pode "ver" a aproximação de ambos os braços em direção ao ponto de entrega como parte de uma sequência planejada, em vez de reagir a cada quadro de forma independente. Empiricamente, isso reduz pela metade a taxa de falhas durante a transferência em comparação com abordagens não fragmentadas em conjuntos de dados bimanuals.

Um aviso: o ACT assume que as demonstrações em seu conjunto de dados representam uma estratégia consistente. Se diferentes demonstrações mostram maneiras fundamentalmente diferentes de executar a entrega — braço diferente que inicia, altura de entrega diferente — o componente CVAE terá dificuldade em codificar um único estilo. Suas 100 demonstrações devem executar a mesma estratégia de movimento.

Comando de Treinamento

source ~/dk1-env/bin/activate # policy.action_dim=14 tells ACT the action space is 14-dimensional (6+6 joints + 2 grippers) # Run this before sleeping — checkpoints save every 5k steps
GPU necessária para tempo de treinamento prático: Em uma RTX 3080 (10GB), 80.000 passos levam aproximadamente 90 minutos. Em uma RTX 4090, aproximadamente 50 minutos. Em CPU, espere de 10 a 14 horas. Use o --device cuda sinalizador se você tiver uma GPU. Opções de GPU em nuvem (Lambda Labs, Vast.ai) custam cerca de $0,50–1,50/hora pelo hardware necessário.

Lendo Curvas de Treinamento Bimanual

As curvas de treinamento bimanual diferem das de braço único de uma maneira importante: você tem dois espaços de ação, e a política deve aprender a coordená-los. Fique atento a esses padrões em suas curvas de perda (visualize no TensorBoard em tensorboard --logdir ~/dk1-policies/):

L_reconstruction (perda de ação geral)

Deve diminuir de ~3,0 para abaixo de 0,4 em 60.000 passos. Um platô acima de 0,7 após 40.000 passos indica problemas de qualidade do conjunto de dados — provavelmente muita variância no tempo ou na posição da transferência.

L_kl (regularização CVAE)

Começa perto de 0 e sobe lentamente para 5–15. Se subir acima de 30, o CVAE está tendo dificuldades para encontrar uma incorporação de estilo compacta. Isso geralmente significa que suas demonstrações têm muita diversidade comportamental. Considere eliminar os 20% inferiores das demonstrações menos consistentes e re-treinar.

Erro de ação: esquerda vs. direita

Se você ativar o registro de erro de ação por braço (via o training.log_per_action_dim=true substituto), você verá curvas de perda separadas para as dimensões de ação esquerda e direita. Um grande espaço persistente entre os dois indica que as demonstrações de um braço são mais consistentes do que as do outro — revise sua lista de verificação de qualidade da Unidade 4 para o braço que está atrasado.

Hiperparâmetros específicos para bimanual

Parâmetro Padrão (braço único) DK1 Bimanual Recomendado Por quê
action_dim 7 14 Dois braços de 6-DOF + 2 garras = 14 dimensões de ação
chunk_size 100 100 Mesmo — a fragmentação de ação já é bem adequada para escalas de tempo de coordenação bimanual
dim_feedforward 3200 3200 Nenhuma mudança necessária — o espaço de ação maior é gerenciado pela cabeça de ação, não pela largura do transformador
num_steps 50000 80000 A coordenação bimanual requer mais passos de treinamento para convergir de forma confiável; 80k é o mínimo prático para 100 demonstrações
batch_size 32 16 Reduzido para caber nas amostras maiores do conjunto de dados bimanual (transmissões de câmera dupla) na memória da GPU
kl_weight 10 10 O padrão funciona bem; aumente para 20 apenas se L_kl permanecer perto de zero após 30k passos (CVAE não aprendendo)

Seleção de Checkpoint

Salve checkpoints a cada 5.000 passos (training.save_freq=5000). Não assuma que o checkpoint final é o melhor. Políticas bimanual podem se ajustar demais em contagens de passos altas — a política aprende a reproduzir as demonstrações de treinamento perfeitamente, mas perde a generalização para as ligeiras variações do mundo real que você encontrará durante a avaliação.

Selecione o checkpoint no passo onde L_reconstruction atingiu seu mínimo antes de começar a se estabilizar ou aumentar ligeiramente. Normalmente, isso está na faixa de 60.000 a 80.000 passos para conjuntos de dados bimanual de 100 demonstrações. Implemente dois pontos de verificação (o ponto de verificação de mínima perda e o final) e compare seu desempenho no mundo real na Unidade 6.

Unidade 5 Completa Quando...

O treinamento foi concluído em 80.000 passos e os pontos de verificação estão salvos em ~/dk1-policies/cube-handoff-v1/. O final L_reconstruction o valor está abaixo de 0,5. Você identificou seu melhor ponto de verificação com base nas curvas de perda. Você entende por que a curva L_kl se comporta como se comporta em sua execução. Você está pronto para implantar em hardware real na Unidade 6 — a taxa de sucesso alvo na transferência do cubo é >60% (bimanual é mais difícil do que unimanual, e este é um forte resultado da primeira execução).