この記事では、Unity ML-Agentsの仕組みをまとめることに焦点を当てました。(半分は備忘録です)
『UnityのML-agentsって何?』
『ML-Agentsの仕組みは?』
こんな疑問に答えます。
SE歴25年のオッサンが解説するぞい!
SEおっさん
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コマンドがエラーで実行できない時の対応
Unityプロジェクトでエージェント強化学習のプログラムを作成して、 いざPythonで学習しようとmlagents-learnコマンドを実行! ても、エラーが.....
Unity ML-Agents の実行モード
Unity ML-Agentsの実行モードには、「学習モード」 「推論モード」 「ヒューリスティックモード」と呼ばれる3つのモードがあります。
- 学習モード
学習用のPythonスクリプトがUnity環境に接続して学習が開始します。
学習の完了時に学習済みモデルファイルを出力します。拡張子はonnxです。 - 推論モード
モデルファイルをUnity環境に読込んで学習済のポリシーに従って行動します。
これがAI対戦です。学習用の Python スクリプト は利用しません。 - ヒューリスティックモード
モデル(ポリシー)の代わりに「人間の操作」によって行動を決定します。
利用するシーンは人間との対戦などです。
人間が操作するので、当然ながら「報酬取得」や「ポリシー更新」は行いません。
【実行モードのまとめ】
学習モード…Pythonで実行(学習してモデルを作成する)
推論モード…Unityで実行(モデルがエージェントを動かす)
ヒューリスティックモード…Unityで実行(人がエージェントを動かす)
ML-agents release19を導入する5つのステップ
UnityのML-agentsの導入は、多くのゲーム開発者や機械学習エンジニアにとって、新しい可能性を切り拓くための重要なステップです。 この記事では、初心者が.....
SEおっさん
ここまで読んでくれてありがとう!
「記事を読んでもわからないトコがある」「内容が変だよ」
という時は、お気軽にコメントください♪
「もっとSEおっさんに詳しく聞きたい。何かお願いしたい!」
という時は、ココナラまで。メッセージもお気軽に♪
LINEでのお問合わせも受付中!
LINE公式アカウント
メッセージをお待ちしています!
「記事を読んでもわからないトコがある」「内容が変だよ」
という時は、お気軽にコメントください♪
「もっとSEおっさんに詳しく聞きたい。何かお願いしたい!」
という時は、ココナラまで。メッセージもお気軽に♪
LINEでのお問合わせも受付中!
LINE公式アカウント
メッセージをお待ちしています!
取得資格
- 応用情報技術者
- Oracle Master Gold
- Java SE Gold
- Java EE Webコンポーネントディベロッパ
- Python エンジニア認定データ分析
- 簿記2級