<基礎学習>10/8-10/10 cartpole問題を強化学習で攻略する3

前回の記事に引き続き、cartpole問題に取り組んでいます。

kurupical.hatenablog.com

前回からおよそ4時間費やしています。
(最近、「時間家計簿」をつけるようにしています。
ちょっとバタバタしたり怠惰したりして、あまりできませんでした。
時間家計簿を見ると、自分が全然開発に時間使えていないことにげんなりしました…。)

試行錯誤したこ

  • チューニングポイント

    • 時間割引率 gamma
      0.9だとダメ。0.95でうまく行った。
    • Optimizer
      何も考えずAdamを使っていたのですが、DQNにはDQNのOptimizerがあるみたいです。以下サイトを参考に、RMSPropを使っています。
      qiita.com
  • cartpoleの仕様理解不足によるバグ
    ゲーム終了はポールが倒れた時のみと思い「ゲーム終了」なら報酬=-1としていました。実際は、200フレームを経過した場合もゲーム終了となります。この場合も報酬=-1としていました。

結果

学習を進めることで、150フレームまでいけた!※10回試行の平均
(ランダムに動かすと20なので、ちゃんとゲームできているみたい)

課題

  • 学習が不安定
    成長したと思ったら全然できなくなったり…。上記の場合も、平均フレーム=150まで成長したと思いきや次で平均フレーム=50しかできなくなったり…
    強化学習とはそういうものなのでしょうか?