Learning the Best Pooling Strategy for Visual Semantic Embedding

摘要

视觉语义嵌入(Visual Semantic Embedding, VSE)是视觉语言检索中的一种主流方法,其目的是学习一个深度嵌入空间,使视觉数据嵌入到与其语义文本标签或描述相近的位置。我们发现,在不同的特征提取器中,非常简单(但精心挑选的)全局池函数(例如,最大池)的性能优于那些复杂的模型。尽管它简单有效,但为不同的数据模式和特征提取寻找最佳的池函数是昂贵和繁琐的(这里为什么是昂贵复杂的?),特别是当特征的大小变化时(如文本、视频)。因此,我们提出了一种广义池操作(GPO),它可以学习自动适应不同特征的最佳池策略,不需要手动调优,同时保持有效和高效。我们利用这个GPO扩展了VSE模型,并将其表示为VSE∞。在没有铃铛和哨声的情况下,VSE∞在流行的特征提取器的图像-文本检索基准上显著优于以前的VSE方法。VSE∞通过简单的调整,在两个视频文本检索数据集上实现了新的状态,进一步证明了它的强大。全面的实验和可视化证实,GPO总能发现最佳的池策略,并且可以作为标准VSE模型的即插即用的特征聚合模块。

介绍

传统的VSE步骤:

  • 步骤1、使用特征提取器从数据中提取一组(或序列)特征。,用于可视化数据的ConvNets)。
  • 步骤2、使用特征聚合器将提取的特征上下文化和聚合,将它们作为整体向量投影到联合嵌入空间中。
  • 步骤3、用相似度度量(例如,余弦距离)计算嵌入之间的匹配分数。

确定了特征提取器后,人们可能会认为需要一个复杂的聚合器才能获得良好的结果。然而,我们(在§3中)证明了一个惊人的简单和高效的聚合器,一个精心挑选的池化函数(例如,max pooling),可以超越先前最先进的用复杂的聚合器的VSE方法。

上述问题解答
搜索最优池需要大量的手动调优和对每个数据模式和特性的重复实验(例如,网格搜索),这是繁琐和昂贵的,因为它枚举了配置的组合数量。当特征集的大小不同时,这个搜索过程可能会更加复杂。

网格搜索(Grid Search)名字非常大气,但是用简答的话来说就是你手动的给出一个模型中你想要改动的所用的参数,程序自动的帮你使用穷举法来将所用的参数都运行一遍。

我们能自动发现最佳的池策略吗?

我们提出了一种新的参数化池操作,广义池操作(GPO),以充分利用基于池的特征聚合的优势。GPO对各种池函数进行综合,并学会调整自己以适应不同的数据形式和特征提取器的最佳池函数。

具体来说,GPO学习了一个生成器,该生成器预测池化系数,以加权排序特征向量的元素,并使用它们的加权和作为池化输出。系数生成器被实例化为一个小序列模型来处理可变大小的特征。GPO学习适应最优池策略,并以可忽略不计的额外计算成本改进VSE模型。

利用所提出的GPO,我们构建了VSE∞多模态匹配系统,该系统扩展了标准VSE框架,使用GPO作为视觉和文本特征的特征聚合器。

在图像文本检索任务上,VSE∞超越了COCO和Flickr30K,超越了所有先前最先进的基于VSE的方法。通过简单的扩展,VSE∞的变异体在两个基准数据集上也获得了最好的视频文本检索结果。MSR-VTT]和V aTeX。在额外的实验中,我们表明GPO始终优于文献中其他可学习的备选池。为了更好地理解GPO,我们进一步可视化了VSE∞找到的池化策略,并将其与彻底的网格搜索过程进行了比较。

贡献:

  • 我们发现,在以往的VSE方法中,仔细选择简单的池函数可以比复杂的视觉聚合器更好地进行图像-文本匹配
  • 我们提出了一种新的广义池运算符(GPO),它可以泛化各种池函数。它学习使用各种特征提取器自动发现图像、文本和视频数据的最佳池化功能。
  • 我们利用GPO建立了VSE∞,实现了VSE方法在图像文本和视频文本检索中的最新性能。
  • 我们将GPO学习到的池化策略可视化,并通过比较VSE∞和对所有模式的池化函数进行彻底的网格搜索,验证了GPO在给定数据下学习到的最佳池化策略。

多模态匹配的视觉语义嵌入

我们首先回顾了视觉语义嵌入(VSE)的形式化表述。VSE模型(如图1所示)利用视觉嵌入functionΦ(x),如卷积神经网络(如cnn),和文本嵌入functionΨ(t),如序列模型(如LSTMs, transformer),分别计算视觉特征集和文本特征集:

在这里插入图片描述

视觉特征 { ϕ n } n = 1 N \{ {\phi _n}\} _{n = 1}^N {ϕn}n=1N,具有卷积局部表示的n个元素,   ϕ n \ {\phi _n}  ϕn具体形式可以是特征图空间网格的特征向量或者其他。

文本特征 { φ t } m = 1 M \{ {\varphi _t}\} _{m = 1}^M {φt}m=1M 跟上述一样。

由视觉特征和文本特征进一步编码得到的 v v v f V I S U A L ( ⋅ ) f_{VISUAL}(·) fVISUAL()and f T E X T ( ⋅ ) f_{TEXT}(·) fTEXT()
在这里插入图片描述
相容性评分定义为两者之间的余弦相似度
s ( x , t ) = v T u ∥ v ∥ ⋅ ∥ u ∥ s(x,t) = \frac{{{v^T}u}}{{\left\| v \right\| \cdot \left\| u \right\|}} s(x,t)=vuvTu

学习多模态匹配
现有的方法大多是利用三重排序损失

具有广义池化算子的VSE∞

我们首先提出了一个实证发现,强调了在VSE模型中精心选择的池函数的有效性。然后我们提出了我们的方法,广义池操作符(GPO),介绍了它的形式化定义,然后详细介绍了GPO的具体模型体系结构(§3.3)。最后,我们总结了利用GPO的多模态系统(VSE∞)(§3.4)。

在这里插入图片描述

这些包含数百万参数的聚合模型表现得不如精心挑选的池函数。

在本文中,我们关注于最大化基于池的聚合的优势。虽然最优的池策略具有简单和有效的特点,但搜索它需要在许多配置上重复实验(例如,K- maxpool的不同K),这既冗长又昂贵。当特征提取器发生变化时,或者特征长度可变时(例如文本),这个过程可能会更加复杂。

概括不同的池策略

  • AvgPool
  • MaxPool
  • K-MaxPool (在每一个pooling块中取了前k大的值)

主要思想

GPO的目的是对各种池策略进行泛化,使池操作能够针对不同的特征自动找到最合适的策略。因此,GPO学习生成池化系数θ,池化定义为对已排序特征的加权求和:

在这里插入图片描述

学习到的池化策略可能会不均匀地分配top-K元素的权重,或者只为θ1和θ n设置非零值。我们在§5.3中可视化了一些学到的池化系数。

学习生成池系数

参数化θ的最直接的方法是将其定义为可训练的向量,但这只能处理连续整数的情况。当特征是可变大小时(这在视频和文本序列中很常见),学习固定的系数集θ就不再可行了。为了解决这个问题,我们建议学习一个参数化函数g(·,·)作为系数生成器:
在这里插入图片描述
对于每一个位置k,函数都会产生一个系数 θ k {\theta _k} θk对于视频集合。

实现广义池操作符

GPO的设计主要包括两个部分:

(1)基于三角函数的位置编码函数
(2)基于双向门控循环单元(BiGRU),采用位置编码序列生成池化系数的序列模型。

位置k的编码为:
采用transformer[42]中使用的位置编码策略对位置索引进行向量化:

在这里插入图片描述

然后我们将每一个位置的编码转为成 p k p_k pk,接下来,我们学习一个序列模型来产生池化系数。由于特征集的大小是不固定的,所以系数生成器有必要知道特征集的大小。因此,我们利用序列到序列解码器函数,以位置编码序列 p = { p k } k = 1 N p = \{ {p_k}\} _{k = 1}^N p={pk}k=1N输入,输出池系数序列 θ = { θ k } k = 1 N \theta = \{ {\theta _k}\} _{k = 1}^N θ={θk}k=1N。解码器功能由一个小的BiGRU和一个多层感知器(MLP)组成:

在这里插入图片描述

这里面 h k h_k hk是BiGRU在位置K的输出。

具有不同集大小的学习生成器

为了使GPO的系数生成器(·,·)更好地逼近不同大小输入的不同池模式,我们执行了一种数据增强策略,允许它观察更多种特征集大小。在训练过程中,我们随机降低20%的输入向量来扰动输入特征集的大小,我们称之为尺寸增宽。

使用GPO生成VSE∞

我们将标准VSE框架(即AvgPool)中的可视化和文本聚合器替换为两个GPOs。两个GPOs分别将图像特征向量和文本特征向量独立投影到两个整体嵌入中,进一步计算匹配分数。

增加了在线硬负挖掘过程

相关工作

VSE依赖于学习强的图像和文本嵌入函数来获得高质量的联合嵌入空间。->扩展: 利用双向lstm对句子进行编码,作为语义嵌入。
提高:通过在线硬负挖掘进行学习,进一步提高了VSE模型[9]的质量。

更多的研究集中在改进视觉或文本嵌入功能(特别是聚合器),或设计辅助训练目标

最近,使用BERT模型用于视觉语言数据,这些方法通常使用BERT[7]作为文本特征提取器,并学习额外的跨模态transformer以实现丰富的跨模态交互。同时,这些方法利用图像和文本配对的数据集(如概念标题数据集[39])进行大规模的视觉语言预训练。与该系列方法相比,VSE模型缺乏强的跨模态相互作用,在经验性能上较差。然而,在跨模态检索方面,VSE模型比V+L BERTs模型效率高几个数量级,因为后者需要巨大的BERT模型来转发所有对图像和文本。

在§5.1.1中,我们证明了最佳VSE∞可以获得与最佳V+L BERT方法相近的图像文本匹配性能,同时在大规模多模态检索中速度更快。

实验

综合检索实验

图像文字检索

比较GPO与可选择的Poolings

我们在四种视觉和文本特征提取组合中比较了GPO与几种有代表性的可学习的池化方法。
广义平均池化(GeM)
特征排序池(FSPool)
基于CLStoken的聚合,广泛用于聚合BERT模型[7]中的文本特性。

在多模态匹配上下文中,BERT的默认CLS聚合器远不是最优的。最重要的是,GPO是各种功能组合的最佳池策略,可以作为即插即用的每通道功能聚合器。

在这里插入图片描述
左图研究了两种视觉特征上的不同聚合器,AvgPool作为BiGRU的文本聚合器。右图研究两个文本特征的不同聚合器,而使用GPO作为区域特征的视觉聚合器。

可视化和理解GPO

为了更好地理解GPO学习到的池化模式,我们将学习到的GPO池化系数可视化在图5中。onbutregion特性,GPO近似于MaxPool,这与§3中的观察结果一致。在网格特征上,系数规则性较差,但较大的头寸指数占据较大的值。我们还观察到GPO对BiGRU特征的最大值和最小值产生非零系数,这超出了K-MaxPool的模式。学习到的BERT池策略接近MaxPool。

在这里插入图片描述

比较GPO和网格搜索。
在这里插入图片描述
我们使用不同K值的K- maxpool进行手动网格搜索,以便与butregion和BiGRU特征进行图像-文本匹配。这里使用GPO的Size enhancement来进行公平的比较,因为它提高了性能(详见附录)。如图6所示,网格搜索给出的最佳strsumm为520.4,略低于表2中相应GPO条目的520.8,这意味着GPO成功地避免了代价高昂的重复搜索。

图6显示了用于视觉和文本模式的池函数的最佳组合是相互纠缠的。例如,最好的文本池函数随着视觉池函数的变化而变化。因此,需要一个n×nsearch来找到K的最优组合,其中K是每个模态的网格数。当视觉特征包含多个特征提取器(如区域+网格)时,这种情况会变得更糟,因为搜索复杂度会进一步变成eo (n3)。

结论

在本文中,我们提出了广义池操作(GPO),它可以学习自动适应不同数据和特征主干的最佳池策略。通过扩展标准VSE模型,以GPO为特征聚合器,建立了我们的VSE∞模型。VSE∞在图像文本检索基准上显著优于以往的VSE方法。我们进一步证明,我们的VSE模型在没有视觉-语言预训练的情况下,实现了与视觉+语言BERT模型相当的图像-文本匹配性能。综合消融实验证实,GPO发现了适当的池策略。通过简单的调整,VSE∞的变体在两个视频文本检索数据集上实现了新的状态,进一步证明了其有效性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值