Open Source Robotics

고품질 오픈소스 로봇 프로젝트, 도구 및 소프트웨어의 엄선된 컬렉션.

DAgger

  • 다른 이름: Dataset Aggregation
  • 카테고리: Learning & autonomy › Learning from demonstration
  • 태그: imitation-learning, policy-distillation, covariate-shift, robot-learning, sim-to-real

학습자 자신의 정책을 반복 실행하고, 그 정책이 도달한 상태에 전문가가 레이블을 붙이게 하며, 늘어나는 데이터셋으로 다시 학습하여 누적 오차를 피하는 모방 학습 알고리즘.

정의

DAgger는 데이터셋 집계(Dataset Aggregation)의 줄임말로, Stéphane Ross, Geoffrey Gordon, J. Andrew Bagnell이 2011년에 도입한 모방 학습 알고리즘이다. 이 알고리즘은 단순한 행동 복제의 주된 약점을 다룬다. 전문가 시연만으로 학습된 정책은 전문가가 방문한 상태들을 본다. 일단 배치되면 작은 실수가 정책을 전문가가 한 번도 방문하지 않은 상태로 데려가는데, 그곳에는 학습 데이터가 없어 더 큰 실수를 하는 경향이 있다. 학습 상태와 배치 상태 사이의 이런 불일치를 공변량 이동(covariate shift)이라 하며, 그로 인한 오차는 작업 길이에 걸쳐 누적된다.

DAgger는 학습자 자신의 상태 분포에서 데이터를 수집하여 이 불일치를 바로잡는다. 루프는 단순하다. 전문가 데이터로 초기 정책을 학습하고, 그 정책 또는 그 정책과 전문가의 혼합을 실행해 새 상태를 방문하고, 방문한 각 상태에서 전문가라면 어떤 행동을 했을지 묻고, 이렇게 레이블된 상태를 데이터셋에 추가하고, 집계된 전체 데이터셋으로 다시 학습하고, 이를 반복한다. 원 논문은 이를 무후회(no-regret) 온라인 학습 문제로 정식화하고, 정책의 오차가 행동 복제에서 그럴 수 있듯이 작업 길이에 대해 제곱으로가 아니라 대략 선형으로 증가함을 보인다.

실용적 요건은 임의의 상태에서 질의할 수 있는 전문가다. 전문가가 계획기, 스크립트 제어기 또는 시뮬레이션 속 정책이면 쉽고, 자신이 고르지 않은 상태에 레이블을 붙여야 하는 사람이면 더 어렵다. HG-DAgger 같은 변형은 학습자가 잘못될 때만 사람이 개입하게 한다. 현재의 로봇 학습에서 DAgger는 참 시뮬레이터 상태를 이용해 강화 학습으로 학습한 특권 교사 정책을, 카메라 같은 온보드 센서만 사용하는 학생 정책으로 증류하는 표준적인 방법이다.

중요한 이유

대부분의 학습된 로봇 정책은 시연이나 더 강한 교사로부터 학습되며, 학습 중에 본 상태와 배치 시 도달하는 상태 사이의 격차는 실패의 주요 원인이다. DAgger는 그 격차를 줄이는, 가장 단순하고 잘 이해된 방법이며, 시뮬레이션에서 학습한 기술을 실제 로봇으로 가져오는 데 쓰이는 많은 교사–학생 파이프라인의 바탕이 된다.

주요 응용

  • 특권 시뮬레이션 정책을 비전 기반 학생 정책으로 증류
  • Sim-to-Real 전이를 위한 다리 보행 및 파쿠르 제어기 학습
  • 계획기나 인간 전문가로부터 주행 및 드론 내비게이션 정책 학습
  • 실행 중에 사람이 로봇을 교정하는 상호작용적 모방 학습
  • 여러 전문 기술 정책을 하나의 범용 정책으로 압축

실제 사례

장애물을 오르고 뛰어넘도록 사족 로봇을 학습시키는 팀은 먼저 시뮬레이션에서 강화 학습으로 여러 전문 정책을 학습시키는데, 각 정책은 정확한 지형 높이에 접근할 수 있다. 그런 다음 깊이 카메라와 고유 감각만 보는 단일 비전 기반 정책을 학습시킨다. 각 라운드에서 비전 정책이 시뮬레이션 로봇을 구동하고, 매 단계마다 해당 전문 정책에 그것이 취할 행동을 질의하며, 관측과 전문가 행동의 쌍을 저장한다. 비전 정책은 지금까지 수집한 모든 데이터로 다시 학습되며, 전문 정책들과 충분히 가깝게 일치할 때까지 이 주기를 반복한다. 상태를 학생이 생성했으므로, 학습 데이터에는 실제 로봇에서 마주칠 비틀거림과 이상한 카메라 시야가 포함된다.

흔한 오해

  • DAgger는 데이터가 더 많은 행동 복제다 — 핵심 차이는 새 데이터가 더 많은 전문가 시연이 아니라 학습자 자신이 방문한 상태에서 나온다는 것이다
  • DAgger에는 인간 전문가가 필요하다 — 임의의 상태에 레이블을 붙일 수 있는 전문가라면 무엇이든 되며, 로보틱스에서는 대개 시뮬레이션된 교사 정책이나 계획기다
  • 데이터를 수집하는 동안 전문가가 로봇을 제어해야 한다 — DAgger에서는 보통 학습자가 행동하고 전문가는 레이블만 붙이며, 바로 이것이 학습자 자신의 실수를 드러낸다
  • DAgger는 첫 라운드 뒤에는 전문가가 필요 없다 — 전문가는 학습의 모든 라운드에서 상태에 레이블을 붙일 수 있어야 한다

알아야 할 사람

  • 모방 학습을 사용하는 로봇 학습 연구자
  • 교사–학생 Sim-to-Real 파이프라인을 구축하는 엔지니어
  • 다리 보행 및 드론 자율 비행 개발자
  • 모방 학습과 강화 학습을 공부하는 학생

관련 기술

  • 행동 복제(Behavior Cloning)
  • HG-DAgger
  • 정책 증류(Policy Distillation)
  • Isaac Gym
  • 강화 학습(Reinforcement Learning)

관련 용어

  • Imitation Learning
  • Behavior Cloning
  • Teacher-Student Training
  • Reinforcement Learning
  • Sim2Real

관련 프로젝트

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

이 웹사이트는 JavaScript가 필요합니다. 오픈소스 로봇 프로젝트를 탐색하려면 JavaScript를 활성화하세요.