LeRobot documentation
ACT (Action Chunking com Transformers)
ACT (Action Chunking com Transformers)
ACT é uma política leve e eficiente para aprendizado por imitação, especialmente adequada para tarefas de manipulação de alta precisão. É o primeiro modelo que recomendamos quando você está começando com o LeRobot, devido ao seu tempo de treinamento rápido, aos requisitos computacionais baixos e ao seu forte desempenho.
Assista a este tutorial da equipe LeRobot para aprender como o ACT funciona: Tutorial do ACT do LeRobot
Visão geral do modelo
Action Chunking with Transformers (ACT) foi introduzido no artigo Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware de Zhao et al. A política foi projetada para permitir tarefas de manipulação precisas e ricas em contato usando hardware acessível e dados de demonstração mínimos.
Por que o ACT é ótimo para iniciantes
O ACT se destaca como um excelente ponto de partida por várias razões:
- Fast Training: Treina em poucas horas em uma única GPU
- Leve: Apenas ~80M de parâmetros, o que o torna eficiente e fácil de trabalhar
- Eficiente em dados: Frequentemente atinge altas taxas de sucesso com apenas 50 demonstrações
Arquitetura
O ACT utiliza uma arquitetura baseada em transformers com três componentes principais:
- Esqueleto de visão: o ResNet-18 processa imagens de múltiplas perspectivas de câmera
- Encoder Transformer: Sintetiza informações de recursos da câmera, posições das articulações e uma variável latente aprendida
- Decoder de Transformer: Gera sequências de ações coerentes usando atenção cruzada
A política recebe como entrada:
- Várias imagens RGB (por exemplo, de câmeras de pulso, câmeras frontais/superiores)
- Posições atuais das juntas do robô
- Uma variável de estilo latente
z(aprendida durante o treinamento, definida como zero durante a inferência)
E gera um bloco de k sequências de ações futuras.
Requisitos de instalação
- Instale o LeRobot seguindo nosso Guia de Instalação.
- O ACT está incluído na instalação base do LeRobot, portanto, nenhuma dependência adicional é necessária!
Treinamento de ACT
O ACT funciona perfeitamente com o pipeline de treinamento padrão do LeRobot. Aqui está um exemplo completo para treinar o ACT no seu conjunto de dados:
lerobot-train \
--dataset.repo_id=${HF_USER}/your_dataset \
--policy.type=act \
--output_dir=outputs/train/act_your_dataset \
--job_name=act_your_dataset \
--policy.device=cuda \
--trackio.enable=true \
--policy.repo_id=${HF_USER}/act_policyDicas de Treinamento
- Comece com os padrões: os hiperparâmetros padrão do ACT funcionam bem para a maioria das tarefas
- Duração do treinamento: Espere algumas horas para 100 mil etapas de treinamento em uma única GPU
- Tamanho do lote: Comece com tamanho de lote 8 e ajuste com base na memória da sua GPU
Treinar usando o Google Colab
Se o seu computador local não possui uma GPU potente, você pode utilizar o Google Colab para treinar seu modelo seguindo o notebook de treinamento ACT.
Avaliando o ACT
Quando o treinamento estiver concluído, você pode avaliar sua política ACT no seu robô com lerobot-rollout. O comando abaixo executa a política por 60 segundos sem gravar nada (--task pode ser omitido para ACT). Consulte Implantação da Política para estratégias que gravam episódios de avaliação.
lerobot-rollout \
--strategy.type=base \
--policy.path=${HF_USER}/act_policy \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 \
--robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}}" \
--display_data=true \
--task="Your task description" \
--duration=60