AWS DeepRacer 日記 2022/1 (今月はエラー解決がメインになりました)


AWS DeepRacer 日記 2022/1

2021年10月から本格的にDeepRacerリーグに参加し始めました。
今回はDeepRacer日記第3回です。
筆者の試行錯誤を記載していきます。
参考になればうれしいです。

※DeepRacer参加方法については下記にまとめています

1/17

前回(12/6)Learning late(学習レート)を最大値の0.001に変更したが、学習が収束しなかった。

↓前回記事

最大値を0.0007に変更して収束するか試す。

トレーニングに失敗(初)
「Unable to complete training. You can still evaluate the model that's trained up to the failure.」

この状態で一旦評価をしてみる。
評価は上々で2周を100%
(1周は急カーブのところでコースアウト)

この日はエラー原因は分からず。。

1/24

1/15でre:Invent 2021 Open Raceが終わっていたので、エラーになった理由は置いておいて、
新たに開催されていた2022 Pre-season向けに新たにモデル作成しなおすことに。

2022 Pre-seasonで利用されるVivalas Speedwayはカーブが多い難コース

下記資料参考にハイパラ検討する。

「バッチサイズ、エポック数、エピソード数は最初に大きな値を設定した」
↑この一文を参考にしてみる

・バッチサイズ大→安定するがトレーニングが長くなる ・エポック数大→安定するがトレーニングが長くなる ・エピソード数大→安定するがトレーニングが長くなる

※ハイパーパラメータチューニングについては下記の記事にまとめています。

最初は安定志向の方が良いとのことだと理解しつつ、一旦下記の値に変更して試すことにする。

学習パラメータ
バッチサイズ 64→128
エポック数 10→10(デフォルト最大なのでそのまま)
エピソード数 20→40(推奨される値は10、20 および 40 )
Maximum Speedは1から2に変更
※カーブが多いコースなのでMinimumSpeedは0.5のまま

1/28

またエラーになった。学習開始とほぼ同時にエラーになっており、ほとんど学習が進んでいないモデルが作成された。。

トレーニングログを確認

報酬が1e5を超えていた模様。(※報酬が「107,998」でエラーになっている。)
※1e5=10万
※前回エラー時も軽くログは見ていたが、気づけなかった。。

原因を調査する必要あり。ハイパーパラメータ変えるまでは起きなかった挙動。

1/31

報酬関数は初期のころから下記を利用させて頂いている。

この報酬関数は「900,000」(90万)を超えないように考慮がされているが、これは9万の間違いっぽい。。

900,000の部分を90,000に修正

    # Finally - check reward value does not exceed maximum value
    if result_reward > 90000:
        result_reward = 90000

再度安定志向のハイパーパラメータで試したところ、エラー解消できた。(学習結果は来月以降確認。)

学習パラメータ
コース:VivalasSpeedway
バッチサイズ 64→128
エポック数 10→10(デフォルト最大なのでそのまま)
エピソード数 20→40(推奨される値は10、20 および 40 )
MinimumSpeed 0.5→1
Maximu speed 1→2
学習時間 120分

まとめ

今月はハイパーパラメータチューニングについて知見を溜めていく予定だったが、
エラー対応に追われて大きな進捗はなかった。
改めてエラーログをよく見るという基本動作の大事さには気づけた。