VLP、多模态的早期技术举例说明(3)

1.  关于VQA的BUTD

论文地址:Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering

VQA的BUTD模型的概述。灰色数字表示层间向量表示的维度。黄色元素使用学习得到的参数。

​​​VQA的BUTD模型的概述。灰色数字表示层间向量表示的维度。黄色元素使用学习得到的参数。

自上而下的注意力:给定一个图像-问题对,首先从基于目标检测(OD-based)的视觉编码器中提取区域级的自底向上特征v = {v_1, \dots , v_M}(M是区域的数量)。使用词嵌入层和GRU作为文本编码器,得到问题特征 w。需要注意的是,问题特征是一个全局的文本表示,具有512维的单一向量,如图所示。

BUTD采用模态间注意力,将查询问题特征关注到每个图像区域。具体而言,每个区域vi的注意力权重ai由一个注意力模型fatt计算,并通过softmax操作进行归一化:

其中w_a是一个可学习的参数向量,f_a是一个门控tanh层。计算出注意力权重后,通过对v进行加权求和来获得注意力加强的视觉表示:

最后,通过以下方式获得跨模态表示h:

其中,f_w和f_v是门控tanh层。对于答案预测,采用两层MLP作为分类器,以跨模态表示h作为输入。使用二元交叉熵作为损失函数来监督模型的训练。

使用多头缩放点积注意力的Transformer模型:BUTD引入的自顶向下注意力机制在两个方面都比较简单。一方面,它只是使用了跨模态注意力,而更先进的模型(例如Gao等人,2019b;Yu等人,2019c)则结合了跨模态和内部模态注意力来学习更好的跨模态表示。另一方面,注意力机制相对简单,只使用了问题到区域的注意力。此外,注意力权重是通过单个可学习的参数向量wT a来学习的(通常在文献中称为单头注意力)。近期,基于注意力的现代模型(Li等人,2019d;Gao等人,2019b;Yu等人,2019c)紧随Transformer(Vaswani等人,2017)的步伐,采用缩放点积注意力,通常使用多头注意力。

2. 图像描述

        在深度学习之前,早期的图像描述模型采用模块化架构,分别开发用于在图像中检测对象或概念以及使用规则或机器学习模型生成字幕的模块。受到机器翻译中的Seq2Seq学习框架的启发,现代图像描述模型采用了编码器-解码器架构。具体而言,使用视觉编码器提取视觉特征,并使用文本解码器基于这些视觉特征生成图像描述。为了使文本解码器更好地利用视觉特征中的丰富信息,已经探索了不同的多模态融合方法,有的包含注意力机制,有的则不包含。

论文:Show, Attend and Tell: Neural Image Caption Generation with Visual Attention

Show, Attend, and Tell模型

        我们首先以开创性的“展示、注意力和描述”模型(Xu等,2015年)作为例子,回顾一下一个图像描述模型是如何工作的。通过基于卷积神经网络的视觉编码器,首先从图像中提取出网格特征v = {v1, · · · , vM}(M = 14×14表示网格数)。文本解码器使用LSTM,在每个时间步上生成一个单词,条件为:

(i)当前时间步t的上下文向量zt,表示与图像输入相关的部分;

(ii)LSTM的当前隐藏状态ht;

(iii)之前生成的单词y1:t−1。

在这里,我们介绍了如何通过注意力机制生成上下文向量。类似于方程式2.2,采用注意力模型fatt,然后进行softmax归一化,计算时间步t时第i个视觉特征vi的注意力权重ati。然而,在图像描述的情况下,注意力权重不再以问题特征w为条件,而是以LSTM的先前隐藏状态ht−1为条件。

我们探索了两种替代的fatt机制,读者可以参考原论文获取更多细节。在获得注意力权重后,通过所有视觉特征的加权和计算上下文向量zt。也就是说,

时间点t上的输出单词概率可以通过输出层fo计算得出:

视觉编码器:早期的研究采用CNN模型作为图像编码器来提取全局视觉特征,然后迅速转向网格特征。后来,从基于目标检测的视觉编码器中提取的区域特征成为默认选择,因为BUTD表明,自底向上的特征对于图像解释生成更有效。再次,江等人也在VQA和图像字幕生成方面支持使用网格特征。最近,基于完全Transformer的图像解释生成模型是基于从Transformer-based视觉编码器(例如Swin Transformer)中提取的网格特征构建的。

文本解码器:在Transformer出现之前,广泛采用基于RNN的方法在Aneja等人(2018年)中也探索了基于CNN的解码器,显示出与LSTM设计相比具有相当的性能,但更容易训练(例如更好的训练效率,不太容易出现梯度消失等问题)。最近,基于Transformer的解码器已成为最受欢迎的设计选择。

多模态融合:早期的模型在没有注意机制的情况下,直接将全局视觉特征输入到文本解码器中,作为初始隐藏状态或LSTM解码器的每一步。类似于在VQA中使用注意力模型,通过在解码器中引入模态间注意力机制,增强了编码器-解码器的图像解释生成模型,使得图像解释可以基于感兴趣的图像区域/网格和概念生成。也已经探索了用于字幕生成的模态内注意力,主要关注建模物体之间的关系推理。例如,Yao等人(2018年)采用图卷积网络将语义和空间物体关系整合到视觉编码器中。Herdade等人(2019年)构建了一个物体关系Transformer,通过几何注意力明确地结合输入对象之间的空间关系信息。

3. 图文检索检索

        图像-文本检索可以被表述为分类问题(即确定图像-文本对是否匹配)或排序问题(即基于与查询的相似性对所有候选实例进行排序)。图像-文本检索模型的典型架构类似于VQA模型,包括视觉编码器、文本编码器、多模态融合模块以及可能带有任务特定输出层的多模态融合模块,用于将跨模态表示投影到相似度度量中。接下来,我们详细讨论主要组件的演变。

视觉编码器:我们观察到与普通CNN模型类似的过渡,从全局图像特征到网格特征。采用bottom-up特征之前,区域特征已被用于对图像和文本之间更细粒度的对齐进行建模。例如,使用R-CNN提取区域特征;利用Edge-Box生成区域建议;后进一步将区域特征与全局图像特征相结合。

文本编码器:研究人员已经探索了(i)基于BoW的方法(ii)基于RNN的体系结构;以及(iii)基于CNN的体系结构。

多模态融合:有研究专注于将全局视觉特征和全局文本特征投影到共同的“视觉-语义”空间中,其中多模态融合通过简单的点积实现。另一种方法范式是研究图像中的区域与文本中的词语之间更精细的对齐。第一种尝试(Karpathy和Fei-Fei,2015)采用内积融合每个词语-区域对,将对齐的词语与区域对的相似性求和作为图像-文本相似性。注意力机制的引入极大地增强了局部级别匹配方法的性能。许多工作(Huang等,2017; Nam等,2017; Liu等,2019b; Zhang等,2020b)致力于设计更好的跨模态注意力。最显著的例子可能是SCAN(Lee等,2018),它不仅使用文本作为查询关注图像区域,还使用图像查询关注词语。还可以使用内模态注意机制来增强图像/文本表示。图像表示可以通过位置聚焦的注意模块(Wang等,2019d)或基于图神经网络对对象关系进行结构化推理(Li等,2019c)来进行精炼。扩展到文本表示,Chen和Luo(2020)设计了一个词语注意模块和一个对象注意模块,计算词语和对象的自注意权重。Liu等(2020a)和Diao等(2021)将图神经网络应用于图像和文本输入。

4. 其他

        在本节中,我们将回顾早期视觉语言模型发展的其他研究课题,包括双线性汇聚、组合式视觉推理和视觉定位。

4.1  双线性汇聚

先进的注意力设计是早期视觉语言研究的主要主题。除此之外,与简单的串联和逐元素乘积融合不同,另一种工作线(Fukui等,2016; Kim等,2017; Yu等,2017)旨在开发更好的双线性汇聚方法,即如何将两个向量融合成更好的表示。

具体而言,Fukui等(2016)提出了多模态紧凑双线性(MCB)汇聚方法,该方法也是2016年VQA挑战赛的获胜解决方案。然而,傅里叶变换后的特征维数非常高,使得MCB计算代价昂贵。Kim等(2017)提出了一种简单的Hadamard乘积用于低秩双线性汇聚,而Yu等(2017)则提出了多模态分解双线性(MFB)汇聚方法。其他更高级的汇聚方法还包括MUTAN(Ben-Younes等,2017)和BLOCK(Ben-Younes等,2019)。在Perez等(2018)中,作者开发了FiLM,一种特征逐元素线性调制算子,类似于条件批量归一化,即将语言信息(例如问题)注入图像主干(例如卷积神经网络)的通用条件层。

这些工作与注意力设计是正交的,通常它们一起使用以增强彼此的效果。然而,在VLP时代,所有这些双线性汇聚和注意力设计大部分被Transformer设计所取代或融合进来。

4.2 组合式视觉推理

        除了设计更好的注意力方法以在传统的视觉语言任务(如VQA和图像字幕)上取得更强的性能外,还有关于组合式视觉推理的研究。这种推理要求模型具备强大的组合泛化能力,即能够理解和回答组合式问题,而无需事先看到类似的语义组合。下面,我们简要回顾神经模块网络(NMN)(Andreas等,2016a,b),它旨在执行这种复杂的推理任务。通常,这些方法在一个称为CLEVR(Johnson等,2017a)的诊断性视觉推理数据集和一个真实世界的视觉推理数据集GQA(Hudson和Manning,2019b)上进行评估。

为了回答关于图像的问题,NMN使用一组预定义的函数,并将每个函数明确地编码到一个浅层神经网络中,称为模块。这些模块动态组合以构建针对每个输入问题的特定实例网络。通过首先将问题解析为程序,然后通过动态组合特定于实例的网络来执行程序,NMN在可解释性和组合性方面具有出色的性能。每个模块都被设计成完成一个特定的技能,多个模块可以在推断过程中组合起来执行新的任务。

由于NMN涉及两个步骤,程序合成和程序执行,原始的神经模块网络(Andreas等,2016b)无法进行端到端的训练。IEP(Hu等,2017)和N2NMN(Johnson等,2017b)通过强化学习成功地使NMN可以进行端到端的训练。Stack-NMN(Hu等,2018)进行软布局选择,使得整个模型完全可微。神经符号VQA(Yi等,2018;Mao等,2019;Vedantam等,2019)通过将图像编码为场景图来进行符号推理。Chen等(2021b)提出了元模块网络,其中仅使用通用的元模块进行程序执行的循环。这个元模块能够接受函数配方,并将其动态转化为多样化的实例模块。然后,这些实例模块被编织到一个执行图中进行复杂的视觉推理,继承了NMN的可解释性和组合性。

除了神经模块网络,还提出了组合式注意力网络(Hudson和Manning,2018)和MuRel(Cadene等,2019a)用于实现复杂问题上的多跳推理。然而,由于纯注意力设计,这些模型的可解释性较差。此外,还提出了神经状态机(NSM)(Hudson和Manning,2019a)。它首先预测了一个概率性的场景图,然后对图进行多跳推理以进行答案预测,其中场景图对模型来说是一个强大的先验知识。

在最近的VLP文献中(Tan和Bansal,2019;Chen等,2020d;Li等,2021a;Dou等,2022b),大多数方法都使用基于Transformer的大规模整体网络。对于组合式视觉推理和神经模块网络的研究变得较为冷门。但我们相信,在大规模预训练的新时代,组合泛化仍然是值得进一步研究的重要主题。

4.3 视觉定位

现在,我们简要讨论视觉定位(VG)任务。与第2.1节介绍的VL任务不同,VG要求模型将文本查询与图像中相关的对象进行关联,并预测边界框坐标。同样地,我们简要回顾了流行的基准数据集和针对VG的代表性任务特定模型。

任务和基准数据集。文献中提出了两种类型的VG任务,短语定位和指代表达理解。 • 短语定位是通过Flicker30K Entities数据集(Plummer等,2015)引入的,在该数据集中,图像的一个句子中的多个实体(短语)被映射到图像上的框,以指示它们之间的对应关系(图2.7a)。任务是为每个实体预测一个边界框。使用Recall@K来评估模型的性能,给定实体的预测框与实际边界框之间的交并比(IoU)大于或等于0.5时,被视为正确。 • 指代表达理解是为了定位输入图像中与文本中的表达所指的对象,并返回该对象的边界框,如下图:

这个任务有三个经过充分验证的数据集,分别是RefCOCO、RefCOCO+(Yu等人,2016)和RefCOCOg(Mao等人,2016)。类似地,如果IOU大于或等于0.5,则预测被认为是真正的正例。准确率被用作评估指标。

任务特定的视觉定位模型。早期的视觉语言模型可以一般分为两类。一类是两阶段方法(Nagaraja等,2016;Kim等,2018),首先需要生成对象区域,然后通过多模态融合进行区域-文本匹配,以实现查询/指代表达的定位。区域建议可以使用无监督方法(Plummer等,2018;Wang等,2018)或预训练的目标检测器(Yu等,2018a;Zhang等,2018b)生成。另一类是端到端训练的一阶段模型(Chen等,2018;Liao等,2020),其中边界框的生成由文本/短语查询指导。例如,Yang等人(2019b)将文本查询的嵌入(单个向量表示)融合到YOLOv3目标检测器中(Redmon和Farhadi,2018)。该方法后来通过使用递归子查询构建框架,在图像和查询之间进行多轮推理,并逐步减少指代歧义(Yang等,2020)。近期,Deng等人(2021)经验性地表明,复杂的融合模块可以用简单的Transformer编码器层栈来替代,以达到更高的性能。

 参考:Vision-Language Pre-training: Basics, Recent Advances, and Future Trends

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值