Open Source Robotics

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

Soft Actor-Critic

  • 다른 이름: SAC
  • 카테고리: Learning & autonomy › RL & simulation
  • 태그: reinforcement-learning, off-policy, actor-critic, maximum-entropy, robot-learning, continuous-control

보상과 행동 엔트로피를 모두 최대화하도록 확률적 정책을 학습시키고, 샘플 효율을 위해 리플레이 버퍼의 과거 경험을 재사용하는 오프폴리시 강화 학습 알고리즘.

정의

Soft Actor-Critic(SAC)은 연속 행동 공간을 위한 오프폴리시(off-policy) 액터-크리틱 강화 학습 알고리즘으로, 2018년 Tuomas Haarnoja와 동료들이 발표했다. SAC는 최대 엔트로피 프레임워크에 기반한다. 정책은 기대 보상만 최대화하는 대신, 보상에 행동의 엔트로피, 즉 무작위성에 대한 보너스를 더한 값을 최대화한다. 온도 파라미터가 둘 사이의 균형을 정한다. 엔트로피 항은 폭넓은 탐색을 장려하고, 정책이 너무 일찍 단일 행동으로 수렴하는 것을 억제한다.

SAC는 확률적 정책(액터)과 두 개의 Q 함수 크리틱을 학습한다. 정책은 보통 가우시안이며, 행동 한계를 지키도록 샘플을 tanh 함수로 압축한다. 학습 목표를 계산할 때 두 크리틱 중 최솟값을 취하면 Q 러닝에서 흔한 과대추정 편향이 줄어드는데, 이는 TD3 알고리즘과 공유하는 기법이며, 천천히 업데이트되는 타깃 네트워크가 학습을 안정시킨다. 이후 버전의 SAC는 정책의 엔트로피를 정해 둔 목표 근처로 유지하도록 온도를 자동으로 조정하여, 가장 민감한 하이퍼파라미터 중 하나를 없앴다.

SAC는 오프폴리시 방법이므로, 로봇이 겪는 모든 전이(transition)는 리플레이 버퍼에 저장되어 여러 번의 경사 업데이트에 재사용된다. 이 덕분에 매 업데이트 후 데이터를 버리는 PPO 같은 온폴리시 방법보다 샘플 효율이 상당히 높다. 이 성질 때문에 SAC는 매 분의 상호작용이 시간과 마모를 대가로 치르는 실제 로봇에서 직접 학습할 때, 그리고 시뮬레이션이 느리거나 사용할 수 없는 작업에서 흔히 선택되었다.

트레이드오프는 연산량과 확장성에 있다. SAC는 환경 스텝당 많은 네트워크 업데이트를 수행하며, 새로운 데이터를 싸게 얻을 수 있는 대규모 병렬 GPU 시뮬레이션에서 역사적으로 PPO보다 이득을 덜 보았다. 고차원 행동 공간이나 큰 네트워크에서는 학습이 불안정해질 수도 있으며, SAC 같은 오프폴리시 방법을 많은 병렬 환경과 관절이 많은 로봇으로 확장하는 방법은 현재 진행 중인 연구 주제다.

중요한 이유

SAC는 실제 로봇 하드웨어에서 직접 학습하는 경우를 포함해, 데이터가 비싼 환경에서 심층 강화 학습을 실용적으로 만들었다. 여전히 연속 제어의 표준 베이스라인 중 하나이며, 엔트로피로 정규화된 정식화는 이후의 많은 오프폴리시 방법과 모델 기반 방법에 영향을 주었다.

주요 응용

  • 실제 하드웨어에서의 학습 — 제한된 로봇 시간으로 조작 및 보행 기술을 학습
  • 연속 제어 벤치마크 — 시뮬레이션된 로봇 작업의 표준 베이스라인
  • 조작 — 희소하거나 설계된 보상으로 잡기, 밀기, 삽입 정책을 학습
  • 사전 학습된 정책의 미세 조정 — 온라인 강화 학습으로 행동 복제 정책을 개선
  • 차량 및 드론 제어 — 연속적인 조향 및 추력 명령을 학습

실제 사례

SAC를 사용하는 팀은 보통 로봇이나 시뮬레이터를 표준 환경 인터페이스로 감싸고, Stable-Baselines3 같은 라이브러리 구현을 고른 뒤, 리플레이 버퍼 크기, 배치 크기, 학습률, 그리고 환경 스텝 대비 경사 업데이트 비율을 설정한다. 하드웨어에서 학습할 때는 행동에 대한 안전 한계, 자동 리셋, 온보드 센서로 측정할 수 있는 보상 신호를 추가하며, 흔히 시연 데이터나 이전 실행의 데이터로 리플레이 버퍼를 미리 채운다. 엔지니어는 크리틱 손실, 온도 값, 정책의 엔트로피를 지켜본다. 온도가 0 근처로 떨어지거나 크리틱 추정값이 한없이 커지는 것은 학습을 조정해야 한다는 흔한 신호다.

흔한 오해

  • SAC는 항상 PPO보다 낫다 — SAC가 샘플 효율은 더 높지만, 수천 개의 시뮬레이션 환경이 병렬로 실행될 때는 PPO가 실제 경과 시간 기준으로 더 빨리 학습하는 경우가 많다
  • 엔트로피 보너스 때문에 최종 정책이 무작위적이다 — 배치 시에는 보통 평균 행동을 사용하며, 자동 온도 조정은 학습이 진행될수록 엔트로피를 낮춘다
  • SAC는 이산 행동을 그대로 다룬다 — 표준 알고리즘은 연속 행동을 대상으로 하며, 이산 변형에는 수정이 필요하다
  • 오프폴리시라는 것은 어떤 오래된 데이터든 쓸 수 있다는 뜻이다 — 현재 정책의 거동과 동떨어진 데이터는 여전히 가치 추정을 불안정하게 만들 수 있으며, 특히 완전한 오프라인 설정에서 그렇다

알아야 할 사람

  • 실제 하드웨어에서 학습시키는 로봇 학습 연구자
  • 연속 제어를 다루는 강화 학습 실무자
  • 온라인 미세 조정을 사용하는 조작 엔지니어
  • 액터-크리틱 방법을 배우는 학생

관련 기술

  • Proximal Policy Optimization
  • TD3
  • Deep Deterministic Policy Gradient (DDPG)
  • 리플레이 버퍼(Replay Buffer)
  • 최대 엔트로피 강화 학습(Maximum Entropy Reinforcement Learning)
  • Stable-Baselines3

관련 용어

  • Reinforcement Learning
  • Proximal Policy Optimization
  • Sim2Real

관련 프로젝트

  • 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
  • Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim

동영상

  • L5 DDPG and SAC (Foundations of Deep RL Series): Pieter Abbeel

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