Unity を検索

Unity ML-Agents チームからのハッピーホリデーのご挨拶

2020年12月28日 カテゴリ: ニュース | 6 分 で読めます
シェア

Is this article helpful for you?

Thank you for your feedback!

Unity ML-Agents チームに代わり、皆さんと皆さんの大切な方たちが素敵な休日と新年を迎えられることを願っております。2020 年も終わりに近づいてきた中、2020 年のコミュニティで発表されたプロジェクトから私たちのおすすめをいくつかご紹介し、2020 年 4 月の ML-Agents v1.0 リリース(Release 1)からの進捗についてまとめ、2021 年にお届けする見込みとなっているものの概要をお伝えしたいと思います。

おすすめのコミュニティプロジェクトのご紹介

Unity ML-Agents ツールキットの成長と進化のためにさまざまな貢献や、フィードバックをくださったコミュニティの皆様に感謝します。 ディープラーニングを使用した新しい種類の振る舞いやアプローチを見せてくれる開発者の創造性に、私たちは常に驚かされています。今年を締めくくるにあたり、2020 年のおすすめプロジェクトをいくつかご紹介したいと思います。もしシェアしたいプロジェクトをお持ちの場合は、私たちのフォーラムでシェアしてください。ソーシャルメディアでプロジェクトをシェアする場合は、ぜひ #mlagents タグをつけてご投稿ください。

A.I learns to play a game with an Xbox controller(Xbox コントローラーを使ってゲームの遊び方を覚える AI)

バーチャルの世界から現実世界へ、そしてまたバーチャルの世界へ。LittleFrenchKev によるプロジェクトの成果をご覧ください。

このコンテンツはサードパーティのプロバイダーによってホストされており、Targeting Cookiesを使用することに同意しない限り動画の視聴が許可されません。これらのプロバイダーの動画の視聴を希望する場合は、Targeting Cookiesのクッキーの設定をオンにしてください。

AI Learns Parallel Parking - Deep Reinforcement Learning(深層強化学習を使って縦列駐車を学ぶ AI)

もし私たちの車を縦列駐車してくれるエージェントができたら?SamuelArzt によるプロジェクトの成果をご覧ください。

このコンテンツはサードパーティのプロバイダーによってホストされており、Targeting Cookiesを使用することに同意しない限り動画の視聴が許可されません。これらのプロバイダーの動画の視聴を希望する場合は、Targeting Cookiesのクッキーの設定をオンにしてください。

Unity ML-Agents robot simulation transferred to a real-life robot(ML-Agents によるロボットシミュレーションを現実世界に適用)

ML-Agents で学習したモデルを実際のロボットに組み込んだ際の様子が分かります。jsalli によるプロジェクトです。

このコンテンツはサードパーティのプロバイダーによってホストされており、Targeting Cookiesを使用することに同意しない限り動画の視聴が許可されません。これらのプロバイダーの動画の視聴を希望する場合は、Targeting Cookiesのクッキーの設定をオンにしてください。

Competitive Self-Play | Unity ML-Agents(ML-Agents による Self-Play)

素晴らしいグラフィックと音楽に乗せて、ML-Agents による Self-Play が進む様子をわかりやすく伝える、mbaske によるプロジェクトです。

このコンテンツはサードパーティのプロバイダーによってホストされており、Targeting Cookiesを使用することに同意しない限り動画の視聴が許可されません。これらのプロバイダーの動画の視聴を希望する場合は、Targeting Cookiesのクッキーの設定をオンにしてください。

ML-Agents Release 1 からの進捗のまとめ

2020 年 4 月にリリースされたRelease 1 では、API の安定性、インストールのしやすさ、検証済みの Unity パッケージのリリースを重視していました。Release 1 以降、既存機能の安定性を向上させるために、段階的な改善とバグ修正を毎月公開することを優先事項としてきました。これらの改善とバグフィックスに関するすべての注意事項とドキュメンテーションは、こちらのページにあるリリースノートに記載されています。

これらの改善とバグ修正に加えて、Unity プロジェクトでインテリジェントなエージェントをトレーニングをサポートするために、いくつかの新機能を公開しました。

  • Observable Attribute - 開発者がエージェントのフィールドとプロパティをマークアップして、リフレクションによって観測に変換できるようにします。
  • IActuator インターフェースと ActuatorComponent - 開発者がエージェント上にその振る舞いを構成できるようにします。エージェントのアクションの抽象化を可能にします。
  • 圧縮された観測のためのスタッキング - 視覚的な観測と、その他の複数次元の観測のためのスタッキングを可能にします。
  • グリッドセンサー - レイキャストからのデータ抽出の汎用性と CNN の計算効率を組み合わせます。シミュレーションとトレーニングの高速化を可能にしながら、任意の数のゲームオブジェクトから無作為なデータを収集することができます。
  • ランダムなネットワークの蒸留(Random Network Distillation:RND) - Pytorch のトレーナーに内在する報酬信号で、新しい観測を発見したエージェントに報酬を与えることで探索を促す仕組みです。
  • 離散アクションと連続アクションのサポート - 個々のエージェントが連続アクションと離散アクションの両方を実行できるようになり、ゲームパッドのようなゲーム開発シナリオをより良く表現できるようになりました。
  • Unity Environment Registry - Unity エディターをインストールしなくても簡単に使用できる、ビルド済みの Unity 環境のデータベースです。
  • PyTorch トレーナー - 既存の強化学習と模倣学習のトレーニングアルゴリズムはすべて TensorFlow から PyTorch に移行されました。今後は、すべてのアルゴリズム開発に PyTorch を活用し、開発を加速させていきます。

2021 年の見通し

私たちは、社内での研究開発の一環として、さまざまな種類のゲームを対象に、新しいアルゴリズムやアプローチを常に実験しています。具体的には、GitHub の Issuesフォーラムでリクエストがあったものです。そのために、実際のゲームで起きる状況でエージェントが実行する必要があるかもしれない特定のタスクに焦点を当てています。例えば、エージェントが異なるステージをプレイするために、ボードを観測の形で表現する方法を説明するために、最近、マッチ 3 ゲームをプレイする環境のプロトタイプを公開しました。私たちは、特定のゲーム状況での ML-Agents の実装を解説することが、開発者が ML-Agents を動作させるためのハードルを克服し、コミュニティ全体に利益をもたらす新しいアルゴリズムやアプローチの開発を加速させるのに役立つと確信しています。

2021 年の前半は、いくつかの具体的なアルゴリズムの改良に重点を置く予定です。

  • 協調的なマルチエージェントの振る舞い - エージェントを共通の目標に向かって動作させるために、エージェント間での協調行動をより簡単で効果的に実現できるようにします。
  • 様々なタスクを解決できる単一モデル - エージェントが文脈に応じて異なる行動を示す必要がある場合、文脈ごとに異なるモデルを訓練することは、可能なアプローチの 1 つです。単一のモデルが文脈の入力に基づいて異なるタスクを実行できるようにすることを目指します。
  • エージェントが数の変動するエンティティを観測する能力 - エージェントがシーンの中で数を変えるオブジェクトを観測できるようにします。例えば、エージェントが収集する必要のあるオブジェクトの数が時間の経過とともに変化する場合などに対応します。

 

2021 年は、これらのアルゴリズムへの改善を GitHub 上で公開し、協力型シューティングゲームのデモを使って解説を加えていく予定です。これらのアルゴリズムの改善に興味がある方は、GitHub にリクエストを投稿してください。

Unity ML-Agents のクラウドトレーニング

ML-Agents ツールキットを使用してエージェントをトレーニングするには、環境とトレーニング設定が正しく設定されていることを確認するための実験が必要です。このような実験を通常のラップトップやデスクトップマシンでローカルに完了させようとすると、かなりの時間がかかり、計算コストの面でも高くつく場合があります。この状況を緩和するため、v1.0 のブログ記事で発表したように、ML-Agents トレーニングのためのクラウドサービスに取り組んでいます。このクラウドサービスを利用することで、Unity のクラウドインフラストラクチャー上で実行される複数のトレーニングセッションを並行して開始することができます。これにより、大幅に短い期間で実験を完了させることが可能になります。より具体的に言えば、ML-Agents クラウドには、以下の 3 つのメリットがあるということです。

 

  1. Python や Unity の Python パッケージをインストールすることなく、複数の ML-Agents 実験を開始することができる。
  2. 複数の ML-Agents トレーニングセッションを並行して実行することができる。
  3. ローカルのハードウェアでは手に余る実験を行っている際、計算リソースを要求して、各トレーニングセッションをより早く終了させることができる。

 

現在、一部の Unity ML-Agents ユーザー向けにアルファ版のプログラムを用意しています。アルファ版の Unity ML-Agents のクラウドトレーニングのコア機能としては、以下のものが含まれています。

 

  1. ML-Agents が(C# で)実装されたゲームビルドのアップロード
  2. トレーニング実験の開始と管理
  3. 複数のトレーニング実験の結果のダウンロード

2021 年には、Unity ML-Agents のクラウドトレーニングの開発をさらに加速させ、サービスの改善を図り、最終的にはすべてのユーザーにサービスを提供できるようにしていく予定です。アルファ版プログラムの参加にご興味のある方は、こちらからサインアップしてください。

ここまでお読みいただき、ありがとうございました。楽しい休日をお過ごしください!

皆さんから関心のある機能やゲームジャンルを付け加えたいという場合は、GitHub で機能リクエストを投稿してください。

ML-Agents を始めるには、GitHub のホームページをチェックしてください。Unity ML-Agents クラウドトレーニングのアルファ版プログラムへのご参加を検討されている方は、こちらからサインアップしてください。

このリリースで提供されている機能をお使いの方は、ぜひご意見をお聞かせください。ML-Agents に関するフィードバック、一般的な問題、質問については、ML-Agents フォーラムにご連絡いただくか、直接メールでお問い合わせください。バグを見つけられた場合は、ML-Agents の GitHub の Issues ページからご連絡ください。

 

機械学習とゲームが交差するこのエキサイティングな分野で働きたい方は、現在募集している職種の採用情報をチェックしてみてください。

2020年12月28日 カテゴリ: ニュース | 6 分 で読めます

Is this article helpful for you?

Thank you for your feedback!