目次
はじめに
先日、下記のような、
非常に力の入った記事を見つけたので、
ゆっくり読みながらTwitterでメモを取ったので、
そのまとめ記事です。
非常に素晴らしい記事なので、
ロボットのソフトウェアをやっている人は一読をおすすめします。
Twitter メモ
全文翻訳しようかなと思ったけど、長すぎるからまたTwitterでちょっとづつメモを取るか。タイトルとしては移動ロボット(自動運転車?)のための機械学習とその構成かな? :On machine learning and structure for <s>driverless cars</s> mobile robots • Markus Wulfmeier https://t.co/OHYBnwaNoL
— Atsushi Sakai (@Atsushi_twi) 2018年3月25日
これまでの自律移動技術は、事前に得られる、ロボットモデルや、周辺環境のモデルに基づき、手動で設計されたものが多い。しかし近年、画像処理や強化学習の技術の進歩により、データからモデルを自動生成することが可能になってきた。
— Atsushi Sakai (@Atsushi_twi) 2018年3月25日
この記事では自律移動技術における機械学習の応用例と、将来の展望、実用的なシステムにおける重要な点について述べる。現在の自律移動において、物体認識などのタスクでは機械学習が広く使われているが、自己位置推定、経路生成、行動決定など多くの部分がルール・事前情報ベースの技術を利用している
— Atsushi Sakai (@Atsushi_twi) 2018年3月25日
自律移動のシステムは、状態認識、位置計測、地図構築、トラッキングと予測、経路生成と追従に分けられる。これからそれぞれの分野における機械学習の応用例について述べる。
— Atsushi Sakai (@Atsushi_twi) 2018年3月25日
認識の分野は、画像分類や、物体認識、深度推定、活動認識などほとんど全ての分野でDLが大きな成功を収めている。カメラだけで無く、LiDARを使ったDLベースの認識も成功している。この分野は自律移動において機械学習が商用的に最も成功を収めているが、商用であるため、情報は公開されないことが多い
— Atsushi Sakai (@Atsushi_twi) 2018年3月25日
次は位置計測、地図構築。相対位置計測では、Visual Odometryにおいて、機械学習ベースよりも、既存の幾何学情報を使った方が今のところ精度が良い。しかし、キャリブレーションやドリフト検知など、既存の幾何学的手法と機械学習を組み合わせる手法は良い結果を出している。
— Atsushi Sakai (@Atsushi_twi) 2018年3月25日
SLAMにおいては、ネズミのニューロン構造を利用したRat SLAMや、単眼カメラのSLAMにおける深度推定にDLを使う方法、そしてSLAMのループのとじこみにDLを使う方法などがある。また画像の特徴量をトラッキングする際に、DLの評価値を利用する方法もある。
— Atsushi Sakai (@Atsushi_twi) 2018年3月25日
トラッキングと予測。トラッキングでは、DataAssociationのステップで、距離情報だけでなく、テクスチャ情報を含めた判断をするのに機械学習が利用される。歩行者トラッキングや自動車や自転車の区別をした精密なトラッキングには機械学習が必須である。
— Atsushi Sakai (@Atsushi_twi) 2018年3月26日
予測においては、一般的に速度一定などのシンプルなモデルが利用されてきたが、機械学習に基づくポテンシャルモデルで移動物体の未来を予測する方法やGaussian Processを使って、未来の軌跡を予測する方法などが提案されている。
— Atsushi Sakai (@Atsushi_twi) 2018年3月26日
経路生成と制御に関しては、教師あり学習と強化学習によるパラメータの学習に機械学習が利用されている。教師あり学習では、人間の振る舞いを教師データにし、強化学習では目標軌跡からのズレなどを評価する。これによりハードウェアの個体差に対応したり、様々な環境に対応することが可能になる。
— Atsushi Sakai (@Atsushi_twi) 2018年3月26日
続いて、機械学習を自律移動に利用する際の懸念について述べる。まず機械学習では学習の成功率を評価することが多いが、自律移動で使う場合は、その失敗の発生確率や、その失敗がどれだけ深刻なものかを評価しなくてはならない。
— Atsushi Sakai (@Atsushi_twi) 2018年3月27日
機械学習ではfalse positiveとfalse negativeは同じように扱われることが多いが、自律移動では深刻度が違うことが重要。またGPのように予測値の不確かさを推定することも、行動決定には重要。近年DLでベイズ的な不確かさを推定する手法や、複数の識別器が互いの出力を監視する手法が提案されている。
— Atsushi Sakai (@Atsushi_twi) 2018年3月27日
二つ目の重要な点は計算リソースである。自律移動で利用できるシステムはメモリやCPUのリソースが限られているため、膨大なパラメータを有するDLはそのまま利用できない場合がある。そのために、NNのpruningや、ハフマン符号などでデータを圧縮する必要がある。
— Atsushi Sakai (@Atsushi_twi) 2018年3月27日
加えて、自律移動に機械学習を利用する場合、複数の、かつ、別の種類のセンサ情報から、機械学習モデルを学習できるようにする必要がある。これにより、センサーの故障に対して対応できるようになる。
— Atsushi Sakai (@Atsushi_twi) 2018年3月28日
また自律移動の場合、様々な環境で、長期間走行することがあるため、非常に大量の教師データが得られる一方、それらを全て人力でアノテーションするのは難しい。従って、representation learningのような、教師なし学習の技術も重要である。
— Atsushi Sakai (@Atsushi_twi) 2018年3月28日
最後にまとめ。機械学習は、既存のモデルベースの手法と組み合わせることで価値が出る。例えば、モデルベースの手法を学習ベースのアルゴリズムで監視することで、安全性を高めたり、冗長性を向上させることができる。これは現状のレベル3以下の自動運転におけるドライバとシステムの関係に似ている。
— Atsushi Sakai (@Atsushi_twi) 2018年3月28日
また、モデルベースの手法の入力データを最適化したり、出力を補正するのにも機械学習は利用することができる。またシステムのハイパーパラメータを機械学習で自動的ににチューニングし、様々な環境で自律移動可能にすることも出来る。
— Atsushi Sakai (@Atsushi_twi) 2018年3月28日
こんな感じかな。長かった。。筆者の自律移動の知識が凄すぎる。著者の言う通り、今後モデルベースと学習ベースのハイブリッドなシステムが重要になるな。認識や、キャリブレーション、パラメータ学習とかには機械学習が必須。これまでモデルベースばかり勉強してたけど、機械学習も勉強しなければ。。
— Atsushi Sakai (@Atsushi_twi) 2018年3月28日
記事内の動画リンク
参考資料
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。