CVPR 2019 Fusion of Detected Objects in Text for Visual Question Answering

动机
  1. 上下文信息对于多模态语境的影响,以及视觉-语言信息对视觉问答的影响。

    一个词的含义与它出现的上下文有系统和可预测的联系。不同的上下文概念导致了下游NLP任务的不同成功程度。包括Transformer和BERT在内的最近的神经结构显著提高了本论文包含潜在词汇提示的广泛窗口的能力。然而,同样的能力允许使用多模态语境,这可能有助于建模一般词语含义,并加深对语境中词语实例的理解。本论文研究了视觉语境对语言的影响,指出正确的视觉信息和语言信息的结合可以提高视觉问答的效果。

  2. 面临的挑战。

    挑战是回答与给定图像相关的自然问题。在这个问题的背景下,本论文讨论的更普遍的问题是如何在一个神经结构中编码视觉和语言信息。如何最好地做到这一点还不清楚。如何在图像中看到绑定到目标的文本实体?文字和图像是较晚整合,允许独立分析(较晚融合),还是对其中一个的处理应以对另一个的分析(较早融合)为条件?如何最好地编码跨模态co-references?在对句子结构进行编码之前,先在视觉世界中对单词进行预处理,这有意义吗?

方法
简介

本文通过设计文本transformer中的边界框(简称B2T2)来回答这些问题,B2T2是一种用于自然语言和图像多模态编码的神经结构,本论文在视觉常识推理基准上对B2T2进行了评估。

VCR非常适合于测试丰富的多模态表征,因为它需要分析描绘从事复杂活动的人的图像;它呈现由人类注释者创造的问题、答案和原理,而不是自动生成;它有一个干净的多项选择界面用于评估;然而,由于通过对抗匹配仔细选择答案,它仍然具有挑战性。与其他流行的视觉问答(VQA)数据集相比,VCR的问题和答案要长得多,需要更多的语言理解建模能力。

问题描述

假设数据由4元组(I,B,T,l)组成,其中:

1)I是一个图像。

2)B=[b1,…,bm]是对于I的区域的边界框列表,其中每个bi是由左下角、高度和宽度标识。

3)T=[t1,…,tn]是一段tokenized的文本,其特点是其中一些token不是自然语言,而是对B元素的明确 references。

4)l是{0,1}中的一个二进制标签。

VCR数据集采用将自然文本与对边界框的明确 references混合在一起的方式进行注释。

假设了一个图像表示函数Φ ,它将一个图像(可能在调整大小和填充之后)转换为一个维度为d的固定大小向量表示。假设一个预训练的文本表示,它能够将文本的任何tokenized的段落(可能在截断或填充之后)转换为维度h的向量表示。假设一个上下文无关的token表示E,它为每个token的一个维数为h的向量,以及一个在E(T)上操作并返回一个维数为h的段落级向量表示。

双编码器

本论文评估了两种主要的融合体系结构:“双编码器”(Dual Encoder),它是一种后期融合体系结构,图像和文本分别进行编码,答案分数作为内积计算;全B2T2模型,它是一种早期融合体系结构,它将视觉特征嵌入到与输入词token相同的层次上。

在这里插入图片描述

双编码器。是将潜在不同类型的目标嵌入到共同表示空间中的模型,在共同表示空间中,相似性函数可以表示为例如点积或余弦相似性。用于图像分类的双编码器的一个显著例子是Weston等人提出的WSABIE。本论文的双编码器架构如上图所示。本论文将类分布建模为:
在这里插入图片描述

其中D是大小为d×h的学习矩阵。在该模型中,co-references信息是完全忽略的,并且该模型必须依赖于固定的维度向量来实现文本语境和视觉语境的后期融合。然而,实验证明,在VCR上,有可能是因为本论文选择了大量的预训练模型,该方法与公开的基线相比是非常有竞争力的。

B2T2

在这里插入图片描述

本论文的B2T2架构如上图所示。本论文将类分布建模为:
在这里插入图片描述

其中alRh和blR为学习参数,l∈{0, 1}。E`(I, B, R, T)是每个token和它在文本中的位置、边界框的内容及其位置的非上下文化表示。与“双编码器”的主要区别在于,文本、图像和边界框是在非上下文化的token表示的层次上组合的,而不是在分类决策之前。

在这里插入图片描述

E`(I, B, R, T)被计算如上图所示,更正式地,对于一个给定的例子,设矩阵R∈{0, 1}m×n编码B中的边界框和T中的token之间的references,使得Rij为1当且仅当边界框i被token j做reference。那么:

在这里插入图片描述

其中M是学习的h×d矩阵,Φ (crop(I, bi))表示将图像I剪切成边界框bi,然后提取尺寸为d的视觉特征向量,bi表示将bi的形状和位置信息嵌入尺寸为d的向量中。

为了嵌入边界框b的位置和大小,本论文引入了两个新的维度为k×d/4的可学习嵌入矩阵X和Y。设b的对角点的坐标为(x1,y1)和(x2,y2),在归一化之后,覆盖整个图像的边界框将具有x1=y1=0和x2=y2=k的关系。因此,位置嵌入被定义为

在这里插入图片描述

Loss

本论文所有的模型都是用标签L来训练二进制交叉熵损失损失。表示为p: =p(l=1|I, B, R, T),对每个例子都有:

在这里插入图片描述

Conceptual Captions的预训练

在对VCR进行训练之前,本论文使用Mask-LM预训练技术对图像和captions对进行B2T2的预训练。预训练期间使用的设置如下图所示,其中模型使用图像作为填充mask时的附加上下文。
在这里插入图片描述

本论文使用两个任务进行预训练:(1)impostor识别和(2)masked语言模型预测。对于impostor任务,本论文为每个图像采样一个随机否定captions,并要求模型预测captions是否正确关联。对于mask-LM,本论文将captions中的token随机替换为[MASK]token,模型必须预测原始token。形式上,预训练数据由图像组成I和标题T。预训练期间,不考虑边界框,所以B=∅。二进制标签l表示caption是否为impostor。对于impostor识别的损失是带有标签l的二进制交叉熵LBCE。本论文将mask-LM的损失表示为LMLM,其中它是预测的token分布与真实token的加和交叉熵。为了确保本论文的模型正确地将语言与maskLM loss的图像结合起来,本论文只将其用于正captions,负面captions归零。本论文的最终目标是损失的总和:L=LBCE+I[l=1]·LMLM。其中I[l=1]是对于图像和caption对标签l为正的一个指示符。

本论文对 Conceptual Captions进行预训练,Conceptual Captions是一个包含超过3M个与captions成对的图像的数据集。实验发现,预训练在VCR上略微改进了本论文的模型,但更重要的是,允许本论文的模型稳定地训练。在没有预训练的情况下,VCR的结果呈现出更高的差异。

另外,本论文也尝试了对MS-COCO图像和captions的预训练,但发现这是无效的。这可能是因为MS-COCO更小(大约有80k个图像,400k个captions)。

实验

实验细节。本论文使用在ImageNet上预训练的ResNet-152作为Φ,其生成大小d=2048的向量表示。BERT-Large同时提供了E和Ψ。后者是一个预训练好的Transformer,有24层,16个注意力头,隐藏大小1024。对BERT来说,E对应于它的token嵌入,Ψ对应于最后层中的[CLS]token表示,因此Ψ(E(T))对应于大小h=1024的BERT段落表示。本论文根据经验发现当保持Φ固定而不是微调它时,它会表现得更好一点。然而对于新任务,微调Ψ和E是至关重要的。所有的优化实验中,本论文使用Adam优化器,并用一个超参数网格来训练本论文的模型:对于采用一个线性学习率衰减和两个随机种子初始化的epoch数为3、4和5的epoch,学习率分别为2·10−5和3·10−5。为了使VCR的性能最大化,本论文还评估了B2T2模型的集成。本论文的集成由5个相同的B2T2模型组成,经过3个epoch的训练,初始学习率为2·10−5,但用5个不同的随机种子初始化。然后将得到的类逻辑求和以获得集成分数。

网络结构使用的是BERT-Large,消融实验表明BERT-Base就有69.0的准确度,说明一个强大的预训练模型尤为关键。

在实验中,本论文发现文本token与目标的视觉特征之间的早期co-references融合是获得VCR改进的最关键的因素。本论文发现,在模型输入中包含的视觉目标特征越多,模型的表现就越好,即使它们不明确地与文本co-references,图像中目标的位置特征也很有帮助。本论文最终发现,当本论文的VCR模型从在 Conceptual Captions上的预训练(一个包含约3M张带有captions的图像的公共数据集)初始化时,它们的训练可以可靠得多。从这些模型改进的组合中,本论文获得了一个新的可视问答模型,该模型在VCR上达到了最先进的水平,相对于最好的公开和文档化模型,错误率降低了25%以上。

小结

为了改进多模态上下文模型,本论文结合了视觉和自然语言,引入了一种简单而强大的神经网络模型。“文本transformer中的边界框”(B2T2)还利用参考信息将单词绑定到一个单个统一架构中的图像部分。B2T2在可视化常识推理基准上非常有效,实现了一个新的最先进水平,与公布的基准相比,错误率相对降低了25%,并在公开排行榜上获得了迄今为止的最佳表现(截至2019年5月22日)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值