用于跨模式检索的自监督对抗哈希网络
摘要
由于深入学习的成功,跨模式检索最近取得了显著的进展。然而,仍然存在着一个关键的瓶颈:如何弥合情态差异,进一步提高检索的准确性。在本文中,我们提出了一种自我监督的对抗性散列(SSAH)方法,它是早期尝试将对抗性学习以自我监督的方式纳入跨模式散列的方法之一。这项工作的主要贡献是利用两个敌对网络来最大化不同方式之间的相互关系和一致性。此外,我们还利用自监督语义网络以多标签注释的形式发现高级语义信息。这些信息指导了特征学习过程,并保持了公共需求空间和汉明斯空间之间的模式关系。在三个基准数据集上进行的大量实验验证了所提出的SSAH优于最先进的方法。
1,简介
由于爆炸性增加来自各种搜索引擎和社交媒体的多元数据,近年来交叉模式检索已经成为一个引人注目的话题[20,21,22,23,24,25,39,35,36,41,42,45]。跨模态检索旨在通过使用来自另一模态(例如,文本)的查询在一种模态(例如,图像)中搜索语义上相似的实例。为了满足实际应用中低存储成本和高查询速度的要求,哈希在跨模态检索领域备受关注,它将高维多模态数据映射到公共哈希中。给出类似的交叉模态项类似的哈希码。由于来自不同形态的实例在其特征表示和分布(即,它们的模态差)方面是异常的,因此有必要在足够的细节中探索它们的语义相关性以桥接该模态差距。大多数现有的浅交叉模态哈希方法(无人监督[2,10,14,18]和监督设置[7,17,19,26,30,40,33])总是捕捉到共同汉明的语义相关性空间。与无监督的对应物相比,监督的跨模式哈希方法通过开发语义标签或关于相关性的信息可以实现最高性能,从而提取跨模态相关性。然而,几乎所有这些存在于交叉模态下的方法都是基于手工制作的特征,这可能会限制实例的辨别表示,从而降低学习二进制哈希码的准确性。
近年来,深度学习已经成为非常成功的,可以用于各种应用[1] [13]。然而,只有少数作品对跨模态哈希[3,9,12,31,43]进行了深度学习,这可以更有效地捕捉跨模态实例之间的非线性相关性。值得注意的是,仍然存在一些阻碍当前深度跨模式散列方法的常见缺点。首先,这些方法简单直接地采用单类标签来衡量跨模态的语义相关性[9] [12]。实际上,在标准的跨模式基准数据集(如NUS-WIDE [6]和Microsoft COCO [15])中,可以将图像实例分配给多个类别标签[27],这是有益的,因为它允许描述语义相关性跨越不同的方式更准确。其次,这些方法通过用相应的预定义损失函数约束相应的哈希码来实现模态差距[4]。代码长度通常小于128位。这意味着大多数有用信息被中和,使得哈希码无法捕获相关的模态一致性。相比之下,高维模态特征包含更丰富的信息,有助于弥合模态差距。因此,如何鼓励更丰富的语义相关性并建立更准确的模态关系对于在现实世界检索应用中实现令人满意的性能变得至关重要。
图1:我们提出的SSAH框架。
在本文中,我们提出了一种新的自我监督的对抗性散列(SSAH)方法来帮助进行跨模态检索。具体而言,我们采用两个对抗网络来共同学习高维特征及其相应的差异模式。在时间上,一个自我监督的语义网络被无缝集成,以多个标记的形式发现语义信息,其中监督头部学习,以最大化语义相关性和模态之间的特征分布一致性。我们工作的重点可概括如下:
•我们提出了一种新的自我监督的对抗性哈希方法,用于跨模态检索。据我们所知,这是利用对抗性学习的第一次尝试,旨在解决跨模式哈希问题。
•我们将自我监督的语义学习与对抗性学习相结合,以尽可能地保持语义相关性和跨模态的表示一致性。通过这种方式,我们可以有效地弥合模态差距。
•对三个基准数据集进行的大量实验表明,我们提出的SSAH明显优于当前最先进的交叉模式方法,包括传统和基于深度学习的方法。
本文的其余部分安排如下。第2节介绍了相关的工作重点模型。我们提出的SSAH模型和学习算法在第3节中给出。实验见第4节,第5节结束这项工作。
2.相关工作
跨模态散列方法可大致分为无监督和监督设置。无监督散列方法[8,34,38,46]通过发现属于未标记训练数据的模态和模态内信息来学习散列函数。丁等人。 [8]通过使用潜在因子模型执行矩阵分解来学习单一二进制代码。 Song等人的工作。 [34]学习可以将不同形态的特征映射到共同汉明空间的函数。 Supervisedhashingmethods [2,4,14,16,39,40,44]旨在利用可用的监督信息(例如标签或训练数据的语义功能)来提高性能。布罗斯坦等人。 [2]通过特征分解和增强来保持类内相似性,提出了一种跨模态哈希方法。语义相关最大化(SCM)[44]利用标签信息来学习模态特定变换,其预测模态之间的最大相关性。保留语义的散列(SePH)[16]通过对概率分布中的亲和矩阵建模,同时最小化Kullback-Leiblerdivergence,生成单一二进制代码。大多数这些方法都依赖于手工制作的特征,这些特征必须由浅层架构提取;这些方法可以有效地利用各种形式的异质关系。最近,一些作品报道了深度交叉模式哈希检索[3,9,12,37]。深度跨模式散列(DCMH)[12]执行端到端学习框架,使用负对数似然丢失来保持跨模态的相似性。 对抗性跨模式检索(ACMR)[37]直接借鉴了对抗性学习方法,并尝试使用与我们最密切相关的分类方法来区分不同的方式。 然而,与[37]相比,我们的SSAH利用两个对抗网络来共同模式化不同的模态,从而进一步捕获它们的语义相关性和代表性,以及对学习语义特征的监督。
3.PROPosed SSAH
在不失一般性的情况下,我们专注于双模态数据(即图像和文本)的跨模态检索。图1是表示所提出的SSAH方法的一般原理的流程图。该方法主要由三部分组成,包括一个名为LabNet的自监督语义生成网络,以及分别用于图像和文本模式的两个名为ImgNet和TexNet的对抗网络。具体而言,LabNet的目标是以允许从多个注释中学习语义特征的方式构建。然后,它可以被视为一个共同的语义空间,在其中监督两个阶段的模态 - 特征学习。在第一阶段,来自单独的生成器网络的模态特定特征在共同的语义空间中彼此相关联。由于深度神经网络中的每个输出层都包含语义信息,因此在公共语义空间中关联模态特定的特征可以帮助促进模态之间的语义相关性。在第二阶段,语义特征和模态特定特征同时被馈送到两个鉴别器网络中。结果,在相同语义特征的监督下,两种形态的特征分布趋于一致。在本节中,我们将介绍有关SSAH方法的详细信息,包括模型公式背后的方法和学习算法。
3.1。问题制定
设O = {oi} ni = 1表示具有n个实例的交叉模态数据集,oi =(vi,ti,li),其中vi∈R1×dv和ti∈R1×dt是原始图像和文本特征。第i个实例,li = [li1,...,lic]是分配给oi的多标签注释,其中c是类号。如果oi属于第j类lij = 1,则lij = 0.图像特征矩阵定义为V,文本特征矩阵定义为T,标签矩阵定义为L forallinstances。空间多标签相似性矩阵S用于描述两个实例中的每一个之间的语义相似性,其中Sij = 1意味着oi在语义上与oj相同,否则Sij = 0.在多标签设置中,两个实例(oi和oj)被注释通过多个标签。因此,如果oi和oj共享至少一个标签,则我们定义Sij = 1,否则Sij = 0。
这两种方式的交叉模态运行代码的代码:Bv,t∈{-1,1} K,其中K是
二进制代码的长度。使用模拟距离评估两个二进制码之间的相似性。汉明距离disH(bi,bj)与其内积hbi,bji之间的关系可以使用disH(bi,bj)= 12(K-hbi,bji)来表达。因此,我们可以使用内积来量化两个二进制代码的相似性。给定S,条件B下S的概率可表示为:
其中δ(Ψij) = 1 1 + e-Ψij,Ψij= 1 2 hbi,bji。因此,具有较大内积的两个实例应该具有高概率相似。因此,量化汉明空间中二进制码之间的相似性的问题可以是转换为代码原始特征的内积的计算。在这里,我们通过对话网络(ImgNet和TxtNet)来学习图像和文本模态的单独哈希函数(即,Hv,t = fv,t(v,t;θv, t))。同时,我们构建了一个端到端的自我监督语义网络(LabNet),以便在一个共同的语义空间中模拟图像和文本模态之间的语义相关性,同时学习这种语义特征的功能(即Hl = fl(l) ;θl))。这里,fv,t,l是哈希函数,θv,t,l是要学习的网络参数。学习后的Hv,t,l,bina ry代码Bv,t,l可以通过将符号函数应用于Hv,t,l:Bv,t,l =符号 来生成更容易理解,我们另外使用Fv,t,l∈Rs×n todenotethesemanticfeaturesinacommon语义空间用于图像,文本和标签,s是语义空间的维度。在实践中,Fv,t,l对应于深度神经网络的某些输出层(分别为ImgNet,TxtNet和LabNet)。
3.2。自我监督的语义生成
以微软的COCOdatase为例,有一个标注有多个标签的例子,如“人”,“棒球棒”和“棒球手套”。在这种情况下,最自然的想法是,有可能采取多个labelannotationasaconduciveness与其他模式之间的模态之间的语义相关性。我们设计了一个名为LabNet的端到端全连接深度神经网络,用于模拟不同模态之间的语义相关性。给定实例的多标签向量,LabNet逐层提取抽象语义特征;通过这些,我们可以在网络和网络上监督特征学习过程。由于aaipiplet(vi,ti,li)被用于特殊情况,因此我们可以使用isgardli asself-supervisedsemanticinformation forvi andti。 InLabNet,semanticfeaturesareprojectedinto
通过非线性变换得到相应的哈希码。我们意识到,语义特征与相应的对应代码之间存在着相似的关系,这是对不同形式之间有效关联背后的基本预测。因此,对于LabNet,最终目标可以表述如下:
(3)其中Δlij= 1 2(F1 * i)>(F1 * j),Γlij= 1 2(Hl * i)>(Hl * j),Hl是预测的散列代码和L1是预测标签。 α,γ,η和β是超参数。在(3)中,J1和J2是两个负对数似然函数。 J1用于保持语义特征之间的相似性,而J2用于保存类似标签信息不相似的实例。 J3是学习哈希码二值化的近似,J4是原始标签和预测标签的分类丢失
3.3。特征学习
如上所述,属于多模态实例的不同模态在语义上是相关的。为了保持这种语义相关性,我们在LabNet的指导下监督两种模态的特征学习过程,包括对语义特征和学习二进制代码的监视。为了解决图像模态,我们设计了一个名为ImgNet的端到端特征学习网络,它可以将图像投影到哈希码中。通过使用语义网络监督图像特征学习,我们可以在ImgNet和语义网络之间保持相同的语义相关性。当在ImgNet中使用时,这是语义网络的自我监督角色。同样,在考虑文本模态时,我们使用语义网络来监督特定于特定学习过程的文本网络。因此,v和t中不同形态的自监督特征学习的目标函数可以写成:
(4)其中Δv,t ij = 1 2(F1 * i)>(Fv,t * j),并且Γv,t ij = 1 2(Hl * i) >(Hv,t * j)。 Hv,t是预测的哈希码,Lv,t分别是图像和文本的预测标签。 α,γ,η和β是超参数。 J1和J2是两个负对数似然函数。 J3和J4区域的近似损失和分类损失以类似于LabNet中使用的方式定义。应注意,尽管(3)和(4)在结构上相似,但它们具有不同的含义。因此,我们使用监督信息Fl * i和Hl * i(从语义网络中学习)来指导学习网络和文本网络的过程。可以使用语义网络建立相关性。结果,可以减轻模态差距。与图像模态相比,文本模态中的实例(通常由词袋(BoW)向量表示)容易导致稀疏性。因此,当想要发现学习哈希码所需的有价值信息时,BoW是不合适的。为了解决这个问题,我们设计了一个多尺度融合模型,它由多个平均合并层和一个1×1卷积层组成。使用多个平均映射层来提取多个缩放比例的数据,然后使用1×1个卷积层来使用多个特征。通过这个过程,可以捕获不同的关系,在构建文本形态的语义相关性时,可以捕获这些关系。更详细的参数信息在第3.6节中给出。
3.4。对抗性学习
在LabNet的监督下,语义相关性可以在不同的模态中得以保留。 但是,不同的模态通常不一致地分布,如果我们想要生成单一的哈希码,这不是有益的。 为了弥合这种模式差距并实现更准确的检索,我们以对抗性学习方式研究了不同模态的分布协议。 我们已经建立了两个用于图像和文本模式的鉴别器,而不是分配差异。 对于图像(文本)鉴别器,输入是通过LabNet生成的图像(文本)模态特征和语义特征,输出是单个值,“0”或“1”。 具体而言,我们定义了这些语义特征的模态标签,它们已经生成了“1”,并且定义了图像(文本)语义的模态标签。
从ImgNet(TxtNet)生成的模态特征为“0”。我们将Fv和F1输入到为图像设计的鉴别器中,并将Ft和Fl馈送到另一个已经设计好的标识符中。 Toformulatethis结构,letY = {yi} 3×n i = 1,yi∈{0,1}表示模态labelassignedtothesemanticfeatureinthesharedcommon空间。设Y l = {yl i} n i = 1,yl i = 1表示标签的模态标签。 LetY v,t = {yv,t i} n i = 1 andyv,t i = 0分别表示图像和文本的模态标签。在训练我们的模型时,这两个鉴别器就是两个对手。因此,目标函数可以写成如下:
(5)
wherexv,t,l i是共同语义空间中的语义特征,而模态标签是yv,t,l i,2×n,表示在每个判别器中都有重复的实例。 (5)的结果是鉴别器充当两个二进制分类器,将输入语义特征分类为类“1”和类“0”。
3.5.优化
需要注意的是,使用我们的SSAH可以生成三种散列码::Bv,t,l = sign(Hv,t,l)。在训练过程中,我们使B =符号(Hv + Ht + Hl)训练我们的模型以生成用于语义相似实例的类似二进制代码。如上所述,整体目标函数可以写成如下:Lgen = Lv + Lt + Ll Ladv = Lvadv + Ltadv(6)如果我们把它们放在一起,我们可以得到:(
由于参数B的离散性和由最小值损失引起的消失梯度,(7)的优化是难以处理的。因此,我们通过迭代优化来优化目标(7)。首先,我们通过探索标签信息来优化过度θ1,B1和L1。然后,通过固定θ1和B1来优化LV对θv和Bv的影响。类似地,我们留下θl和Bl固定来学习θt和Bt,允许Lt的优化。在这个过程中,两种模态特征是在自我监督的学习方式中学习的。最后,通过固定θv,t,l weoptimizeLv,t advoverθv,t。通过利用随机梯度下降(SGD)和反向传播(BP)算法来研究所有网络参数,这是一种广泛采用的不存在的深度学习方法。 Algorithm1详细介绍了整个学习算法。对于样本外扩展:建议的框架可以应用于跨模式。实际上,它不仅限于两种形式;相反,它可以很容易地适应解决问题的原因,而不是更多的不同。 Hashcodesfortheunseendata-point,它来自不同的模态,imagesortext,可以通过将原始特征输入到我们的模型中而直接获得:
(8)此外,通过将标签信息输入到LabNet,我们可以获得标签信息的哈希码,然后可以同时使用来自图像和文本的相关结果。
3.6。实现细节
自我监督语义网络:我们使用四层前馈神经网络构建LabNet,用于将标签投影为哈希码(L→4096→512→N)。输出层N的节点与不同数据集的哈希码K和总类标签c的长度相关,N = K + c。
图像生成网络:我们基于CNN-F [5]神经网络构建了ImgNet。为了将CNN应用于我们的SSAH模型,我们保留了前七层(与CNN-F中的相同)。在此之后,中间层fc8(具有512个节点)和最终输出层(具有N个节点)被构建。此外,我们还使用vgg19 [32]网络评估了我们的方法;在这里,我们用vgg19网络替换了CNN-F网络,其余部分保持不变。
用于文本的生成网络:我们使用三层前馈神经网络和多尺度(MS)融合模型(T→MS→4096→512→N)构建TxtNet。 MS由五级池化层(1×1,2×2,3×3,5×5和10×10)组成。
对抗网络:我们使用三层前馈神经网络(Fv,t,l→4096→4096→1)构建鉴别器网络。
关于SSAH中使用的激活函数:sigmoid激活用于输出预测的标签; tanh激活用于输出哈希码;其余的层都由relu函数统一激活。此外,SSAH通过TensorFlow实现,并在具有两个NVIDIA TITAN X GPU的服务器上运行。
4.实验
4.1。数据集
MIRFLICKR-25K数据集[11]包含从Flickr收集的25,000个实例。每个图像都标有相关的文本标签。在这里,我们遵循DCMH [12]中给出的实验方案。总共为我们的实验选择了20,015个数据点。每个点的文本表示为1,386维BoW向量,并且每个点用24个唯一标签中的至少一个手动注释。
NUS-WIDE数据集[6]是一个包含269,648个Web图像的公共Web图像数据集。有81个基本概念,它已经被人们注意到了对其进行评价。在修剪没有任何标签或标签信息的数据之后,选择属于21个最常见概念中的某些概念的190,421个图像文本对的子集作为我们的数据集。
MSCOCO数据集 [15]包含大约80,000个训练图像和40,000个验证图像。随机选择来自验证集的五千个图像。总的来说,我们的实验中使用了85,000个数据项。每个数据项由两个不同模态的一个图像 - 文本对组成,每个文本表示为2000维BoW矢量。表1总结了三个数据集的统计数据。
4.2。评估和基线
评估:汉明排名和哈希查找是用于评估跨模态检索任务性能的两种经典检索协议。在我们的实验中,我们使用三个评估标准:平均精度(MAP),用于测量汉明距离的准确度;精确调用(PR)曲线,用于测量散列查找协议的准确性;并且n(P @ n)曲线的精度用于通过仅考虑顶部返回点的数量来评估精度。
基线:我们使用六种最先进的方法比较我们的SSAH,包括几种基于浅层结构的方法(CVH [14],STMH [38],CMSSH [2],SCM [44],SePH [16]),和基于深层结构的方法(DCMH [12])。为了进行公平的比较,我们利用了CNN-F [5]和vgg19 [32],它们已经在ImageNet数据集[28]上进行了预测,以便为所有基于浅层结构的基线提取深层特征。
为了确定超参数α,γ,η和β,我们从检索数据库中随机选择一些数据点(每个数据集2,000个)作为我们的验证集。 图2提供了这些超参数的灵敏度分析。 当α=γ= 1且η=β= 10-4时,总是可以看到高性能。 对于图像模态,我们使用在ImageNet数据集上预训练的CNN-F网络初始化ImgNet的前七层。 对于文本模态,TxtNet随机初始化。 学习率从10-4到10-8之间选择。 在此之后,我们显示了10次运行的平均结果。
表1:我们实验中使用的数据集的统计数据
表2:MAP。 最佳精度以粗体显示。 基线基于CNN-F功能。
4.3。性能
汉明排名:表2报告了我们的SSAH和其他在三种流行数据集(MIRFLICKR25K,NUS-WIDE和MSCOCO)的模态检索中具有CNN-F特征的比较方法的MAP结果。 “I→T”表示查询是图像,数据库是基于文本的,“T→I”表示查询和数据库是基于图像的。与CVH,STMH,CMSSH,SCM和SePH的浅基线相比,我们的SSAH在MIRFLICKR-25K数据集上对I→T / T→I的MAP实现了绝对超过10%的增加。在将SSAH与基于深度学习的方法(DCMH)进行比较时,我们运行作者提供的源代码。在这里,可以看出SSAH可以实现超过5%的MAP增加。对于具有更多实例和复杂内容的更多实例和MS COCO,SSAH总是提供比其他比较方法更优越的性能,如表2所示。这可能是因为,在学习过程中,所提出的自我监督的对抗性网络更有效地促进了不同形式之间语义相关性的学习,这意味着可以使用我们的SSAH学习更多的判别性表征。因此,SSAH可以更准确地捕获模态之间的相关性。我们使用已在ImageNet数据集上预先训练过的vgg19功能[32]进一步验证我们的SSAH。表3显示了三个不同数据集的MAP结果。如表3所示,我们可以看到几乎所有基于基于CNN-F的方法均基于CNN-F。不仅如此,我们的SSAH始终如一地实现了最佳性能。与浅基线(CVH,STMH,CMSSH,SCM和SePH)相比,SSAH在MIRFLICKR-25K数据集上的I→T / T→I的平均MAP上实现了绝对超过5%的增加。这表明所提出的SSAH可以应用于其他网络,并且当配备有效的深层网络结构时可以实现更准确的检索。
散列查找:在考虑查找协议时,我们计算给定任何汉明半径的返回点的PR曲线。 PR曲线可以通过将Hamming半径从0变为16来获得,步长为1.图4显示了所有当前最先进方法的PR曲线,在三个基准数据集上具有16位哈希码。通过这种方式,可以看出我们的SSAH显着优于其所有最先进的竞争对手。
SSAH的消融研究:我们还验证了不同网络模块对我们SSAH性能的影响。设计了三种变体作为我们SSAH网络的基线:(a)通过自我监督的语义网络来建立SSAH-1; (b)SSAH-2是用三个全连接层替换TxtNet而建造的; (c)通过删除对抗性学习模块来构建SSAH-3。图3显示了MIRFLICKR-25K数据集上16位的比较结果。从结果中我们可以看出,我们的方法在使用所设计的模块时可以实现更准确的性能,并且自我监督的语义网络显着地提高了性能。
训练效率:图5显示了SSAH和DCMH的MAP和训练时间之间的差异。 我们可以看到,我们的方法将训练时间缩短了10倍,超过了DCMH.IncomparisontoDCMH,SSAHexploitsLabNet从高维语义特征和代码中学习更多足够的监督信息,用于有效地训练ImgNet和TxtNet。 因此,可以捕获不同模态之间的更准确的相关性,并且可以更有效地桥接模态差距。
与ACMR的比较:根据我们目前的最佳知识,ACMR [37]是借用对抗性学习方法进行跨模态检索的第一项工作。 但是,ACMR不是基于散列的方法。 为了与ACMR进行公平比较,我们遵循在NUS-WIDE-10kdataset中使用的ACMR.SSAH进行的实验设置,这是通过从NUS-WIDE数据集中的10个最大类别中随机选择10,000个图像/文本对来构建的。 表4显示了实验结果。 ACMR报告了带下划线的结果。 可以看出,我们的方法明显优于ACMR。 这可能是因为我们的框架中使用了两个小的网络,SSAH可以更准确地学习不同模态的分布,从而可以更有效地捕获相关性。
图2:超参数的灵敏度分析
图3:Precision @ top1000curvesonMIRFLICKR-25K。 表4:NUS-WIDE上具有CNN-F特征的MAP。
5.结论
在这项工作中,我们提出了一种新的深度哈希方法,称为自监督对抗性哈希(SSAH),以便有效地解决跨模态检索的问题。 提出的SSAHincorporatesa自我监督语义网络与多标签信息相结合,并进行对抗性学习,以最大化不同形式之间的语义相关性和特征分布一致性。 大量实验表明,SSAH在三个基准数据集上实现了最先进的检索性能。
6.致谢
本项工作得到国家自然科学基金项目61572388和批准61703327,重点研发项目/重点行业创新,陕西省2017ZDCXLGY-05-04-02和格兰特2017ZDCXL-GY-05-04-02,以及ARC的支持。 FL-170100117,DP-180103424,DP-140102164,LP150100671。
网友评论