Tensorflowのサンプル試し(倒立振子問題04)
■条件を変えての続き。
前回に続いてパラメータを変えて試す。
前回良好な結果として500回まで振子を倒さずに操作ができた。隠れ層、学習率、バッチをそれぞれ3つずつ変えて、リプレイバッファの最大長(2000)、初期データ収集ステップ数(3000)、トレーニングステップ数(10000)は固定で実施した。
結果が下。
隠れ層 | 学習率 | バッチ | 10000回目の損失 | 結果(20回のうちの最大、最小) |
(64,) | 0.0001 | 64 | 3.4293 | 8 - 11 |
128 | 212.0515 | 8 - 10 | ||
256 | 118.0878 | 77 - 102 | ||
0.0005 | 64 | 115836.7266 | 8 - 10 | |
128 | 4.1954 | 500 - 500 | ||
256 | 85160.0156 | 8 - 10 | ||
0.001 | 64 | 4085628.5000 | 8 - 11 | |
128 | 546834.5625 | 46 - 306 | ||
256 | 1095267.7500 | 8 - 10 | ||
(64, 32) | 0.0001 | 64 | 19549.160 | 8 - 10 |
128 | 35462.7109 | 9 - 11 | ||
256 | 966809.7500 | 8 - 10 | ||
0.0005 | 64 | 73563280.0000 | 8 - 11 | |
128 | 4.2329 | 37 - 83 | ||
256 | 23370452992.0000 | 8 - 10 | ||
0.001 | 64 | 5262137344.0000 | 8 - 11 | |
128 | 1203421839360.0000 | 8 - 10 | ||
256 | 1376359022592.0000 | 8 - 11 | ||
(128, 64) | 0.0001 | 64 | 246.0028 | 8 - 11 |
128 | 26258248.0000 | 8 - 10 | ||
256 | 250688.9688 | 8 - 11 | ||
0.0005 | 64 | 101696032.0000 | 8 - 10 | |
128 | 115622133760.0000 | 8 - 10 | ||
256 | 120.2126 | 39 - 210 | ||
0.001 | 64 | 233870544.0000 | 8 - 10 | |
128 | 14918946390016.0000 | 8 - 10 | ||
256 | 2407737589760.0000 | 8 - 11 |
最も良い結果となったのは隠れ層(64,)、学習率0.0005、バッチ128のときであったが、それ以外にもいくつか良い結果はでている。前回は隠れ層(100,)、学習率0.001、バッチ128だったが、今回の隠れ層(64,)、学習率0.001、バッチ128でもなかなか良い結果が出ており、隠れ層(64~100,)、学習率0.0005~0.001、バッチ128辺りの設定が適当そう。
同じ設定でも繰り返し試すと結果が変わるので、たまたま良い結果が出たのか、それともいくつか行っても安定して良い結果が出るのか、この辺りの設定の検証をしてみる。