OpenAI Procgen Benchmark 출시
OpenAI는 강화 학습(RL) 에이전트가 보지 못한 레벨로 기술을 일반화하는 능력을 측정하기 위해 설계된 16개의 절차적 생성 환경 세트인 Procgen Benchmark를 출시했습니다. 이 벤치마크는 에이전트가 견고하고 일반화 가능한 기술을 배우는 대신 특정 궤적을 암기할 수 있는 기존 RL 벤치마크의 일반적인 문제인 과적합(overfitting) 문제를 해결합니다.
Procgen Benchmark 개요
Procgen Benchmark는 별도의 훈련 및 테스트 세트를 생성할 수 있는 16개의 고유한 환경으로 구성됩니다. 이러한 구조는 에이전트가 단순히 환경을 암기할 수 없도록 보장하므로 일반화 능력을 평가하는 데 이상적입니다. 또한, 각 환경 내의 다양한 도전 과제는 에이전트가 성공하기 위해 견고한 정책을 학습해야 하므로 샘플 효율성(sample efficiency)을 평가하도록 설계되었습니다.
설계 원칙
모든 Procgen 환경은 네 가지 주요 설계 원칙에 따라 구축되었습니다:
- High Diversity: 환경 생성 로직에 최대한의 자유를 부여하여 다양한 레벨을 생성함으로써 에이전트에게 의미 있는 일반화 과제를 제시합니다.
- Fast Evaluation: 환경은 단일 CPU 코어에서 초당 수천 단계를 수행하도록 최적화되었습니다. 베이스라인 에이전트는 200M timesteps 이후에 상당한 진전을 보입니다.
- Tunable Difficulty: easy와 hard 두 가지 설정이 가능합니다. hard 설정은 결과 보고를 위한 표준이며, easy 설정은 훈련에 약 8분의 1의 리소스만 필요합니다.
- Visual Recognition and Motor Control: 환경은 Atari 및 Gym Retro 게임 스타일을 모방하며, 관찰 공간(observation space) 내의 주요 자산을 식별하고 적절한 운동 반응을 실행하는 데 중점을 둡니다.
일반화 및 과적합 평가
OpenAI는 100개에서 100,000개 레벨에 이르는 훈련 세트를 사용하여 Proximal Policy Optimization (PPO)에 대한 연구를 수행했습니다. 연구 결과는 RL 일반화에 대한 몇 가지 핵심 통찰을 제공합니다:
- Overfitting to Small Sets: 거의 모든 환경에서 에이전트가 작은 훈련 세트에 강력하게 과적합됩니다. 어떤 경우에는 에이전트가 일반화 격차를 줄이기 위해 무려 10,000개의 레벨이 필요합니다.
- Implicit Curriculum: 훈련 세트가 커질수록 훈련 성능이 향상되는 경향이 나타났습니다. 이는 더 크고 다양한 레벨 세트가 훈련 세트 자체 내에서도 에이전트가 일반화하는 법을 배우도록 돕는 암묵적 커리큘럼(implicit curriculum)을 제공한다는 것을 시사합니다.
- The Illusion of Progress: 결정론적(deterministic) 레벨을 사용하는 어블레이션 연구(ablation study)에서는 에이전트가 훈련 중에 진전이 있는 것처럼 보였으나, 테스트 레벨에서는 완전히 실패했습니다. 이는 암기(memorization)로 인한 진전의 착각을 진전의 착각을 피하기 위해 다양한 환경 분포를 사용하는 것이 매우 중요함을 강조합니다.
기술적 구현
연구자와 개발자를 위해, 이 벤치마크는 pip install procgen을 통해 사용할 수 있습니다. OpenAI RL 팀은 이를 표준 연구 플랫폼으로 사용하고 있습니다. OpenAI는 모든 Procgen 환경이 에이전트가 새로운 레벨로 일반화하기 시작하기 전에 500–1000개의 서로 다른 레벨에 대해 훈련해야 한다는 것을 발견했습니다.
Sources
- OriginalProcgen Benchmark