AI自動運転ミニカー「AWS DeepRacer」はどう楽しい? どう生かせる?:AWS re:Invent 2018発表まとめ(5)
AWSが同社イベントAWS re:Invent 2018で、自動運転ミニカー「AWS DeepRacer」を発表し、話題を呼んだ。その面白さと取り組みの背景について、責任者に聞いた。
Amazon Web Services(AWS)は、2018年11月に開催したイベントAWS re:Invent 2018で、自動運転ミニカー「AWS DeepRacer」を発表した。AWSは事前注文の受付を即日開始、2019年3月6日に出荷開始を予定する。また、このミニカーを使った初のレーシングコンテストをre:Invent 2018で開催。今後AWSが世界中で実施するイベントでレースリーグを併催するという。
AWSは2017年のre:Inventで、DeepLensというエッジでの画像認識モデル適用装置を発表した。DeepLensはコンピュータービジョンを通じて、機械学習を楽しく学んでもらうことが目的だった。DeepRacerはその延長線上にある。機械学習の一種である強化学習を楽しく学んでもらうための教材だ。
AWSは今回、機械学習のプロセスを単一のインタフェースで実行できるAmazon SageMakerで強化学習に対応。「Amazon SageMaker RL」(RLはreinforcement learningの頭文字)として発表した。これを活用して強化学習に取り組んでもらいたいが、ユーザーにはきっかけが見つかりにくい。そこでDeepRacerを開発した。
AWSのAIデバイス責任者であるマイク・ミラー氏は、DeepRacer開発の背景について、「DeepLensは新たな技術を開発者の手にもたらす手段として、大きな力を発揮した。そこで私たちは、強化学習で同じようなことができないかと考えた。強化学習には細かな技術が絡んでいて、習熟には高い壁がある。このため、これまでは結局、資金力のあるテクノロジー企業などに、活用が限られてきた。だが私たちは、こうした革新的な技術を一般の技術者に届けたいと考えた。そして自動運転ミニカーは、強化学習の教材として完璧だという結論に達した」と話す。
DeepRacerの訓練には、報酬関数とハイパーパラメーターを活用
強化学習は、行動によるフィードバックで自律的に機械学習を実施する手法。試行錯誤によって学習する。
DeepRacerは、専用の環境を使ってトレーニングを行う。この専用環境は、前出のSageMaker RLにロボット開発プラットフォームの「AWS RoboMaker」を組み合わせたもので、シミュレーション環境にはAWSのレースで使用するレーストラックが設定されている(トラックはユーザーが自身で設計することも可能)。
トレーニングはRoboMakerのシミュレーション環境を用い、仮想DeepRacerを何度もこの環境の中で走らせることで進める。DeepRacerはコースを外れてクラッシュするとリスタートしなければならない。これを繰り返し、DeepRacerは報酬を最大化する解を見いだす。
こうして構築したモデルをDeepRacerに転送する。すると、DeepRacerはフロントに搭載したカメラで前方を認識、モデルに従って加減速およびハンドル操作を行い、走行する。レースでは、ゴールするまでの時間を競う。
トレーニングは、やみくもにシミュレーション環境で試行錯誤を繰り返すだけではない。ユーザーは、報酬関数とハイパーパラメーターで、自分の車の自己訓練に影響を与えられる。
報酬関数は、自分の車に対し、学習でどのような報酬を与えるかを定義する関数。
「例えば、レーストラックの中央線の近くを走ることで報酬を得られるようにしたいとする。この場合、中央線から離れるほど報酬が減るPython関数を適用すればいい。報酬関数の定義の仕方が、DeepRacerリーグにおける勝敗を大きく左右することになる」
トレーニングにおけるもう一つの重要なキーワードに、ハイパーパラメーターがある。
「これは『exploration(探索)』と『exploitation(適用)』のバランスを取るためのパラメーターだ。仮想的な壁に当たりクラッシュすることで車は学習するが、車が自ら新しいことを試そうとする性向をexplorationと呼ぶ。一方、既に学んだことを次の行動に適用することをexploitationと呼ぶ。両者の最適なバランスを見いだすことで、トレーニングの成果が変わってくる」
それにしても、なぜ強化学習なのか
では、AWSはなぜ強化学習に力を入れたいのか。ミラー氏は次のように説明する。
「教師あり学習にしても教師なし学習にしても、訓練のために多数のデータが必要だ。例えば花の種類を認識させたければ、何千もの花の写真にラベル付けを行い、これを使ってトレーニングしなければならなくなる。一方、強化学習はモデルの構築に大量のデータを必要としない。訓練の過程であなたがプログラムした一連の報酬に基づき、特定の目標を達成するために必要な一連の判断をどう最適化するかを、自律的に学ぶことができる。従って、短期的な判断の流れが長期的な目標の達成につながるような問題の解決に役立つ」
長期的な目標のため短期的な判断を積み重ねなければならない、強化学習に適したユースケースとして、ミラー氏は自動運転の他に、製造業におけるサプライチェーン、データセンターの温度管理などを挙げる。
「そこで、やる気にあふれた開発者は、DeepRacerによって、SageMakerとシミュレーターでどのように強化学習のモデル構築ができるのかについて、イメージをつかむことができる。慣れてくれば、別のシミュレーターや強化学習フレームワークを試してみることができる。このようにして徐々に獲得した知識やスキルは、他の用途での機械学習にも大いに生きてくるはずだ」
Copyright © ITmedia, Inc. All Rights Reserved.