Best Engine

ITの最新動向を紹介する技術情報サイト

コラム:経営に役立つクラウド活用

AIロボットカーについて

昨年、機械学習についてのトピックでエンジニアの注目を集めたのは、自動運転車であろう。クラウドサービスベンダー自らミニチュアのAIロボットカーを販売し、レースを主催するという現象は今までにないものだ。AIロボットカーのスタンダードと言われるDonkey Car(ドンキーカー)で、AIを活用した自律走行を体感しよう。

AIを利用した自律走行とは

まずAIを利用した自律走行とはどういったものになるのだろうか。AIロボットカーはモーター制御をする部分と、AIに基づいて判断しモーター制御のコマンドを送る部分に分かれる。AIロボットカーは実際の走行では前方の画像や速度、ジャイロの情報を取得し、AIにより次の行動を決める。ここで使われるAIをトレーニングするには、大きく2つの方法論がある。一つは教師ありの機械学習を用いる方法だ。現実またはシミュレータ上で人間が実際に車両を操縦することで教師データを作成し、クラウド上で機械学習によるトレーニングを行う。例えば、前方の画像データ、ステアリングとスロットルの関係性を学習する。そしてトレーニングしたモデルのみを実際の車両にインストールし、AIの判断だけで自律運転を行う。
もう一つは強化学習(Reinforcement learning)だ。強化学習は、ある環境内で現在の状態を観測し、取るべき行動を決定する機械学習の一種だ。強化学習を行うには、機械が一連の行動を通じて利益が最も多く得られるような方策を繰り返し学習する。その際に教師データを用意する必要はなく、AIが自ら何度も試行して学習する。このような学習方式なので、どのような条件であれば利益とみなすかの適切な定義が必要だ。この定義は報酬関数とよばれるPythonで書かれたプログラムで行う。この関数は車両の状態を記録した様々な変数を利用して、行動に対する結果の評価を行う。

いずれの方法論でもトレーニングと実際の運転を行う環境を分けることで、車両側は比較的低スペックのCPUで自律運転が可能だ。一般に機械学習は、学習には膨大な処理能力が必要だが、学習した結果のモデルの適用にはそれほど処理能力は必要としない。参考までに代表的なAIロボットカーの処理能力は以下の通りで、2013年前後のIntelTMタブレットという印象だ。仮に処理能力が足りない場合はUSBやオンボード型の機械学習に特化したチップの増設を検討する。これらは高い処理能力もさることながら低消費電力が求められるため、近年技術的な発展が著しい分野だ。GoogleTMからも「Google Edge TPUTMモジュール」が販売された。

表1 代表的なAIロボットカーの処理能力

項目 内容
CAR 1/18スケールのMonster truckタイプのシャーシ
CPU Intel AtomTM Processor
MEMORY 4GB RAM
STORAGE 32GB (expandable)
WI-FI 802.11ac
CAMERA 4 MP camera with MJPEG
SOFTWARE Ubuntu OS 16.04.3 LTS, Intel®OpenVINOTM toolkit, ROS Kinetic
DRIVE BATTERY 7.4V/1100mAh lithium polymer
COMPUTE BATTERY 13600mAh USB-C PD
PORTS 4x USB-A, 1x USB-C, 1x Micro-USB, 1x HDMI
SENSORS 加速度、ジャイロ

AIロボットカーの入手方法と設定方法

Donkey Car(ドンキーカー)は、通販でキットの入手が可能だ。Donkey CarはGoogleが提供している機械学習のためのソフトウェアライブラリ「TensorFlowTM」(テンソルフロー)を小型のCPUボード(ラズベリーパイ)に搭載し、ラジコンカーにカメラを搭載して作られた自動運転車のプラットフォームだ。
http://www.donkeycar.com/
上記サイトは英語だが日本語での構築ガイドがある。Gclue社の佐々木氏が、宇都宮大学院での講義のためにまとめられた情報がわかりやすい。
https://qiita.com/akira-sasaki/items/c29282c281ca274d2691

機械学習を学ぶための環境としてGoogle Colaboratory

TensorFlowの利用用途は増加しているものの、機械学習には非常に大量のGPUパワーを必要とする現状があり、エンジニアの育成も非常に時間とコストがかかる。そこで安価に機械学習を学ぶためにGoogle Colaboratoryをお勧めしたい。機械学習の教育、研究を目的とした研究用ツールで、Python等で書かれたユーザコードの実行環境とログ環境、実行結果の可視化ツールがまとめて提供されている。そして、特筆すべきなのはGoogle ColaboratoryからGPUやTPUが(一部制限はあるが)無料でインタラクティブに利用可能な点だ。あくまでも学習環境としての利用ではあるが、費用がかからず利用ができるのはありがたい。
あえて注意点を挙げるとすると、学習に使うデータはローカルディスクではなくGoogle ドライブTMから取得する必要がある点だ。しかし安心してほしい。前述の資料中にGoogle Colaboratory環境での使用方法もまとめられているため、手順通り進めれば問題なく環境の構築が可能だ。機械学習では大量の学習データを用意する場合があるため、データ容量の制限のないGoogle ドライブ等のクラウドストレージの利用が前提な点はむしろ優れた特性といえる。

AI活用したプログラミングの未来

AIロボットカーにより、機械学習の結果がどのように現実世界で活用できるかが実証可能だ。大量のデータを収集し機械学習する手法や、評価関数に基づいて機械自ら試行して強化学習する手法は、人間がアルゴリズムを利用してコードを書いて問題を解決してきた手法と明らかに異なる。Donkey Carを試すことで、自動運転という複雑な問題を解くのに、機械学習という新たな手法が実用的なのが実感できるのではないだろうか。機械学習を問題解決の手段として用いることは1950年代にデジタル計算機が発明されて以来の最大のパラダイムシフトかもしれない。

参考資料

佐々木氏によるドンキーカーの設定方法
https://qiita.com/akira-sasaki/items/c29282c281ca274d2691

ドンキーカー(英語サイト)
http://www.donkeycar.com/

Edge TPU(英語サイト)
https://cloud.google.com/edge-tpu/

著者紹介

伊藤忠テクノソリューションズ株式会社
流通・EPビジネス企画室
クラウドインテグレーションビジネス推進部

北川 暢夫

Amazon Web Services(AWS)、Google Cloud Platform(GCP)などのパブリッククラウドを使って、マルチクラウド環境を含めたシステム構築を行っている。
以下のパブリッククラウドの認定資格を保有する。
・Google Cloud Certified - Professional Cloud Architect
・AWS Certified Solution Architect - Professional
・Microsoft Certified Solutions Export : Cloud Platform and Infrastructure

※ Google、Google Cloud Platform、GCP および BigQuery は、Google LLC の商標または登録商標です。

記載内容は掲載当時の情報です。最新情報と異なる場合がありますのでご了承ください。