SAMPLE COMPANY

模倣学習による自律走行

研究背景

従来手法
現在主流となっている自律走行はパイプライン型です. パイプライン型とは,移動ロボットの操作量を計算する過程で複数のモジュールを段階的に用いる手法です. この手法は,計算過程を確認することができるため説明性が高い一方で,システムが複雑になる傾向があります. また,各モジュールが自律走行という大きなタスクを認識していないために不必要な計算を行ってしまいます.

End-to-End手法
ニューラルネットワークなどAIや計算マシンの進化によって,近年研究が行われているのがEnd-to-End手法です. End-to-Endとは,「端から端まで」という意味であり1つのモジュールで最終的な出力を行うように学習する手法です. パイプライン型の自律走行よりも単純なシステムで実装でき,1つのモジュールの中で自律走行に必要な計算を行うため運転に不必要な情報を伝播することはありません. 一方で,計算過程はブラックボックス化されており可視化することが難しいため,説明性に乏しい傾向があります. 説明性の向上は,信頼性の向上にもつながるため盛んに研究されています.

模倣学習による自律走行
模倣学習[1]はそんなEnd-to-End手法の一種です. 模倣学習では,人間を1つのモジュールと定義しネットワークが人間の代わりとなるように学習します. 具体的には,まず人間の実演データを収集しデータセットとします.このデータセットでネットワークの学習を行います. 学習後のネットワークは人間を模倣し,代わりに運転を行うことができます. 私の研究はこの模倣学習による自律走行になります.

手法

データセット収集
模倣学習ではまず人間の実演データを収集するデータセット収集を行います. 模倣学習では,人間の実演データのバラエティーの高さが性能に大きく影響するため, ノイズを加えて(操作し辛くして)あえて失敗に近いデータも収集します. 記録するデータは,画像と操作量の組です.この組を学習データセットとします.

深層学習モデルの学習
次に学習データセットを用いて深層学習モデルの学習を行います. 深層学習モデルには画像のみが与えられ,計算を行い操作量を出力します. この出力と学習データセットの人間の操作量との誤差を計算し逆伝播することで学習します. 最終的に,人間を模倣して似た操作量を出力するようになります.

深層学習モデルの走行
学習後の深層学習モデルに実際に自律走行をさせます. 深層学習モデルに画像が連続的に与えられ,各画像ごとに操作量を出力することで移動ロボットを操作します. このように深層学習モデルは人間の運転を模倣して,自律走行を行います.

実験

移動ロボットの製作
実験としてはまず最初に移動ロボットの製作を行います. 人間にとっても運転しやすい移動ロボットを製作することが重要です. 移動ロボットにはJetson nanoが搭載され,操作量の計算や各モジュールへの信号送信を行います. 移動ロボットのシステム図を下記に示します.

ノイズの付与
模倣学習においては,学習データセットの質がとても重要です. 学習データセット内で人間が陥っていない状態に深層学習モデルが陥った場合,人間と同様の反応をするとは限りません. そのため,通常の運転では人間が陥ることのない状態での人間の反応を記録しなければなりません. DART[2]では,ノイズを加え操作をし辛くすることであえて失敗に近い状態での人間の修正行動を記録します. この人間の修正行動を深層学習モデルが学習することで失敗に近い状態からの修正行動を行うことができます. また,ノイズ付加前の値が学習データセットに含まれるため,失敗に近い状態に深層学習モデルが自ら陥るようにすることなく 修正行動のみを学習データセットに追加できます. 本実験では,三角波ノイズ[3]をデータセット収集時に付与しました.


深層学習モデルの設計
次に深層学習モデルの設計を行います.本実験では,単願カメラの画像から操作量を出力するモデルを設計しました. 深層学習モデルの設計において重要なのは,人間と同等の情報を持つようにすることです. 人間は運転をするときに過去の情報にアクセスしながら運転を行います. 一方で深層学習モデルはLSTM層やTransformerを用いなければ,1フレームの画像のみで計算を行います. 本実験では,LSTM層[4]を導入し過去の情報たる時系列情報を用いて運転をできるように設計しました.

結果

自律走行の実行
学習を行い,実際に走行を行った際の映像を最後に示します. 屋外環境のコースにおいて,76.7%で走行に成功しました.



参考文献

[1] A. Hussein, M. M. Gaber, E. Elyan, and C. Jayne: “Imitation Learning: A Survey of Learning Methods”,ACM Comput. Surv.,Vol. 50.2, No. 21,pp. 1–35(2017).
[2] M. Laskey, J. Lee, R. Fox, A. Dragan, and K. Goldberg: “DART: Noise Injection for Robust Imitation Learning,” in Proceedings of the 1st Annual Conference on Robot Learning, pp. 143–156 (2017).
[3] F. Codevilla, M. Müller, A. López, V. Koltun, and A. Dosovitskiy: “End-to-end Driving via Conditional Imitation Learning.” arXiv (2018).
[4] S. Hochreiter and J. Schmidhuber: “Long Short-Term Memory”,Neural Comput.,Vol. 9, No. 8,pp. 1735–1780 (1997).