検索
連載

第5回 DeepRacerリーグ勝者に聞く「どうすれば勝てますか?」AWS DeepRacer入門

パネルディスカッションで話された「初めてコースを見たときに、どこに着目するか?」「ズバリ、勝つポイントは?」「報酬関数を決める方法は?」についての内容をお伝えする。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「AWS DeepRacer入門」のインデックス

連載目次

 本連載では、アマゾン ウェブ サービス ジャパンが主催するイベントでのセッション内容を基に、DeepRacerの概要から実践方法までを紹介してきた。今回はそれを踏まえた応用編として、「どうすればDeepRacerリーグ(レース大会)に勝てるのか?」を紹介する。

 本稿は、(少し古いが)2019年10月4日に開催された「AWS DevDay Tokyo 2019」における「パネルディスカッション:AWS DeepRacerと機械学習の可能性」の「第一部: Winner の皆さんに聞く『どうすれば勝てますか?』」を書き起こしたものである。パネルディスカッションは二部構成で、この後で「第二部: AI 人材育成とは? DeepRacer をきっかけにしての次のステップは?」が続いたが、その内容は割愛した。

図1 AWS DevDay Tokyo 2019の「パネルディスカッション:AWS DeepRacerと機械学習の可能性」の様子
図1 AWS DevDay Tokyo 2019の「パネルディスカッション:AWS DeepRacerと機械学習の可能性」の様子

 登壇者は、モデレーターとして、

  • 瀧澤与一氏(アマゾンウェブサービスジャパン)

パネリストとして、

  • 瀧下初香氏(DNP:大日本印刷)
  • 大野史暁氏(DNP)
  • 相場武友氏(DNP)
  • 阿蘓将也氏(Deep4Drive)

が登壇した。ちなみにパネルディスカッション全体では、DeepRacer機能の解説員としてアマゾン ウェブ サービス ジャパンの鮫島正樹氏 (図1の左から2番目)が登壇し、第二部ではDNPの和田剛氏(図1の右端)も登壇した。

図2 登壇者紹介
図2 登壇者紹介

 まずは鮫島氏から、「DeepRacerとは何か?」について簡単な説明があった(図3、図4)。

図3 DeepRacerとは
図3 DeepRacerとは

図4 DeepRacerの進め方
図4 DeepRacerの進め方

 本連載で説明済みの内容なので、この部分の説明は省略する。

 なお、DeepRacerの新型機である「AWS DeepRacer Evo」が2019年11月27日に発表されている。AWS DeepRacerのクラウド上でも新機能の追加や機能改良が行われている。本稿の内容はあくまで2019年10月4日時点の情報であるので、その点はご了承いただきたい。

 また、2019年12月4日に開催された「AWS DeepRacerリーグチャンピオンシップカップ2019」において、このセッションに登壇した瀧下氏が世界一に輝いている。それだけに、本稿の内容はDeepRacerで強くなりたい人にとって大いに参考になるのではないだろうか。

 さて、パネルディスカッションでは、

  • 初めてコースを見たときに、どこに着目するか?
  • ズバリ、勝つポイントは?
  • 報酬関数を決める方法は?

という3点の質問が行われた。各勝者の回答内容を見ていくことにしよう(以下、敬称略。以下、ディスカッションの発言部分は、です・ます調)。

初めてコースを見たときに、どこに着目するか?

 ――(瀧澤)  DeepRacerのバーチャルサーキット(Virtual Circuit)の場合、図5に示すようなコースが1カ月ごとに出てきます。

図5 バーチャルサーキットのコース例
図5 バーチャルサーキットのコース例

 このどこに着目すれば、速く走ってレースに勝てるようになるのでしょうか? 全員に聞いていきます。まずは大野さんから。

 大野  初めてコースを見たときには、「どういうライン取りをしたら速く走れるか」を考えるのが大切です。具体的には、図6のようにコース上に線を引きます。

図6 ライン取り(赤線)の例
図6 ライン取り(赤線)の例

 ポイントは、「どれくらい内側を走れるか」「どれだけ真っすぐを維持しながら、カーブに入れるか」を意識しながら線を引くことです。

 ―― 割と普通の、車と同じようなライン取りなのですね。

 大野  そうですね。ライン取りを考えるときに、自分はあまり経験がありませんが、ラジコンカーなどのレースで実践されているライン取りと同じです。

 ―― 相場さんの場合はどうですか?

 相場  私もライン取りを考えます。特に図7に示す2点が重要です。

 1点目は、「左右それぞれのカーブがどのくらい存在するか?」を見ます。例えば図7の左側にある「re:Invent 2018」のコースであれば、(レース/トラックは反時計回りに進むので)左カーブばかりで、右カーブは一度しか出てこないので、「右カーブの学習が弱くなる」と予想します。

図7 ライン取り(赤線)の例
図7 ライン取り(赤線)の例

 2点目は、「ジグザグの道は存在するか?」を見ます。図7の右側にある「Kumo Torakku」のコースであれば、赤枠で囲っているジグザグになっている道は、「ジグザグさせずに、なるべく真っすぐ突っ切りたい」というように考えます。

 このような2点に着目しながら、仮説を立てて、ざっくりとした方針を決めます。

 ―― 確かに私も、ジグザグの道を真っすぐ走らせるために、報酬関数を考えたことがあります。阿蘇さんはどうですか?

阿蘓将也(Deep4Drive)
阿蘓将也(Deep4Drive)

 阿蘓  私も大野さんの図6と、最初のアプローチは同じです。コミュニティーの中にイギリスのF1チームを引退した人がいるので、その人に「このコースをもっとうまく走らせたい」と相談したら、「実際のレースだと、加加速度(ジャーク: 単位時間当たりの加速度の変化率)が少ない方が速く走れる」とのことでした。そこで本物レースとDeepRacerを見比べつつ、「どのように曲がればよいのか」を点々でプロットしてもらい、その点々の上を上手に走れるように報酬関数を決定していきました。

 ―― 瀧下さんもだいたい同じでしょうか?

 瀧下  私の場合は、それぞれのコースにおける一番大きなカーブを見て、「どれくらいの行動空間(Action space: スピードとステアリング角度の組み合わせ)にしたら走りやすそうか」を考えます。つまり、どれくらいのステアリング角度で、どれくらいのスピードを出すのがよいかを最初に考えます。

 ―― そのやり方は、初めのバーチャルサーキットのときからですか? それとも何度もレースに出るうちにそうなったのですか?

 瀧下  最初からです。初めのバーチャルサーキット「London Loop」(前掲の図5を以下に再掲)はカーブが緩そうな印象があったのでステアリング角度を小さめにしてみたり、「Kumo Torakku」はステアリング角度を大きめにしてみたりしました。

図5(再掲) バーチャルサーキットのコース例
図5(再掲) バーチャルサーキットのコース例

 ―― それでは次の質問に入ります。

ズバリ、勝つポイントは?

 ―― 勝つポイントについても順番に全員に聞いていこうと思います。瀧下さんからお願いします。

瀧下初香(DNP)
瀧下初香(DNP)

 瀧下  2019年6月に開催されたAWS Summit Tokyo 2019でのDeepRacerリーグ(以下、Tokyo Summit)は3日間ありましたので、1日目でダメだった点を改善して2日目に再チャレンジすることができました。1日目に極端に違う2つの強化学習モデルを使って走らせて、それでうまく走れた方のモデルをスピードアップさせたバージョンを2日目に走らせました。それが一番速く走りました。

 その際に一番気を付けたのが、コースアウトしないモデルにすることです。二番目がスピードより安定して走ることを求めました。

Copyright© Digital Advantage Corp. All Rights Reserved.

[an error occurred while processing this directive]
ページトップに戻る