CVPR'20: 自監督學習-通過輔助推理任務實現高效的視覺語義導航


CVPR'20: 自監督學習-通過輔助推理任務實現高效的視覺語義導航

作者來自將門計算機視覺社群:朱峰達


本文為將門好聲音第40期,也是CVPR 2020系列分享的第·4·期,歡迎廣大群友來投稿!

作者是來自將門計算機視覺社群、蒙納士大學的在讀博士生朱峰達,這次分享的是CVPR 2020 Oral工作:自監督學習——通過輔助推理任務實現高效的視覺語義導航

CVPR'20: 自監督學習-通過輔助推理任務實現高效的視覺語義導航

論文鏈接:

https://arxiv.org/abs/1911.07883

關於作者

朱峰達本科畢業於北航軟件工程系,是蒙納士大學信息技術學院數據科學與人工智能系的博士生,師從蒙納士大學的常曉軍老師和中山大學的梁小丹老師。他的研究興趣在於機器學習中的視覺語言導航和推理任務。


寫在前面


視覺語言導航(Vision Language Navigation)是一個機器學習的新興任務。它的目的是讓一個智能體能夠在真實的3D環境中根據自然語言指令導航至正確的地點。這個任務有很多難點

1. 提取並融合視覺和語言的特徵

2. 學習導航軌跡和房間結構的語義信息

3. 如何在未知的房間中利用已學習的知識進行探索。


傳統的方法主要著重於視覺和語義特徵的提取和融合,並將融合過後的混合特徵通過一個策略網絡生成動作。用這種方式學到的模型只對特徵之間的相似度敏感,而對訓練環境中的隱含信息,比如軌跡的語義和房間的結構沒有直觀認識。

而在這篇文章中,我們用自監督的方法,從環境中挖掘了豐富的隱含信息(比如室內結構圖或者子軌跡的部分語義信息)。它們為我們的模型提供了更豐富的訓練信號。


我們提出了四種不同的輔助推理任務

1. 解釋之前的動作

2. 估計導航的進度

3. 預測語言和軌跡的吻合程度

4. 預測下一步的方向。


我們的實驗證明這四個輔助推理任務可以幫助我們模型導航得更精確、更有效率,並且它們可以使模型在沒有標註的房間裡進行自適應學習。同時,輔助推理任務可以讓模型具有可解釋性。在測試環境中,我們通過模型在輔助任務上的輸出可以更加了解模型的“思考”方式。


一個簡單的例子

CVPR'20: 自監督學習-通過輔助推理任務實現高效的視覺語義導航

如圖所示為一個用自監督輔助任務來訓練導航模型的簡單例子。模型從綠點開始,根據一個自然語言指令走到目標紅點。藍色的點表示模型下一步可以導航到的位置,也就是隱式的室內結構圖。途中每一時刻它都會被要求預測四個輔助任務的結果。輔助任務帶來的額外信息和語義約束可以幫助模型更好地學習這個任務。

方法細節描述


CVPR'20: 自監督學習-通過輔助推理任務實現高效的視覺語義導航


我們提出了一個基於強化學習、監督學習和自監督學習的混合學習框架 (AuxRN) 來完成室內導航任務。

從視覺語言輸入到動作序列預測


首先我們要分別編碼歷史視覺信息和全局語義信息。我們將當前點的全景圖經過一個注意力模塊 Attno 獲得當前點的全景視覺編碼,再經過一個LSTMv 模塊獲得一個歷史軌跡的視覺編碼。該特徵編碼了模型從開始到當前步的歷史軌跡。我們再將自然語言指令經過一個雙向 LSTM 獲得一組語言的特徵編碼。為了將視覺特徵和自然語言特徵對齊,我們將視覺信息和語言信息通過另一個注意力模塊 Attnw。這一步是為了根據最近幾步看到的視覺信息找到對應的自然語言指令的位置,從而獲得確切的子指令。最後我們從導航模擬器中獲取下一步可導航位置,獲取從當前點看向該位置方向的視覺特徵,利用一個注意力模塊 Attnc 輸出分類結果作為下一步要採取的動作。

模型輸出的動作序列使用監督學習和強化學習聯合訓練。監督學習的數據來源於從起點到終點的最短路,而強化學習的獎勵函數來源於當前步比上一步距離目標點縮短的距離。

四種輔助推理任務


在此基礎上,我們提出了四種自監督輔助推理任務來挖掘環境中的隱含信息。

  • 指令重述任務

首先我們希望我們的視覺編碼模塊能夠獲得和自然語言指令相同的語義特徵。同時為了約束模型的訓練過程,讓模型能夠在有限時間內收斂,我們簡化了任務。我們保存每一步的歷史視覺編碼,獲得視覺特徵。我們將自然語言句子通過一個LSTM模塊編碼成一組特徵向量,將語言和視覺特徵通過一個注意力模塊 Attns 融合,再從融合過後的編碼中分離出目標詞向量。

CVPR'20: 自監督學習-通過輔助推理任務實現高效的視覺語義導航

  • 進度預測任務

模型可以通過學習導航的進度來加深導航任務的理解。它能幫助模型更好地對齊視覺和語言特徵。我們改進了之前的工作,用噪音更小的步數代替距離作為導航進度的標籤,用交叉熵 (Binary Cross Entropy) 損失函數代替均方差 (Mean Square Error) 損失函數。

CVPR'20: 自監督學習-通過輔助推理任務實現高效的視覺語義導航


  • 多模態匹配任務

在多模態匹配任務中,我們將自然語言特徵組經過一個均值池化層(在圖中用P表示)獲得一個自然語言特徵向量。我們以0.5的概率用數據集中的另一條不相關的自然語言向量替換這個向量(在圖中用S表示)。最後,我們將這個向量和語言特徵向量連接(在圖中用C表示)通過兩層全連接層和一層Sigmoid 激活層獲得它們匹配的概率

CVPR'20: 自監督學習-通過輔助推理任務實現高效的視覺語義導航

在實現的時候,考慮到訓練的效率,替換這個操作侷限於一個batch內,我們會把0.5概率選中的自然語言向量用同一batch的另一個自然語言向量代替。這個操作可以並行化。

  • 角度預測任務

在一開始我們提到了我們的動作預測是通過一個注意力機制實現的。從導航模擬器中獲取下一步可導航位置的一個候選集。將語言和視覺的融合特徵與候選集的視覺特徵逐一匹配,選擇匹配度最大的那個作為下一步要走的方向。用這種方式學到的模型只對特徵之間的相似度敏感,而對房間結構沒有顯式的感知。我們可以讓模型預測下一步要走的方向來約束模型,使其能夠學到有關房間結構的信息,而這些信息對導航是有幫助的。

CVPR'20: 自監督學習-通過輔助推理任務實現高效的視覺語義導航

最後,我們將這四個輔助任務的損失和主函數的損失加到一起進行訓練

CVPR'20: 自監督學習-通過輔助推理任務實現高效的視覺語義導航

在這裡我們沒有做過多的調參工作,把各損失的權重都設置為1即可。

實驗結果


CVPR'20: 自監督學習-通過輔助推理任務實現高效的視覺語義導航


我們的模型在標準視覺語言導航數據集(R2R)上取得了第一名的成績。

  • Leaderboard的地址:

https://evalai.cloudcv.org/web/challenges/challenge-page/97/leaderboard/270

CVPR'20: 自監督學習-通過輔助推理任務實現高效的視覺語義導航

我們的對比實驗說明了各個輔助任務都會對模型的性能有較大提升。並且它們的聯合訓練會進一步提升模型的性能。


CVPR'20: 自監督學習-通過輔助推理任務實現高效的視覺語義導航

我們可視化了兩個在測試集上的導航軌跡。在序列開始模型會收到自然語言指令的輸入,指示每一步要走的方向和目標物體。每走一步模型都收到一張全景圖作為視覺輸入。紅色箭頭代表模型預測的下一步去往的方向。我們可以看到模型準確地到達了目標位置,並且模型能夠準確預測導航的進度以及軌跡和語言指令的匹配程度。


這裡我們做了一個 demo 分享了更多可視化結果,供大家直觀地瞭解數據集分佈和我們的模型所能達到的效果。


CVPR'20: 自監督學習-通過輔助推理任務實現高效的視覺語義導航

-The End-

將門是一家以專注於發掘、加速及投資技術驅動型創業公司的新型創投機構,旗下涵蓋將門創新服務、將門技術社群以及將門創投基金。將門成立於2015年底,創始團隊由微軟創投在中國的創始團隊原班人馬構建而成,曾為微軟優選和深度孵化了126家創新的技術型創業公司。

將門創新服務專注於使創新的技術落地於真正的應用場景,激活和實現全新的商業價值,服務於行業領先企業和技術創新型創業公司。

將門技術社群專注於幫助技術創新型的創業公司提供來自產、學、研、創領域的核心技術專家的技術分享和學習內容,使創新成為持續的核心競爭力。

將門創投基金專注於投資通過技術創新激活商業場景,實現商業價值的初創企業,關注技術領域包括機器智能、物聯網、自然人機交互、企業計算。在近四年的時間裡,將門創投基金已經投資了包括量化派、碼隆科技、禾賽科技、寬拓科技、杉數科技、迪英加科技等數十傢俱有高成長潛力的技術型創業公司。

如果您是技術領域的初創企業,不僅想獲得投資,還希望獲得一系列持續性、有價值的投後服務,歡迎發送或者推薦項目給我“門”: [email protected]

CVPR'20: 自監督學習-通過輔助推理任務實現高效的視覺語義導航


分享到:


相關文章: