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 的机器学习算法连接。它支持多种训练方法,包括深度强化学习(PPO、SAC、MA-POCA、自我对弈)、模仿学习(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 环境实例进行训练。