
インテリジェントなゲーム体験を制作
レスポンシブでインテリジェントなバーチャルプレイヤーやノンプレイアブルゲームキャラクターを制作することは難しい作業です。特にゲームが複雑なときは顕著です。インテリジェントな動作を制作するために、開発者は大量のコードを記述するか、高度に特化したツールの使用に頼る必要がありました。
Unity Machine Learning Agents(ML-Agents)なら、創発的挙動を「コーディング」することなく、代わりに深層強化学習と模倣学習の組み合わせを通じて「学習」するよう、知的エージェントに教育できます。ML-Agents を使用することで、開発者はより魅力的なゲームプレイやより優れたゲーム体験を制作できます。

モデルにトレーニングを行うリアルで複雑な AI 環境を作成
人工知能(AI)研究の進歩は、AI モデルにトレーニングを行う現行のベンチマークを使用して、既存の環境における困難な問題を解決することに依存します。ただし、それらの課題が「解決」されるにつれて、新しい環境の必要性が出てきます。しかし、そのような環境を制作することにはしばしば時間的制約が厳しく、ドメインに関する特別な知識が要求されます。
Unity と ML-Agents ツールキットを使用すると、物理的にも、視覚的にも、認知的にも豊富な AI 環境を作成できます。それらをベンチマーキングのほか、新しいアルゴリズムやメソッドの調査にも使用できます。

トレーニングのスケールアップが必要ですか?
ML-Agents のクラウドプランは今年後半にリリースします。これにより、ML-Agents のユーザーがスケーラブルなクラウドインフラストラクチャ上でトレーニングを行うことができます。このクラウドプランにより、多数の同時トレーニングセッションを送信することも、スピードアップのために多数のマシンにトレーニングセッションを簡単にスケールアウトすることもできます。
現在 ML-Agents を使用しており、実験のスケーリングと管理についてサポートが必要な方は、プレビューアクセスに登録してください。

JamCity 制作の『Snoopy Pop』のトレーニングをスピードアップ
Unity では JamCity と提携し、バブルシューター『Snoopy Pop』用のエージェントにトレーニングを行いました。エージェントに『Snoopy Pop』をプレイするトレーニングを行ううえでの課題の 1 つは、効果的な動作と戦略を学習するためのゲームプレイデータが大量であることです。さらに、開発中のゲームのほとんどは絶えず進化しているため、トレーニングのスピードは十分に高速である必要があります。Unity ではこれらの問題を解決するために、ML-Agents に非同期環境、敵対的模倣学習(Generative Adversarial Imitation Learning:GAIL)、Soft Actor-Critic などの各種機能を導入しました。

チームは ML-Agents ツールキット(具体的には深層強化学習)を使用してトレーニングを行い、正しい動作を生み出すニューラルネットワークモデルを作成しました。その後、Unity Inference Engine を使用して、そのモデルをゲームに埋め込みました。
ML-Agents に関するビデオをチェックする
Kart Racing Game with Machine Learning in Unity!(Tutorial)(Unity の機械学習を使用したカートレーシングゲーム(チュートリアル))
Unity の機械学習ツールキット ML-Agents を Unity のカートレーシングゲームプロジェクトに実装する方法について学習します。AI エージェントにレイキャストを使用して「目視」し、障害物を避けるようハンドル操作して、自律的にトラックを走り回るようトレーニングを行うのに、強化学習を使用しています。
飛行機を飛ばす知的エージェント
このプロジェクトでは、Unity ML-Agents による強化学習をどのように使用して飛行機に飛び方を教えたかについて説明しています。飛行機は、視覚としてレイキャストを使用して空間を自由に飛びます。また、このプロジェクトでは模倣学習を使用してエージェントにトレーニングを行っています。
AI がサッカーを学習
2 つの別個の人工ニューラルネットワークがシンプルなサッカーゲームで対戦するよう、深層強化学習を使用してニューラルネットワークをトレーニングします。サッカーゲームは ML-Agents フレームワークに含まれており、GitHub から入手できます。
AI に車を停める方法を学習させる
AI に、Unity ML-Agents を使用して実装された 3D 物理演算シミュレーション内で駐車場に車を停める方法を学習させます。AI は、それぞれ 128 のニューロンを持つ非表示のレイヤーが 3 つのディープニューラルネットワークで構成されます。強化学習アプローチの 1 つ Proximal Policy Optimization(PPO)アルゴリズムを使用してトレーニングされています。
AI に Xbox コントローラーを使用してゲームをプレイする方法を学習させる
ゲームパッド、Unity プラットフォーム、ML-Agents ツールキットを使用して、ビデオゲームにゲームプレイをどのように自己学習させたかを紹介します。この実験では、強化学習シナリオにハードウェアを挿入します。
AI にロケットを着陸させる方法を学習させる
このプロジェクトでは、あるニューラルネットワークに Unity Physics を使用して土台にロケットを着陸させる方法のトレーニングを行っています。PyTorch を使用して Google Cloud 上で実行される Proximal Policy Optimization(PPO)アルゴリズムを使用してトレーニングされています。トレーニングには約 1,500 万のステップを要しました。
衛星の AI
このプロジェクトでは、1 つの軸を中心に回転する衛星を安定させるのに、ML-Agents を使用しています。衛星の 2 台のエンジンは AI によって制御され、オンまたはオフにできます。セッションは衛星を回転させることから始まります。衛星を安定させ、回転を停止し、位置を調整する目標を達成するまでに、ML-Agents の学習に 2 時間かかりました。
隠れる/逃げる - 追いかけてくる敵を避ける
ステルスゲームのジャンルに着想を得たこのプロジェクトは、部屋から部屋をパトロールする従来型の AI からうまく逃げて隠れるようエージェントにトレーニングを行う目的で設計されました。2 つ目のバリエーションでは、カリキュラム学習を活用して、より高速な AI に対峙するようトレーニングを行うために設計されました。
バターを届ける/パンケーキボット
このプロジェクトの目標は、朝食を用意するタスクを自動化することでした。機械学習を使用して、あるエージェントがフライパンから皿にパンケーキを移し、ロボットが障害物を回避しつつバターを届けます。
ブログ記事
最新のトピックについて確認するか、ブログの他の記事をご覧ください。

ML-Agents Hummingbird Course
ML-Agents を実装する方法を学ぶ
Unity では Immersive Limit と提携し、演習、コードの詳細な説明、有益な議論を通じて、ML-Agents を実装する方法について指導するオンラインコースを制作しました。
コミュニティを活用する
質問をしてその回答を探し、他の Unity ML-Agentsのエキスパートや実験者、Unity のスタッフとつながります。
サポートの問題
サポートの問題を Unity の GitHub ページに提出する
入り組んだ複雑なシナリオを抱えていませんか?
お問い合わせ - ml-agents@unity3d.com