Unity ML agents のサンプルについてくる walker をもう少しちゃんと歩かせたい。
サンプルはここからとってくる。
> git clone https://github.com/Unity-Technologies/ml-agents.git
最初からついてくる学習設定ではこんな感じの歩き方をする。歩くというより前後に脚を広げて、倒れないようにしたうえで全身を振動させる微妙な体重移動で前進している。
学習設定を変えて、トレーニング回数を増やすと、さらに脚を前後に広げ、両手を振ることで重心を移動させ滑るような歩きかたになってしまう。
足を上げてほしい。そこで AddReward() に 足の高さとして heightRewards を掛けるように
AddReward(matchSpeedReward * lookAtTargetReward * heightRewards);
した。すると、脚の高さによる報酬に鋭敏に反応し、ジャンプして如何に足の高さを稼ぐかのみ頑張るようになってしまった。
もう少しバランスをとってほしい。ということで頭の高さにも報酬を設定、さらに足の高さの報酬に上限を設けた。
その結果、、左右交互に脚を出して歩くようになった!
しかし手は振ってくれない。