Visual Question Answering: Datasets, Algorithms, and Future Challenges文章翻譯

Abstract

視覺問答(VQA)是計算機視覺和自然語言處理領域的一個新問題,引起了深度學習、計算機視覺和自然語言處理領域的極大興趣。在VQA,一種算法需要回答基於文本的圖像問題。自2014年第一個VQA數據集發佈以來,已經發布了更多數據集,並提出了許多算法。在這篇綜述中,我們從問題表述、現有數據集、評估指標和算法等方面批判性地考察了VQA的現狀。特別是,我們討論了當前數據集在正確訓練和評估VQA算法方面的侷限性。然後我們詳盡地回顧現有的VQA算法。最後,我們討論了VQA和圖像理解研究未來可能的方向。

1 Introduction

計算機視覺和深度學習研究的最新進展使許多計算機視覺任務取得了巨大進展,如圖像分類[1,2),物體檢測[3,4],和活動識別[5,6,7]。給定足夠的數據,深度卷積神經網絡可以與人類進行圖像分類的能力相媲美[2]。由於衆包,帶註釋的數據集在規模上迅速增加,類似的結果也可以預期用於其他聚焦的計算機視覺問題。然而,這些問題範圍狹窄,不需要對圖像的整體理解。作爲人類,我們可以識別圖像中的物體,理解這些物體的空間位置,推斷它們的屬性和彼此的關係,並且在給定周圍環境的情況下推斷每個物體的用途。我們可以對圖像隨意提問,也可以交流從圖像中收集的信息。

直到最近,開發一種能夠回答關於圖像的任意自然語言問題的計算機視覺系統一直被認爲是一個雄心勃勃但棘手的目標。然而,自2014年以來,在開發具有這些能力的系統方面取得了巨大進展。視覺問答(VQA)是一項計算機視覺任務,系統被給予一個關於圖像的基於文本的問題,並且它必須推斷出答案。問題可以是任意的,它們包含計算機視覺中的許多子問題,例如,

  • 物體識別——圖像中有什麼?
  • 物體探測——圖像中有貓嗎?
  • 屬性分類——貓是什麼顏色?
  • 場景分類——天氣晴朗嗎?
  • 計數-圖像中有多少隻貓?

除此之外,還有許多更復雜的問題可以問,比如物體之間的空間關係(貓和沙發之間是什麼?)和常識推理問題(爲什麼女孩在哭?)。一個強大的VQA系統必須能夠解決大範圍的經典計算機視覺任務,並且需要對圖像進行推理的能力。

VQA有許多潛在的應用。最直接的方法是幫助盲人和視障人士,使他們能夠在網上和現實世界中獲得圖像信息。例如,當盲人用戶滾動他們的社交媒體時,字幕系統可以描述圖像,然後用戶可以使用VQA來查詢圖像以獲得關於場景的更多見解。更一般地說,VQA可以用來改善人機交互,作爲查詢視覺內容的一種自然方式。VQA系統也可以用於圖像檢索,而不使用圖像元數據或標籤。例如,爲了找到在雨天拍攝的所有圖像,我們可以簡單地問“下雨了嗎?”數據集中的所有圖像。除了應用,VQA是一個重要的基礎研究問題。因爲一個好的VQA系統必須能夠解決許多計算機視覺問題,它可以被認爲是圖靈測試的一個組成部分,用於圖像理解[8,9]。

視覺圖靈測試嚴格評估計算機視覺系統,以評估它是否能夠對圖像進行人類層面的語義分析[8,9]。通過這個測試需要一個系統能夠完成許多不同的視覺任務。VQA可以被認爲是一種視覺圖靈測試,它也需要理解問題的能力,但不一定需要更復雜的自然語言處理。如果一種算法在圖像的任意問題上表現得和人類一樣好或者比人類更好,那麼可以說大部分的計算機視覺都會得到解決。但是,只有當基準和評估工具足以做出如此大膽的聲明時,這纔是正確的。

在這篇綜述中,我們討論了VQA現有的數據集和方法。我們特別強調探索當前的VQA基準是否適用於評估系統是否具有強大的圖像理解能力。在第二部分,我們將VQA與其他計算機視覺任務進行比較,其中一些任務還需要視覺和語言的結合(例如,圖像字幕)。然後,在第3節中,我們描述了VQA目前可用的數據集,並強調了它們的優勢和劣勢。我們討論這些數據集中的偏見如何嚴重限制他們評估算法的能力。在第4節中,我們討論了用於VQA的評估指標。然後,我們回顧現有的VQA算法,並在第5節分析它們的有效性。最後,我們討論了VQA未來可能的發展和有待解決的問題。

2 Vision and Language Tasks Related to VQA

VQA的首要目標是從圖像中提取與問題相關的語義信息,其範圍從微小細節的檢測到基於問題的整個圖像的抽象場景屬性的推斷。儘管許多計算機視覺問題都涉及到從圖像中提取信息,但與VQA相比,它們在範圍和通用性上是有限的。目標識別、活動識別和場景分類都可以作爲圖像分類任務,目前最好的方法是使用經過訓練的神經網絡將圖像分類到特定的語義類別中。其中最成功的是物體識別,現在算法在精確度上可以和人類媲美[2]。但是,目標識別只需要對圖像中的主要目標進行分類,而不需要知道其空間位置或在更大場景中的角色。對象檢測包括通過在圖像中對象的每個實例周圍放置邊界框來定位特定的語義概念(例如,汽車或人)。最好的物體探測方法都是使用[11,4,3深度中樞神經系統]。語義分割通過將每個像素分類爲屬於特定語義類別[12,13]而將定位的任務向前推進了一步。實例分割通過區分相同語義類的不同實例進一步建立在本地化的基礎上[14,15,16]。

雖然語義和實例分割是概括目標檢測和識別的重要計算機視覺問題,但是它們不足以理解整體場景。他們面臨的主要問題之一是標籤模糊。例如,在圖1中,黃色十字位置的指定語義標籤可以是“包”、“黑”或“人”標籤取決於任務。此外,這些方法本身並不理解對象在更大範圍內的作用。在這個例子中,將一個像素標記爲“包”並不能告訴我們它是否被人攜帶,而將一個像素標記爲“人”並不能告訴我們這個人是坐着、跑步還是滑板。這與VQA形成對比,在那裏,系統需要回答關於圖像的任意問題,這可能需要對物體之間的關係以及整個場景進行推理。適當的標籤由問題指定。

 與VQA相比,目標檢測、語義分割和圖像字幕。中間的圖顯示了典型對象檢測系統的理想輸出,右圖顯示了來自COCO數據集[10的語義分割圖。這兩個任務都缺乏提供關於對象的上下文信息的能力。這個COCO圖像的說明從非常一般的場景描述開始,例如,街道停車場和十字路口旁邊的繁忙的城鎮人行道,對單一活動進行非常集中的討論,而不限定整個場景,例如,一個女人牽着一條狗慢跑。兩者都是可以接受的標題,但是VQA可以提取更多的信息。對於CoCo-VQA數據集,關於這張圖片的問題是溜冰者穿的是什麼樣的鞋?城市還是郊區?,那是什麼動物?

除了VQA,還有大量近期的工作將視覺和語言結合在一起。其中最受研究的是圖像字幕[17,5,18,19,20],其中一個算法的目標是產生一個給定圖像的自然語言描述。圖像字幕是一項非常廣泛的任務,可能涉及描述複雜的屬性和對象關係,以提供圖像的詳細描述。

然而,視覺字幕任務有幾個問題,評價字幕是一個特殊的挑戰。理想的方法是由人類法官來評估,但這既慢又貴。爲此,已經提出了多種自動評估方案。最廣泛使用的字幕評估方案是BLEU [21], ROUGE [22], METEOR [23], and CIDEr [24]。除了CIDEr,它是專門爲評分圖像描述開發的,所有的字幕評估指標最初都是爲機器翻譯評估開發的。這些指標都有侷限性。衆所周知,最廣泛使用的度量標準BLEU對於語義內容變化很大的句子結構變化具有相同的分數[25]。對於在[26]中生成的字幕,BLEU分數將機器生成的字幕排在人類字幕之上。然而,當人類評委被用來評判相同的字幕時,只有23.3%的評委認爲字幕的質量等於或優於人類字幕。雖然其他評估指標,尤其是METEOR和CIDEr,在與人類判斷的一致性方面顯示出更強的魯棒性,但它們仍然經常將自動生成的字幕排在比人類字幕更高的位置上[27]。

評估字幕具有挑戰性的一個原因是,給定的圖像可以有許多有效的字幕,有些非常具體,有些本質上是通用的(見圖1)。然而,產生僅表面描述圖像內容的通用字幕的字幕系統通常根據評估指標排名較高。通用標題,如“一個人在街上走”或“幾輛車停在路邊”,可適用於大量圖像,通常由評估方案和人類判斷進行高度排序。事實上,使用最近鄰返回具有最相似視覺特徵的訓練圖像的標題的簡單系統使用自動評估度量產生相對高的分數[28]。

密集圖像字幕(DenseCap)通過用與小而顯著的圖像區域相關的簡短視覺描述對圖像進行密集註釋,避免了一般字幕問題[29]。例如,DenseCap系統可以輸出“一個穿黑襯衫的人”、“大綠樹”和“建築物的屋頂”,每個描述都附有一個邊界框。一個系統可以爲豐富的場景生成大量這樣的描述。儘管許多描述都很簡短,但仍然很難自動評估它們的質量。DenseCap還可以通過只爲每個區域生成獨立的描述來忽略場景中對象之間的重要關係。字幕和DenseCap也是與任務無關的,並且不需要系統來執行詳盡的圖像理解。

總之,字幕系統可以隨意選擇圖像分析的粒度級別,這與VQA的情況不同,後者的粒度級別由所提問題的性質決定。例如,“這是什麼季節?”需要理解整個場景,但是‘站在穿白色衣服的女孩後面的狗是什麼顏色的?’需要注意場景的具體細節。此外,許多類型的問題都有具體而明確的答案,這使得VQA比字幕更容易接受自動評估標準。對於某些類型的問題,模糊性可能仍然存在(見第4節),但是對於許多問題,由VQA算法產生的答案可以通過與基本真實答案的一對一匹配來評估。

3 Datasets for VQA

從2014年開始,VQA的五個主要數據集已經公開發布。這些數據集使得VQA系統能夠被訓練和評估。截至本文,VQA的主要數據集是DAQUAR [30], COCO-QA [31], The VQA Dataset [32], FM-IQA [33], Visual7W [34], and Visual Genome [35]。除了數據採集程序,所有的數據集都包括來自微軟通用對象上下文(COCO)數據集[10]的圖像,該數據集包括328000幅圖像,91個通用對象類別,超過200萬個標記實例,平均每幅圖像有5個標題。Visual7W [34], and Visual Genome [35]除了使用COCO圖像外,還使用了Flickr100M的圖像。VQA數據集的一部分包含合成卡通圖像,我們稱之爲SYNTH-VQA。與其他論文一致,[36,37,38],其餘的VQA數據集將被稱爲CoCo-VQA,因爲它包含來自CoCo圖像數據集的圖像。表1包含每個數據集的統計數據。

理想的VQA數據集需要足夠大,以捕捉現實世界場景中出現的問題、圖像和概念的可變性。它還應該有一個公平的評估方案,這是很難“遊戲”和做得好,這表明一個算法可以回答各種各樣的問題類型的圖像有明確的答案。如果數據集在問題或答案的分佈中包含容易利用的偏差,算法可能在數據集上表現良好,而不真正解決VQA問題。

 在接下來的小節中,我們將重點回顧可用的數據集。我們描述數據集是如何創建的,並討論它們的侷限性。

3.1 DAQUAR

真實世界圖像問答數據集[30]是第一個發佈的主要VQA數據集。這是最小的VQA數據集之一。它由6795個訓練和5673個測試質量保證對組成,基於來自NYU深度V2數據集[39]的圖像。數據集也可以在一個更小的配置中使用,該配置只包含37個對象類別,稱爲DAQUARA-37。DAQUUAR-37僅包含3825個訓練QA對和297個測試QA對。在[40]中,爲數據採集和分析系統收集了額外的基礎事實答案,以創建一個替代評估指標。這種數據採集器的變體被稱爲數據採集器一致性,以評估度量命名。儘管數據採集和分析是VQA的一個開創性數據集,但它太小,無法成功地訓練和評估更復雜的模型。除了體積小之外,數據採集器還專門包含室內場景,這限制了可用問題的多樣性。圖像往往有明顯的雜亂,在某些情況下還有極端的光照條件(見圖2)。這使得許多問題難以回答,甚至人類在整個數據集上也只能達到50.2%的準確率。

3.2 COCO-QA

在COCO-QA [31中,QA對是使用自然語言處理(NLP)算法爲圖像創建的,該算法從COCO圖像標題中導出它們。例如,使用圖片說明一個男孩正在玩飛盤,有可能產生一個問題:這個男孩在玩什麼?答案是飛盤。CoCo-QA數據集包含78736個訓練對和38948個測試對。大多數問題是關於圖像中的物體(69.84%),其他問題是關於顏色(16.59%)、計數(7.47%)和位置(6.10%)。所有的問題都有一個單詞的答案,只有435個唯一的答案。這些對答案的限制使得評估相對簡單。

COCO-QA的最大缺點是用於生成質量保證對的自然語言處理算法的缺陷。爲了便於處理,較長的句子被分成較小的塊,但是在許多這樣的情況下,該算法不能很好地處理句子結構中從句和語法變化的存在。這導致了措詞笨拙的問題,其中許多包含語法錯誤,其他的則完全無法理解(見圖2)。另一個主要的缺點是它只有四種問題,而且這些問題僅限於COCO的標題中描述的那種事情。

大量的COCO-QA問題都有語法錯誤,而且沒有意義,而數據採集圖像經常被雜亂和低分辨率的圖像所破壞。

3.3 The VQA Dataset

VQA數據集[32]由CoCo的真實圖像和抽象卡通圖像組成。這個數據集上的大部分工作僅僅集中在包含來自COCO的真實世界圖像的部分,我們稱之爲COCO-VQA。我們將數據集的合成部分稱爲合成VQA。

CoCo-VQA由每張圖片三個問題組成,每個問題有十個答案。亞馬遜土耳其機械公司(AMT)的工作人員被要求爲每幅圖像生成問題,他們被要求“給一個智能機器人做樹樁”,另外還僱傭了一個單獨的工作人員來生成問題的答案。與其他VQA數據集相比,COCO-VQA包含相對較多的問題(總共614163個,其中248349個用於訓練,121512個用於驗證,244302個用於測試)。每個問題都由10個獨立的註釋器來回答。每個問題的多個答案用於數據集的基於共識的評估指標,這將在第4節中討論。

SYNTH-VQA由50000個合成場景組成,在不同的模擬場景中描繪卡通形象。場景由100多個不同的物體、30個不同的動物模型和20個人類卡通模型組成。這些人體模型與[41]中使用的相同,它們包含可變形的肢體和八種不同的面部表情。這些模特還跨越不同的年齡、性別和種族,以提供不同的外表。SYNTH-VQA有150000個問答對,每個場景有3個問題,每個問題有10個基本的真實答案。通過使用合成圖像,有可能創建一個更加多樣和平衡的數據集。自然圖像數據集傾向於具有更一致的上下文和偏見,例如,街道場景更可能具有狗的圖片而不是斑馬的圖片。使用合成圖像,可以減少這些偏差。陰陽[42]是一個建立在SYNTH-VQA之上的數據集,它試圖消除人們對問題的回答中的偏見。我們將在第6.1節進一步討論陰陽。

SYNTH-VQA和COCO-VQA都有開放式和多項選擇兩種形式。多項選擇格式包含所有相同的QA對,但它也包含18種不同的選擇,包括:

  • 正確答案,這是十個註釋者給出的最常見的答案。
  • 似是而非的答案,這是從註釋者那裏收集的三個答案,無需查看圖像。
  • 熱門答案,是數據集中十大最熱門的答案。
  • 隨機答案,爲其他問題隨機選擇正確答案。

由於數據集的多樣性和規模,COCO-VQA已被廣泛用於評估算法。但是,數據集有多個問題。CoCo-VQA有很多不同的問題,但是由於語言偏見,很多問題不用圖片就能得到準確的回答。相對簡單的圖像盲算法在可可-VQA上僅用問題就達到了49.6%的準確率[36]。數據集還包含許多主觀的、尋求意見的問題,這些問題沒有一個單一的客觀答案(見圖3)。同樣,許多問題尋求解釋或詳細描述。圖3c給出了一個例子,它也顯示了人類註釋者的不可靠性,因爲最流行的答案是“是”,這對於給定的問題來說是完全錯誤的。這些複雜情況反映在這個數據集上的人與人之間的一致性,約爲83%。數據集的偏差也引發了其他幾個實際問題。例如,“是/否”的回答覆蓋了所有問題的38%,其中近59%的回答是“是”結合COCO-VQA使用的評估指標(見第4節),這些偏差會使評估一個算法是否僅使用這個數據集就能真正解決VQA問題變得困難。我們將在第4節進一步討論這個問題。

3.4 FM-IQA

自由式多語言圖像問答(調頻-IQA)數據集是另一個基於CoCo[33]的數據集。它包含人類生成的答案和問題。數據集最初是用中文收集的,但現在已經有了英文譯本。與COCO-QA和DAQUAR不同,這個數據集還允許答案是完整的句子。這使得使用通用指標進行自動評估變得很難。出於這個原因,作者建議使用人類法官進行評估,法官的任務是決定答案是否由人類提供,並在0-2的範圍內評估答案的質量。這種方法對於大多數研究小組來說是不切實際的,並且使得算法的開發變得困難。我們將在第4節進一步討論自動評估指標的重要性。

3.5 Visual Genome

Visual Genome [35]由108,249幅圖像組成,這些圖像同時出現在YFC10M[43]和COCO圖像中。它包含170萬個QA對,每個圖像平均有17個質量保證對。截至本文,視覺基因組是最大的VQA數據集。因爲它是最近才引入的,所以在作者建立的基線之外沒有對它進行評估的方法。

Visual Genome由六種類型的“W”問題組成:什麼、在哪裏、如何、何時、誰和爲什麼。使用兩種不同的數據收集模式來製作數據集。在自由形式方法中,註釋者可以自由地詢問關於圖像的任何問題。然而,當問自由形式的問題時,人類註釋者傾向於問關於圖像整體內容的類似問題,例如,問“有多少匹馬?”或者“天氣晴朗嗎?”這可能會導致提問中的偏見。視覺基因組的創建者也通過提示工作人員詢問特定圖像區域的問題來對抗這個問題。使用這種特定於區域的方法時,可能會提示工作人員詢問有關包含消防栓的圖像區域的問題。使用Visual Genome的描述性邊框提示註釋,特定區域的問題提示成爲可能。Visual Genome的區域邊界框和QA對的例子如圖4a所示。

 與其他數據集相比,Visual Genome有更大的答案多樣性,如圖5所示。在Visual Genome中出現頻率最高的1000個答案只覆蓋了數據集中所有答案的65%,而對於CoCo-VQA,它們覆蓋了82%,對於數據CoCo-VQA,它們覆蓋了100%。Visual Genome的長尾分佈也可以在答案的長度上觀察到。只有57%的答案是單個單詞,相比之下,COCO-VQA有88%的答案,COCO-QA有100%的答案,DAQUAR有90%的答案。答案的多樣性使得開放式評估更具挑戰性。此外,由於類別本身被要求嚴格地屬於六種“W”類型之一,答案的多樣性有時可能僅僅是由於措辭的變化而造成的,這種變化可以通過提示註釋者選擇更簡潔的答案來消除。例如,汽車停在哪裏?可以用“在街上”來回答,或者更確切地說,用“街道”來回答。

Visual Genome沒有二進制(是/否)問題。數據集創建者認爲這將鼓勵使用更復雜的問題。這與VQA數據集形成對比,在該數據集中,“是”和“否”是更常見的答案。我們將在第6.4節進一步討論這個問題。

3.6 Visual7W

Visual7W數據集是視覺基因組的一個子集。Visual7W包含47300張來自Visual Genome的圖像,這些圖像也存在於COCO中。Visual7W是根據它包含的七類問題命名的:什麼、在哪裏、如何、何時、誰、爲什麼和哪個。數據集由兩種不同類型的問題組成。“講述”問題與視覺基因組問題相同,答案是基於文本的。“指向”問題是以“哪個”開頭的問題,對於這些問題,算法必須在選項中選擇正確的邊界框。一個指向問題的例子如圖4b所示。

Visual7W使用一個選擇題答案框架作爲標準評估,在評估期間爲算法提供四個可能的答案。爲了使任務更具挑戰性,多項選擇包括了對給定問題合理的答案。通過提示註釋者在不看到圖像的情況下回答問題,收集貌似合理的答案。對於指向問題,多項選擇選項是圍繞可能答案的四個看似合理的邊界框。與Visual Genome一樣,數據集不包含任何二進制問題。

3.7 SHAPES

其他VQA數據集包含真實場景或合成場景,而形狀數據集[44]包含不同排列、類型和顏色的形狀。問題是關於屬性、關係和形狀的位置。這種方法可以創建大量的數據,避免了其他數據集在不同程度上存在的許多偏差。

SHAPES由244個獨特的問題組成,每個問題都與數據集中的64幅圖像有關。與其他數據集不同,這意味着它是完全平衡的,沒有偏見。所有問題都是二元的,有是/否的答案。許多問題需要對形狀的佈局和屬性進行位置推理。儘管SHAPES不能代替真實世界的圖像,但它背後的理念是非常有價值的。一個算法在SHAPES上不能很好地執行,但是在其他VQA數據集上可以很好地執行,這可能表明它只能以有限的方式分析圖像。

4 Evaluation Metrics for VQA

VQA要麼是一個開放式任務,算法生成一個字符串來回答一個問題,要麼是一個多項選擇題,它在選項中進行選擇。對於多項選擇,通常使用簡單的準確性來評估,如果算法做出正確的選擇,它就會得到正確的答案。對於開放式VQA,也可以使用簡單的精確度。在這種情況下,算法的預測答案字符串必須與基本真實答案完全匹配。然而,準確性可能過於嚴格,因爲有些錯誤比其他錯誤更糟糕。例如,如果問題是“照片裏有什麼動物?”一個系統輸出“狗”而不是正確的標籤“複數狗”,它受到的懲罰和輸出“斑馬”一樣嚴重。問題也可能有多個正確答案,例如,“樹裏有什麼?”可能將“禿鷹”列爲正確的地面真實答案,因此輸出“鷹”或“鳥”的系統將受到懲罰,就像它輸出的答案是“是”一樣。由於這些問題,已經提出了幾種精確精度的替代方法來評估開放式VQA算法。

吳-帕爾默相似性(WUPS)45]在30中被提出作爲準確度的替代方法。它試圖根據語義的不同來衡量一個預測的答案與基本事實有多大的不同。給定一個基本的真實答案和一個問題的預測答案,WUPS將根據它們之間的相似性指定一個介於0和1之間的值。它通過在兩個語義之間找到最不常見的包含者,並根據需要遍歷語義樹多遠來找到常見的包含者來分配分數。使用WUPS,語義相似但不完全相同的單詞相對較少受到懲罰。根據我們前面的例子,“禿鷹”和“鷹”的相似度爲0.96,而“禿鷹”和“鳥”的相似度爲0.88。然而,WUPS傾向於給更遠的概念分配相對較高的分數,例如,“烏鴉”和“寫字檯”的WUPS分數爲0.4。爲了彌補這一點,[30]建議將WUPS分數設置爲閾值,低於閾值的分數將按比例縮小一個係數。[30]建議閾值爲0.9,比例因子爲0.1。除了簡單的準確性之外,這種改進的WUPS度量是用於評估DAQUAR和CoCo-QA的標準度量。

WUPS有兩個主要缺點,使得它很難使用。首先,儘管使用了WUPS的閾值版本,但某些詞對在詞彙上非常相似,但含義卻大相徑庭。這對於關於對象屬性的問題尤其成問題,例如顏色問題。例如,如果正確答案是“白色”,而預測答案是“黑色”,那麼答案仍然會得到0.91的WUPS分數,這似乎過高了。WUPS的另一個主要問題是它只適用於嚴格的語義概念,這些概念幾乎都是單個單詞。WUPS不能用於偶爾在VQA數據集和大部分Visual7W中發現的短語或句子答案。

對於VQA數據集,註釋者爲每個問題生成十個答案。這些與精度度量的變化一起使用,精度度量由下式給出

其中n是與算法具有相同答案的註釋器的總數。使用這個度量,如果算法與三個或更多的註釋者一致,那麼它將獲得一個問題的滿分。儘管這個度量對模糊性問題有很大的幫助,但是仍然存在實質性的問題,尤其是數據集的COCO-VQA部分,我們將在接下來的幾個段落中進一步研究這個部分。

使用AccuracyVQA,關於COCO-VQA的註釋者擁有共識僅爲83.3%。 算法不可能達到100%的準確性。 對於“爲什麼”的問題,人與人之間的共識特別差,其中超過59%的問題中只有不到三個註釋者給出完全相同的答案。 這使得無法在這些問題上獲得滿分。 在更簡單,更直接的問題中也可以看出缺乏人與人之間的共識(見圖7)。 在此示例中,如果系統預測了10個答案中的任何一個,則將獲得至少1/3的分數。 在某些情況下,註釋者提供的答案包含完整的反義詞(例如,左和右)。

在許多其他情況下,AccuracyVQA可以爲彼此直接對立的問題提供多個正確答案。 例如,在COCO-VQA中,超過13%的“是/否”答案中有超過三個註釋者重複了“是”和“否”。 回答“是”或“否”將獲得最高分。 即使八個註釋者回答“是”,如果兩個註釋者回答“否”,那麼該問題的算法仍將獲得0.67的分數。 多數人的權重在評估中不起作用。 

這些問題可能導致分數被誇大。 例如,在所有“是/否”問題中回答“是”,理想情況下,這些問題的得分應在50%左右。 但是,使用AccuracyVQA,得分爲71%。 這部分是由於數據集存在偏見,這些問題的大多數答案在58%的時間中是“是”,但71%的分數過分誇大了。

當答案由一個單詞組成時,評估VQA系統的開放式響應將變得更加簡單。 87%的COCO-VQA問題,100%的COCO-QA問題和90%的DAQAUR問題中都會出現這種情況。 當答案需要爲多個單詞時,多個正確答案的可能性會大大增加。 這在FM-IQA,Visual7W和Visual Genome中經常發生,例如27%的Visual7W答案包含三個或更多單詞。 在這種情況下,諸如AccuracyVQA之類的指標不太可能爲開放式VQA中的地面真相答案打分。

FM-IQA的創建者[33]建議使用人類法官來評估多詞答案,但這帶來了許多問題。 首先,就時間,資源和費用而言,聘請人類法官是一個極其苛刻的過程。 通過測量更改算法如何更改性能將很難迭代地改進系統。 其次,需要給人類法官提供判斷答案質量的標準。 FM-IQA的創建者爲人類法官提出了兩個指標。 首先是要確定答案是否由人爲產生,而不管答案是否正確。 單獨使用該指標可能無法很好地說明VQA系統的功能,並且有可能被操縱。 第二個度量標準是對三分制的答案進行評分,該分數爲完全錯誤(0),部分正確(1)和完全正確(2)。

使用判斷器處理多詞答案的另一種方法是使用多項選擇範式,該範式由VQA數據集,Visual7W和Visual Genome的一部分使用。 無需生成答案,系統只需預測給定選擇中的哪一個是正確的即可。 這極大地簡化了評估,但是我們認爲,除非謹慎使用,否則多項選擇不適合VQA,因爲它允許系統窺視正確答案,從而破壞了工作量。 我們將在6.5節中討論此問題。

評估VQA系統的最佳方法仍然是一個懸而未決的問題。 每種評估方法都有其優點和缺點(摘要請參見表2)。 使用的方法取決於數據集的構造方式,其中的偏差程度以及可用資源。 爲了開發更好的工具來測量答案的語義相似性和處理多詞答案,需要做大量的工作。

 5 Algorithms for VQA

在過去的三年中,已經提出了大量的VQA算法。現有的所有方法包括:1)提取圖像特徵(圖像特徵化),2)提取問題特徵(問題特徵化)和3)組合這些特徵以產生答案的算法。對於圖像特徵,大多數算法使用在ImageNet上經過預訓練的CNN,常見示例爲VGGNet [1],ResNet [2]和GoogLeNet [58]。已經探索了各種各樣的問題特徵化,包括單詞袋(BOW),長期短期記憶(LSTM)編碼器[59],門控遞歸單元(GRU)[60]和跳躍思想向量[61]。 。爲了產生答案,最常見的方法是將VQA視爲分類問題。在此框架中,圖像和問題特徵是分類系統的輸入,每個唯一答案都被視爲不同的類別。如圖8所示,特徵化方案和分類系統可以採用多種形式。這些系統在集成問題和圖像功能方面有很大不同。一些示例包括:

  • 使用簡單的機制(例如,串聯,逐元素乘法或逐元素加法)將圖像和問題特徵進行組合,然後將其提供給線性分類器或神經網絡[36,38,32,33],
  • 在神經網絡框架中使用雙線性池或相關方案將圖像和問題特徵進行組合[46,53,62],
  • 具有使用問題特徵爲視覺特徵計算空間注意圖或根據其相對重要性自適應縮放局部特徵的分類器,[49,51,48,63],
  • 使用貝葉斯模型來利用問題圖像-答案特徵分佈[36,30]
  • 使用問題將VQA任務分解爲一系列子問題[50,44]。

在後面的小節中,我們將詳細介紹這些基於分類的方法。

儘管大多數開放式VQA算法都使用分類框架,但是這種方法只能生成在訓練過程中看到的答案,從而促使一些人探索替代方法。 在[33]和[40]中,使用LSTM一次生成一個多單詞答案。 但是,所產生的答案仍然僅限於訓練期間看到的單詞。 對於多項選擇的VQA,[64]和[63]建議將VQA視爲排名問題,訓練系統對每個可能的多項選擇答案,問題和圖像三重奏產生分數,然後選擇最高分數 評分答案選擇。

在以下小節中,我們基於VQA算法的共同主題將其分組。表3中按性能從高到低的順序列出了DAQUAR,COCO-QA和COCO-VQA的結果。 在表3中,我們報告了DAQUAR和COCO-QA的簡單準確性,我們報告了COCO-VQA的AccuracyVQA。 表4細分了基於每篇論文使用的COCO-VQA的結果。

5.1 Baseline Models

基線方法可幫助確定數據集的難度,並確定更復雜的算法應超過的最低性能水平。 對於VQA,最簡單的基準是隨機猜測和猜測最多重複的答案。 廣泛使用的基線分類系統是將線性或非線性(例如多層感知器(MLP))分類器應用於圖像和問題特徵,然後將它們組合爲單個向量[32、36、38]。 組合特徵的常用方法包括級聯,按元素乘積或按元素和。 也已經探索了將這些方案結合起來可以改善結果的方法[62]。

基線分類框架已使用了多種特徵化方法。 在[38]中,作者使用了一個詞袋來表示問題和來自GoogLeNet的CNN視覺特徵。 然後,他們將這些特徵的組合輸入到多類邏輯迴歸分類器中。 他們的方法效果很好,超過了先前的COCO-VQA基線,後者使用了理論上更強大的模型LSTM來表示問題[32]。 類似地,[36]使用跳思想向量[61]作爲問題特徵,並使用ResNet-152提取圖像特徵。 他們發現,具有針對這些現成特徵進行訓練的兩個隱藏層的MLP模型適用於所有數據集。 但是,在他們的工作中,線性分類器在較小的數據集上的表現優於MLP模型,這可能是由於MLP模型過度擬合造成的。

開放式(OE)和多項選擇(MC)評估方案的VQA數據集的結果。 還顯示了僅對圖像數據(僅IMG)和僅對問題數據(QUES-ONLY)以及人員性能進行訓練的簡單模型。 僅在IMG和QUES模型在COCO-VQA的“測試開發”部分進行評估。 MCB-ensemble [46]和AMA [37]是分開介紹的,因爲它們使用其他數據進行訓練。

在開放式COCO-VQA上評估的不同方法及其設計選擇的概述。當“測試標準”結果不可用時,結果是關於“測試-dev”分割的報告(用*表示)

幾種VQA算法已使用LSTM編碼問題。在[32]中,使用對句子進行一次熱編碼的LSTM編碼器來表示問題特徵,而GoogLeNet則用於圖像特徵。減少CNN特徵的維數以匹配LSTM編碼的維數,然後使用這兩個向量的Hadamard乘積將它們融合在一起。融合的矢量用作具有兩個隱藏層的MLP的輸入。在[40]中,LSTM模型被順序地嵌入了每個單詞,並帶有與其相連的CNN特徵。這一直持續到問題結束爲止。隨後的時間步驟用於生成答案列表。在[31]中使用了一種相關的方法,在LSTM中,在最初和最後的時間步驟中向CNN特徵提供了LSTM,並且在這兩個詞之間插入了詞特徵。圖像特徵充當句子中的第一個和最後一個單詞。 LSTM網絡之後是softmax分類器,以預測答案。在[33]中使用了類似的方法,但是CNN圖像特徵僅在問題末尾饋入LSTM中,而不是使用分類器,而是使用另一個LSTM一次生成一個單詞的答案。 

5.2 Bayesian and Question-Aware Models

VQA要求在問題和圖像之間進行推理和建模。 一旦對問題和圖像進行了特徵化處理,對問題和圖像特徵的共現統計建模就可以幫助得出有關正確答案的推論。 兩個主要的貝葉斯VQA框架已探索對這些關係進行建模。 在[30]中,提出了第一個VQA貝葉斯框架。 作者使用語義分割來識別圖像中的對象及其位置。 然後,對貝葉斯算法進行了訓練,以對物體的空間關係進行建模,該算法用於計算每個答案的概率。 這是最早的VQA算法,但簡單的基線模型已超過了它的功效。 部分原因是它依賴於不完美的語義分割結果。

文獻[36]提出了一種非常不同的貝葉斯模型。 該模型利用了一個事實,即僅使用問題就可以預測答案的類型。 例如,“花是什麼顏色?”將由模型分配爲顏色問題,從本質上將開放式問題轉變爲多項選擇題。 爲此,該模型使用了二次判別分析的變體,該模型對給定問題特徵和答案類型的圖像特徵概率進行了建模。 ResNet-152用於圖像特徵,而跳越思想的矢量用於表示問題。

5.3 Attention Based Models

僅使用全局功能可能會使輸入空間中與任務相關的區域模糊。 attention模型試圖克服這一限制。 這些模型學會了“參與”輸入空間中最相關的區域。 注意模型已經在其他視覺和NLP任務中取得了巨大的成功,例如對象識別[65],字幕[20]和機器翻譯[66,67]。

在VQA中,許多模型都利用空間注意力來創建特定於區域的CNN特徵,而不是使用整個圖像中的全局特徵。 更少的模型也已經探索將注意力引入文本表示中。 所有這些模型背後的基本思想是,圖像中的某些視覺區域和問題中的某些單詞在回答一個給定問題方面比其他方面更具信息性。 例如,對於回答“雨傘是什麼顏色?”的系統,包含雨傘的圖像區域比其他圖像區域更具信息性。 同樣,“顏色”和“傘”是需要比其他輸入更直接解決的文本輸入。 全局圖像功能(例如,CNN的最後一個隱藏層)和全局文本功能(例如,單詞袋,跳過思想等)可能不夠精細,無法解決區域特定的問題。

在使用空間注意機制之前,算法必須代表所有空間區域的視覺特徵,而不是僅僅代表全局水平。然後,根據提出的問題,可以使來自相關區域的局部特徵更加突出。有兩種常見的方法來實現局部特徵編碼。如圖9所示,一種方法是在所有圖像位置上施加一個統一的網格,在每個網格位置都存在局部圖像特徵。這通常是通過在使特徵平坦化的最終空間池之前對最後一個CNN層進行操作來完成的。然後由問題確定每個網格位置的相關性。進行空間關注的另一種方法是爲圖像生成區域建議(邊界框),使用CNN對每個框進行編碼,然後使用問題確定每個框的特徵的相關性。儘管有多篇論文致力於將空間視覺注意力用於VQA [63、49、52、48、54、51、46、55],但這些方法之間存在顯着差異。

該圖說明了將注意力納入VQA系統的一種常用方法。 CNN中的卷積層輸出特徵響應的K×K×N張量,對應於N個特徵圖。 引起關注的一種方法是通過抑制或增強不同空間位置處的特徵。 通過將問題特徵與這些本地圖像特徵結合使用,可以計算出每個網格位置的權重因子,從而確定空間位置與問題的相關性,然後可以將其用於計算注意力加權的圖像特徵。

VQA的聚焦區域[63]和聚焦動態注意力(FDA)模型[51]都使用邊緣框[68]生成圖像的邊界框區域提議。 在[63]中,使用CNN從這些盒子的每一箇中提取特徵。 他們的VQA系統的輸入內容包括這些CNN特徵,問題特徵以及多項選擇答案之一。 他們的系統經過訓練可以爲每個選擇題答案產生一個分數,並選擇得分最高的答案。通過將區域CNN特徵的點積和問題嵌入到完全連接的層中而簡單地學習權重的每個區域的分數的加權平均值,即可計算出分數。

在FDA [51]中,作者建議僅使用具有問題中提到的對象的圖片區域建議。 他們的VQA算法需要輸入帶有相應對象標籤的邊界框列表作爲輸入。 在訓練期間,對象標籤和邊界框是從COCO註釋中獲得的。 在測試期間,通過使用ResNet [2]對每個邊界框進行分類來獲得標籤。 隨後,使用word2vec [69]計算問題中的單詞與分配給每個邊界框的對象標籤之間的相似度。 分數大於0.5的任何盒子都將被連續饋入LSTM網絡。 在最後一個時間步,整個圖像的全局CNN特徵也被饋入網絡,從而可以訪問全局和局部特徵。 單獨的LSTM也用作問題表示。 然後,將這兩個LSTM的輸出饋入一個完全連接的層,該層將饋入softmax分類器以產生答案預測。

與使用區域提議相比,堆疊注意力網絡(SAN)[49]和動態內存網絡(DMN)[52]都使用了CNN特徵圖空間網格中的視覺特徵(請參見圖9)。 [49]和[52]都使用了來自VGG-19的最後一個卷積層,具有448×448圖像,以在每個網格位置生成具有512維特徵的14×14濾波器響應圖。

在SAN [49]中,關注層是由單層權重指定的,該權重層使用問題和帶有softmax激活函數的CNN特徵圖來計算圖像位置之間的注意力分佈。 然後,將這種分佈應用於CNN特徵圖,以使用加權總和在空間特徵位置上進行合併,該加權總和生成全局圖像表示,該圖像表示比其他空間區域更多地強調某些空間區域。 然後將此特徵向量與問題特徵向量組合在一起,以創建可與softmax層一起使用以預測答案的表示形式。 他們推廣了這種方法來處理多個(堆疊的)注意層,從而使系統能夠對圖像中多個對象之間的複雜關係進行建模。

在空間記憶網絡[48]模型中使用了類似的注意機制,其中空間注意力是通過估計圖像補丁與問題中單個單詞的相關性而產生的。 單詞引導的注意力用於預測注意力分佈,然後用於計算嵌入圖像區域的視覺特徵的加權和。 然後探索了兩種不同的模型。 在單跳模型中,對整個問題進行編碼的特徵與加權的視覺特徵相結合以預測答案。 在兩跳模型中,視覺和問題特徵的組合被循環回用於細化注意力分佈的注意力機制。

在[52]中提出了使用CNN特徵圖合併空間注意力的另一種方法。爲此,他們使用了經過修改的動態內存網絡(DMN)[70]。 DMN由輸入模塊,情景存儲模塊和應答模塊組成。 DMN已用於基於文本的QA,其中句子中的每個單詞都輸入到最新的神經網絡中,並且網絡的輸出用於提取“事實”。然後,情節記憶模塊對子集進行多次遍歷這些事實。每次通過時,網絡的內部存儲器表示都會更新。應答模塊使用存儲器表示的最終狀態和輸入問題來預測答案。要將DMN用於VQA,他們除了文字之外還使用了視覺事實。爲了生成視覺事實,每個空間網格位置處的CNN特徵都被視爲句子中的單詞,這些單詞依次被饋送到遞歸神經網絡中。情節式記憶模塊然後通過文本和視覺事實來更新其記憶。應答模塊保持不變。

分層共同注意模型[54]將注意力同時應用於圖像和問題,以共同推理兩個不同的信息流。該模型的視覺注意力方法類似於空間內存網絡[48]中使用的方法。除了視覺上的注意,此方法還使用了問題的分層編碼,其中編碼發生在單詞級別(使用單次熱編碼),短語級別(使用二元或三元語法窗口大小) )和問題級別(使用LSTM網絡的最終時間步)。使用這種分層的問題表示,作者建議使用兩種不同的注意機制。平行共同注意方法同時關注問題和形象。另一種共同注意方法是在關注問題或圖像之間交替進行。這種方法允許彼此確定問題中單詞的相關性和特定圖像區域的相關性。答案預測是通過遞歸組合問題層次結構所有三個級別的共同參與特徵來進行的。

在[56]中還探討了使用聯合注意力來獲取圖像和問題特徵。 主要思想是使圖像和問題的注意力相互引導,同時將注意力引導到相關的單詞和視覺區域。 爲了實現這一點,視覺和問題輸入由存儲向量共同表示,該存儲向量用於同時預測問題和圖像特徵的注意力。 細心機制將計算更新的圖像和問題表示形式,然後將其用於遞歸更新存儲向量。 此遞歸內存更新機制可以重複K次,以分多個步驟改善注意力。 作者發現,K = 2的值最適合COCO-VQA。

5.4 Bilinear Pooling Methods

VQA依靠共同分析圖像和問題。 早期的模型通過使用簡單的方法(例如,級聯或在問題和圖像特徵之間使用按元素的乘積)組合各自的特徵來做到這一點,但是在這兩種信息流之間的外部乘積可能會進行更復雜的交互 。 相似的想法被證明對改善細粒度圖像識別效果很好[71]。 下面,我們描述了使用雙線性池[46,57]的兩種最突出的VQA方法。

在[46]中,提出了多峯緊湊雙線性(MCB)合併作爲在VQA中組合圖像和文本特徵的新方法。 與其他機制(例如,級聯或逐元素乘法)相比,該想法是近似估計圖像和文本特徵之間的外部乘積,從而允許兩種模態之間進行更深層的交互。 MCB不會顯式地製作尺寸很高的外部乘積,而是在較低尺寸的空間中製作外部乘積。 然後將其用於預測哪些空間特徵與問題相關。 在該模型的變體中,還使用了一種類似於[49]中方法的軟注意力機制,唯一的主要變化是使用MCB組合文本和問題特徵,而不是逐元素相乘 在[49]中。 這種組合在COCO-VQA上取得了非常好的成績,並且是2016年VQA挑戰賽的獲勝者。

在[57]中,作者認爲,儘管使用了近似的外部乘積,但MCB在計算上過於昂貴。 相反,他們提出使用多模式低秩雙線性池(MLB)方案,該方案使用Hadamard乘積和線性映射來實現近似雙線性池。 當與空間視覺注意力機制一起使用時,MLB在VQA上可與MCB媲美,但具有較低的計算複雜度並使用參數較少的神經網絡。

5.5 Compositional VQA Models

在VQA中,問題通常需要多個推理步驟才能正確回答。 例如,“馬的左邊是什麼?”之類的問題可能涉及首先找到馬,然後將對象命名爲馬的左邊。 已經爲VQA提出了兩個組成框架,試圖通過一系列子步驟來解決VQA問題[44、50、55]。 神經模塊網絡(NMN)[44,50]框架使用外部問題解析器來查找問題中的子任務,而循環應答單元(RAU)[55]被端到端訓練,並且子任務可以隱式地進行學習。

NMN是VQA的一種特別有趣的方法[44,50]。 NMN框架將VQA視爲由獨立的神經子網執行的一系列子任務。每個子網都執行一個明確定義的任務,例如,find [X]模塊會爲特定對象的存在生成熱圖。其他模塊包括描述,度量和轉換。然後,必須將這些模塊組裝成有意義的佈局。已經探索出兩種方法來推斷所需的佈局。在[44]中,自然語言解析器用於輸入問題,既可以找到問題中的子任務,又可以推斷子任務的所需佈局,當按順序執行該子任務時,將產生給定問題的答案[ 44]。例如,回答“領帶是什麼顏色?”將涉及執行find [tie]模塊,然後執行describe [color]模塊,後者會生成答案。在[50]中,同一組研究人員使用算法從一組自動生成的佈局候選中動態選擇給定問題的最佳佈局。

RAU模型[55]可以隱式執行合成推理,而無需依賴外部語言解析器。 在他們的模型中,他們使用了多個可以解決VQA子任務的獨立應答單元。 這些應答單元以循環方式排列。 鏈上的每個答題單元都配備了一種源自[49]的注意機制和一個分類器。 作者聲稱,包含多個循環應答單元可以從每個應答單元解決的一系列子任務中推斷出答案。 但是,他們沒有進行可視化或消融研究以顯示答案在每個時間步長中如何得到完善。 這使得很難評估是否正在進行逐步完善和推理,尤其是考慮到在每個時間步長所有回答單元都可獲得完整的圖像和問題信息,並且在測試過程中僅使用了第一個回答單元的輸出 階段。

5.6 Other Noteworthy Models

回答有關圖像的問題通常可能需要信息,而這些信息無法通過分析圖像直接推斷出來。 瞭解圖像中對象的用途和典型上下文對於VQA很有幫助。 例如,可以訪問知識庫的VQA系統可以使用它來回答有關特定動物的問題,例如它們的棲息地,顏色,大小和餵養習慣。 在[37]中探索了這個想法,他們證明了知識庫提高了績效。 外部知識庫是根據DBpedia的一般信息量身定製的[72],並且有可能使用針對VQA量身定製的資源可以產生更大的改進。

在[47]中,作者將動態參數預測層合併到了CNN的完全連接層中。 通過使用遞歸神經網絡,可以從問題中預測該層的參數。 這允許在最終分類步驟之前,模型使用的視覺特徵特定於問題。 這種方法可以看作是一種隱式注意機制,因爲它可以根據問題修改視覺輸入。

在[53]中,爲VQA提出了多模式殘差網絡(MRN),這是由於ResNet體系結構在圖像分類中的成功所致。 他們的系統是對ResNet [2]的修改,可以在殘差映射中使用視覺和問題功能。 可視和問題嵌入被允許具有其自己的帶有跳過連接的剩餘塊。 然而,在每個殘差塊之後,視覺數據與問題嵌入交織在一起。 作者探索了幾種用於構建具有多模式輸入的殘差架構的替代方案,並根據性能選擇了上述網絡。

5.7 What methods and techniques work better?

儘管已經提出了許多用於VQA的方法,但是很難確定哪種通用技術更好。表4提供了基於COCO-VQA評估的不同算法的細分,這些算法基於它們使用的技術和設計選擇。表4還儘可能地包括來自各個算法的消融模型。燒蝕模型有助於我們確定作者做出的設計選擇的個人貢獻。我們可以做出的第一個觀察結果是,在多種算法中,ResNet的性能均優於VGGNet或GoogLeNet。從使用相同設置並且僅更改圖像表示的模型中可以明顯看出這一點。在[55]中,通過使用ResNet-101而不是VGG-16 CNN可以觀察到2%的圖像特徵增長。在[54]中,當他們對模型進行相同的更改時,他們發現增加了1.3%。同樣,在[56]中,將VGG-19更改爲ResNet-152可使性能提高2.3%。在所有情況下,其餘架構均保持不變。

通常,我們認爲可以將空間注意力用於提高模型的性能。 [46]和[54]中的實驗表明了這一點,其中在有和沒有注意的情況下對模型進行了評估,並且在兩種情況下,細心的版本都表現更好。 但是,僅靠注意力似乎還不夠。 我們將在6.2節中進一步討論

儘管是有趣的方法,但貝葉斯和組合體系結構並未比可比模型顯着改善。在[36]中,該模型僅在與MLP模型結合後才具有競爭性。目前尚不清楚該增加是否是由於模型平均或提議的貝葉斯方法引起的。同樣,[44]和[50]中的NMN模型也沒有優於可比的非組成模型,例如[49]。這兩種方法都可能在特定的VQA子任務上表現良好,例如NMN被證明對SHAPES數據集中的位置推理問題特別有幫助。但是,由於主要數據集未提供問題類型的詳細細分,因此無法量化系統如何處理特定問題類型。此外,對稀有問題類型的任何改進對整體績效得分的影響都可以忽略不計,從而難以正確評估這些方法的優勢。我們將在6.3節中進一步討論這些問題。

6 Discussion

如圖10所示,VQA算法的性能已經得到快速提高,但是最好的方法與人類之間仍然存在巨大差距。 尚不清楚性能的提高是來自後來系統中合併的機制,例如注意力,還是歸因於其他因素。 而且,可能難以孤立地分離文本和圖像數據的貢獻。 由於算法評估方式的差異,比較算法也面臨許多挑戰。 在本節中,我們將討論每個問題。

6.1 Vision vs. Language in VQA

VQA由兩個不同的數據流組成,這些數據流需要正確使用以確保強大的性能:圖像和問題。但是,當前的系統是否充分利用了視覺和語言?消融研究[36,32]常規顯示,僅問題模型的性能比僅圖像模型好得多,尤其是在開放式COCO-VQA上。在COCO-QA上,僅使用問題的簡單圖像盲模型可以實現50%的精度,而使用圖像的收益則相對適中[36]。在[36]中,還表明,對於DAQUAR-37,使用更好的語言嵌入和圖像盲模型產生的結果要優於採用圖像和問題的早期作品。這主要是由於兩個因素。首先,該問題嚴重地限制了在許多情況下期望的答案的種類,本質上將開放式問題變成了多項選擇題,例如,有關對象顏色的問題將以顏色作爲答案。其次,數據集傾向於具有強烈的偏見。這兩個因素使語言比單獨的圖像功能更強大。

語言對圖像的預測能力已通過消融研究得到證實。[73]作者研究了使用圖像和問題特徵訓練的模型。 然後,他們研究了僅給出圖像或僅給出問題時與給出兩種圖像時相比,模型的預測有何不同。 他們發現,僅圖像模型的預測與合併模型的預測相較於僅問題模型的預測相差40%。 他們還表明,問題的措詞方式強烈地使答案有偏頗。 訓練神經網絡時,這些規律性將被納入模型。 雖然這可以提高數據集的性能,但可能不利於創建通用的VQA系統。

在[42]中,使用合成卡通圖像研究了VQA中的偏差。 他們創建了一個僅包含二元問題的數據集,其中可以針對兩個基本相同的圖像詢問相同的問題,除了較小的更改會導致正確答案有所不同。 他們發現,與在數據集的平衡版本上訓練的模型相比,在該數據集的非平衡版本上訓練的模型在平衡測試數據集上的性能(絕對差)差11%。

我們進行了兩個實驗,以評估語言偏見對VQA的影響。首先,我們使用[38]中的model3。該模型在COCO-VQA上進行了訓練,通過將softmax輸出層的權重分爲圖像和問題分量,可以獨立評估問題和圖像特徵的貢獻。對於這兩種選擇,我們都提出了先後相對相等的簡單二元問題,因此必須分析圖像以回答問題。示例如圖12所示。我們可以看到系統性能很差,尤其是考慮到COCO-VQA的是/否問題的基線準確度約爲80%時。接下來,我們研究了語言偏見如何影響在COCO-VQA上訓練的更復雜的MCB集成模型[46]。該模型是2016年VQA挑戰研討會的獲勝者。爲此,我們創建了一個僅包含是/否問題的小型數據集。爲了創建此數據集,我們使用了來自COCO數據集驗證段的註釋來確定圖像是否包含人物,然後詢問是否存在有人,是否回答相同的“是”和“否”問題。我們使用了以下問題:“照片中有人嗎?”,“照片中有人嗎?”和“照片中有人嗎?”對於每個變體,有38,514個是/否問題(115,542)總)。此數據集上MCB集成的準確性比偶然性差(47%),這與在COCO-VQA上的結果形成鮮明對比(即在COCO-VQA是/否問題上爲83%)。這可能是由於訓練數據集中的嚴重偏差,而不是由於MCB無法學習任務。

 如圖11所示,VQA系統對問題的表達方式很敏感。當使用[32]中的系統時,我們觀察到了相似的結果。爲了量化這個問題,我們從驗證COCO數據集中創建了另一個玩具數據集,並將其用於評估在COCO-VQA上訓練的MCB集成模型。在此玩具數據集中,任務是識別正在玩的運動。我們問了同一個問題的三個變體:1)“他們在做什麼?”,2)“他們在玩什麼?”和3)“他們在玩什麼運動?”每個變體都包含有關7種常見運動的5237個問題(共15,711個問題)。 MCB集成的變體1達到33.6%,變體2達到78%,變體3達到86.4%。從變體1到2的性能顯着提高是由於包含關鍵字“ playing”而不是通用動詞“ doing”從變化2到變化3的增量是由在問題中明確包含關鍵字“運動”引起的。這表明VQA系統過度依賴註釋者經常包括的語言“線索”。總之,這些實驗表明語言偏向是嚴重影響當前VQA系統性能的問題。

總之,當前的VQA系統比圖像內容更依賴於問題。 數據集中的語言偏差會嚴重影響當前VQA系統的性能,從而限制了它們的部署。 新的VQA數據集必須通過補償圖像內容的問題和/或減少數據集的偏倚來努力彌補這一問題。

6.2 How useful is attention for VQA?

很難確定多少注意力可以幫助VQA算法。在消融研究中,當從模型中刪除注意機制時,會損害其性能[46,54]。當前,COCO-VQA的最佳模型的確採用了空間視覺注意力[46],但是已經證明,不使用注意力的簡單模型已經超過了使用複雜注意力機制的早期模型。例如,在[62]中,使用了多個全局圖像特徵表示(VGG-19,ResNet-101和ResNet-152)而不是單個CNN的無注意力模型,與某些注意模型相比,表現非常好。他們使用逐元素的乘法和加法來組合圖像和問題特徵,而不是僅僅將它們串聯在一起。與合奏相結合,產生的結果明顯高於[49]和[52]中使用的基於注意力的複雜模型。其他不使用空間注意力的系統,例如[36、64、53],也獲得了類似的結果。僅注意不能確保良好的VQA性能,但是在不使用注意的情況下,將注意力合併到VQA模型中似乎可以提高性能。

在[74]中,作者表明,通常用於將空間注意力整合到特定圖像特徵上的方法不會導致模型與接受VQA任務的人員參與相同的區域。 他們使用[49]和[54]中使用的注意力機制進行了觀察。 這可能是因爲模型學習的區域是可區分的,這是由於數據集中的偏差,而不是由於算法應參加的區域。 例如,當問到有關窗簾中是否存在懸垂性的問題時,該算法可能會在牀底而不是窗戶上查看圖像的底部,因爲有關懸垂性的問題往往在臥室中發現。 這表明由於偏見,可能無法正確部署注意機制。

6.3 Bias Impairs Method Evaluation

數據集偏差會嚴重影響評估VQA算法的能力。需要使用圖像內容的問題通常相對容易回答。許多關於對象或場景屬性的存在。 CNN往往會很好地處理這些問題,而且語言偏見也很強烈。相對困難的問題(例如以“爲什麼”開頭的問題)相對較少。這對評估性能具有嚴重的影響。對於COCO-VQA(訓練和驗證分區),將以“ Is”和“ Are”開頭的問題的準確性提高15%的系統會將總體準確性提高5%。但是,“爲什麼”和“哪裏”問題的增加只會使準確性提高0.6%。實際上,即使正確回答了所有“爲什麼”和“哪裏”的問題,準確性的整體提高也僅爲4.1%。另一方面,如果對所有以“是否存在”開頭的問題回答“是”,則這些問題的準確性爲85.2%。如果單獨評估每種類型的問題,則可以克服這些問題,然後使用各種問題類型的平均準確性代替基準算法的總體準確性。這種方法類似於用於評估對象分類算法的平均每類準確性度量標準,該度量標準是由於可用於不同對象類別的測試數據量存在偏差而採用的。

6.4 Are Binary Questions Sufficient?

在VQA社區中,使用二進制(是/否或正確/錯誤)問題評估算法引起了廣泛的討論。 反對使用二元問題的主要論據是缺乏複雜的問題,並且相對容易回答通常由人類註釋者生成的問題。 Visual Genome和Visual7W完全排除了二進制問題。 作者認爲,這種選擇會鼓勵註釋者提出更復雜的問題。

另一方面,二元問題易於評估,從理論上講,這些問題可以包含各種各樣的任務。 SHAPES數據集[44]僅使用二元問題,但包含涉及空間推理,計數和繪圖推論的複雜問題(見圖6)。 使用卡通圖像,[42]還表明,當數據集平衡時,這些問題對於VQA算法可能特別困難。 但是,爲現實世界的圖像創建平衡的二進制問題面臨挑戰。 在COCO-VQA中,“是”比“否”更爲常見,原因是人們傾向於提出偏向“是”的問題。

只要能夠控制偏差,是/否問題就可以在將來的VQA基準測試中發揮重要作用,但是VQA系統應該不僅可以解決二元問題,還可以充分評估其能力。 VQA的所有實際應用程序(例如使盲人能夠提出有關視覺內容的問題)都要求VQA系統的輸出是開放式的。 只能處理二進制問題的系統在實際應用中會受到限制。

6.5 Open Ended vs. Multiple Choice

由於評估開放式多詞答案具有挑戰性,因此已提出多項選擇作爲評估VQA算法的方法。 只要備選方案足夠困難,就可以以這種方式評估系統,然後將其部署爲回答開放式問題。 由於這些原因,可以使用多種選擇來評估Visual7W,Visual Genome和VQA數據集的變體。 在此框架中,算法可以訪問許多可能的答案(例如,COCO-VQA爲18)以及問題和圖像。 然後,它必須在可能的選擇中進行選擇。

選擇題評估的一個主要問題是,可以將問題簡化爲確定哪個答案是正確的,而不是實際回答問題。 例如,在[64]中,他們將VQA公式化爲答案評分任務,其中訓練系統根據圖像,問題和潛在答案產生分數。 答案本身作爲特徵輸入系統。 它在Visual7W上取得了最先進的結果,並與COCO-VQA上的最佳方法相媲美,其方法的性能比許多需要注意的複雜系統要好。 在很大程度上,我們認爲他們的系統運行良好,因爲它學會了更好地利用答案中的偏差,而不是對圖像進行推理。 在Visual7W上,他們展示了他們系統的一個變體,該變體僅使用答案,並且在使用問題和圖像的情況下,圖像和問題盲的基線都可以與之匹敵。

我們認爲,任何VQA系統都應該能夠運行,而不會得到輸入的答案。 多項選擇可能是評估多詞答案的重要因素,但僅憑它是不夠的。 當使用多項選擇時,必須仔細選擇選項,以確保問題很難解決,並且不能僅從提供的答案中得出。 完全能夠使用提供的答案進行操作的系統並不能真正解決VQA,因爲在部署系統時這些功能不可用。

7 Recommendations for Future VQA Datasets

現有的VQA基準還不足以評估算法是否已“解決” VQA。 在本節中,我們討論VQA數據集的未來發展,這將使它們成爲解決問題的更好基準。

未來的數據集需要更大。 儘管VQA數據集的規模和多樣性不斷增長,但是算法沒有足夠的數據用於訓練和評估。 我們進行了一個小實驗,其中使用ResNet-152圖像特徵和跳過問題的特徵爲VQA訓練了簡單的MLP基線模型,並根據COCO-VQA上可用的訓練數據量對性能進行了評估。 結果如圖13所示,很明顯,曲線尚未開始接近漸近線。 這表明即使在有偏差的數據集上,增加數據集的大小也可以顯着提高準確性。 但是,這並不意味着增加數據集的大小足以使其成爲一個良好的基準,因爲人類傾向於提出帶有強烈偏見的問題。

未來的數據集需要減少偏差。 在本文中,我們反覆討論了現有VQA數據集中的偏差問題,並指出了這些偏差導致真正評估VQA算法的問題種類。 對於現實世界的開放式VQA,如果不仔細指導產生問題的人員,將很難實現這一目標。 長期以來,偏向一直是用於計算機視覺數據集的圖像中的問題(有關評論,請參見[75]),而對於VQA,該問題也由於問題的偏見而變得更加複雜。

除了更大,更少偏見之外,未來的數據集還需要進行更細微的分析以進行基準測試。所有公開發布的數據集都使用評估度量標準,以相等的權重對待每個問題,但是由於偏見或因爲現有算法擅長回答此類問題(例如對象識別問題),因此某些類型的問題要容易得多。某些數據集(例如COCO-QA)已將VQA問題劃分爲不同的類別,例如,對於COCO-QA,這些是顏色,計數(數字),位置和對象。我們認爲,每個問題的平均表現應該代替標準的準確性,因此每個問題在評估表現時都不會具有同等的權重。這將使VQA算法必須在各種問題類型上都必須表現出色才能總體上表現良好,否則將有很長的路要走,否則,在回答“爲什麼”問題方面表現出色但在更常見的問題上要比另一種模型稍差的系統沒有得到公正的評估。爲此,需要爲每個問題分配一個類別。我們相信這項工作將使基準測試結果變得更加有意義。每種問題類型的分數也可用於比較算法,以查看它們擅長的問題類型。

8 Conclusions

VQA是計算機視覺和自然語言處理中一個重要的基礎研究問題,它要求系統執行比任務特定算法(例如對象識別和對象檢測)更多的工作。 可以回答有關圖像的任意問題的算法將是人工智能的里程碑。 我們認爲,VQA應該是任何視覺圖靈測試的必要部分。

在本文中,我們嚴格審查了VQA的現有數據集和算法。 我們討論了評估算法所產生答案的挑戰,尤其是多詞答案。 我們描述了偏見和其他問題如何困擾現有數據集。 這是一個主要問題,該領域需要一個評估VQA算法重要特徵的數據集,因此,如果算法在該數據集上表現良好,則意味着它在VQA上總體上表現良好。

關於VQA的未來工作包括創建更大,更多樣的數據集。 這些數據集中的偏差將很難克服,但是以細微的方式分別評估不同類型的問題,而不是僅使用幼稚的準確性,將大有幫助。 需要進一步的工作來開發可以推斷圖像內容的VQA算法,但是這些算法可能會導致重要的新研究領域。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章