Actor-Critic
- 다른 이름: actor-critic methods, actor-critic algorithm
- 카테고리: Learning & autonomy › RL & simulation
- 태그: reinforcement-learning, policy-gradient, value-function, deep-learning, robot-learning
두 부분을 함께 학습하는 강화 학습 방법 계열로, 하나는 행동을 고르는 정책인 액터이고, 다른 하나는 그 행동을 평가하고 개선하는 데 쓰이는 학습된 가치 함수인 크리틱이다.
정의
액터-크리틱(actor-critic) 방법은 정책 학습과 가치 학습을 결합한 강화 학습 알고리즘 계열이다. 액터(actor)는 정책, 즉 현재 상태나 관측을 행동 또는 행동에 대한 분포로 사상하는 함수이다. 크리틱(critic)은 상태나 행동이 얼마나 좋은지에 대한 학습된 추정으로, 상태 가치 함수 V(s), 행동 가치 함수 Q(s, a), 또는 어떤 행동이 정책의 평균보다 얼마나 나은지를 재는 어드밴티지 함수이다. 크리틱은 보통 시간차 학습으로 경험에서 학습되며, 액터는 크리틱이 기대 반환값을 높일 것이라고 가리키는 방향으로 갱신된다.
이 아이디어는 막대 균형 잡기 학습에 관한 Barto, Sutton, Anderson의 1983년 연구로 거슬러 올라가며, Konda와 Tsitsiklis는 2000년 무렵 액터-크리틱 알고리즘과 그 수렴에 대한 형식적 분석을 내놓았다. 동기는 분산 감소이다. REINFORCE 같은 순수 정책 경사 방법은 각 행동에 관측된 전체 반환값으로 가중치를 주는데, 이 값은 잡음이 매우 크다. 그 반환값을 크리틱의 추정으로 바꾸거나 학습된 기준선을 빼서 어드밴티지를 만들면, 크리틱의 오차에서 오는 약간의 편향을 대가로 분산이 훨씬 낮은 갱신을 얻는다. 일반화 어드밴티지 추정(generalized advantage estimation) 같은 기법은 사용자가 이 편향-분산 절충을 조정할 수 있게 해 준다.
로봇공학에서 쓰이는 심층 강화 학습의 대부분은 액터-크리틱이다. A2C와 Proximal Policy Optimization(PPO) 같은 온폴리시 변형은 학습된 가치 기준선과 함께 확률적 액터를 학습하며, 대규모 병렬 시뮬레이션에서 보행 학습에 널리 쓰인다. DDPG, TD3, Soft Actor-Critic(SAC) 같은 오프폴리시 변형은 리플레이 버퍼로부터 Q 함수를 학습하고 크리틱의 경사를 따라 액터를 갱신하는데, 데이터를 더 효율적으로 쓰므로 실제 하드웨어에서의 학습에 알맞다. 크리틱은 학습하는 동안에만 필요하므로, 배치된 액터가 결코 보지 못하는 정보를 쓸 수 있으며, 이것이 비대칭 액터-크리틱 학습의 기초이다.
중요한 이유
액터-크리틱 구조는 심층 강화 학습을 로봇 제어에 쓸 만큼 안정적으로 만드는 요소이다. 어느 부분이 무엇을 하는지 알면 가치 손실 가중치와 어드밴티지 정규화부터 왜 크리틱에 시뮬레이터의 특권 상태를 줄 수 있는지에 이르기까지 대부분의 실무 튜닝 결정을 설명할 수 있으며, 이는 PPO, SAC와 그 변형들 뒤에 있는 공통 어휘이다.
주요 응용
- PPO로 시뮬레이션에서 학습한 다리 보행 정책
- SAC나 TD3를 이용한 실제 로봇 암에서의 샘플 효율적 학습
- 특권 정보 크리틱을 쓰는 손 안의 정교한 조작
- 드론과 쿼드로터 제어 정책
- 보상 신호로부터 학습한 카메라 및 시점 제어
- 모방 학습으로 사전 학습한 정책의 미세 조정
실제 사례
한 팀이 수천 개의 환경을 병렬로 돌리는 GPU 시뮬레이터에서 PPO로 사족 로봇의 보행 정책을 학습한다. 액터는 고유 감각 관측을 받아 관절 위치 목표에 대한 가우시안의 평균을 출력하는 작은 다층 퍼셉트론이다. 크리틱은 같은 관측에 더해 실제 몸체 속도, 지형 높이, 마찰 같은 특권 항을 받아 기대 할인 반환값을 예측하는 별도의 신경망이다. 롤아웃이 끝날 때마다 일반화 어드밴티지 추정이 크리틱의 예측과 관측된 보상을 결합하고, 액터는 클리핑된 PPO 목적 함수로 갱신되며, 크리틱은 계산된 반환값을 향해 회귀된다. 엔지니어들은 크리틱의 설명 분산을 지켜본다. 이 값이 낮게 머물면 어드밴티지는 대부분 잡음이 되고 액터는 더 이상 나아지지 않는다. 로봇의 온보드 컴퓨터로 내보내는 것은 액터뿐이다.
흔한 오해
- 크리틱은 배치된 제어기의 일부이다 — 로봇에서 실행되는 것은 액터뿐이며, 크리틱은 액터를 학습시키기 위해 존재한다
- 크리틱의 값은 과제 성공을 정확히 측정한다 — 크리틱의 값은 편향될 수 있는 학습된 근사이며, Q 함수 과대추정은 TD3와 SAC가 쌍둥이 크리틱으로 대응하는 알려진 실패 유형이다
- PPO는 액터-크리틱 방법이 아니다 — 표준 PPO 구현은 어드밴티지의 기준선으로 가치 함수를 학습하므로 액터-크리틱이다
- 액터-크리틱은 하나의 알고리즘 이름이다 — 온폴리시와 오프폴리시, 확률적 방법과 결정적 방법을 모두 포함하는 계열이다
알아야 할 사람
- 실제 로봇을 다루는 강화 학습 실무자
- 학습된 제어기를 쓰는 보행 및 매니퓰레이션 엔지니어
- 학습 파이프라인을 설계하는 로봇 학습 연구자
- 고전 제어에서 학습 기반 제어로 넘어가는 학생
관련 기술
- A2C와 A3C
- DDPG
- TD3
- 일반화 어드밴티지 추정(Generalized Advantage Estimation)
- Stable-Baselines3
- Isaac Lab
관련 용어
- Reinforcement Learning
- Proximal Policy Optimization
- Soft Actor-Critic
- Asymmetric Actor-Critic
- Markov Decision Process (MDP)
관련 프로젝트
- 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
동영상
- Actor Critic Algorithms: Siraj Raval
- Everything You Need To Master Actor Critic Methods | Tensorflow 2 Tutorial: Machine Learning with Phil