프로젝트 소개

Unity Machine Learning Agents 툴킷(ML-Agents)은 Unity Technologies가 개발한 오픈소스 프로젝트로, 게임 개발과 인공지능 연구를 연결합니다. 이는 게임과 시뮬레이션이 지능형 에이전트의 훈련 환경으로 작동하는 유연한 플랫폼을 제공하며, 심층 강화 학습, 모방 학습, 신경진화 및 기타 방법을 사용합니다. 주요 기능으로는 PPO, SAC, MA-POCA, 자기 대결(self-play)과 같은 여러 심층 강화 학습 알고리즘을 통한 단일 에이전트, 다중 에이전트 협력, 다중 에이전트 경쟁 시나리오 지원이 포함됩니다. 모방 학습을 위해 행동 복제(BC)와 생성적 적대적 모방 학습(GAIL)을 제공합니다. 툴킷에는 17개 이상의 예제 Unity 환경과 기존 게임이나 사용자 지정 장면에 통합할 수 있는 유연한 Unity SDK가 포함되어 있습니다. Python API를 통해 연구자는 강화 학습, 모방 학습 또는 사용자 지정 방법을 사용하여 에이전트를 훈련할 수 있습니다. 훈련된 에이전트는 다중 에이전트 및 적대적 환경에서 NPC 행동 제어, 게임 빌드 자동 테스트, 출시 전 게임 디자인 결정 평가 등 다양한 목적으로 배포할 수 있습니다. 또한 툴킷은 커리큘럼 학습 시나리오, 강력한 에이전트 훈련을 위한 환경 무작위화, 주문형 의사 결정, 병렬 훈련을 위한 여러 동시 Unity 환경 인스턴스를 지원합니다. ML-Agents 툴킷은 Unity의 Inference Engine을 활용하여 기본 크로스 플랫폼 지원을 제공하며, Unity 학습 환경을 gym 또는 PettingZoo 환경으로 래핑하는 API를 제공합니다. 플러그인 시스템을 통해 사용자 지정 훈련 알고리즘과 구성 요소를 추가할 수 있습니다. 이 프로젝트는 Apache 2.0 라이선스로 배포되며 Unity 2020.1 이상에서 검증되었습니다. 최신 릴리스(2025년 8월, Release 23)에는 Python 패키지 버전 1.1.0과 Unity 패키지 버전 4.0.0이 포함되어 있습니다.