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 環境インスタンスでの訓練をサポート。