【文献阅读】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涉及到的问题类型如下图所示:

包括image recognition,object detection,scene recognition,human action recognition等。然而这些视觉任务都是相互独立的但享有共同的视觉特征。相反,VQA的答案则是这些特征的组合。因此,它给VQA带来了多种数据不平衡的答案,这些答案具有一些共同的属性。比如下图所示:

如上图所示,所有左上和右边的例子的答案都是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):学习组成答案的关键就是将答案中的属性进行较好的表征。这里的损失函数仍然使用的是二值交叉熵,此外,由于答案可以用属性进行重构,因此我们还可以用最小化重构答案和原始答案之间的相似度来度量这个重构损失,这个相似度可以采用余弦相似度或者均方根误差。模型的网络结构如下所示:

属性约束(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个答案,之后的操作与上面的相同,统计结果如下表所示:

(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

结果如下表所示:

根据上表,作者将λ设置为0.1,初始化方法选择He initialization。

(5)与其他模型的比较Comparison with Other Models

结果如下表所示:

(6)量化分析Qualitative Analysis

BGN和BGN+AN的结果示例如下图所示:

另外,作者以pizza为例,统计了base set中的属性组合的数量情况:

这里提到了BGN是不能够解决数据集的偏见问题的,比如pizaa,出现eating的概率明显会更大一些。

四、小结
 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全部梭哈迟早暴富

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值