大多數可視化問答(VQA)模型都是從語言先驗問題出發的,而語言先驗問題是由固有的數據誤差引發的。具體來講,vqa模型傾向於基於忽略圖像內容的高頻應答(例如黃色)來回答問題(例如,香蕉是什麼顏色的?)。現有的方法經過建立精細的模型或引入額外的視覺註釋來解決這個問題,以減小問題依賴性,同時加強圖像依賴性。然而,因爲數據誤差甚至沒有獲得緩解,他們仍然受到語言優先問題的影響。本文提出了一種自監督學習框架來解決這一問題。具體地說,咱們首先自動生成標記數據來平衡有偏數據,而後提出了一個自我監督的輔助任務來利用平衡數據做爲基礎VQA模型來克服語言先驗知識。咱們的方法能夠經過生成平衡的數據而不引入外部註釋來補償數據庫。實驗結果代表,在最經常使用的VQA-CP v2基準上,該方法的整體精度從49.50%提升到57.59%,顯著優於現有的方法。換句話說,咱們能夠在不使用外部註釋的狀況下將基於註釋的方法的性能提升16%。數據庫
視覺問答(VQA)做爲完整的人工智能的任務愈來愈受到關注,其目標是根據圖像自動回答天然語言問題。VQA的範式[Antolet al., 2015; Yanget al.,2016 年;Andersonet al.,2018 年; Kimet al., 2018]是將圖像和問題投影到一個公共特徵空間中,而後將它們融合爲一個聯合向量進行預測。最近,一些研究人員[Agrawalet al., 2018; Goyalet al., 2017]已經證實大多數現有的 VQA 模型都受到了從語言先驗問題的影響,忽略圖像內容。 例如,「草是什麼顏色的?」這個問題,不管給出什麼圖像,通常均可以用「綠色」來回答,由於數據集中大部分對應的答案都是「綠色」。 所以,記憶語言先驗的模型在域外數據集上表現不佳。網絡
現有的語言先驗緩解方法側重於減小問題依賴性,同時增長圖像依賴性,大體能夠分爲非基於註釋的方法和基於註釋的方法。對於非基於註釋的方法,研究人員大多設計具備不一樣特徵的精細模型、 策略。 例如,[Ramakrishnanet al., 2018] 提出了一種對抗性學習策略,經過最小化僅問題分支對抗性的表現來克服語言先驗。 Rubi[Cadeneet al., 2019]經過動態調整權重減小了最大誤差實例的影響並增長了最小誤差實例的影響。基於註釋的方法試圖經過引入外部視覺監督來直接增長圖像依賴性 .[Selvarajuet al., 2019]使用人類注意力圖來確保模型注意力和人類注意力之間的對齊。[Wu and Mooney, 2019]保持正確答案和人類解釋註釋的有影響力的對象的一致性。 一般,基於註釋的方法能夠得到比非基於註釋的方法更好的性能,由於它們能夠在視覺監督的指導下更好地理解圖像。 儘管如此,這些方法須要大規模的視覺註釋,這些註釋不容易得到。架構
然而,固有的數據誤差沒有被消除,而上述方法只是在必定程度上削弱了它們的不利影響,所以產生的效果表現並不理想。固有的數據誤差將不可避免地迫使 VQA 模型傾向於具備更高置信度的高頻答案,最終引發語言先驗問題。 所以,解決固有的數據誤差相當重要,即將有誤差的數據轉換爲平衡數據而不引入外部註釋。框架
爲此,咱們爲 VQA 提出了一種自監督學習框架,以自動平衡有偏見的數據以克服語言先驗問題。咱們的方法受到一個有趣且直觀的發現的啓發。 如圖所示,只有當給定的圖像包含回答問題的關鍵信息時,才能回答問題。 咱們將這樣的問題-圖像對定義爲相關的,不然是不相關的。基於以上觀察,有必要在回答問題以前估計給定的問題和圖像是否相關。爲此,咱們引入了一個名爲問題-圖像相關性估計的輔助任務來估計問題和圖像之間的相關性。具體來講,咱們首先自動生成一組帶有二元標籤(相關和不相關)的平衡問題-圖像對,而後輸入自監督輔助任務,以幫助 VQA 模型克服語言先驗。咱們經過提供相關和不相關的對,將輔助任務合併到基礎 VQA 模型中。 當輸入相關的問題-圖像對時,鼓勵VQA模型以高置信度預測正確答案,其中置信度得分是問題-圖像對相關的機率。相反,當輸入對不相關時,VQA模型被推到低置信度的狀況下預測正確答案。此外,不相關對的置信度得分能夠做爲衡量語言先驗的指標,避免過分擬合,經過同時優化這兩個目標,咱們能夠在回答問題和克服語言先驗之間取得平衡。所以,咱們的方法也能夠解釋爲一個潛在的多任務學習框架。函數
總而言之,咱們的貢獻以下:性能
咱們經過將固有偏見數據自動轉換爲平衡數據來引入自監督框架,並提出一個輔助任務來利用這種平衡數據從根本上克服語言先驗。 據咱們所知,這是第一個在該領域使用自監督學習的做品。在流行的基準 VQA-CP v2 上進行了大量實驗。 實驗結果代表,咱們的方法在不使用外部註釋的狀況下能夠顯着優於最早進的方法,包括使用人工監督的模型。 咱們將總體準確率從 49.50% 提升到 57.59%學習
視覺問答(VQA)旨在根據圖像回答問題,涉及天然語言處理和計算機視覺的技術[Liuet al., 2016; Parkhiet 等人,2015 年; Conneau等人,2016 年; Liu等人,2018 年]。現有的 VQA 方法能夠粗略地分爲四類:1) 聯合嵌入方法 [Antolet al., 2015] 首先將圖像和問題投影到一個公共特徵空間中,而後經過分類器將它們組合起來預測答案。 2)基於注意力的方法[Andersonet al., 2018]主要側重於學習問題詞和圖像區域之間的相互做用,使回答過程更具可解釋性。 3) 組合模型[Andreaset al., 2016]利用問題的組合結構來組裝在注意力空間中運行的模塊。 4) 基於知識的方法 [Wuet al., 2016] 被提議經過利用外部知識來回答常識問題。測試
然而,現有模型傾向於在訓練過程當中記憶語言先驗而不考慮圖像信息。這種模型可能會在與訓練集共享相同分佈的測試集上取得意想不到的使人印象深入的結果,但在域外測試集上每每表現不佳優化
現有的旨在克服語言先驗的方法能夠粗略地分爲非基於註釋的方法和基於註釋的方法。 非基於註釋的方法專一於建立精細模型以減小問題依賴性,而基於註釋的方法則專一於經過引入額外的人類視覺監督來增強視覺基礎。編碼
對於非基於註釋的方法,[Agrawalet al.,2018] 提出了一個手工設計的 VQA 框架,該框架將不一樣問題類型的視覺識別與答案空間預測有效分離。 一樣,[Jinget al.,2020]也將概念發現和問答解耦。 除了縮小答案空間以外,[Ramakr-ishnanet al., 2018]提出了一種對抗性學習策略,經過對抗性地最小化僅問題分支的性能。[Guoet al., 2019]採用了成對排序模式,強制僅問題 分支作出比基本模型更糟糕的預測。 Rubi [Cadeneet al., 2019] 經過僅問題分支學習的先驗掩碼動態調整訓練實例的權重,減小最偏向實例的影響並增長偏向較少實例的影響。 [?] 提出了一種神經網絡 -符號模型將符號程序執行器歸入DNN進行視覺推理,與上述模型不一樣,也能夠解決誤差問題。 [?]將神經符號模型與課程概念學習相結合,使其更具泛化性。
除此以外,經過在外部視覺監督的指導下突出重要的視覺區域,基於註釋的方法被證實是有效的。 提示 [Selvarajuetal., 2019] 經過優化人類注意力圖和基於梯度的視覺重要性之間的對齊來增長圖像依賴性。 SCR[Wu and Mooney, 2019] 也強調了正確答案與人類文本解釋標註的有影響的對象之間的對應關係。然而,這些模型嚴重依賴於人類的監督,這並不老是能夠訪問的。
除此以外,經過在外部視覺監督的指導下突出重要的視覺區域,基於註釋的方法被證實是有效的。[Selvarajuetal., 2019] 經過優化人類注意力圖和基於梯度的視覺重要性之間的對齊來增長圖像依賴性。 SCR[Wu and Mooney, 2019] 也強調了正確答案與人類文本解釋標註的有影響的對象之間的對應關係。然而,這些模型嚴重依賴於人類的監督,這並不老是能夠辦到的。
與全部這些方法不一樣,咱們的自監督方法不須要構建複雜的架構或引入外部監督。咱們首先平衡原始的誤差數據經過自動生成平衡標籤,克服了基於平衡數據的語言先驗知識,並以自監督的方式輔助任務。
自監督學習從輸入數據中自動計算出一些監督信號,並有效地利用輸入自己來學習一些下游任務的高級表示。 例如,[Gidarisetal., 2018] 提出將圖像隨機旋轉四個可能的角度之一,讓模型預測該旋轉。除了嘗試預測旋轉以外,還能夠嘗試恢復部分數據,例如圖像補全 [Pathaket al., 2016]。 在本文中,咱們利用自監督學習進行問題圖像相關性估計做爲輔助任務來幫助 VQA 模型克服語言先驗。 咱們隨機改變原始相關問題-圖像對中的圖像,而後讓模型預測其相關性。
咱們方法的框架如圖所示。接下來,咱們將詳細描述它是如何工做的。
咱們的自我監督方法的框架。 (a) 部分描述了基本 VQA 模型,其目的是根據圖像回答問題。 (b) 顯示咱們如何自動生成平衡的問題-圖像對。 更清楚地說,(c) 顯示了問題-圖像相關性估計如何分別對相關和不相關對起做用。 G-T 表示基本事實。
VQA 的目的是根據圖像自動回答文本問題。具體來講,給予一個包含N個數據的VQA的數據集\(D=\{I_i,Q_i,A_i\}_{i=1}^N\),其中\(I_i\in I,Q_i\in Q\)分別是第i個數據的圖像和問題。\(A_i\in A\)做爲答案。VQA的模型指向去學習一個映射函數\(F:I\times Q \rightarrow R^A\)去預測答案的精確分佈。它一般由三部分組成:提取圖像和問題的特徵,融合它們以得到聯合多模態表示,以及預測答案空間的分佈。所以咱們能夠將第\(i\)個圖像和爲題的答案預測寫爲\(F(A|I_i,Q_i)\)。幾乎全部現有的 VQA 模型[Yanget al., 2016; Kimet al., 2018; Andersonet al., 2018]遵循這個範式,它們的參數一般經過最小化交叉熵損失方程或多標籤軟損失方程來優化。
答案預測:
最小化交叉熵損失方程:
多標籤軟損失方程:
其中\(\sigma (\cdot)\)表示sigmoid函數,\(t_i\)是第\(i\)個樣本的每一個答案的軟注意力,表示爲\(t_i=\frac{number of votes}{n}\),其中\(n\)表示爲第\(i\)問題的有效答案數量,\(number of votes\)是人類爲該問題註釋的每一個答案的數量。
記憶語言先驗的VQA模型傾向於直接忽略圖像進行預測。理想狀況下,一個問題只有在給定的圖像包含與之相關的信息時才能獲得回答。所以,要求VQA模型在回答特定問題以前判斷給定的圖像是否能夠做爲參考是很是重要的,這一點幾乎被以往全部的工做所忽略,由於現有的測試中全部的問題圖像對都是正確匹配的。咱們說明,這種評估對於減輕VQA中的語言先驗性是必要的,由於它會迫使模型引用圖像內容,而不是盲目地回答。爲此,咱們提出了一個輔助任務,稱爲問題圖像相關估計(QICE),一個二分類任務,在回答問題以前預測問題圖像對是否相關。在本文中,咱們定義了相關的問題-圖像對,由於圖像能夠用來回答具備特定答案的問題。
咱們首先從原始數據集自動生成一組帶標籤的問題-圖像對,而不須要人爲註釋,用於輔助任務,如圖2(b)所示。具體地說,訓練集中的每一個問題圖像對\((Q,I)\)都被視爲標籤\(c=1\)的相關對,由於在數據集中有這一對的答案。而後對每一對相關的\((Q,I)\),咱們從圖像集中隨機選擇圖像來替換原始圖像。經過這種方法,咱們能夠獲得另外一個問題圖像對\((Q,I')\),該圖像對爲相關的機率很是小,所以咱們使用標籤\(c=0\)表示不相關。所以,咱們能夠獲得一個平衡的問題-圖像對匹配數據集,其中相關對的數目與不相關對的數目相等。注意,平衡數據的構造不須要任何人工註釋。
利用生成的均衡數據,經過優化交叉熵損失,訓練QICE模型預測每一個問題圖像對的相關標籤。
\(L_{self}\)能夠解釋爲一種自我監督的訓練損失,它只利用咱們生成的數據的標籤監督。目標函數保證了QICE模型對問題和圖像內容的理解,由於每一個Q對應於平衡的相關和不相關的立場,不依賴任何語言先驗。在下一小節中,咱們將討論如何利用輔助任務QICE和平衡數據來幫助VQA模型在統一的框架中消除語言偏見。
在本節中,咱們提出了一個統一的VQA框架,能夠在訓練期間同時回答問題和估計問題-圖像相關性。顯然,上面定義的QICE任務能夠與VQA共享相同的網絡結構,由於它們具備徹底相同的輸入和類似的輸出:它們都以問題-圖像對\((I,Q)\)爲輸入,VQA預測答案空間上的分佈,而QIC在特定答案上產生一個二進制標籤。這種特性促使咱們在統一的VQA框架中同時解決這兩個任務,如方法的框架圖所示。
對於圖(a)中描述的VQA模型。取相關的問題圖像對\((Q,I)\)做爲輸入,預測其答案的分佈\(F(A|Q,I)\),能夠經過最小化VQA損失\(L_{vqa_{ce}}\)或者是\(L_{vqa_{ml}}\)來訓練。這個目標函數教導模型學習回答問題的能力。對於圖(c)所示的QICE,給定與特定答案相對應的圖像對\((I,Q)\),VQA模型的預測機率\(P(A|Q,I)\)能夠視做爲二者相關的置信度,機率越大,匹配度越高。所以\(L_{self}\)可以被重寫爲:
該模型要求對問題-圖像相關估計任務作出正確的二值預測,由於每一個問題都有等量的相關和不相關的圖像配對,從而使模型更好地理解圖像。更具體地說,\(L_{self}\)項旨在最大限度地提升問題-圖像對的可信度,這與VQA任務的目標一致,VQA任務的目標是以高可信度對地面真實狀況進行預測。
最重要的是,\(L_{self}\)的第二項被設計爲最小化相關對的置信度,正好能夠知足語言先驗知識的約簡。直觀地說,VQA模型的問題依賴性能夠經過給定不相關圖像時正確回答問題的可信度來衡量。置信度越大,依賴性越強。最小化相關的不相關對的可信度能夠明確地防止VQA模型被語言先驗的過分驅動,這裏咱們稱之爲問題依賴損失\(L_{qd}\):
咱們省略了\(c_i\)由於\(L_{qd}\)支隊無關的問題圖像對\((Q,I')\)有效。數學上,最小化\(-log(1-P(A|Q,I'))\)等同於最小化\(P(A|Q,I')\)。實驗上,訓練過程當中最小化\(P(A|Q,I')\)比最小化\(-log(1-P(A|Q,I'))\)更穩定。這是由於\(P(A|Q,I')\) 的梯度比\(-log(1-P(A|Q,I'))\)更加穩定。所以損失函數\(L_{qd}\)更新爲以下:
所以,QICE任務能夠天然地看做是一種潛在的的多任務學習,它包含兩個任務:原始VQA任務和語言先驗約簡任務。咱們能夠將\(L_{self}\)從新組織以下
其中\(L_{vqa}\)能夠是任何的VQA損失函數\(L_{vqa_{ce}}\)或者\(L_{vqa_{ml}}\)而後\(\alpha\)是一個超參數。很明顯,\(L_{self}\)能夠被看做是一種廣泛的VQA損失,當\(\alpha=0\)時,它將退化爲\(L_{vqa}\),這意味着問題依賴損失\(L_{qd}\)實際上起到了正則化的做用,阻止了VQA模型記憶語言的先驗知識,迫使它更好地理解圖像。所以,\(L_{self}\)在控制回答問題和減小語言優先級之間的平衡方面提供了靈活性。此外,咱們不須要顯式地優化模型,就能夠熟練地估計問題圖像對的相關性,咱們只須要使用它的平衡監督來補償VQA中的誤差和咱們的自我監督損失,咱們的方法能夠在不使用外部監督的狀況下,以一種自我監督的方式減小語言先驗知識。
咱們的方法基於最經常使用的基準VQA-CP v2[Agrawalet al.,2018],使用標準評估指標[Antolet al.,2015]進行評估。VQA-CPv2數據集源自VQA v2[Goyalet al.,2017],經過從新組織訓練和驗證拆分,訓練集和測試集中的QA對具備不一樣的分佈。所以,它適合於評估模型的可推廣性,咱們也在包含強誤差的vqav2數據集上評估了咱們的模型,並報告了其驗證結果。
咱們的方法與幾種方法進行了比較,包括(1)基於非註釋的方法:UpDn[Ander sonet et al.,2018]、AdvReg[Ramakrishnanet al.,2018]、Rubi[Anderson et al.,2018]和DLR[Jinget al.,2020](2) 基於註釋的方法:HINT[Selvarajuet al.,2019]和SCR(最佳執行方法)[Wu和Mooney,2019]。
咱們的方法是模型不可知的,能夠很好地應用於不一樣的VQA模型。在本文中,咱們主要評估咱們基於UpDn的方法[Anderson等人,2018],並在分類器以前添加一個批處理規範化層。按照基線,咱們使用預先訓練的Faster R-CNN來提取圖像特徵。對於每幅圖像,它被編碼爲一組36個具備2048維特徵向量的對象,全部問題被填充到相同的長度14。對於每一個問題,單詞被300維手套嵌入初始化,而後輸入GRU,獲得一個1280維的句子級表示。
咱們用12個epochs的VQA損失對模型進行預訓練,並用20個epochs的自監督損失對模型進行微調,批量大小爲256,從小批量中隨機選擇不相關的圖像。採用Adam優化器,初始學習率爲0.001,10個週期後每5個週期減半一次。在咱們的主要實驗中,咱們用不一樣的VQA損失來評估咱們的方法,多標籤VQA損失設置α=3,交叉熵VQA損失設置α=1.2。本文的其餘實驗都是基於α=3的多標籤VQA損失,下一小節還討論了超參數α的設置。
咱們的方法分別基於兩個VQA損失(交叉熵損失和多標籤損失)進行了測試。爲了消除隨機抽樣策略的隨機性,咱們在測試集上報告了10個實驗的平均分數。從下表的結果能夠看出:(1)咱們的方法不只能夠提升基線UpDn的總體性能(交叉熵損失爲+14.35%,多標籤損失爲+16.06%),並且顯著優於性能最好的方法SCR(交叉熵損失爲+3.13%,多標籤損失爲+8.09%)(2) 基於這兩個VQA損失的改進都是顯著的。一般,使用多標籤損失能夠得到更好的性能,由於它與評估方法一致,並考慮了多個可行的答案,這代表更具廣泛性(3)不管VQA的損失使用什麼咱們能夠在「是/否」問題類型上得到極高的準確率(87.75%和86.53%),這代表咱們的策略確實可以有效地克服語言先驗知識,由於這些簡單問題中更可能存在偏見(4) 對於最難的「Num」問題,咱們也能夠獲得使人驚訝的改進,這有力地說明咱們的方法能夠共同理解圖像和問題,並有效地進行推理。
爲了進一步證實這種方法的優越性,咱們對原始訓練集隨機抽取不一樣數量的訓練數據進行了一系列實驗。全部的實驗都在標準測試集上進行了測試,結果以下表所示。咱們發現咱們的方法比基線UpDn的平均精度提升了+16.6%。最重要的是,即便有20%的訓練數據,咱們的方法也能夠大大超過在整個訓練集中由外部監督訓練的最佳表現方法。咱們相信,這是由於咱們的方法能夠在正則化器的幫助下有效地撬動平衡數據,更可能表現出極大的廣泛性。
咱們還基於另外兩個VQA模型進行了實驗:SAN[Yanget al.,2016]和BAN[Kimet al.,2018]。結果以下表所示,咱們能夠觀察到不一樣基線的改進都是顯著的和一致的,這代表咱們的方法是模型不可知的。
咱們還對包含強語言誤差的VQA v2數據集進行了評估。咱們對模型進行6個epochs的VQA損失預訓練,而後對其進行10個epoches的微調。結果如表4所示。咱們的方法在VQA v2 val上得到了精度改進,而其餘方法可能會致使降低。這背後的緣由是咱們的自我監督損失可以在回答問題和消除語言先驗之間取得平衡。
爲了研究在回答問題和克服語言先驗之間進行權衡的超參數\(\alpha\)的影響,咱們在不一樣的\(\alpha\)設置下進行了普遍的實驗。因爲篇幅的限制,本文只分析了使用多標籤VQA損失的狀況,以下圖所示。當\(\alpha=3\)時,模型的性能更高。並且,一個大的α可能會致使模型在幾個時期後崩潰,而一個小的\(\alpha\)則會致使性能不理想。
咱們定量地評估了咱們方法的有效性。以下圖所示,咱們的方法能夠正確地回答問題,並將重點放在正確的區域。例如,在回答「這是職業遊戲嗎?」這一問題時,咱們的方法能夠更多地關注男人衣服上的人物,這多是判斷遊戲是否職業的重要視覺線索。
本文提出了一種新的自監督學習框架來克服VQA中的語言先驗問題。基於一個模型無關輔助任務,該框架可以有效地利用自動生成的平衡數據來減輕數據集誤差的影響。實驗結果代表,該方法在回答問題和克服語言先驗知識之間取得了平衡,取得了較好的總體學習效果,在最經常使用的VQA-cpv2標準上取得了新的水平,咱們相信,咱們的工做能夠成爲現實的VQA和解決語言誤差問題的一個有意義的步驟,而且這種自我監督能夠推廣到其餘受固有數據誤差影響的任務(例如,image caption)。