LoginSignup
2
0

More than 1 year has passed since last update.

AWS DeepRacer 日記 2022/2 (ハイパラチューニングで一定の効果が見られた!)

Last updated at Posted at 2022-03-04

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

前回学習結果
順位:177/733
スクリーンショット 2022-03-04 234426.jpg

ジグザグが明らかに減った。

今月からコースが変わったので再度同じ報酬関数とハイパーパラメータで試す

安定志向のパラメータ
コース: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

学習効率が高いとされるハイパーパラメータの方が良い結果となった。
(同時に学習してしまうと、良かったタイムの方しか見れない。。)
スクリーンショット 2022-02-14 220615.jpg

順位:67/550
タイムは00:50.262
Off-track 4

コースに急カーブがなかったこともあり、Off-trackは4回。
決まったカーブで1周目と2週目に2回ずつのみコースアウトとなっていた。
スクリーンショット 2022-03-04 235904.jpg

安定志向のハイパーパラメータの方は予想通り緩やかに右肩上がりを示した。
スクリーンショット 2022-02-14 220656.jpg

学習効率が高いとされるハイパーパラメータも同様に報酬関数は右肩上がり。
スクリーンショット 2022-02-14 220728.jpg

速いスピードで安定志向のパラメータと同様の完走率(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回だけだった
ジグザグがかなり目立つようになった。

完走率、報酬も前回より少ない。
スクリーンショット 2022-03-03 085519.jpg

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結果のグラフは緩やかな右肩上がり。
まだ学習時間足りていなかった可能性もある。

スクリーンショット 2022-03-05 001107.jpg

まとめ

今月はハイパラの理解が深まりました。
安定志向のパラメータを使うとジグザグがかなり改善されたり、
カーブの少ないコースだからかもですが、学習効率の高いパラメータを使うとさらに良いタイムが出ることが分かりました。
順位も上々でしたので、結果としても良かったです。
学習継続しても良い結果が出なかったことは課題ですね。。

もう少しちゃんと結果分析できた方が良いので、
来月はログ分析力向上を目標に頑張っていこうと思います!

2
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0