機械学習をレースを通じて学べる、AWS DeepRacerが日本にもやってきた!
DeepRacerが日本にもやってきた!
昨年ラスベガスでのre:Inventで発表されたAWS DeepRacer、
6月12日~14日まで幕張で開催されているAWS Summit Tokyo 2019 で日本にもやってきました。
このDeepRacerは、レーシングマシンとシミュレーターを使った機械学習を行い、自作した学習モデルによる自律運転でのスピードを競うもの。これまではビデオや写真でしかDeepRacerを見るしかなかったのですが、やっと実物に触れることができました。
レースに使うマシンは、CPUにIntel Atomプロセッサとメモリは4GB RAM、ストレージは32GBを搭載しているとのこと。外観からもおわかりいただけるように、MJPEGの4Mピクセルカメラを搭載しており、Wi-Fi機能もあります。その他レース参加者がデータを読み込ませるためのUSBポートもあります。
DeepRacerでリアルのレースに参加するには、バーチャル環境でトレーニングを積み重ねながらより最適な走行ができるように学習と調整をしていくことになります。
おおまかな流れは以下のようなものになります。
- レーシングシミュレーターでトレーニング
- 仮想のレーストラックを利用しながら、報酬関数などの調整を行う
- 学習したモデルを実機に搭載し、実際のレースに参加
レースで勝つには「報酬関数」がキモに
機械学習と聞くと、高度なプログラミング技術が必要になると感じる方も多いと思います。
そんな中で、今回の取材で印象的だったのは、「報酬関数」という存在です。
北風と太陽じゃないですが、人とのコミュニケーションでも褒めることの重要性は理解いただけると思います。
自動運転の技術を考える場合、こういう状況になったら、こういう対処をするというようなことをプログラミングしていこうとすると、とてつもないことになるそうです。
AWS技術統括本部 本部長の瀧澤さんのお話の中で、「報酬関数」を使いながら学習モデルをチューニングしていくことで、シンプルながら実用的なプログラミングモデルが出来上がるという点にとても惹かれました。
こちらにあるように、実際の「報酬関数」の設定画面は非常にシンプルなことにも驚きました。
この「報酬関数」、例えば、DeepRacerにやってほしい行動パターンには高い報酬を与え、コースアウトなど一般的に失敗とされる避けるべき行動パターンには低い報酬を設定し、スピードと報酬の高い結果を得るために効率的な方法を学習結果から編み出していくイメージでしょうか。
開発ツールの画面では、AWS DeepRacerが路面を捉えている様子を確認でき、こういった結果から更なる学習の積み重ねと、チューニングをしていくようです。
繰り返しとなりますが、「機械学習を使って自律運転AIをつくる」と聞くとハードルかなり高そうに感じますが、AWSは高度な人材育成や開拓も視野に入れつつも、機械学習の裾野を広げるためのきっかけとして、DeepRacerを提供しています。
イベント参加者の注目度合いも高く、AWS Summit Tokyo 2019のDeepRacerコーナーは、180分待ちになるような大盛況。
そして、AWSジャパン 代表取締役社長の長崎氏もコーナーに立ち寄り中継イベントを行うなど、その取り組みへの熱意はかなりの本気度だということが伝わってきます。
部活でDeepRacerを活用する時代
DeepRacerはリアルタイムに走る行為をコントロールする訳ではないので、厳密に言えばレーシング・ゲームとは違うと言えるでしょう。ロボットプログラミングのコンテストなどは日本にも浸透している感があるので、こういう前提で考えられる教育機関はすぐ取り組みを開始するのでは?と予想しています。
そんな中で、eスポーツは学校の部活動として認めないという教育機関や現場教師の意見があったりもするようです。
ドローンの操作などを考えても、ゲームを操る技術がこれからの時代に出てくる職業で求められる素養の一部であることは明らかです。
ましてや、プログラミングや機械学習との分野ともなれば、現在の日本においては政府がAI人材の育成に本腰で取り組むとしている中で、このDeepRacerがこれからの機械学習の領域だけでなく、IT人材育成のひとつの手法として多くの教育機関などで取り入れられる必要性を感じざる得ません。
ただし、このDeepRacerの決勝はラスベガスでグローバルイベントとして開催されるので、優秀な日本人が入賞し、これまた外国の企業に高給で採用されるというリスクがあるということも忘れてはいけないですが...