自動運転におけるmulti-task learningとCLIP

2022/12/19に公開

はじめに

こんにちは,はじめまして.Shinと申します.知的に振る舞う自動運転システムのための機械学習,そしてその(現状における)限界,限界を打破する技術について興味を持っています.今回は,自動運転におけるマルチタスク学習の難しさについて述べたEffective Adaptation in Multi-Task Co-Training for Unified Autonomous Driving(NeurIPS 2022)を読んでいきたいと思います.
この論文は,semantic segmentation, drivable area segmentation, traffic object
detectionという3つのタスクを解くために従来のpre-trainingやfine-tuningを用いると,アーキテクチャやハイパラが特定の目的関数に特化したものになっているため,性能低下が起こってしまう,という問題に取り組んでいます.そしてその解決手段として,基盤モデルの一種である,CLIP(ICML2021)が用いられています.

自動運転におけるmulti-task learning

まず,自動運転におけるmulti-task learningについて説明していきます.以下の画像は論文中のfig.1として添付されている画像になります.論文では,inputである(a)の画像に対し,(b)Object Detection, (c)Sementic segmentation, (d)Drivable area segmentationをそれぞれ行う3つのタスクを対象としています.また,自動運転車が周囲を認識するセンサには様々ありますが,この論文ではカメラ画像による認識タスクを対象としています.

自動運転車がカメラを通して周囲を認識する,という時,まず周囲にいる車や歩行者の場所,大きさ,角度といった情報を取得しなければなりません(Object Detection).加えて,周囲に存在している建築物やボラードといった障害物を把握し(Sementic segmentation),走行エリアを同定する(Drivable area segmentation)必要があります.このように,自動運転を実現したい,という場合,複数のタスクを同時に解かなければならない状況は往々にして発生します.これらのタスクを行うモデルを一つ一つ学習し,それぞれのモデルから得られた結果を統合するということももちろんできます.しかし,この場合,複数のタスク間の知識を伝搬するということはできなくなり,Joint learningにより得られるrobustnessを失ってしまうことになります.そのため,この論文では,同時に複数の,自動運転に関係する認識タスクを学習・推論することを目指しています.

pretrain-finetune paradigmとその課題

multi-task learningを行う場合,よく使われるのが,pre-trainingにより汎化性能の高い表現を学習し,それぞれのtaskに適したデータでheadをfine-tuningするという手法です.pre-trainingには様々な手法が存在しており,この論文では,以下のような分類をしています.

classification-oriented detection-oriented segmentation-oriented
MoCo, SimCLR DetCo DenseCL

これらに加えて,Vision-Language modelであるCLIPのimage encoderのみを,pre-trained modelとして用いています.これらの,事前学習手法・事前学習済みモデルをfine-tuningした結果が,論文におけるTable 2.(以下の表)の白い行に示されています.

特定のpre-training手法においては,性能があまり高くないという結果になっています(たとえばsemantic segmentation taskにおけるMoCoなど).論文の著者らは,これは,手法が特定のタスクに特化してしまっているために起こる,pre-trainingとfine-tuningの間のmisalignmentによるものだと分析しています.

問題設定: heterogeneous multi-task learning on partially labeled data (HMPL)

上記の事象を踏まえて,multi-task learningには2つの困難が考えられます.1つ目は,上述のように,特定のタイプのタスクやアーキテクチャに対して特化したpre-trainingテクニックは汎化性能が低くなってしまうということです.2つ目は,fine-tuningのために必要なannotated dataを,複数のタスクそれぞれで準備するのは非常にコストがかかるということです.たとえば,drivable area segmentationと,semantic segmentationでは,アノテーションの粒度,コストが異なります.そのため,一つのデータセットの中にも,drivable area segmentationについては2万フレームにアノテーションがついている一方で,semantic segmentationについては7000フレームしかアノテーションがない,という状況は往々にして起こりえます.全てのデータに対してそれぞれのタスクのためのアノテーションをつけていくことができればいいのですが,これは非常にコストがかかってしまい,実現は難しいです(そして自動運転の業界では,まだまだ十分な大きさのmulti-task labeled datasetが少ないというのが現状です).この論文では,これらの課題に取り組むため,heterogeneous multi-task learning on partially labeled data (HMPL)という問題を設定しています.これは,複数のタスクを,それぞれのタスクについて部分的にアノテーションがついた状況下で学習するというものです.この記事では,2つの困難のうち,1つ目についての解決策について深堀していきます.partially labeledの部分についても,現実にありがちなシチュエーションを想定していろいろな実験を行っている様子が論文のappendix.AやTable 3.に述べられているので,興味のある方は読んでみてください.

Language-to-Vison Adapter

上述のように,特定のタイプのタスクやアーキテクチャに対して特化したpre-trainingテクニックにおいては,十分な汎化性能が得られないという課題が存在しています.この課題の解決策が,Language-to-Vison Adapterと呼ばれる,CLIPベースのモジュールです.このadaptationモジュールを使って,性能低下の影響を抑える学習方法を,論文内では,pretrain-adapt-finetune paradigmと読んでいます.以下の画像のLV-Adapterが該当のモジュールになります.

論文の筆者らは,「NLPにおけるprompt-basedの学習において,大量のテキストで事前学習したモデルが,promptによって新たなタスクに効率的に適用できる」ことにインスパイアされて,このpretrain-adapt-finetune paradigmを提案したと述べています.今回の問題設定においては,CLIPの事前学習モデルを,様々なタスクに適用可能なAdapterとして用いています.このCLIPベースのLV-Adapterを用いた場合の性能が,Table 2.におけるオレンジ色の行に示されており,このモジュールを含むモデルにおいては様々なタスクにおける精度が安定して高い値となっていることがわかります.そもそも基盤モデルは,大規模なデータで学習することにより様々なタスクに(しばしばゼロショットで)汎化できることが報告されています.よって,こうしたmulti-taskの問題設定において,元々downstream taskに対してあまり高い性能を出せていなかったpre-training手法を用いていた場合でも,CLIPベースのAdapterがうまく「つなぎ」となってくれて高い性能を引き出すことができるのかもしれません.

まとめ

multi-taskな問題設定において,pre-trainingの手法に特化せず,性能向上を実現できるモデルが,基盤モデルであるCLIPベースのAdapterによって実現できる,という主張がこの論文ではなされています.一概に,CLIPを使えばなんでもうまく行くのだ,と言ってしまうことは難しいと思いますが,少しの学習で様々なタスクに適用可能という基盤モデルの特徴を踏まえると,複数のheadを接続したAdapterとしてCLIPを用いると性能向上が見られるというのは面白いと思います.今後,自動運転において,複数のタスクを解くことが求められるようになれば,基盤モデルがそのアーキテクチャの中核に据えられる可能性は十分にあると思います.

今回はざっくりと,multi-taskにおける課題の一つを,基盤モデルにより解決することを目指す論文を読んでみました.もう少し時間ができたら詳細なサーベイを進めたいと思います.

引用文献

[1] Xiwen Liang, Yangxin Wu, Jianhua Han, Hang Xu, Chunjing Xu, Xiaodan Liang. Effective Adaptation in Multi-Task Co-Training for Unified Autonomous Driving.
[2] A. Radford, J. W. Kim, C. Hallacy, A. Ramesh, G. Goh, S. Agarwal, G. Sastry, A. Askell, P. Mishkin, J. Clark, G. Krueger, and I. Sutskever. Learning transferable visual models from natural language supervision.
[3] K. He, H. Fan, Y. Wu, S. Xie, and R. Girshick. Momentum contrast for unsupervised visual representation learning.
[4] T. Chen, S. Kornblith, M. Norouzi, and G. Hinton. A simple framework for contrastive learning of visual representations.
[5] E. Xie, J. Ding, W. Wang, X. Zhan, H. Xu, Z. Li, and P. Luo. Detco: Unsupervised contrastive learning for object detection.
[6] X. Wang, R. Zhang, C. Shen, T. Kong, and L. Li. Dense contrastive learning for self-supervised visual pre-training.

Discussion