DeepRacer同好会 第三回オフライン勉強会@岡山を開催しました #AWSDeepRacerJP

DI部の貞松です。 去る2019年6月15日、クラスメソッド岡山オフィスにてDeepRacer同好会の第三回オフライン勉強会を開催しました。

DeepRacer同好会 第三回オフライン勉強会@岡山 #AWSDeepRacerJP - connpass

オフライン勉強会と言いながら、ほぼオンライン勉強会みたいになってましたが、ハングアウトでセッション配信しつつ、質疑応答・ディスカッションするのはかなり面白かったです。

本エントリーでは、私のセッションの概要と当日の様子、得られた知見についてまとめます。

当日実施したセッションの概要

セッションスライド

セッションの概要

一部以前のスライドのリサイクルがあるのはご容赦…基本的な説明をするのにはちょうど良いんです…。

今回のセッションの要点としては、

  • 実際に開催されたDeepRacer League Virtual Circuit(London Loop)がどういったものだったか
  • London Loopに対して、どのように取り組んだか、結果どうだったか
  • 今後のDeepRacer League(Virtual Circuit、Summitの実機レース)に対してどう対応していくか

みたいなことをお話しさせていただきました。 結論としては、オープンな活動・情報共有・競争を通じて、最終的に日本人チャンピオンを生み出そう!という話です。

当日の様子

前述の通り、ほぼオンライン勉強会状態でしたが、セッション、そしてその後のディスカッションもかなり盛り上がりました。 AWS Summit TokyoでLeagueに参加された方からの情報共有もあり、改めてDeepRacerの奥深さ、難しさを感じました。

配信するにあたって、良かったこととか得られた知見みたいなものとしては、以下のようなものが挙げられます。

比較的ちゃんとした機材が揃っていた

カメラ、スピーカー、オーディオインターフェースに到るまで、せーのさんが持参してくれたので割と本格的な配信環境が整ってました。
Amazon re:MARS 2019からこの方、3週間ぐらい家に帰ってないとおっしゃっていて申し訳なさがすごかったですが、本当に助かりましたm(_ _)m

配信する側(ホスト)は一会場に集まっていた

ホストメンバーまで全員リモートでやってたら進行から何からグダグダになってたと思います。メイン会場ありきでちゃんと進行するのがうまくいくコツですね。
とは言え、ほぼ配信イベントだったにも関わらず現地までお越しいただいたスピーカーのお二人には感謝してもしきれません…(しかも当日は生憎の悪天候…)

AWS Summit Tokyoの直後だった

ディスカッションで盛り上がるだけのホットトピックがあったのは非常に大きかったです。 皆さん言いたいこと( )がたくさんあったようで、感想・考察から、実際の取り組みに至るまで、まさに知見の塊でした。

セッション・ディスカッションから得られた知見

そんな感じで大いに盛り上がったイベントの中から得られたDeepRacerに関する知見を幾つかピックアップします。

  • Virtual Circuitと実機レースは別物
    • シミュレーターではうまく走行できる(そこそこの完走率で、タイムとしても速い)モデルでも、実機だと完走してくれない等々の問題が発生する
    • どちらかというとシミュレーターではとにかく100%完走できるような安定したモデルの方が、実機でちゃんと完走しつつタイムも良い可能性が高い
    • シミュレーター上では完走率100%で1周18秒台で走るモデルが、実機だと1周12秒台で完走するというケースもありました
  • 報酬関数にグローバル変数を定義できる
    • 1step前の状態との差分を取得する等々が可能な為、報酬関数のバリエーションやstep毎のログ情報が拡張できる可能性がある
  • 実際に実施した学習に関する記録(ActionSpace、報酬関数、ハイパーパラメータなど)と分析が重要
    • printを使って独自にログ出力を設定
    • 通常のログでは取得できない数値など、必要な値をログ出力できるようにするなど
    • 後々、ログをパースして集計・分析しやすいようにする
    • ログ出力時にラベルを付加して、どのモデルを学習した際のログかわかるようにする
    • 横比較できるようにして、うまくいったケース、うまくいかなかったケースを洗い出して、無駄なく学習のパターンを試せるようにする(総当たり的にやらなくて済むようにしつつ、効果的な設計の当たりをつける)
  • ハイパーパラメータの調整について、学習率は結構小さくしてもうまくいくケースがある(デフォルト0.0003を0.000001とか)
    • 強化学習のセオリーとして、学習率0.0003はそもそも値が大きめ
    • 実際に好タイムを出しているモデルで学習率0.000001を採用しているケースがあった

まとめ

ちょっと現地参加の集客に難がありましたが、配信のおかげでセッションもディスカッションも盛り上がりつつ、有益な情報共有ができたと思います。
改めてスピーカーのお二人、現地参加・オンライン参加の皆様、ありがとうございました!次回以降もよろしくお願い致します!