LeRobot documentation
ACT (Action Chunking with Transformers)
ACT (Action Chunking with Transformers)
ACT — это лёгкая и эффективная политика для обучения с подражанием, особенно хорошо подходящая для задач тонкой манипуляции. Это первая модель, которую мы рекомендуем при начале работы с LeRobot благодаря быстрому времени обучения, низким вычислительным требованиям и высокой производительности.
Посмотрите это учебное видео от команды LeRobot, чтобы узнать, как работает ACT: Учебное видео LeRobot ACT
Обзор модели
Метод Action Chunking with Transformers (ACT) был предложен в статье Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware авторов Zhao et al. Данная политика была разработана для выполнения точных задач манипуляции с интенсивным контактом с использованием доступного оборудования и минимального количества демонстрационных данных.
Почему ACT отлично подходит для начинающих
ACT выделяется как отличная отправная точка по нескольким причинам:
- Быстрая тренировка: обучение занимает несколько часов на одном GPU
- Лёгкость: всего ~80 млн параметров, что делает модель эффективной и удобной в работе
- Эффективность по данным: Часто достигает высоких показателей успеха всего с 50 демонстрациями
Архитектура
ACT использует трансформерную архитектуру с тремя основными компонентами:
- Визуальный бэкбон: ResNet-18 обрабатывает изображения с нескольких точек обзора камер
- Transformer Encoder: Синтезирует информацию из признаков камеры, положений суставов и обученной латентной переменной
- Декодер трансформера: генерирует согласованные последовательности действий с использованием кросс-внимания
В качестве входных данных политика принимает:
- Несколько RGB-изображений (например, с камер на запястьях, фронтальных/верхних камер)
- Текущие позиции суставов робота
- Латентная переменная стиля
z(обучается в процессе тренировки, при инференсе устанавливается в ноль)
И выводит фрагмент из k будущих последовательностей действий.
Требования к установке
- Установите LeRobot, следуя нашему Руководству по установке.
- ACT входит в базовую установку LeRobot, поэтому дополнительные зависимости не требуются!
Обучение ACT
ACT работает в полной совместимости со стандартным конвейером обучения LeRobot. Ниже приведён полный пример обучения ACT на вашем наборе данных:
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_policyСоветы по обучению
- Начните с значений по умолчанию: гиперпараметры ACT по умолчанию хорошо работают для большинства задач
- Длительность обучения: Ожидайте несколько часов для 100k шагов обучения на одном GPU
- Размер батча: начните с размера батча 8 и корректируйте в зависимости от памяти вашей GPU
Обучение с помощью Google Colab
Если на вашем локальном компьютере нет мощной GPU, вы можете использовать Google Colab для обучения модели, следуя инструкциям в ноутбуке для обучения ACT.
Оценка ACT
После завершения обучения вы можете оценить вашу политику ACT на роботе с помощью lerobot-rollout. Команда ниже запускает политику на 60 секунд без записи данных (--task можно пропустить для ACT). См. Развёртывание политики для стратегий, записывающих эпизоды оценки.
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