OpenAI Roboschool 출시
OpenAI는 강화 학습을 위해 설계된 물리 기반 환경 세트인 Roboschool을 출시했습니다. 기존 MuJoCo 작업을 Bullet 물리 엔진으로 포팅하고 새로운 복잡한 시나리오를 도입함으로써, Roboschool은 에이전트가 인터랙티브 컨트롤과 멀티에이전트 경쟁을 처리하도록 훈련할 수 있는 더 접근하기 쉽고 견고한 프레임워크를 제공합니다.
물리 환경 및 MuJoCo 포팅
Roboschool은 초기 환경 열두 개를 포함합니다.これ에는 이전에 MuJoCo에서 제공되었던 작업들이 포함되며, 이들은 Bullet 물리 엔진으로 포팅되어 더 현실적으로 수정되었습니다. 포팅된 작업 외에도, Roboschool은 Humanoid 워커 작업의 고급 버전과 멀티플레이어 Pong 환경과 같은 새로운 과제를 도입합니다.
즉시 사용을 용이하게 하기 위해, OpenAI는 GitHub 저장소의 agent_zoo 폴더에 모든 환경에 대한 훈련된 정책을 제공하며, 세 대의 로봇 간의 경주를 시뮬레이션할 수 있는 demo_race 스크립트도 제공합니다.
인터랙티브 컨트롤과 견고한 이동
Roboschool은 단순한 전진 목표를 넘어 인터랙티브 컨트롤이 필요한 환경을 도입합니다. 이전의 OpenAI Gym 환경은 종종 에이전트가 단일 사이클 궤적을 학습하고 밀리면 실패하는 취약한 정책을 초래했으나, Roboschool의 새로운 3D 휴머노이드 환경은 에이전트가 무작위로 변하는 시간에 따라 위치가 바뀌는 깃발을 향해 이동하도록 요구합니다.
HumanoidFlagrun
이 환경은 무작위로 움직이는 목표에 도달하기 위해 로봇이 속도를 줄이고 방향을 바꾸는 방법을 가르치도록 설계되었습니다.
HumanoidFlagrunHarder
이 환경은 로봇이 넘어질 수 있도록 허용하고 회복할 시간을 주어 난이도를 높입니다. 에피소드는 로봇이 직립 상태인지 땅에 누워 있는 상태인지에 따라 시작될 수 있으며, 에이전트는 궤도에서 벗어나도록 흰 큐브에 지속적으로 폭격을 당합니다.
OpenAI는 이러한 환경의 정책이 내부 상태가 없는 다층 퍼셉트론이라고 언급합니다. 따라서 연구원들은 일부 경우에 에이전트가 안정성과 항법을 유지하기 위해 정보를 저장하기 위해 팔을 사용한다고 믿습니다.
멀티에이전트 훈련과 적대적 동역학
Roboschool은 RoboschoolPong 환경부터 시작하여 동일한 환경 내에서 여러 에이전트의 동시 훈련과 실행을 지원합니다.
멀티플레이어 훈련은 다음과 같은 여러 구성을 허용합니다:
- 단일 에이전트를 자신과 대결하도록 훈련합니다.
- 동일한 알고리즘을 사용하여 두 개의 서로 다른 에이전트를 훈련합니다.
- 두 개의 서로 다른 알고리즘을 대결하도록 훈련합니다.
OpenAI는 적대적 훈련에서 특정 과제를 식별합니다: 정책 진동.
Pong에 적용된 정책 그래디언트 방법에서 연구원들은 에이전트가 일반적인 솔루션을 학습하기보다는 상대방의 현재 전략에 과적합되는 것을 관찰했습니다.
예를 들어, 한 에이전트는 화면 상단을 방어하는 방법을 배울 수 있고, 다른 에이전트는 공을 화면 하부로 보내는 방법을 배울 수 있습니다.
첫 번째 에이전트가 하단에 적응하면, 두 번째 에이전트가 다시 적응하여 어느 에이전트도 훈련 시간 후에 유용한 일반적인 전략을 학습하지 못하는 진동 학습 곡선을 초래합니다.
OpenAI는 이 적대적 상호작용이 까다롭기는 하지만, 정교한 전략을 개발하기 위한 자연스러운 커리큘럼을 제공할 수 있다고 제안합니다.
Sources
- OriginalRoboschool