ml-agents: Unity 게임 및 시뮬레이션 내에서 지능형 에이전트를 훈련시키기 위한 툴킷
ml-agents: Unity 게임 및 시뮬레이션 내에서 지능형 에이전트를 훈련시키기 위한 툴킷
해결하는 문제
게임 개발자와 AI 연구자가 Unity 게임 및 시뮬레이션을 지능형 에이전트를 훈련시키는 환경으로 사용할 수 있게 해줍니다. 이를 통해 처음부터 맞춤형 훈련 환경을 구축할 필요가 없어지며, 복잡한 NPC 행동, 자동화된 게임 테스트, 그리고 게임 디자인 결정의 평가를 가능하게 합니다.
작동 방식
이 툴킷은 Unity 씬을 PyTorch 기반 머신러닝 알고리즘에 연결하는 Python API와 Unity SDK를 제공합니다. Deep Reinforcement Learning (PPO, SAC, MA-POCA, self‑play), Imitation Learning (BC, GAIL), 그리고 신경진화 등 다양한 훈련 방법을 지원합니다. 사용자는 커리큘럼 학습 시나리오를 정의하고 환경 무작위화를 활용해 견고한 에이전트를 만들 수 있으며, 이후 네이티브 크로스‑플랫폼 Inference Engine을 통해 배포할 수 있습니다.
대상 사용자
- 게임 개발자: 지능형 NPC를 만들거나 게임 빌드 테스트를 자동화하고자 하는 경우.
- AI 연구자: Unity의 풍부한 3D/2D/VR/AR 환경을 새로운 AI 알고리즘 평가 플랫폼으로 활용하고자 하는 경우.
- 취미 개발자: 자신의 게임에 최신 AI를 손쉽게 적용하고자 하는 경우.
주요 특징
- 다양한 훈련 방법: 강화 학습, 모방 학습, 신경진화를 지원합니다.
- 멀티 에이전트 지원: 단일 에이전트, 협력 멀티 에이전트, 경쟁 멀티 에이전트 시나리오를 훈련시킬 수 있습니다.
- 통합 준비 완료: Gym 또는 PettingZoo 환경으로 래핑하여 다른 AI 도구와 호환될 수 있습니다.
- 확장 가능: 사용자가 커스텀 훈련 알고리즘 및 컴포넌트를 추가할 수 있습니다.
- 확장성: 여러 Unity 환경 인스턴스를 동시에 사용해 훈련을 수행할 수 있습니다.
Sources
- undefinedUnity-Technologies/ml-agents