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