AI

UnityのML-Agentsとは!?仕組みをざっくり解説

  • このエントリーをはてなブックマークに追加
  • LINEで送る

この記事では、Unity ML-Agentsの仕組みをまとめることに焦点を当てました。(半分は備忘録です)

『UnityのML-agentsって何?』
『ML-Agentsの仕組みは?』

こんな疑問に答えます。

Unity ML-Agentsとは

Unity ML-Agents(Unity Machine Learning Agents Toolkit) は「Unity環境」と「学習用のPythonスクリプト」を連携させるものです。
UnityのエージェントをPythonで「強化学習」します。



スポンサーリンク

Unity ML-Agentsの主要コンポーネント

Unity ML-Agentsの主要コンポーネントは次の3つ。

  • 環境
    エージェントを学習させる環境。
    Unityのシーンとすべてのキャラクターが含まれます。
    Unity エディタとUnity アプリ(ビルド後の実行ファイル) のどちらでも、学習環境として利用できます。
  • エージェント
    エージェントは、Unityで学習および推論を行うゲームオブジェクトです。
    環境の状態を観察し、それに応じて ポリシーが決定した行動を実行します。
  • 学習用のPython
    スクリプト 学習用のPythonスクリプトは、Unity環境内のエージェントを学習させるスクリプトです。
    Unityではなく、ターミナル(コマンドプロンプトなど) で実行します。
mlagents-learnコマンドがエラーで実行できない時の対応
mlagents-learnコマンドがエラーで実行できない時の対応
Unityプロジェクトでエージェント強化学習のプログラムを作成して、 いざPythonで学習しようとmlagents-learnコマンドを実行! ても、エラーが.....

Unity ML-Agents の実行モード

Unity ML-Agentsの実行モードには、「学習モード」 「推論モード」 「ヒューリスティックモード」と呼ばれる3つのモードがあります。

  • 学習モード
    学習用のPythonスクリプトがUnity環境に接続して学習が開始します。
    学習の完了時に学習済みモデルファイルを出力します。拡張子はonnxです。
  • 推論モード
    モデルファイルをUnity環境に読込んで学習済のポリシーに従って行動します。
    これがAI対戦です。学習用の Python スクリプト は利用しません。
  • ヒューリスティックモード
    モデル(ポリシー)の代わりに「人間の操作」によって行動を決定します。
    利用するシーンは人間との対戦などです。
    人間が操作するので、当然ながら「報酬取得」や「ポリシー更新」は行いません。

【実行モードのまとめ】

学習モード…Pythonで実行(学習してモデルを作成する)
推論モード…Unityで実行(モデルがエージェントを動かす)
ヒューリスティックモード…Unityで実行(人がエージェントを動かす)

ML-agents release19を導入する5つのステップ
ML-agents release19を導入する5つのステップ
UnityのML-agentsの導入は、多くのゲーム開発者や機械学習エンジニアにとって、新しい可能性を切り拓くための重要なステップです。 この記事では、初心者が.....

SEおっさん
SEおっさん
ここまで読んでくれてありがとう!

「記事を読んでもわからないトコがある」「内容が変だよ」
という時は、お気軽にコメントください♪

「もっとSEおっさんに詳しく聞きたい。何かお願いしたい!」
という時は、ココナラまで。メッセージもお気軽に♪



スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • LINEで送る

コメントを残す

*