Neural MMO: A Massively Multiagent Game Environment
OpenAI는 강화 학습(RL) 연구를 위해 설계된 대규모 멀티에이전트 게임 환경인 Neural MMO를 도입했습니다. 이 플랫폼은 대규모의 가변적인 수의 에이전트가 지속적이고 개방적인 작업 내에서 상호작용할 수 있도록 하며, 많은 수의 에이전트와 종(species)을 포함하는 것이 탐색(exploration) 개선, 발산적 틈새 형성(divergent niche formation), 그리고 전반적인 역량 향상으로 이어진다는 것을 보여줍니다.
Core Design Principles of Neural MMO
Neural MMO는 복잡하지만 좁은 환경과 개방적이지만 단순한 환경 사이의 간극을 해결하기 위해 구축되었습니다. 이는 네 가지 주요 기준을 준수합니다:
- Persistence: 에이전트들은 환경 리셋 없이 동시에 학습합니다. 이는 전략이 긴 시간 지평(time horizons)을 고려하고 다른 에이전트들의 진화하는 행동에 적응하도록 강제합니다.
- Scale: 환경은 대규모 인구를 지원합니다. OpenAI의 실험에는 100개의 동시 서버 각각에서 128개의 동시 에이전트가 참여하여 최대 1억 번의 생애(lifetimes)가 포함되었습니다.
- Efficiency: 플랫폼은 낮은 계산 장벽을 위해 설계되어, 단일 데스크톱 CPU에서 효과적인 정책을 학습할 수 있습니다.
- Expansion: 환경은 오픈 소스 확장을 위해 설계되었습니다. 현재 기능에는 절차적 타일 기반 지형, 음식 및 물 채집 시스템, 그리고 전략적 전투 시스템이 포함됩니다.
Environment Mechanics and Agent Interaction
에이전트들은 구성 가능한 크기의 자동 생성된 타일 기반 맵에서 작동합니다. 환경에는 여러 생존 및 전투 메커니즘이 포함됩니다:
- Survival: 에이전트들은 음식과 물을 획득함으로써 건강을 유지해야 합니다. 물은 무한한 물 타일에서 얻을 수 있는 반면, 음식은 숲 타일에서 얻을 수 있으며, 숲 타일은 시간이 지남에 따라 천천히 재생되는 제한된 공급량을 가집니다.
- Combat: 플레이어들은 Melee, Range, Mage의 세 가지 뚜렷렷한 스타일로 전투에 참여합니다.
- Input/Output: 에이전트들은 자신의 위치를 중심으로 한 타일의 정사각형 크롭(crop)을 받으며, 여기에는 지형 유형과 다른 에이전트들의 속성(health, food, water, and position)이 포함됩니다. 각 게임 틱(tick)마다 에이전트들은 하나의 이동 동작과 하나의 공격 동작을 출력합니다.
Model Architecture and Training
OpenAI는 vanilla policy gradients를 사용하여 가치 함수 베이스라인(value function baseline)과 보상 할인(reward discounting)을 활용하여 학습된 작은 규모의 fully connected architecture를 사용했습니다.
특정 목표에 보상을 주는 대신, 에이전트들은 오직 자신의 lifetime(trajectory length)을 위해 최적화하며, 생존하는 모든 틱(tick)마다 1의 보상을 받습니다. 가변 길이의 관측값(예:를 들어, 주변 플레이어의 수)을 처리하기 위해, 모델은 모든 플레이어에 대해 최대값을 계산하여 단일 길이의 벡터를 생성합니다.
구현은 PyTorch와 Ray를 사용하여 구축되었습니다.
Evaluation Results and Key Findings
OpenAI는 서로 다른 설정에서 학습된 정책을 비교하기 위해, 서로 다른 서버의 플레이어 기반을 하나의 환경으로 병합하는 "server merge tournaments"를 사용하여 에이전트 역량을 평가했습니다.
Multiagent Interaction Magnifies Competence
더 큰 설정에서 학습된 에이전트들은 작은 설정에서 학습된 에이전트들보다 일관적으로 더 뛰어난 성능을 것을 보여줍니다. 연구 결과는 에이전트 역량이 멀티에이전트 상호작용 수준에 따라 직접적으로 확장된다는 것을 나타냅니다.
Population Size Drives Exploration
인구 규모가 증가하면 에이전트들이 자원 경쟁을 피하기 위해 맵 전체로 퍼져 나가는 것을 장려합니다. 동시 에이전트 수가 증가함에 따라 맵 커버리지가 증가하며, 이는 에이전트들이 타인의 존재에 대한 자연스러운 반응으로 탐색을 학습한다는 것을 의미합니다.
Species Count Drives Niche Formation
인구 규모(종)의 수를 늘리는 것은 틈새 형성(niche formation)을
Spatial Value Distributions
두 번째 에이전트의 위치와 관련된 가치 함수를 시각화함으로써, OpenAI는 에이전트들이 복잡한 공간적 의존성을 개발한다는 것을 발견했습니다:
- Foraging: 에이전트들은 더 효과적으로 채집을 하기 위해 빠르게 "bull's eye" 회피 맵을 학습합니다.
- Combat: 에이전트들이 전투 메커니즘을 마전히써, 그들은 다른 에이전트들의 정책에 기반하여 특정 교전 거리와 접근 각도를 가치 있게 여기는 법을 학습합니다로.