MLエージェント1.0 -明確なガイド
詳細については、MLdocumentation .
統一MLエージェントとは何か
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. Agents can be trained using reinforcement learning, imitation learning, neuroevolution, or other machine learning methods through a simple-to-use Python API. - ML-Agents README Features
機能
キーコンポーネント
MLエージェントには5つの高レベルコンポーネントが含まれます.
学習環境- Unityシーンとすべてのゲームキャラクタを含みます.Unity場面は、エージェントが観察して、行動して、学ぶ環境を提供します.MLエージェントには、任意のUnityシーンを学習環境に変換することができる統一SDKが含まれます.
Python低レベルAPI - Pythonのインターフェイスを対話し、学習環境を操作する.このAPIはdedicated Python package トレーニング中にアカデミーとコミュニケーションをとり、コントロールするのに使われます.
外部コミュニケーター- Pythonの低レベルAPIで学習環境を接続します.
Pythonトレーナー-すべてのマシン学習アルゴリズムが含まれます.Pythonパッケージとして利用可能mlagents これはMLagentエージェントと呼ばれるコマンドラインユーティリティを公開します.
ジムラッパー-オープンAIジムは、開発と強化学習アルゴリズムを比較するためのツールキットです.そのリリース以来、ジムは本当に強化学習エンジニアの下で人気となっている.MLのエージェントは、ジムのラッパーを提供していますgym-unity python package .
始める
この節では、MLエージェントをインストールする方法を示しますexample environment , そして、エージェントを訓練します.
このガイドのために、我々は3 Dバランスボール環境を使用します.各エージェントキューブのいずれかを水平方向または垂直方向に回転して落下からそのボールを維持しようとします.
インストールとセットアップ
MLエージェントで動作するには、Unity 2018.4をインストールする必要があります.まだUnityをインストールしていないならば、あなたはそれからダウンロードすることができますhere .
次に、新しいプロジェクトを作成し、Unity package manager .
Note: If the package doesn't show up, enable "Show preview packages" under Advanced, next to the search bar.
例の環境は、残念ながら、パッケージマネージャを介してインストールすることはできませんので、する必要がありますdownload the repository , それを解凍して、プロジェクト/資産の下で見つかるMLエージェントフォルダをあなたのプロジェクトの資産フォルダーにコピーしてください.例/3 dball/シーンの下で、3 dballシーンを見つけることができます.
統一環境の理解
Unityの文脈では、環境はエージェントがインタラクションする1つ以上のエージェントと他のGameObjectを含む場面です.
エージェント
エージェントは、環境を観察し、それに応じて行動をとるアクターです.3 Dバランスボール環境の場合、エージェントはボールをバランスさせようとするキューブです.
Unityでは、あらゆるエージェントはふるまいを持たなければなりません.この動作はエージェントが決定する方法を決定します.
動作の3種類があります.
ヒューリスティック:これは、環境をテストするために使用されるハードコード化された動作です.また、プログラマは、AIの代わりにゲームをプレイさせるために使用することができます.
トレーニング:このモードは、AIが現在トレーニング中です.デフォルトでは、Pythonのトレーニングスクリプトは、それがトレーニングを開始する再生ボタンを押すとアクティブです.それ以外の場合は推論を実行します.
推論:推論は、学習モデルが決定をするために使用されるときです.
事前訓練モデルの実行
すべてのMLエージェントの例環境は、事前にモデル化されたモデルが付属しています.エージェントGameObjectに付けられた動作パラメータースクリプトを見ると、TfModelフォルダー内のモデルがモデルプロパティに接続されていることがわかります.
動作型が既定または推論に設定されている場合、モデルをクリックすると、エージェントがコントロールします.
強化学習による新しいモデルの訓練
あなたが事前に訓練されたモデルを実行する方法を知っている今、私はカスタムモデルを作成する方法をあなたに示す時間です.MLエージェントツールキットのトレーニングは、専用のPythonパッケージによって供給されます.mlagents .
パッケージはPIPを使用してインストールできます:
pip install mlagents
このパッケージは、すべてのトレーニングのワークフローのための単一のエントリポイントであるコマンドMelagentの学習を公開します.Melagentのすべての受け入れられた引数の説明を見るには、-- help引数を使います.
mlagents-learn --help
usage: mlagents-learn.exe [-h] [--env ENV_PATH]
[--curriculum CURRICULUM_CONFIG_PATH]
[--lesson LESSON] [--sampler SAMPLER_FILE_PATH]
[--keep-checkpoints KEEP_CHECKPOINTS] [--resume]
[--force] [--run-id RUN_ID]
[--initialize-from RUN_ID] [--save-freq SAVE_FREQ]
[--seed SEED] [--inference] [--base-port BASE_PORT]
[--num-envs NUM_ENVS] [--no-graphics] [--debug]
[--env-args ...] [--cpu] [--version] [--width WIDTH]
[--height HEIGHT] [--quality-level QUALITY_LEVEL]
[--time-scale TIME_SCALE]
[--target-frame-rate TARGET_FRAME_RATE]
[--capture-frame-rate CAPTURE_FRAME_RATE]
trainer_config_path
...
モデルを訓練するには、少なくともトレーナーの設定ファイルとRun - IDを指定する必要があります.モデルを訓練するには、ダウンロードしたリポジトリに移動して実行します.
mlagents-learn config/trainer_config.yaml --run-id=3DBall1
すべてが予想通りに行ったならば、あなたは「ユニフォームエディタで遊びボタンを押すことによって、トレーニングを開始します.」コマンドライン内.メッセージに記載されているように遊びボタンを押してください.Tensorboardを起動してトレーニングの進捗状況を監視できます.
tensorboard --logdir=summaries
ジム・ラッパー
OpenAIのジムを開発し、強化学習アルゴリズムを比較するためのツールキットです.そのリリース以来、ジムは本当に強化学習エンジニアの下で人気となっている.MLのエージェントは、ジムのラッパーを提供していますgym-unity python package .
インストール
ジムラッパーを使用してインストールできます.
pip3 install gym_unity
ジムラッパーを使用する
ジムのインターフェイスは、ジムの統一から入手可能です.環境管理環境使用を開始するには、次の手順に従います.
from gym_unity.envs import UnityToGymWrapper
env = UnityToGymWrapper(unity_environment, uint8_visual, allow_multiple_obs)
詳細についてはofficial documentation .結論
MLエージェントは、ゲームとシミュレーションをインテリジェントエージェントを訓練するための環境として機能させるオープンソースプロジェクトです.この記事では、MLエージェントの基礎を学びました.あなたがカスタムゲームをチェックアウトすることに興味があるならMaking a New Learning Environment '.
これがこの記事です.あなたが質問をするか、ちょうど私とチャットしたいならば、以下のコメントを残して自由に感じてください、さもなければ、ソーシャルメディアで私に連絡してください.あなたが私のブログに関して連続的な最新版を得たいならば、確かめてくださいjoin my newsletter .
Reference
この問題について(MLエージェント1.0 -明確なガイド), 我々は、より多くの情報をここで見つけました https://dev.to/gilberttanner/ml-agents-1-0-a-definite-guide-2b37テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol