UnityでAIに挑戦

投稿者: | 2019-03-25

UnityでAIに学習をさせる方法

UnityにはAIの機械学習をするための ML-Agents という専用のツールがあります。
プログラミングができなくても手軽に使えます。機械学習をやってみるところまで解説します。

→サンプルをダウンロードできて、完成品を見ることもできますし、自分のパソコンで機械学習をし直すこともできます。

まずUnityをインストールします。
https://unity3d.com/jp/get-unity/download

そして、ML-Agents をインストールします。
https://github.com/Unity-Technologies/ml-agents
右の方の緑色の「Clone or download」からダウンロードできます。ML-Agentsを保存するパスに日本語が混じっていると機械学習を始める直前でエラーになることがあります。

AIプログラミングで使われるプログラミング言語のPythonもインストールします。
自分でPythonのコードを書くわけではありませんが必要です。

Pythonをインストールするには Pythonを便利にする Anaconda をインストールします。
https://www.anaconda.com/

Anaconda をインストールすると、Python の最新版もインストールされているはずですが、ML-Agents では Pythonの最新版は使えません。(2019年3月現在)
なので、Python のバージョンを古いものに変えます。Anacondaをインストールすると、Anaconda Prompt というのがパソコンにあるはずなので、それを起動して
conda install python=3.6
と入力します。今のところ、3.6 以上 3.7 未満だと使えるようです。
「solving environment」 と表示されてから少し時間がかかることがあります。

ML-Agentsの設定

Anaconda Prompt にこれらを順番に入力します。

conda create -n ml-agents python=3.6

activate ml-agents

pip install tensorflow==1.7.1

うまくいったら、cd コマンドを使って、「ml-agents-master\ml-agents」フォルダに移動します。

pip install -e .
と入力してこのフォルダにPythonなどをインストールします。

詳細→Installing ML-Agents Toolkit for Windows
Mac and Unix Users

Unityでサンプルを見る

Anaconda Promptはそのままにしておきましょう。
ml-agents-master\UnitySDK\Assets\ML-Agents\Examples\3DBall\Scenes
フォルダの中にある、3DBall.unity をダブルクリックするとサンプルが立ち上がります。

真ん中上にある再生ボタンをクリックすると完成品が見れます。
もう一度押すか、Ctrl/Cmd + P で止まります。

いくつかUnityの設定をします。
Edit > Project Settings > Player の「Other Settings」で、Scripting Runtime Version を 「.NET 4.6 Equivalent 」か 「.NET 4.x Equivalent」に設定して、File > Save Project でプロジェクトを保存します。

Unityのメイン画面は、いくつかのウィンドウに区切られていますね。 その中に「Hierarchy」と書かれたウィンドウがあります。「ヒエラルキーウィンドウ」と呼ばれます。その中にある「Ball3DAcademy」をクリックすると、右側の「Inspector」というウィンドウの内容が変わって、Ball 3D Academy (Sctript)が表示されるのでその中の「Broadcast Hub」にある「Control」のチェックを入れます。

準備ができたので、Anaconda Prompt で、「ml-agents-master」フォルダまで行き、
mlagents-learn config/trainer_config.yaml –run-id=firstRun –train
を入力します。うまくいくと「Start training by pressing the Play button in the Unity Editor」と表示されるので、さっきの再生ボタンを押すと機械学習が始まります。

10分もかからずにかなりうまくなります。

詳細:Basic-guide

コメントを残す

メールアドレスが公開されることはありません。