Open Source Robotics

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

Curriculum Learning

  • 다른 이름: curriculum training, task curriculum
  • 카테고리: Learning & autonomy › RL & simulation
  • 태그: reinforcement-learning, robot-learning, training, simulation, locomotion

학습 시스템에 더 쉬운 작업이나 예제를 먼저 주고 난이도를 점차 높여, 처음부터 배우기에는 너무 어려운 기술을 익힐 수 있게 하는 학습 전략.

정의

커리큘럼 학습(curriculum learning)은 학습 경험을 한꺼번에 제시하는 대신 쉬운 것에서 어려운 것 순으로 배열하는 방법이다. 이 아이디어는 사람이 배우는 방식을 닮았다. 학생은 미적분보다 산수를 먼저 배운다. 머신러닝에서는 2009년 Bengio 등이 이를 정식화했으며, 이들은 예제의 순서를 잘 고르면 학습 속도를 높이고 최종 결과를 개선할 수 있음을 보였다.

로봇공학에서 커리큘럼은 강화 학습에서 가장 흔하다. 강화 학습에서는 자신의 능력을 훨씬 넘어서는 작업에서 시작한 에이전트가 유용한 보상 신호를 끝내 받지 못할 수 있기 때문이다. 커리큘럼은 에이전트를 자기 역량의 경계에 머물게 한다. 난이도는 여러 축을 따라 높일 수 있다. 다리 로봇의 경우 지형의 거칠기와 경사, 계단 오르기의 경우 계단 높이, 내비게이션의 경우 목표까지의 거리, 파지의 경우 물체의 다양성, 외부에서 미는 힘의 세기, 또는 보상이 얼마나 희소한지 등이다.

커리큘럼은 고정된 단계와 다음 단계로 넘어가는 임계값을 두어 사람이 설계할 수도 있고, 자동으로 만들 수도 있다. 자동 커리큘럼은 에이전트의 성능에 따라 난이도를 조정한다. 예를 들어 시뮬레이션 로봇이 성공하면 더 어려운 지형으로 올리고 실패하면 내린다. 관련 아이디어로는 학습 시스템이 적절한 난이도의 목표를 제안하는 자동 목표 생성과, 상대들이 함께 향상되는 셀프 플레이가 있다.

커리큘럼은 잘못될 수 있는 설계 선택을 추가한다. 난이도가 너무 빨리 오르면 학습이 정체되고, 너무 느리게 오르면 연산이 낭비된다. 배포 시 마주칠 조건의 전체 범위에 결코 도달하지 않는 커리큘럼은 정책을 그러한 조건에 대비되지 않은 상태로 남길 수 있다.

중요한 이유

오르기, 점프, 거친 지면 걷기 같은 많은 로봇 기술은 무작위 행동이 거의 성공하지 못하기 때문에 처음부터 시행착오로 배울 수 없다. 커리큘럼 학습은 이러한 기술을 단계적으로 쌓아 올려 학습 가능하게 만들며, 시뮬레이션으로 학습한 보행 제어기의 표준 구성 요소이다.

주요 응용

  • 점점 더 어려워지는 지형에서의 다리 보행 학습
  • 오르기와 계단 통과 기술 학습
  • 목표 거리나 장애물 밀도가 점차 늘어나는 내비게이션 작업
  • 물체의 다양성이나 정밀도 요구가 커지는 조작 작업

실제 사례

GPU 기반 보행 학습에서 흔한 구성은 지형 커리큘럼이다. 수천 대의 시뮬레이션 로봇을 난이도 순으로 배열된 지형 타일 격자, 예를 들어 높이가 점점 커지는 경사, 계단, 거친 구간 위에 분산시킨다. 각 로봇은 쉬운 타일에서 시작하고, 한 에피소드에서 충분히 멀리 이동하면 더 어려운 타일로, 실패하면 다시 쉬운 타일로 옮겨진다. 팀은 흔히 명령 속도와 외란 강도에 대해서도 병렬 커리큘럼을 돌리며, 로봇들이 난이도 수준별로 어떻게 분포하는지를 학습 진행의 직접적인 척도로 기록한다. 배포 전에는 최종 정책을 가장 어려운 수준과 커리큘럼 밖의 조건에서 평가하여, 정책이 학습용 단계에만 맞춰 조정되지 않았는지 확인한다.

흔한 오해

  • 커리큘럼은 항상 도움이 된다 — 잘못 설계된 커리큘럼은 학습을 늦추거나 정책을 커리큘럼이 강조한 조건 쪽으로 치우치게 할 수 있다
  • 커리큘럼은 사람이 직접 설계해야 한다 — 많은 시스템은 에이전트의 측정된 성능에 따라 난이도를 자동으로 조정한다
  • 커리큘럼 학습은 강화 학습에만 쓰인다 — 처음에는 지도 학습을 위해 정식화되었고 지도 학습에도 적용된다

알아야 할 사람

  • 강화 학습 실무자
  • 다리 로봇 제어 엔지니어
  • 시뮬레이션 및 학습 환경 설계자
  • 로봇 학습을 다루는 머신러닝 전공 학생

관련 기술

  • 강화 학습(Reinforcement Learning)
  • Isaac Lab
  • 도메인 무작위화(Domain Randomization)
  • 보상 설계(Reward Shaping)
  • 자동 커리큘럼 학습(Automatic Curriculum Learning)
  • 셀프 플레이(Self-Play)

관련 용어

  • Reinforcement Learning
  • Domain Randomization
  • Teacher-Student Training

관련 프로젝트

  • GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • MuJoCo: DeepMind physics engine for robotics and ML research
  • PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
  • OpenPI: Physical Intelligence VLA foundation models for general robot control
  • Microduck: Pollen Robotics' $399 walking duck robot: open-source software, closed hardware

동영상

  • Curriculum Learning in Deep Neural Networks: Connor Shorten
  • Teacher-Student Curriculum Learning: Connor Shorten

위키백과

  • 커리큘럼 학습

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