目录
简介动机贡献方法实验简介
本文一作是南洋理工大学的Xiaofeng Yang。
文章链接
动机
现有的VQA方法可以分为两类,第一类侧重于对视觉和语言的跨模态联合建模,但是由于缺乏关系推理能力,在组合推理任务上的表现较差。第二类主要侧重于神经模块的设计,但是这类方法需要手工设计,在real-world数据集上难以适用(具有过多的目标类别和可能的推理action)。本文在VQA中引入关系推理,单纯地基于图片提取objects并建立它们之间的关系会带来很大的噪声,并且需要大量的计算资源。而实际上,一个question中一般不包括超过6个objects。
贡献
提出了新颖的分层注意力方法,由TRR units构成TRR network,每个TRR units由四个部分组成:① root attention、② root to leaf attetnion passing module、③ leaf attention、④ message passing module,这四个模块的作用后面再介绍。提出一个策略网络,能够根据question和推理结果选择最佳的推理步骤。在GQA test上准确率为60.74,在VQAv2和CLEVR上效果也还不错。方法
本文方法的主要思想如下图所示。首先,在object-level上做一个注意力,得到一些候选objects,再将这些候选objects进一步细分,得到相关、不相关两类objects,不相关的objects直接丢弃,相关的objects之间建立两两关系。
本文具体方法如下图所示,本质是TRR units的堆叠。每个TRR unit包含四个部分:① root attention、② root to leaf attetnion passing module、③ leaf attention、④ message passing module,下面分别进行介绍。
① root attention。这部分基于object特征VVV、bbox特征BBB和word特征EEE生成object-level的注意力αobject\alpha ^{object}αobject,和object特征融合后,得到融合的object特征OrootO^{root}Oroot作为输出。② root to leaf attetnion passing module。这部分和OrootO^{root}Oroot没有什么关系,和αobject\alpha ^{object}αobject有关系。这部分首先基于αobject\alpha ^{object}αobject、object特征VVV和超参数KKK选出KKK个object,然后将得到的object特征和其对应的bbox特征concat一下,再两两建立关系,得到关系特征RRR。③ leaf attention。这部分首先基于question embedding eee、关系特征RRR做一些fc后得到特征hhh,再基于hhh使用softmax得到relation-level注意力αrelation\alpha ^{relation}αrelation,将注意力和关系特征结合,得到OleafO^{leaf}Oleaf作为输出。④ message passing module。由于要实现多步推理,这个模块的主要作用是,将OleafO^{leaf}Oleaf和object特征VVV结合,得到下一次迭代过程中的输入VnewV_{new}Vnew。
综上,每个TRR unit的处理过程可以总结为:
Otroot,Otleaf,Vt+1=TRRt(B,Vt,E)O^{root}_{t}, O^{leaf}_{t}, V_{t+1} = TRR_{t}(B, V_t, E)Otroot,Otleaf,Vt+1=TRRt(B,Vt,E)
至于什么时候停止推理,作者设计了策略网络,结合OtrootO^{root}_{t}Otroot、word特征EEE和当前推理次数ttt共同决定。当停止推理后,基于OtrootO^{root}_{t}Otroot、OtleafO^{leaf}_{t}Otleaf和EEE得到最终答案。
实验
在GQA test上的实验结果:
一些可视化的实验结果: