OpenAI Baselines: ACKTR & A2C

OpenAI가 Baselines 프레임워크를 위한 두 가지 새로운 구현체인 ACKTR (Actor Critic using Kronecker-factored Trust Region) 및 A2C (Advantage Actor Critic)를 출시했습니다. 이번 릴리스는 연구자들에게 강화 학습의 샘플 효율성을 향상시키는 도구를 제공하며, 비동기 방식인 A3C 알고리즘에 대한 보다 계산 효율적인 동기식 대안을 제공합니다.

ACKTR: 높은 샘플 효율성 및 확장성

ACKTR은 A2C와 같은 1차(first-order) 방법이나 TRPO와 같은 다른 신뢰 영역(trust region) 방법보다 샘플 효율성이 높도록 설계되었습니다. 이는 표준 경사(gradient) 방향이 아닌 자연 경사(natural gradient) 방향으로 단계를 밟음으로써 달성됩니다.

기술적 기반

ACKTR은 정책 개선을 최적화하기 위해 세 가지 핵심 기술을 결합합니다:

  • Actor-Critic Methods: 정책 기반(policy-based) 학습과 가치 기반(value-based) 학습을 결합합니다.
  • Trust Region Optimization: 새로운 정책이 기존 정책과 급격하게 다르게 행동하는 것을 방지하기 위해 KL divergence를 제한함으로써 일관된 개선을 보장하며, 이를 통해 성능 붕괴를 방지합니다.
  • Distributed Kronecker Factorization: 확장성과 샘플 효율성을 모두 향상시키기 위해 사용됩니다.

샘플 복잡도 vs 계산 복잡도

ACKTR은 상호작용 타임스텝 수(샘플 복잡도)와 수치 연산 횟수(계산 복잡도) 사이의 트레이드오프를 최적화합니다:

  • 샘플 복잡도: 자연 경사는 출력 분포의 단위 변화당 목적 함수에서 가장 큰 즉각적인 개선을 달성하는 파라미터 공간 내의 방향을 식별하기 때문에, ACKTR은 1차 방법보다 더 나은 샘플 복잡도를 가집니다.
  • 계산 복잡도: ACKTR에서 사용되는 KFAC 업데이트는 표준 경사 업데이트보다 업데이트 단계당 비용이 10–25% 정도만 더 높습니다. 이는 비용이 많이 드는 conjugate-gradient 계산이 필요한 TRPO보다 훨씬 더 효율적입니다.

성능 및 확장성

ACKTR의 성능은 배치 크기에 따라 잘 확장됩니다. 각 배치로부터 얻은 정보를 사용하여 파라미터 공간의 국소 곡률(local curvature)을 근사하기 때문에, 대규모 배치 크기가 일반적인 대규모 분산 학습에 특히 효과적입니다.

A2C: A3C에 대한 동기식 대안

A2C는 비동기 Advantage Actor Critic (A3C) 알고리즘의 동기식, 결정론적 변형입니다. A3C가 영향력이 컸지만, OpenAI는 A3C의 비동기성이 성능 이점을 제공하지 않는다는 것을 발견했습니다.

A2C vs A3C

  • 메커니즘: 비동기적으로 업데이트되는 A3C와 달리, A2C는 업데이트를 수행하기 전에 각 actor가 경험의 세그먼트를 마칠 때까지 기다린 후 모든 actor에 대해 평균을 냅니다.

  • 성능: OpenAI의 동기식 A2C 구현은 비동기식 구현보다 더 나은 성능을 보입니다. 그들은 비동기성으로 인해 발생하는 노이즈가 어떠한 정규화(regularization)나 탐색(exploration) 이점을 제공한다는 증거를 찾지 못했습니다.

  • 효율성: A2C는 대규모 배치 크기를 사용하여 GPU를 더 효과적으로 활용할 수 있으므로 단일 GPU 머신에서 더 비용 효율적입니다. 또한 더 큰 정책을 사용할 때 CPU 전용 A3C 구현보다 더 빠릅니다.

벤치마크 및 응용 분야

OpenAI는 다양한 작업에 대해 PPO 및 ACER과 ACKTR 및 A2C를 비교 평가한 벤치마크를 공개했습니다. ACKTR은 49개의 Atari 게임에서 테스트되었으며, 하이퍼파라미터는 Breakout 게임에서만 튜닝되었습니다.

ACKTR은 다음과 같은 제어 정책을 학습하는 데 적용되었습니다:

  • 픽셀을 입력으로 사용하고 연속적인 액션 공간을 사용하는 시뮬레이션 로봇.
  • 픽셀을 입력으로 사용하고 이산적인 액션 공간을 사용하는 Atari 에이전트.

Sources