訂閱
糾錯
加入自媒體

Oral: 自監(jiān)督學習-通過輔助推理任務實現(xiàn)高效的視覺語義導航

自監(jiān)督學習——通過輔助推理任務實現(xiàn)高效的視覺語義導航。關于作者朱峰達本科畢業(yè)于北航軟件工程系,是蒙納士大學信息技術學院數(shù)據(jù)科學與人工智能系的博士生,師從蒙納士大學的常曉軍老師和中山大學的梁小丹老師。他的研究興趣在于機器學習中的視覺語言導航和推理任務。

寫在前面:

視覺語言導航(Vision Language Navigation)是一個機器學習的新興任務。它的目的是讓一個智能體能夠在真實的3D環(huán)境中根據(jù)自然語言指令導航至正確的地點。這個任務有很多難點:1. 提取并融合視覺和語言的特征 2. 學習導航軌跡和房間結(jié)構的語義信息 3. 如何在未知的房間中利用已學習的知識進行探索。

傳統(tǒng)的方法主要著重于視覺和語義特征的提取和融合,并將融合過后的混合特征通過一個策略網(wǎng)絡生成動作。用這種方式學到的模型只對特征之間的相似度敏感,而對訓練環(huán)境中的隱含信息,比如軌跡的語義和房間的結(jié)構沒有直觀認識。 而在這篇文章中,我們用自監(jiān)督的方法,從環(huán)境中挖掘了豐富的隱含信息(比如室內(nèi)結(jié)構圖或者子軌跡的部分語義信息)。它們?yōu)槲覀兊哪P吞峁┝烁S富的訓練信號。

我們提出了四種不同的輔助推理任務:1. 解釋之前的動作 2. 估計導航的進度 3. 預測語言和軌跡的吻合程度 4. 預測下一步的方向。

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

一個簡單的例子:

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

我們提出了一個基于強化學習、監(jiān)督學習和自監(jiān)督學習的混合學習框架 (AuxRN) 來完成室內(nèi)導航任務。 從視覺語言輸入到動作序列預測。

首先我們要分別編碼歷史視覺信息和全局語義信息。我們將當前點的全景圖經(jīng)過一個注意力模塊 Attno 獲得當前點的全景視覺編碼,再經(jīng)過一個LSTMv 模塊獲得一個歷史軌跡的視覺編碼。該特征編碼了模型從開始到當前步的歷史軌跡。我們再將自然語言指令經(jīng)過一個雙向 LSTM 獲得一組語言的特征編碼。為了將視覺特征和自然語言特征對齊,我們將視覺信息和語言信息通過另一個注意力模塊 Attnw。這一步是為了根據(jù)最近幾步看到的視覺信息找到對應的自然語言指令的位置,從而獲得確切的子指令。最后我們從導航模擬器中獲取下一步可導航位置,獲取從當前點看向該位置方向的視覺特征,利用一個注意力模塊 Attnc 輸出分類結(jié)果作為下一步要采取的動作。 模型輸出的動作序列使用監(jiān)督學習和強化學習聯(lián)合訓練。監(jiān)督學習的數(shù)據(jù)來源于從起點到終點的最短路,而強化學習的獎勵函數(shù)來源于當前步比上一步距離目標點縮短的距離。 

四種輔助推理任務:

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

指令重述任務

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

進度預測任務

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

多模態(tài)匹配任務

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

在實現(xiàn)的時候,考慮到訓練的效率,替換這個操作局限于一個batch內(nèi),我們會把0.5概率選中的自然語言向量用同一batch的另一個自然語言向量代替。這個操作可以并行化。

角度預測任務

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

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

在這里我們沒有做過多的調(diào)參工作,把各損失的權重都設置為1即可。 實驗結(jié)果

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

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

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

這里我們做了一個 demo 分享了更多可視化結(jié)果,供大家直觀地了解數(shù)據(jù)集分布和我們的模型所能達到的效果。

聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關注公眾號
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯
    x
    *文字標題:
    *糾錯內(nèi)容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網(wǎng)安備 44030502002758號