Unity-Technologies/ml-agents

The Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enables games and simulations to serve as environments for training intelligent agents using deep reinforcement learning and imitation learning.

What it solves

게임 개발자와 AI 연구자가 Unity 게임 및 시뮬레이션을 지능형 에이전트 훈련 환경으로 활용할 수 있게 합니다. 이를 통해 처음부터 맞춤형 훈련 환경을 구축할 필요가 없어지며, 복잡한 NPC 행동 생성, 자동화된 게임 테스트, 게임 디자인 의사결정 평가가 가능해집니다.

How it works

이 툴킷은 Python API와 Unity SDK를 제공하여 Unity 씬을 PyTorch 기반 머신러닝 알고리즘과 연결합니다. Deep Reinforcement Learning(PPO, SAC, MA-POCA, 자기 플레이), Imitation Learning(BC, GAIL), 신경진화 등 다양한 훈련 방식을 지원합니다. 사용자는 커리큘럼 학습 시나리오를 정의하고 환경 랜덤화를 활용해 견고한 에이전트를 만든 뒤, 네이티브 크로스 플랫폼 추론 엔진으로 배포할 수 있습니다.

Who it’s for

  • Game Developers: 지능형 NPC를 만들거나 게임 빌드 테스트를 자동화하려는 경우.
  • AI Researchers: Unity의 풍부한 3D/2D/VR/AR 환경을 새로운 AI 알고리즘 평가 플랫폼으로 활용하려는 경우.
  • Hobbyists: 자신의 게임에 최첨단 AI를 손쉽게 구현하고 싶은 경우.

Highlights

  • Diverse Training Methods: 강화 학습, 모방 학습, 신경진화를 지원합니다.
  • Multi-Agent Support: 단일 에이전트, 협력 멀티 에이전트, 경쟁 멀티 에이전트 시나리오를 훈련할 수 있습니다.
  • Integration Ready: Gym 또는 PettingZoo 환경으로 래핑하여 다른 AI 도구와 호환됩니다.
  • Extensible: 사용자가 커스텀 훈련 알고리즘 및 컴포넌트를 추가할 수 있습니다.
  • Scalable: 여러 개의 동시 Unity 환경 인스턴스에서 훈련을 지원합니다.