天天看點

【文獻閱讀】BGN+AN——将答案看做屬性組成的小樣本VQA學習(D. Guo等人,ArXiv,2021)一、背景二、文章摘要三、文章介紹四、小結  

一、背景

文章題目:《Learning Compositional Representation for Few-shot Visual Question Answering》

文章下載下傳連結:https://arxiv.org/pdf/2102.10575.pdf

文章引用格式:Dalu Guo and Dacheng Tao.  "Learning Compositional Representation for Few-shot Visual Question Answering". arXiv preprint, arXiv: 2102.10575, 2021.

項目位址:暫時沒有

二、文章摘要

Current methods of Visual Question Answering perform well on the answers with an amount of training data but have limited accuracy on the novel ones with few examples. However, humans can quickly adapt to these new categories with just a few glimpses, as they learn to organize the concepts that have been seen before to figure the novel class, which are hardly explored by the deep learning methods. Therefore, in this paper, we propose to extract the attributes from the answers with enough data, which are later composed to constrain the learning of the few-shot ones. We generate the few-shot dataset of VQA with a variety of answers and their attributes without any human effort. With this dataset, we build our attribute network to disentangle the attributes by learning their features from parts of the image instead of the whole one. Experimental results on the VQA v2.0 validation dataset demonstrate the effectiveness of our proposed attribute network and the constraint between answers and their corresponding attributes, as well as the ability of our method to handle the answers with few training examples.

目前VQA對于一些較少樣本的個體的預測表現較差。而人類能夠隻看幾眼就很快适應一種新的種類,因為他們能夠在看一個新的種類之前學習概念的組合,然而這在深度學習中還是很少觸及的。是以,本文提出從有足夠資料的答案中提取屬性,然後将這些屬性組合起來,以限制對小樣本的學習。我們建立了一個小樣本的VQA資料集,它不需要任何人工工作就可以生成帶有各種答案及其屬性。利用這個資料集,我們建立了屬性網絡,通過學習部分圖像而不是整個圖像的特征來區分屬性。在VQA v2.0驗證集的結果上表明我們提出的屬性網絡,能夠處理隻有幾個訓練樣本的答案。

三、文章介紹

VQA目前是一個比較複雜的視覺和自然語言的互動問題。一般地,為了了解文本資訊,多采用LSTM或者Transformer,VQA涉及到的問題類型如下圖所示:

【文獻閱讀】BGN+AN——将答案看做屬性組成的小樣本VQA學習(D. Guo等人,ArXiv,2021)一、背景二、文章摘要三、文章介紹四、小結  

包括image recognition,object detection,scene recognition,human action recognition等。然而這些視覺任務都是互相獨立的但享有共同的視覺特征。相反,VQA的答案則是這些特征的組合。是以,它給VQA帶來了多種資料不平衡的答案,這些答案具有一些共同的屬性。比如下圖所示:

【文獻閱讀】BGN+AN——将答案看做屬性組成的小樣本VQA學習(D. Guo等人,ArXiv,2021)一、背景二、文章摘要三、文章介紹四、小結  

如上圖所示,所有左上和右邊的例子的答案都是riding,但是目标對象不同,而riding motorcycle’, ‘riding bike’, and ‘riding horse’因為有大量的訓練樣本,是以很容易的AI系統識别,而riding elephant很難被識别因為隻有幾個少量的訓練樣本,然而人類卻能夠很好的了解這個新的類别,因為人類可以将這個類别分成兩個已知的類别去學習。組合表示(Compositional Representations)對于Few-shot Recognition,可以學習屬性,但是它需要大量的人力來進行樣本中的屬性資訊的标記,且并未明确的對屬性的表示進行模組化。将VQA視作元學習,就是處理VQA的小樣本學習的例子。還有模型MAML,但是它隻能處理20類。

本文試圖解決小樣本的VQA學習,它的答案則更加多樣且複雜。首先作者建立了base set和novel set,這兩個集合都來自于VQA 2.0的訓練集,并且不需要額外的人力對圖像中的屬性進行标記。然後作者關注于對屬性的表示,一般視覺識别任務,都是使用的均值向量(或者平均池化),比如ResNet,GoogLeNet,ResNext,對于分類任務來說,它識别的是整張圖像,但是卻利用到了圖像中的各個組成部分。是以,作者提出了屬性網絡來對圖中每個單獨的屬性進行評分。最後,作者在base set中建立答案和屬性之間的關聯,之後在novel set中進行轉換來學習小樣本答案的表示。

1. 相關工作

視覺問答(Visual Question Answering (VQA)):傳統的思路就是CNN提取圖像特征,RNN提取文本特征,然後将兩個特征連接配接起來,輸入到MLP中進行分類,獲得預測答案。但實際上,并非圖像中的所有特征都是有用的,是以後來又出現了注意力機制,它們來學習圖像中不同區域的權重,代表方法比如Stack Attention Networks (SAN)和Dual Attention Networks (DAN)。這類方法的特征結合多采用外積(outer product)的方法,但這樣做的融合特征往往具有較高次元,難以被優化,是以後來又有了代表方法如Multimodal Compact Bilinear Pooling (MCB),Hadamard Product for Low-rank Bilinear Pooling (MLB),Multi-modal Factorized Bilinear Pooling (MFB)等。此外,還有Bilinear Attention Networks (BAN),Bilinear Graph Networks,Dynamic Fusion with Intra- and Inter-modality Attention Flow (DFAF),Deep Modular Co-Attention Networks (MCAN),Vilbert,VL-bert,Structbert,and LXMERT,Bottom-up and top-down (BUTD)等方法。

小樣本學習(Few-shot Learning):小樣本學習就是學習隻有幾個标簽樣本的新類别。第一類的小樣本學習是元學習(meta learning),即學習如何去學習,代表方法包括Model-Agnostic Meta-Learning (MAML),Meta Networks;第二類是度量學習(metric learning),即學習樣本之間的相似度,代表算法包括Siamese neural networks,Matching Networks,Prototypical Networks,Graph Neural Networks等;除了這兩類方法,還有一類資料增廣的方法,

屬性學習(Learning with attributes):對于few-shot和zero-shot來說,人類可以很好的進行屬性的組合。代表算法如Measuring compositionality in representation learning,Dense Attribute-Based Attention等。

2. 方法

本文的算法基于Bilinear Graph Network。

(1)雙線性圖網絡(Bilinear Graph Network)

BGN用圖來建立目标和單詞之間的關系。具體的理論公式這裡不多做介紹。

(2)學習組成表示(Learning Compositional Representation)

我們将答案的訓練集分為兩個部分,base set有大量的訓練樣本和novel set隻有幾個訓練樣本,且novel set中的樣本在base set中沒有出現過。損失函數這裡使用的是二值交叉熵。

屬性網絡(Attribute Network):學習組成答案的關鍵就是将答案中的屬性進行較好的表征。這裡的損失函數仍然使用的是二值交叉熵,此外,由于答案可以用屬性進行重構,是以我們還可以用最小化重構答案和原始答案之間的相似度來度量這個重構損失,這個相似度可以采用餘弦相似度或者均方根誤差。模型的網絡結構如下所示:

【文獻閱讀】BGN+AN——将答案看做屬性組成的小樣本VQA學習(D. Guo等人,ArXiv,2021)一、背景二、文章摘要三、文章介紹四、小結  

屬性限制(Constrained by Attributes):在novel set中,由于新的類别往往隻有幾個樣本,是以很難學習答案的表示,且很容易過拟合。然而,在base set中學習的屬性可以幫助學習這些答案的嵌入。

3. 實驗

(1)VQA v2.0 Datasets

VQA v2.0資料集不多介紹了,這裡隻說一下作者是如何建立小樣本資料集的。作者首先将VQA的答案類型分為三類:二值類,計數類,其他。作者隻關注其他類,因為相較于前兩類,它更加複雜多樣,首先建構base answer set,即收集資料集中答案次數超過40次的答案,一共有2584個,這裡一個答案有可能對應的是多個不同的問題,然後作者用spacy将答案中的單詞分開,一個單詞作為一個屬性,最後再核查移除無意義的單詞,最終得到了2108個屬性。而novel answer set則是從資料集中收集答案次數不超過10次的答案,一共1859個答案,之後的操作與上面的相同,統計結果如下表所示:

【文獻閱讀】BGN+AN——将答案看做屬性組成的小樣本VQA學習(D. Guo等人,ArXiv,2021)一、背景二、文章摘要三、文章介紹四、小結  

(2)實驗細節Implementation Details

問題長度設定為15,LSTM的輸入次元為600,300是模型訓練的,300是Glove得到的,輸出次元為1024。目标特征使用Faster RCNN。架構采用Pytorch,batch size設定為128,優化器選用Adamax,初始學習率為0.001,baseline model選為BGN。

(3)評估方法Evaluation Metrics

主要使用top-1和top-5精度,然後few-shot包含1-shot,5-shot,10-shot。

(4)消融實驗Ablation Study

結果如下表所示:

【文獻閱讀】BGN+AN——将答案看做屬性組成的小樣本VQA學習(D. Guo等人,ArXiv,2021)一、背景二、文章摘要三、文章介紹四、小結  

根據上表,作者将λ設定為0.1,初始化方法選擇He initialization。

(5)與其他模型的比較Comparison with Other Models

結果如下表所示:

【文獻閱讀】BGN+AN——将答案看做屬性組成的小樣本VQA學習(D. Guo等人,ArXiv,2021)一、背景二、文章摘要三、文章介紹四、小結  

(6)量化分析Qualitative Analysis

BGN和BGN+AN的結果示例如下圖所示:

【文獻閱讀】BGN+AN——将答案看做屬性組成的小樣本VQA學習(D. Guo等人,ArXiv,2021)一、背景二、文章摘要三、文章介紹四、小結  

另外,作者以pizza為例,統計了base set中的屬性組合的數量情況:

【文獻閱讀】BGN+AN——将答案看做屬性組成的小樣本VQA學習(D. Guo等人,ArXiv,2021)一、背景二、文章摘要三、文章介紹四、小結  

這裡提到了BGN是不能夠解決資料集的偏見問題的,比如pizaa,出現eating的機率明顯會更大一些。

四、小結

繼續閱讀