SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

4年ぶりのリアル開催!デベロッパーに伝えたい「AWS Summit Tokyo」の魅力(AD)

レースで楽しみながら機械学習を習得! 4年ぶり現地開催の「AWS Summit Tokyo」で行われるDeepRacerの魅力

  • このエントリーをはてなブックマークに追加

 AIや機械学習を学ぶなら、いろんな方法がある。しかしせっかく学ぶなら楽しい方がはかどるというもの。AWSでは開発者が機械学習を習得することを目的として提供されている「AWS DeepRacer」がある。1/18スケールの四駆自動車に、より速くトラックを走行できるように強化学習させるのだ。4月20日、21日に幕張メッセで開催される「AWS Summit Tokyo」の目玉企画の一つとして、DeepRacerのベストラップを競うリーグも開催される。今回は、DeepRacerの魅力と現地開催でのリーグの見どころについて、AWS ソリューションアーキテクトの宇都宮聖子氏に聞いた。

  • このエントリーをはてなブックマークに追加

4年ぶりに現地開催となる「AWS Summit Tokyo」

 「AWS Summit Tokyo」は、AWSが主催する国内最⼤級のAWSに関するラーニングカンファレンス。今年は、4月20日(木)、21日(金)の2日間にわたり幕張メッセにて開催される。

 AWS Summit Tokyoは「ラーニングカンファレンス」と銘打たれているように、AWSの利用経験や、学習レベル、業界を問わず、さまざまな学びの機会が用意されているイベントだ。

 例えばセッション。基調講演、AWSエキスパートによる技術セッション、ユーザー事例セッション、開発者向け体験型プログラムなど150を超える講演が用意されている。

 コロナ禍以降はオンラインのみの開催が続いたが、2023年は現地開催ということで展示にも気合いが入っている。

 展示会場は180を超えるコンテンツが用意され、AWS Summit Tokyo初となる事例展示ほか、AWSとAWSパートナーによるソリューション展示、デベロッパーがソリューションエンジニアに直接質問したり、コミュニティJAWS-UGのメンバーと交流したりできる「デベロッパーラウンジ」、チームを組んで、ある特定のシナリオに沿ってトラブルシューティングを行うイベント「AWS GameDay」などの企画が予定されている。初心者向けの概要から上級者向けのディープな解説まで、たっぷり学べ、AWSテクノロジーを一気に吸収できる。

 そのなかでも特に見どころなのが、2019年の「AWS Summit Tokyo」で初めて実施された「AWS DeepRacerリーグ(以下、DeepRacerリーグ)」だ。

 会場開催となると「DeepRacerリーグ」も直接参戦または観戦できるということだ。現地で目にしたら「なにこれ!? 参加したい!」と思うはず。せっかくの機会を逃さないようにチェックしておこう。

ミニカーがトラックを走行する、DeepRacerリーグを見逃すな

 AWS DeepRacerリーグとは、1/18スケールの四駆自動車「AWS DeepRacer(以下、DeepRacer)」を使ったレースだ。一見して、いわゆるラジコンカーレースのようで、これはこれで楽しめる。しかし実は、DeepRacerには特別な目的がある。それはAWSが開発者に機械学習(正確には強化学習)を学ぶ機会を提供すること。つまり開発者はミニカーレースをわくわく楽しみながら、機械学習とAWSそのものを学ぶことができてしまうのだ。

 DeepRacerリーグは2019年から始まった。2019年はAWS Summit Tokyo会場の幕張メッセで予選が行われ、勝者はアジア予選に進み、最終的にはラスベガスのre:Inventで「Championship Cup」で決戦となった。ファイナリストとして出場できたのは世界各国から64名、日本からは8名。最終的にはトップ10に日本人が3名並び、優勝と準優勝を日本人が占めた。

2019年にAWS Summit Tokyoで開催されたDeepRacerリーグの様子
2019年にAWS Summit Tokyoで開催されたDeepRacerリーグの様子

 車両(DeepRacer)は1/18スケールの四駆自動車、Intel Atomプロセッサを搭載している。システムメモリは4GB、Wi-Fiは802.11ac、カメラは4メガピクセル、ソフトウェアはOSがUbuntu、Intel OpenVINO toolkit、ROS 2 Foxy Fitzroyを使う。

2019年にAWS Summit Tokyoで披露されたDeepRacer(中身がよく分かるようにボディを外してある)
2019年にAWS Summit Tokyoで披露されたDeepRacer(中身がよく分かるようにボディを外してある)
2019年にAWS Summit Tokyoで披露されたDeepRacerがトラックを走行しているところ(後ろ向きに見えるが、前を向いている姿)
2019年にAWS Summit Tokyoで披露されたDeepRacerがトラックを走行しているところ(後ろ向きに見えるが、前を向いている姿)

 2020年にはより新しい「DeepRacer Evo」が登場した。大きな違いはカメラが2つでステレオカメラとなり、後方を検知するLiDARセンサーを搭載し、周囲の状況をより精密に捉えることができるようになった。なおDeepRacer(初号機)にDeepRacerセンサーキットを使えば、DeepRacer Evoと同等の機能を持つようにアップグレードできる。DeepRacerの車両はAmazon.comから購入可能。

DeepRacerを通じて強化学習の仕組みを学ぶ

 DeepRacerの醍醐味はなんといっても強化学習を学べること。ここで強化学習とDeepRacerの関係性を確認しておこう。AIで特定のタスクに特化し、明示的にプログラムすることなく学習方法をアルゴリズムに教えるのが機械学習となる。そのなかでも正解のラベルをつける教師あり学習、ラベルをつけない教師なし学習がある。

 強化学習は特定の環境下での行動の結果を通じて学習させる。ペットを調教(訓練)する時をイメージすると分かりやすい。例えば犬に「お手」や「お座り」など期待する行動をすれば報酬を与え、期待しない行動には報酬を与えない(あるいはペナルティーを与える)ことを繰り返すことで、より期待通りの行動をとれるようになる。DeepRacerであれば、コースをより速く走ることになる。人間が何かを体得する時も強化学習に近いことをしているのではないだろうか。

 強化学習における要素をDeepRacerに当てはめてみよう。「エージェント」は自律的に行動するためのデバイスやソフトウェアであり、DeepRacerなら車体となる。ゴールはトラックをより速く一周すること。「環境」はエージェントとインタラクションを行うもので、DeepRacerならトラックとなる。「状態」はエージェントから観測されるもので、DeepRacerならカメラから得られた情報、例えばセンターラインの位置などとなる。「行動」はエージェントがうけとる状態に応じて、ゴールに到達するために事前に定義したものから選択される。

 「報酬」はゴールに到達するための行動に与えるものとなる。DeepRacerではこの報酬の設定、つまり報酬関数が最も重要となる。より速くトラックを1周することができる行動にはより大きな報酬を与え、コースアウトには報酬を差し引く(ペナルティーを与える)。DeepRacerリーグとはこの報酬関数の競技と言ってもいいかもしれない。

 繰り返すが、ゴールは「できるだけ速くコースを1周する」こと。エージェントはカメラやセンサーを通じて環境の状態を測定し、それに応じて行動を選択し、その行動の結果に対して報酬が与えられることを繰り返すことで学習が進む。

DeepRacerが自律的に走行できる仕組み
DeepRacerが自律的に走行できる仕組み

 より具体的に報酬関数を見ていこう。例えば図のようにセンターラインを走れば大きな報酬(2ポイント)、少し離れると少ない報酬(0.2ポイント)を割り当て、コースアウトしたら走行中止とする。エージェントは探索フェーズでは試行錯誤を繰り返し、より高い報酬を獲得する行動を模索する。何度も繰り返すうちに一定の報酬に収束し、それは学習が進んだことになる。

DeepRacerへの報酬の与え方の例
DeepRacerへの報酬の与え方の例

 実際の強化学習はAWSにログインして「AWS DeepRacer」コンソールからモデルを作成して進めていく。やることは独自の報酬関数を作成していくのだが、DeepRacerは機械学習の習得が目的なのでサンプルが用意されている。ドキュメントや解説動画が豊富にあるので、いろいろと目を通しながら知識を蓄えていこう。

 報酬関数の作成では、トラックのいろいろな要素(中心線や境界線、オントラックまたはオフトラックなど)から各種パラメーター(車体の向き、中心線からの距離など)を入力していく。目的はより速くトラックを周回することだが、ただセンターラインに乗ればいいというわけではないだろう。ぜひ最高・最速のモデルを作ることに挑戦してほしい。

 2019年のDeepRacerリーグから関与しているアマゾンウェブサービスジャパン合同会社 機械学習ソリューションアーキテクト 宇都宮聖子氏は「DeepRacerでシミュレーション(仮想レース)とリアルのギャップを経験するとまた面白いと思います。さらに機械学習そのものや、AWSのSageMakerなどAWSの各種サービスについても知るきっかけになるといいと思います」と話す。

2023年のDeepRacerリーグに参戦するには?

 レースとなるDeepRacerリーグ(公式リーグ)についても確認していこう。公式リーグはVirtual Circuit(仮想レース)とSummit Circuit(対面・物理レース)の2種類がある。仮想レースはAWS内の仮想レース環境で開催される。月ごとにトラックの形状が変わり、順位が決まる。

 Summit Circuitは実際のコースを走行するレースだ。2023年は学生部門と一般部門に分かれて開催される。Summit Circuitへの出場はAWS Summit Tokyoの会場で受け付ける。好成績を残すために、今からモデルのトレーニングをしておくとよいだろう。Summit Circuitを勝ち抜くと、10月中旬に仮想レースでアジア地区予選があり、最終的にはre:Inventで「Championship Cup」へと進出できる。

 なおAWS Summit TokyoではDeepRacerのワークショップも用意されている。席に制限があるため、興味があれば早めに申し込むほうがいいだろう。ワークショップに参加した流れで、Summit Circuitに挑戦するのもいいかもしれない。

 Summit Circuitは1台ずつ走行し、制限時間内(3分間)のベストラップで競う。なおDeepRacerリーグではマシンはAWSが提供するものを使う。つまりマイマシンの持ち込みは不可。リーグはメカで競うのではなく、機械学習で競うことを忘れてはならない。

 筆者は2019年のリーグも観戦したが、見た目はカーレースなのにドライバーが操縦するわけではないため、走行開始すると機械学習モデルが走行するので(機械学習モデルの)開発者はただ黙って見守るしかない。もし車両がコースアウトしたら、スタッフが拾ってスタートラインまで置いてあげるのだ。無理もない。DeepRacerは学習済みのトラックしか走れず、操縦はできないのだ。そんな世話の焼ける姿にかわいらしさも感じられてしまう。

 なおトラックは2019年にも使われたのと同じ形状となる。ただし逆回りとなるので注意が必要だ。2019年の方向だと、比較的緩やかなカーブが続き、最後にUターンしてフィニッシュだった。しかし2023年は逆回りなので、いきなりUターンから始まることになる。

 宇都宮氏は、「自分が作ったモデルで走行するDeepRacerの姿を見ると、愛おしく感じると思います。楽しみながらDeep Diveしてみてください。この先もっと機械学習のスキルやノウハウを高めたいのであれば、AWSには(オンラインのオンデマンドコース)Machine Learning UniversityやML Enablement Seriesもありますので、ぜひご活用ください」と話した。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加

提供:アマゾン ウェブ サービス ジャパン合同会社

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17464 2023/04/03 12:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング