目次
はじめに
Unity で ML-Agents を使うことにより簡単に 機械学習(AI)を組み込める事をご存知でしょうか、 ML-Agent を使うことにより Unity上で学習・実行が行えます。
Unityを知らない方は、ぜひ こちらの記事 をご参照ください。
ML-Agents の関連記事
- Unity:ML-Agents 2019年09月(ver0.9.0 /0.9.1/0.9.2)での使い方
- Unity:ML-Agents 2019年04月(ver0.8.0/0.8.1)での使い方
- Unity:ML-Agents 2019年04月(ver0.7.0)での使い方
- Unity:ML-Agentsのサンプル集をすべて確認!
サンプル集
今回は、ML-Agents 0.7.0(2019/03/28)のサンプルシーンをすべて確認してみます。ML-Agent はバージョンにより実行の仕方が違って結構苦労しました(汗)
3DBall
ボールが落ちてきて、ボード上で落ちないようにバランスを取っています。
Banana
黄色のバナナのみ取るように動き回ります。
時々ビームみたいなのが出ていますがこれはよくわかっていません、おそらくキャラクタの色に関係あるのかなと思います。
Basic
左の球体から、右の球体までキューブが移動します。
Basicと言っているくらいなのでシンプルなもので、最初に作ったサンプルなのかもしれませんね。
Bouncer
バウンサー、そのなの通りバウンドしながらバナナを取るのを目標にしていますね。
Crawler
クロウラー、日本語だとなんて訳すのが正しいのでしょうか。
サンプルの中身については多関節のクモみたいな生物が器用に足を動かしながら目標物に向かっています。
GridWorld
×のオブジェクトを避けながら、+のオブジェクトに向かってすすんでいますね。
Hallway
真ん中のキューブの色のゴールに向かって移動するAIになりますね。
PushBlock
これは面白いですね、ゴールに向かってキューブを押し込んで進むサンプルになります。
Pyramids
これはゲームに近い動きをするAIになりますね。
最初にスイッチを押してから、積みあがっているブロックのどれかがゴールに変わってそれを崩して大きい四角を取得して終わりみたいです、複数の条件・ゴールを切り替えているので見ていても面白いです。
Reacher
これは、よくわかりません。
きもちわるいです・・・
Soccer
2チームに分かれてサッカーボールをゴールに決めるAIになりますね。
何気にキーパーもそれっぽい動きをします。
Tennis
テニスですが、日本だと卓球(テーブルテニス)ですね。ボールの跳ねる反発を計算して動いているのがすごいですね。
Walker
これも多関節を用いて、機械学習(AI)で歩けるように訓練した物ですね。
どんなに学習しても人間みたいにきれいにはあるけない気がしますので、向いていないんですかね。
WallJump
障害物があり、ブロックを移動してそれをジャンプ台替わりにしてゴールを目指す機械学習(AI)、非常に賢いですね。
最後に
いかがでしたでしょうか、自分で AI のプログラムを組むのが難しい場合などに、この仕組みを使えば簡単にAIの作成が行えそうですね。
ちなみに活用できるシーンとしては、学習と途中で打ち切る事により馬鹿なAIができるので、ゲームの難易度を低・中・高などを想定して学習をどこまでさせるかを検討すると便利そうです。