DAgger
- Também chamado: Dataset Aggregation
- Categoria: Learning & autonomy › Learning from demonstration
- Tags: imitation-learning, policy-distillation, covariate-shift, robot-learning, sim-to-real
Um algoritmo de aprendizado por imitação que executa repetidamente a própria política do aprendiz, faz um especialista rotular os estados que ela alcança e retreina com o conjunto de dados crescente para evitar o acúmulo de erros.
Definição
DAgger, abreviação de Dataset Aggregation (agregação de conjuntos de dados), é um algoritmo de aprendizado por imitação apresentado por Stéphane Ross, Geoffrey Gordon e J. Andrew Bagnell em 2011. Ele ataca a principal fraqueza da clonagem de comportamento simples. Uma política treinada apenas com demonstrações de um especialista vê os estados que o especialista visitou; depois de implantada, pequenos erros a levam a estados que o especialista nunca visitou, onde ela não tem dados de treinamento e tende a cometer erros maiores. Esse descompasso entre os estados de treinamento e os de implantação é conhecido como mudança de covariáveis (covariate shift), e os erros resultantes se acumulam ao longo da tarefa.
O DAgger corrige o descompasso coletando dados na própria distribuição de estados do aprendiz. O ciclo é simples: treinar uma política inicial com dados do especialista; executar essa política, ou uma mistura dela com o especialista, para visitar novos estados; perguntar ao especialista qual ação ele teria tomado em cada estado visitado; adicionar esses estados rotulados ao conjunto de dados; retreinar com todo o conjunto de dados agregado; e repetir. O artigo original formula isso como um problema de aprendizado online sem arrependimento (no-regret) e mostra que o erro da política cresce aproximadamente de forma linear com a duração da tarefa, em vez de quadrática, como pode acontecer na clonagem de comportamento.
A exigência prática é um especialista que possa ser consultado em estados arbitrários. Isso é fácil quando o especialista é um planejador, um controlador programado ou uma política em simulação, e mais difícil quando é uma pessoa, que precisa rotular estados que não escolheu. Variantes como o HG-DAgger deixam uma pessoa assumir o controle apenas quando o aprendiz erra. No aprendizado robótico atual, o DAgger é a forma padrão de destilar uma política professora privilegiada, treinada com aprendizado por reforço sobre o estado real do simulador, em uma política aluna que usa apenas sensores embarcados, como câmeras.
Por que importa
A maioria das políticas robóticas aprendidas é treinada a partir de demonstrações ou de um professor mais forte, e a diferença entre os estados vistos no treinamento e os alcançados na implantação é uma das principais causas de falha. O DAgger é o método mais simples e mais bem compreendido para fechar essa lacuna, e está na base de muitos pipelines professor–aluno usados para levar habilidades treinadas em simulação a robôs reais.
Principais aplicações
- Destilação de políticas de simulação privilegiadas em políticas alunas baseadas em visão
- Treinamento de controladores de locomoção com pernas e de parkour para transferência sim-to-real
- Aprendizado de políticas de direção e de navegação de drones a partir de planejadores ou especialistas humanos
- Aprendizado por imitação interativo em que uma pessoa corrige o robô durante a execução
- Compressão de várias políticas de habilidades especialistas em uma única política generalista
Na prática
Uma equipe que treina um quadrúpede para escalar e saltar obstáculos primeiro treina várias políticas especialistas com aprendizado por reforço em simulação, cada uma com acesso às alturas exatas do terreno. Em seguida, treina uma única política baseada em visão que vê apenas uma câmera de profundidade e a propriocepção. Em cada rodada, a política de visão conduz o robô simulado; a cada passo, o especialista relevante é consultado sobre a ação que tomaria, e o par formado pela observação e pela ação do especialista é armazenado. A política de visão é retreinada com todos os dados coletados até então, e o ciclo se repete até que ela se aproxime o suficiente dos especialistas. Como foi o aluno que gerou os estados, seus dados de treinamento incluem os tropeços e as vistas de câmera estranhas que ele vai encontrar no robô real.
Equívocos comuns
- DAgger é clonagem de comportamento com mais dados — a diferença essencial é que os novos dados vêm de estados que o próprio aprendiz visita, e não de mais demonstrações do especialista
- O DAgger precisa de um especialista humano — qualquer especialista capaz de rotular estados arbitrários serve, e na robótica ele costuma ser uma política professora ou um planejador simulados
- O especialista precisa controlar o robô enquanto os dados são coletados — no DAgger normalmente o aprendiz age e o especialista apenas rotula, e é isso que expõe os erros do próprio aprendiz
- O DAgger dispensa o especialista depois da primeira rodada — o especialista precisa estar disponível para rotular estados em todas as rodadas de treinamento
Quem deve saber
- Pesquisadores de aprendizado robótico que usam aprendizado por imitação
- Engenheiros que constroem pipelines sim-to-real professor–aluno
- Desenvolvedores de locomoção com pernas e de autonomia de drones
- Estudantes de aprendizado por imitação e por reforço
Tecnologias relacionadas
- Clonagem de comportamento (Behavior Cloning)
- HG-DAgger
- Destilação de políticas (Policy Distillation)
- Isaac Gym
- Aprendizado por reforço (Reinforcement Learning)
Termos relacionados
Projetos relacionados
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- OpenPI: Physical Intelligence VLA foundation models for general robot control
- NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
- Mobile ALOHA: Bimanual mobile manipulation with 4 robot arms on a wheeled base for teleoperation
- OpenArm: 7DOF humanoid arm for physical AI research in contact-rich environments
- Koch v1.1 Low-Cost Robot Arm: Open-source 6-DOF robot arm for affordable teleoperation and imitation learning research.