概要
UnityのML-Agentsを用いて敵ありの迷路を学習させています。
敵の索敵を回避しながらゴールさせたい。敵は2種類いて静的なものと動的な敵がいます。
敵の視界に入る、あるいは接触すると負の報酬を与えエピソード終了です。
ゴール地点にたどり着くと正の報酬2を得ます。
発生している問題
一本道の通路にてAgent目線で右側に静的な敵が監視しているとします。ある程度学習すると左側の壁伝いに敵の監視を掻い潜ることができるのですが、逆にAgent目線で左側に静的な敵がいる時、敵と接触するか悩んだ挙句に敵に接触して終わるという行動が発生しています。
学習をやり直す際に、逆にAgent目線で左側にいる時は避けれるが、右側にいる時は接触しに行くという問題が起こることもあります。
なぜ、左右逆転しただけで挙動が異なるのかが分かりません。
負の報酬に関しては現在調整中で0.25~0.5あたりで検証中です。
step毎に負の報酬(-1f/maxstep)を与えつつ、正の報酬が希薄(スパース)な環境なので正の報酬が得られないのなら、さっさと自殺してやる!という学習してしまったのかなとも思っていたのですが、それだと左右で行動が異なる理由が説明つかないため質問しました。
似た事例
調べる過程で私のと似た現象が起こっている記事を見つけたので共有します。
https://qiita.com/God_KonaBanana/items/e56fcee3ae544be7dfca
あなたの回答
tips
プレビュー