はじめに
Chainerで機械学習と戯れる: JumpゲームとTreasureゲームをChainerで強化学習した過程と結果のメモ から 1ヶ月以上経ちました。
その間ずっと放置して学習していたので、覗いてみることにします。
現状
現在のハイスコア時の動きを動画にキャプチャしました。
https://youtu.be/kCLG2bTp3po
気がついたことを書きます。
ハイスコア更新にかかる時間
ハイスコアだけでなく、ハイスコアと同じ得点を出した時の記録も含んでいますが、その時の延べ学習回数(≒延べTurn数)がおよそ
「27万回」「107万回」「192万回」「207万回」「269万回」「297万回」「371万回」
となっています。70〜80万Turnくらい経験すると何か新境地を悟る感じですかね。
最初は数万回に1回くらいスコアが伸びていたのですが、徐々に80万回に1回とかになって、指数関数的に伸びてしまうのかなぁと思っていたのですが、意外と一定の経験値でレベルアップするようです(^^;
もう少し、刺激的な経験をさせてあげればレベルアップが速かったりするんでしょうか。。
# 今は宝の出現位置や敵の動きが全て同じなので。
新しい動き方
269万回目くらいの時(動画でいうと2:15〜のPlay)に、
端っこに追い詰められて細かく上下するだけでなく、「大きく上下」「完全にYを馬鹿にしたような 'D' みたいな動き」をしています。もう少し頑張れば右上に抜けられるのになー、とおもいますが、これはこれで面白いです。
371万回目くらいの時(3:43〜)は、左下の定位置に収まったかと思ったらおもむろに右上に抜けだして、今度は右上で上下を繰り返していました。やっと自分の殻を破ってくれたみたいで嬉しいです。
さいごに
継続は力なり、なんでしょうかね。
ここまで2ヶ月弱かかっていますが、もっと高速なマシンで動かせば時間自体は短縮できるはずです。
あと、Pythonのプロセスも実行しっぱなしでメモリが800MBくらい消費していて、いつかプロセスは再起動しないといけなさそうです(笑)。
今後の進展も期待できそうなので、また1ヶ月くらい放っておこうと思います。