AWS DeepRacer 日記 2022/2
2021年10月から本格的にDeepRacerリーグに参加し始めました。
今回はDeepRacer日記第4回です。
筆者の試行錯誤を記載していきます。
参考になればうれしいです。
※DeepRacer参加方法については下記にまとめています
1/31 (前回記事参照)
前回の最後でエラー解消したので、ハイパラチューニング再開。
安定志向のハイパーパラメータで試していた。
コース:VivalasSpeedway
バッチサイズ 64→128
エポック数 3→10
エピソード数 20→40(推奨される値は10、20 および 40 )
MinimumSpeed 0.5→1
Maximu speed 1→2
学習時間 120分
※ハイパラの意味やチューニング事例については下記の記事にまとめています。
2/7
ジグザグが明らかに減った。
今月からコースが変わったので再度同じ報酬関数とハイパーパラメータで試す
コース:Summit Speedway
バッチサイズ 64→128
エポック数 3→10
エピソード数 20→40(推奨される値は10、20 および 40 )
MinimumSpeed 0.5→1
Maximu speed 1→2
学習時間 120分
学習効率が高いとされるハイパーパラメータも試す
コース:Summit Speedway
バッチサイズ 64→32
エポック数 3→5
LearningRate 0.0003→0.001
MinimumSpeed 0.5→1
Maximu speed 1→3
学習時間 120分
2/14
学習効率が高いとされるハイパーパラメータの方が良い結果となった。
(同時に学習してしまうと、良かったタイムの方しか見れない。。)
順位:67/550
タイムは00:50.262
Off-track 4
コースに急カーブがなかったこともあり、Off-trackは4回。
決まったカーブで1周目と2週目に2回ずつのみコースアウトとなっていた。
安定志向のハイパーパラメータの方は予想通り緩やかに右肩上がりを示した。
学習効率が高いとされるハイパーパラメータも同様に報酬関数は右肩上がり。
速いスピードで安定志向のパラメータと同様の完走率(Complettion)であることから
こちらの方がタイムは良い結果となったと推測できる。
しかし曲がり切れていないことが原因のコースアウトは多かった。
ジグザグはあまりない印象。
まだ右肩上がりのRewardであるため、同様のハイパーパラメータで学習を続けてみる
最低スピードと最高スピードを変える
コース:Summit Speedway
バッチサイズ 64→32
エポック数 10→5
LearningRate 0.0003→0.001
MinimumSpeed 0.5
Maximu speed 1→4
学習時間 120分
2/21
タイムは01:13.490
最低スピードを下げたことで、遅く走っている場面が多くなっていた
最高スピードを上げたが、2m/s以上出している場面はほぼなかった。
コースアウトは3周で1回だけだった
ジグザグがかなり目立つようになった。
2/7のモデルからクローンして最大スピードだけあげて再挑戦する
今回は学習時間短めにするため、エポック数は3に下げてみる
コース:Summit Speedway
バッチサイズ 64→32
エポック数 3→3
LearningRate 0.0003→0.001
MinimumSpeed 1
Maximu speed 1→4
学習時間 30分
今月は学習はここまでにして、ログ分析手法を確立させる方向に舵をきる。
Sagemakerでは下記の通りにできることは確認できているが、お金がかかる。
無料で使えるGoogleコラボでログ分析できないか挑戦する
※Googleコラボとは無料でインストール不要で使えるJupyterNotebookです。
■ログ分析手法確立への試行錯誤メモ(手法確立出来たら別途纏めます)
・GoogleコラボをGoogleドライブにマウントさせてもJupyterNotebook(ipynb)は開けない
→ファイルからノードブックを開くでローカルにあるipynbファイルを指定すれば開けた。
・boto3が無いと怒られるのでpip install boto3でインストールする
・from log_analysisが無いと怒られるので、下記のディレクトリにcdする
/content/drive/MyDrive/aws-deepracer-workshops-master/log-analysis
models = dr_client.list_models(ModelType="REINFORCEMENT_LEARNING",MaxResults=100)["Models"]
で
NoCredentialsError
となる
LOGはGoogleDriveにアップロードしているので、IAM権限は不要なはず。
根本から見直す必要ありそう。
2/28
タイムは01:11.127
最大スピードを最大の4にするとまだまだコースアウトが多く、
ベストなタイムを出すことはできない。
Traning結果のグラフは緩やかな右肩上がり。
まだ学習時間足りていなかった可能性もある。
まとめ
今月はハイパラの理解が深まりました。
安定志向のパラメータを使うとジグザグがかなり改善されたり、
カーブの少ないコースだからかもですが、学習効率の高いパラメータを使うとさらに良いタイムが出ることが分かりました。
順位も上々でしたので、結果としても良かったです。
学習継続しても良い結果が出なかったことは課題ですね。。
もう少しちゃんと結果分析できた方が良いので、
来月はログ分析力向上を目標に頑張っていこうと思います!