OpenAI 경쟁적 셀프플레이 연구
OpenAI는 경쟁적 셀프플레이가 시뮬레이션된 AI 에이전트가 환경에 명시적으로 프로그래밍되지 않은 복잡한 신체 기술—예를 들어 태클, ducking, faking, kicking, catching, diving—을 발견할 수 있게 함을 입증했습니다. 이 접근 방식은 AI가 향상될 수 있는 최적의 난이도 수준으로 훈련 환경을 유지하게 하며, 이는 셀프플레이가 미래의 강력한 AI 시스템의 기초 구성 요소가 될 것임을 시사합니다.
간단한 목표를 통한 발현된 행동
경쟁 압력과 간단한 보상 구조가 결합되면 에이전트는 자신의 성능을 부트스트랩할 수 있습니다. 기본 게임을 하는 시뮬레이션된 3D 로봇을 포함한 실험에서, OpenAI는 각 에이전트에 대해 신경망 정책을 독립적으로 훈련시키기 위해 Proximal Policy Optimization (PPO)를 사용했습니다.
훈련 방법론
에이전트는 두 단계 보상 시스템을 사용하여 훈련됩니다:
- 밀도 보상: inicialmente, 에이전트는 서 있고 앞으로 움직이는 것과 같은 기본 탐색 행동에 대해 보상을 받습니다.
- 경쟁 보상: 이러한 밀도 보상은 점차 0으로 소멸되어, 에이전트의 초점을 승패(예: 상대를 스모 링 밖으로 밀어내거나 공을 네트 안으로 차는 것)와 같은 주요 목표로 이동시킵니다.
사례 연구: 스모 씨름
스모 씨름 작업에서, OpenAI는 인간형 로보트가 걷도록 훈련하는 이전 작업을 기반으로 한 밀도 탐색 보상을 사용했으며, velocity 항을 제거하고 링 중심에서의 음의 L2 거리를 추가했습니다. 에이전트가 링을 탐색한 후, 이 보상은 0으로 소멸되어 에이전트가 경쟁 보상—상대를 링 밖으로 밀어내는 것—에 최적화하도록 강제했습니다.
전이 학습 및 일반화
경쟁적 셀프플레이를 통해 훈련된 에이전트는 전이 학습을 보여주며, 이는 한 환경에서 배운 기술을 새로운 미지의 환경에 적용할 수 있음을 의미합니다.
한 특정 테스트에서, 스모 씨름을 훈련한 에이전트는 'wind' 힘에 의해 방해받는 환경에 배치되었습니다. 훈련 중에 wind를 jamais 만난 적이 없었음에도 불구하고, 스모 에이전트는 직립 상태를 유지할 수 있었습니다. 대조적으로, 클래식 강화 학습을 사용하여 걷도록 훈련된 에이전트는 동일한 힘에 노출되자마자 즉시 넘어졌습니다.
셀프플레이에서의 과적합 완화
OpenAI는 과적합의 위험을 식별했는데, 여기서 에이전트는 일반적인 전략을 개발하는 대신 단일 상대를 겨냥하도록 특별히 맞춤화된 정책을 공동 학습합니다. 에이전트가 좁은, 상대 특화된 카운터를 학습하는 것을 방지하기 위해 OpenAI는 다음과 같은 전략을 구현했습니다:
- 다양한 상대 앙상블: 에이전트는 동시에 여러 다른 상대와 대결했습니다.
- 정책 기록: 에이전트는 훈련 과정의 초기 단계의 정책과 맞붙었습니다.
다양한 정책 앙상블에 맞서 훈련함으로써, 에이전트는 다양한 상대에 대해 효과적인 일반적인 전략을 개발하도록 강요받았습니다.
가용성
OpenAI는 이 연구에서 사용된 MuJoCo 환경과 훈련된 정책을 GitHub를 통해 공개하여 셀프플레이 시스템에 대한 추가 실험을 용이하게 했습니다.
Sources
- OriginalCompetitive self-play
관련
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch