やってみた!

やってみた!

試したことを中心に、書評や興味のあること、思ったこととか

PyBullet-HumanoidFlagrunHarderBulletEnv-v0(4)

  次はHumanoidFlagrunを学習させてみます。Humanoidの学習に使ったソースコードのenvを定義している箇所を入れ替え(コメントアウト)て動かします。ソースは前々回のこちらの記事を見てください。

  ちなみに、学習を進めても全然報酬が増えず、Google Colaboratoryの時間制限がやっかいになってきたので、ローカルランタイムで動かすことにしました。深層強化学習のようにニューラルネットワークがさほど大きくなければ、GPU無しのノートPCでもそこそこ動きます。

 Colaboratoryをローカルランタイムで動かす手順はこちらまで。

1. HumanoidFlagrun

 PyBullet-HumanoidFlagrunHarderBulletEnv-v0(2)の記事中のソースコードのenvを定義している行のコメントアウトを入れ替えて学習を始めました。が、進捗はあまり良くありません。もしかするとBATCH_SIZEを256→512に増やすとか、パラメータを見直した方がいいのかも(ただしBATCH増やすと遅くなるかもしれません)。

1月28日
 ここまでで、既に4日くらい学習させたところです。10episodeで約1000stepくらい、報酬は数10程度ですが、7,8回に1回くらい400~500の報酬を得ることがあります。昨日は数百の報酬を得ることが無かったので少しは進歩しているかも。

 episode,step,reward,entropy= 61920 4624222 78.53 -15.45
 episode,step,reward,entropy= 61930 4625295 528.01 -18.26
 episode,step,reward,entropy= 61940 4626463 47.31 -13.27

 1月29日
 episode,step,reward,entropy= 65630 5051473 81.35 -19.37
 episode,step,reward,entropy= 65640 5052775 88.59 -18.67
 episode,step,reward,entropy= 65650 5053755 30.02 -23.14

 これだけ報酬が増えないと毎stepに学習する必要はなくて、1eisodeごとまとめて学習した方が同じpolicyでの経験データを複数とれ、いいような気がしてきました。

 一旦とめて、学習をまとめて行うよう修正して再開しようとしたらJupyter動かず・・。結局 pip install --upgrade ipykernel でipykernelをアップグレードしたら動くようになり、Jupyter自体を再起動して実行。リプレイメモリがクリアされるためか、再開直後はエントロピーが-17目標のところ-80ぐらいになってしまいます・・・・。

 しばらくこれ(学習を1episode後まとめて実施)で続けてみます。

1月30日
 報酬、1epsodeあたりのstepともにあまり進捗が見られません。ノートPCローカルランタイムだと1日60万stepぐらいしか進みませんね。

 episode,step,reward,entropy= 71540 5656722 25.3 -22.67
 episode,step,reward,entropy= 71550 5657850 57.45 -24.81
 episode,step,reward,entropy= 71560 5659017 8.71 -28.54

1月31日
 夜中にchromeが再起動したみたいで、ローカルランタイムとの接続が切れてしまいました。再接続しようとしても接続できず・・・、途中経過がわかりません。ランタイムを再立ち上げするとリプレイメモリがまたクリアされてしまうので、このまま継続します。

現状はこんな感じ。まともに方向転換できません。
episode,step,reward,entropy= 77180 6371987 23.72 -24.85
f:id:akifukka:20200201093140g:plain

2月1日
 若干ですが続くようになったようです。
episode,step,reward,entropy= 78070 6533278 662.51 -23.91
episode,step,reward,entropy= 78080 6534833 25.39 -39.83
episode,step,reward,entropy= 78090 6536899 -169.43 -27.97

f:id:akifukka:20200201233005g:plain
2月7日
 2月1日は10episodeでstep1500程度でした。今日は1episodeごとに表示させるようにしましたが、1epsodeでstep700~1000くらい転ばないようになりました。ただ動きはあいかわらず遅くて、その場でまわっている感じで2月1日とあまり印象は変わりません。動画は容量が大きいので掲載は控えます。
episode,step,reward,entropy= 85001 8354165 21.44 -38.86
episode,step,reward,entropy= 85002 8355165 952.15 -25.06
episode,step,reward,entropy= 85003 8355819 785.67 -33.10

2月12日
 あまり変化は感じません・・・。ちょっと動きが小さくなったかも。
episode,step,reward,entropy= 88007 9524293 119.69 -43.60
episode,step,reward,entropy= 88008 9525049 972.15 -25.15
episode,step,reward,entropy= 88009 9525964 330.92 -29.31

2月21日
 1週間くらい前、パソコンがWindowsの自動更新で再起動して止まってしまいました。学習再開させたのですがリプレイバッファがクリアされてしまったこともあってか、下手くそになってしまったようです。
episode,step,reward,entropy= 107007 14334431 -115.99 -34.55
episode,step,reward,entropy= 107008 14334492 -52.40 -48.09
episode,step,reward,entropy= 107009 14334604 27.14 -35.02

3月4日
 ちょっと改善
episode,step,reward,entropy= 121005 19731822 108.4 -45.02
episode,step,reward,entropy= 121006 19732237 -221.58 -35.62
episode,step,reward,entropy= 121007 19733237 419.08 -27.24
episode,step,reward,entropy= 121008 19733624 -131.60 -30.38

3月11日
episode,step,reward,entropy= 134001 25347138 -16.19 -35.51
episode,step,reward,entropy= 134002 25347741 -64.82 -33.36
episode,step,reward,entropy= 134003 25348148 125.58 -32.08
episode,step,reward,entropy= 134004 25348868 686.83 -30.18

f:id:akifukka:20200311203233g:plain

・・・あまり改善しないこともあり、この辺でおしまいにします。

2. HumanoidFlagrunHarder

 少し並行させてGoogleホストで学習をさせて様子を見ていました。数日学習させたところ、転倒後に何とかもがいて起き上がろうとし始めました。12時間ごとにリプレイメモリがクリアされるので、今一つちゃんと学習できるか半信半疑でしたが学習進んでいるようです。
episode,step,reward,entropy= 30005 5358689 -622.11 -167.97

f:id:akifukka:20200201234355g:plain

2月12日
 学習が進んだら転んだ後、動かなくなっちゃいました。ダメかも。
 episode,step,reward,entropy= 66003 12217441 -320.21 -176.93

f:id:akifukka:20200212220507g:plain

gifが重いけどご容赦を。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーー
HumanoidFlagrunHarderの記事は、この(4)でおしまいです!
学習継続中なので、目立った進捗があればこのページを逐次更新します。

強化学習 カテゴリーの記事一覧 - やってみた!