论文阅读:A Survey on Deep Hashing Methods 综述:深度哈希方法

A Survey on Deep Hashing Methods

综述:深度哈希方法

摘要

最近邻搜索是寻找数据库中的数据点,使它们到查询的距离最小,这是计算机视觉、推荐系统和机器学习等各个领域的一个基本问题。哈希是计算效率和存储效率最广泛使用的方法之一。随着深度学习的发展,深度哈希方法显示出比传统方法更多的优点。本文对深度哈希算法进行了全面的研究。在损失函数的基础上,将深度监督哈希方法按照相似性保留的方式分为: 成对相似性保留、多对相似性保留、隐式相似性保留和量化。此外,我们还介绍了其他一些主题,如深度无监督哈希和多模态深度哈希方法。同时,我们还介绍了一些常用的公共数据集和深度哈希算法的性能测试方案。最后,我们在结论中讨论了一些可能的研究方向。

关键词

近似最近邻搜索,哈希学习,深度神经网络,相似性保留,深度监督哈希

1 简介

最近邻搜索是许多领域中最基本的问题之一,例如计算机视觉,推荐系统和机器学习。其目的是根据特定距离查找从数据集到查询的最接近点。但是,当数据量大且维度大时,准确找到最接近查询点的时间成本非常大。为了解决这个问题,人们开始更加关注近似最近邻搜索,因为在大多数情况下,它可以满足搜索需求并大大降低搜索复杂度。
哈希是最广泛使用的方法之一,因为它在计算和存储方面非常有效。其目的是将高纬度的原始特征转换为低维哈希码,以使原始相似对象的哈希码尽可能接近,而异类对象的哈希码则尽可能不同。现有的哈希方法主要分为两类,一类是局部敏感哈希[18,59],另一种是学习哈希。局部敏感哈希的目的是将原始数据映射到多个哈希桶中,以便原始距离对象越近,它们落入数据哈希的可能性就越大。相同的哈希桶。通过这种机制,已经提出了许多基于局部敏感哈希的算法[5,6,27,28,96,99],在计算和存储方面都显示出很高的优势。但是,为了提高搜索的查全率,这些方法通常需要构建许多不同的哈希表,因此它们在特别大的数据集上的应用仍然受到限制。
由于本地敏感哈希是独立于数据的,因此人们尝试通过学习良好的哈希函数来获取高质量的哈希码。自从学习哈希向量而不是随机投影的语义哈希[102,103]和频谱哈希[118]这两种早期算法以来,对哈希的学习一直吸引着计算机视觉和机器学习方面的大量研究兴趣。随着深度学习的发展[75],通过深度学习获得哈希码受到越来越多的关注,原因有两个。第一个原因是深度学习的强大表示能力可以学习非常复杂的哈希函数。第二个原因是深度学习可以实现端到端哈希码,这在许多应用程序中非常有用。在此调查中,我们主要关注深度监督的哈希方法,还包括其他一些主题。
深度监督哈希算法的设计主要包括两部分,即网络结构的设计和损失函数的设计。对于像MINST [76]和CIFAR-10 [71]这样的小型数据集,诸如AlexNet [73]和CNN-F [19]之类的浅层架构已被广泛使用。对于像NUSWIDE [25]和COCO [86]这样的复杂数据集,需要更深度次的架构,例如VGG [107]和ResNet50 [50]。损失函数设计的直觉是保持相似性,例如最小化原始空间中的相似性与哈希空间中的相似性之间的差距。通常通过使用语义标签信息或原始空间中的距离关系来获得原始空间中的相似性,这在不同的深度哈希方法中得到了广泛的研究。因此,我们主要关注后者的相似性保持方式。
继[116]之后,我们还根据相似性保留方式将深度哈希算法分类为:两对相似性保留,多向相似性保留,隐式相似性保留,量化和面向分类。对于每种方式,我们全面分析了相关文章如何设计损失函数,利用语义标签的优势以及使用了哪些其他技巧。此外,我们还介绍了其他一些主题,例如深度无监督哈希和多模态深度哈希方法。同时,我们还介绍了一些常用的公共数据集和用于衡量深度哈希算法性能的方案。最后,对一些关键算法进行了比较。
与其他关于哈希的调查[115,114,116,15]相比,该调查主要关注深度哈希方法以及它们如何设计损失函数。据我们所知,这是有关深度哈希的最全面的调查,有助于读者了解深度哈希的机制和趋势。

2 背景

2.1 最近邻搜索

给定d维欧几里德空间Rd,最近邻搜索问题是在具有n个点的有限集合Y⊂Rd中找到元素NN(x),使得
在这里插入图片描述
其中x∈RDis称为查询。距离ρ可以是欧几里得距离,一般ℓp距离,余弦相似性等。研究人员开发了许多精确的最近邻搜索方法,例如KD-tree [35],当d较小时效果很好。然而,由于维数的诅咒,最近邻搜索本质上是昂贵的[2] [3]。尽管KDtree可以扩展到高维情况,但效果不是很好,甚至比蛮力搜索还慢。
为了解决这个问题,已经提出了一系列近似近似邻居的算法[28,40,97,62]。这些方法的原理是高概率地找到最近的点,而不是准确地找到最近的点。这些ANN算法主要分为三类:基于哈希的[28,1,93],基于结果量化的[62,37,68,132]和基于图的[46,94,95]。这些算法在确保较高准确率的同时,极大地提高了搜索效率,因此在业界得到了广泛的应用。与其他两种方法相比,基于哈希的算法研究时间最长,人们同时研究最多。因为它具有提高计算效率和降低内存成本的巨大潜力。

2.2 哈希搜索

哈希算法的目的是将原始空间的特征映射到汉明空间,这将导致由0和1组成的紧凑型哈希码。由于计算机的计算和存储均以二进制形式实现,因此哈希码非常有效在存储和计算中。主要有两种类型基于哈希的搜索算法:哈希表查找和哈希代码排名。
用于加速搜索的哈希表查找的主要思想是减少距离计算的数量。数据结构称为哈希表(倒排索引的一种形式),由多个存储桶组成,每个存储桶均由哈希码索引。每个点都分配给一个共享相同哈希码的哈希桶。因此,学习这种算法的哈希编码的策略是使原始空间中相对较近的点具有相同哈希编码的可能性更高。查询到达时,我们可以根据查询的哈希码找到对应的哈希桶,以找到对应的候选集。完成此步骤后,我们通常会重新排列候选集中的点,以获得最终的搜索目标。但是,选择单个哈希桶作为候选集的召回率相对较低。为了克服这个问题,通常采用两种方法。第一种方法是同时选择一些接近目标存储桶的存储桶。第二种方法是根据不同的哈希码独立创建多个不同的哈希表。然后,我们可以从每个哈希表中选择相应的目标存储桶。
哈希码排名比哈希表查找相对容易。当查询到来时,我们只需计算查询与搜索数据集中每个点之间的汉明距离。然后选择汉明距离相对较小的点作为最近邻搜索的候选者。之后,通常会按照原始特征进行重新排序,以获得最终的最近邻居。与哈希表查找方法不同,哈希码排名方法更喜欢保留原始空间相似性/距离的哈希码。

2.3 深度神经网络

深度卷积神经网络(CNN)是一种特殊类型的神经网络,在诸如ImageNet [73]的一些图像处理和计算机视觉竞赛中表现出显着的性能提升。深度CNN强大而有效的学习能力主要来自多个特征提取阶段的利用,这些阶段可以从原始图像中自动学习特征表示。 2012年,A。Krizhevsky等人。 [73]通过AlexNet网络吸引了公众的注意,该网络的前5位错误率达到了15.3%,优于ImageNet数据集中以前最好的传统模型。自2012年里程碑以来,许多研究人员已尝试在卷积层序列中更深入地研究,以实现更好的性能。 2014年,K。Simonyan&A. Zisserman [108]引入了16层VGG模型,该模型链接了多个卷积层以赢得比赛。同年,M。Lin等。 [85]开发了初始模块的概念,C.Szegedy等人进一步开发了该模块。 [112]提出了一个更深的网络,称为GoogLeNet,具有22层。设计卷积神经网络模型的主要共同趋势是网络深度的增加。但是,随着深度的增加,由于难以优化极深的模型,网络涉及的错误率也在增加。 K.He等。 [51]提出了ResNet网络,通过残差学习将网络进一步深化到101层。为了避免繁琐的网络架构设计,Google Brain研究人员(B. Zoph和Q.V. Le,2017)[138]提出了一种新概念,称为神经架构搜索(NAS),该概念可以自动搜索最新的网络。此后,各种NAS网络已经发布到社区,例如PNAS [88],ENAS [100],EfficientNet [113]等。这些经典的网络架构进一步成为其他任务的骨干网,例如图像检索[116]和对象检测[47]。

3 深度监督哈希

3.1 哈希学习

给定输入项x,学习哈希是学习哈希函数f的任务,该函数将x映射到紧凑的哈希码b,以方便最近的邻居搜索。通过良好的哈希函数获得的哈希码应尽可能保留原始空间中的距离顺序,即,那些通过哈希码查询的项目也应尽可能接近原始空间中的查询。研究人员提出了许多传统的哈希函数,包括线性投影,核函数,球面函数,非参数函数[116,110,48],以学习紧凑的哈希码,并取得了重大进展。但是,这些简单的哈希函数不适用于大型数据集。由于深度学习的强大表示能力,越来越多的研究人员关注深度监督哈希并开发了许多新方法。这些方法比传统方法具有更高的性能。
深度监督哈希使用深度神经网络作为哈希函数,可以生成端到端的哈希码。一个好的深度监督哈希模型通常需要考虑四个问题:采用哪种深度神经网络体系结构,如何利用相似性和语义(类)信息,如何利用离散化概率训练神经网络。lem以及可以使用哪些其他技能来提高性能。

3.2 网络架构

传统的哈希方法通常利用线性投影和核,这表现出较差的表示能力。在提出AlexNet和VGGNet [73,107]之后,深度学习显示了其在计算机视觉中的优势,尤其是对于分类问题。越来越多的实验证明,网络越深,性能越好。结果,ResNet [50]利用了残差学习的优势,它可以训练非常深的网络,取得了明显更好的结果。之后,ResNet及其变体成为深度学习的基础架构[50,55,121]。遵循转移学习的思想,最新研究经常在大型数据集(如ImageNet)中使用经过预先训练的权重的流行架构。大多数研究利用诸如AlexNet,CNN-F之类的较浅的架构,并针对简单数据集(例如, MINST,CIFAR10。诸如VGGNet和ResNet50之类的更深度次的体系结构通常用于诸如NUSWIDE和COCO之类的复杂数据集。对于深度监督的哈希方法,最后一层(即分类层)通常被哈希层代替,哈希层与要素层具有紧密的联系。并且可以通过具有符号激活的哈希层的输出来获得哈希码。
网络体系结构是深度监督哈希的最重要因素之一,它会影响搜索的准确性和推理的时间成本。如果将体系结构退化为MLP或线性投影,则深度监督哈希将成为传统的哈希方法。尽管网络体系结构越深,搜索精度越高,但是它也增加了时间成本。我们认为需要考虑架构与数据集的复杂性。但是,所有深度哈希方法都可以更改其体系结构,而无需进行其他任何更改。因此,我们不使用网络体系结构对深度监督哈希算法进行分类。

3.3 相似性

在其余的部分中,我们总是定义每个样本i的输入,即网络的输出,偏置获得的二进制代码。我们分别将输入空间和哈希编码空间中项目对(xi,xj)之间的距离分别表示为ij和sh ij。在输入空间中,相似性是基本事实,主要包括项目距离和语义相似性。前者是要素的距离,例如欧几里得距离|| xi-xj ||| 2可以通过高斯函数或特征函数(即exp? −(ij)22σ2? Ido ij <τ,其中τ是给定的阈值。余弦相似性也很受欢迎。在深度监督哈希中,相似性通常是二进制的,如果两个项目具有共同的语义标签,则该值为1,而副签证为0。
在哈希编码空间中,距离dh ijis Hamming距离自然是自然的,它定义为值不同的位数,其公式为:
在这里插入图片描述
如果代码的值为1和0,则sh ij = M- dh ij。并且从0到M变化。结果,基于汉明距离的相似性定义为
在这里插入图片描述
如果代码的值是1和-1,则
在这里插入图片描述
相似性由内积定义,即sh ij =b⊤ibj。这些措施也可以扩展到加权案例。即
在这里插入图片描述
其中每个位的权重为λm,并且如果代码的值为1和-1,我们将得到
在这里插入图片描述
其中Λ= Diag (λ1,λ2,…,λM)是对角矩阵,并且每个对角项是对应的哈希位的权重。

3.4 损失函数

良好的损失函数是深度监督哈希成功的因素之一。设计损失函数的基本规则是保持相似性顺序,即最小化原始空间中的相似性与哈希空间中的相似性之间的差距。结果,几乎所有损失函数都包含相似性信息条款。例如,典型的损失函数是成对损失,使得相似的图像具有相似的哈希码(小的汉明距离),而不相似的图像具有不相似的哈希码(大汉明距离)。此外,还广泛利用了多重相似性保存损失项,尤其是三重形式,使得从原始空间和新空间计算出的多个项目之间的顺序尽可能一致。还有一些隐式和其他变体相似性保留损失项。
除了相似性信息外,还包括语义(标签)信息以用于损失函数的设计。下面总结了三种利用标签信息的流行方法。第一种方法是对带有标签的哈希码进行回归。标签被编码为一格格式矩阵并回归损失,即|| Y -W H || Fare被添加到损失函数中。第二种方法是在哈希层之后添加分类层,然后将分类损失(交叉熵损失)添加到损失函数中。最后一个是利用LabNet,它是在[79]中首次提出的。探索LabNet的原理以捕获样本对之间的大量语义相关性。
量化损失项在深度监督哈希中也很常见,尤其是在基于量化的哈希方法中。损失函数中还可以添加一些技能,例如位平衡,正则化等,这对于提高性能也很重要。

3.5 优化

优化神经网络参数的挑战是消失的梯度问题形式符号函数,该函数用于获取二进制哈希码。具体来说,对于所有非零输入,符号函数的梯度为零,这对于使用梯度下降进行训练的神经网络是致命的。
几乎所有的工作都采用了连续松弛法,即用tanh或Sigmoid代替符号函数,然后在测试阶段应用符号函数以获得最终的二进制代码。第一种典型方法是通过在损失函数中添加惩罚项来量化函数,通常将其表述为||| hi |。 -1 || 1或-|| hi ||具有tanh激活功能。这个惩罚项有助于神经网络获得sgn(z)≈z。请注意,对于每个哈希码h,基于某种分布的对称变体(例如,双峰拉普拉斯和柯西分布。从这个角度来看,我们可以得到一些变体,例如成对量化[137]和柯西量化损失[12]。如果损失函数是其导数难以计算的非平滑函数,则可以采用平滑替代。 | x | ≈log(coshx),有助于获得平滑损失函数[137]。第二种方法是另一种方案,将优化分解为几个子问题,可以通过使用交替最小化方法来迭代求解。在此替代过程中,反向传播只能在一个子问题中起作用,而其他子问题可以通过其他优化方法来解决。例如,DSDH [80]利用离散循环坐标下降算法。这种方法可以在整个优化过程中保持离散约束,而又不会导致端到端训练,解决未知子问题的应用有限。第三种方法称为延续,它利用平滑激活函数y = tanh(βx)通过增加β来近似离散符号函数[16]。还有其他一些方法可以通过更改梯度的计算和传播来解决此问题,例如Greedy Hash [111]和Gradient Attention Network [56],提高了深度监督哈希的有效性和准确性。

3.6 分类

我们的调查基于相似性保留方式将现有算法分为以下五类:成对相似性保留类,多对相似性保留类,隐式相似性保留类,量化类和面向分类的类。我们将量化类别从类似于[116]的成对相似性保留类别中分离出来。对于每个类,我们将详细讨论相应的深度哈希方法。
这些算法的摘要显示在表1中。我们选择相似性保留方式进行分类的主要原因是,相似性保留是哈希的基本目标,这在深度监督哈希中的损失函数中几乎必不可少。其他因素(例如体系结构,标签信息,优化以及其他技能)对于性能也很重要。

4 相似性保持

对齐从输入空间和汉明编码空间计算出的一对项目的距离或相似性的算法大致分为以下几类:
–结果损失最小化:损失是输入空间之间相似性信息的乘积形式和哈希编码空间。相似性信息包括距离和相似性。对于例如,相似距离乘积最小化,即minP(i,j)∈Esoijdh ij,如果原始空间中的相似性较大,则期望编码空间中的距离较小。在公式中,E是要考虑的一组配对项目。显然可以看到损失函数的其他三种形式,与给定形式相似。
–差异损失最小化:损失以差异形式最小化相似性或距离之间的差异,即minP(i,j)∈E?do ij− dh ij?2或minP(i,j)∈E?so ij -sh ij?2。
–可能性损失最小化:损失的类型源自概率模型。给定相似矩阵S = soijand哈希码H,哈希码的总似然函数可以表示为
在这里插入图片描述
其中p(S | H)表示似然性,p(B)是先验分布。 p?so ij | sh ij是对它们的哈希码进行求和的条件概率。在公式中,
在这里插入图片描述
其中σ(x)= 1 /(1 + ex)。从公式上看,概率模型期望如果原始空间的相似性较大,则编码空间较大。损失函数为负对数似然,即
在这里插入图片描述
接下来,我们将依次回顾这三种类型的深度哈希方法。请注意,上述配方可以有多种变体,以供不同考虑。
在这里插入图片描述

4.1 结果损失最小化

深度监督哈希[89] DSH网络由三个卷积池层和两个完全连接层组成。原点成对损失函数定义为:
在这里插入图片描述
其中m> 0是余量阈值参数。 dh ij表示两个二元向量之间的汉明距离,因此如果hi,hj具有相同的语义标签且0副签证,则ij = 1。损失函数采用距离相似乘积最小化的形式,当汉明距离落在裕度阈值m以下时,该相似性将惩罚映射到相似哈希码的相似图像和映射到不同哈希码的异相似图像。注意,当dh ijis大于m时,损耗不会惩罚该对。这个想法类似于铰链损失功能。
正如我们之前讨论的那样,DSH放宽了二进制约束,并在实值网络输出上施加了正则化器以近似二进制代码,即h≈sgn(h)。成对损耗改写为:
在这里插入图片描述
其中1是所有1的向量,|| ·||是向量的ℓ1-范数,| ·|是元素级绝对值运算,α是控制正则器强度的加权参数。 DSH没有使用饱和非线性,因为他们认为这可能会减慢训练过程。利用上述损失函数,可以使用端到端BP算法训练神经网络。对于测试样本,可以通过符号函数获得二进制代码。
DSH是早期的一种简单而直接的深度监督哈希方法,其思想起源于“光谱哈希” [118],但具有深度学习框架。易于理解,但性能有限。
成对相关离散哈希[23] PCDH在卷积池层之后使用四个完全连接的层,分别称为深特征层,类哈希层,离散哈希层和分类层。第三层可以直接生成离散哈希码。与DSH不同,PCDH利用了深度特征和类似哈希的代码的2范数。此外,分类损失也添加到损失函数:
在这里插入图片描述
其中wi,biand hi是前三个完全连接层的输出,而最后一项是分类交叉熵损失。注意,第二项称为成对相关损失。 PCDH还指导深度特征的相似性,与DSH相比,避免了过度拟合。分类损失提供了语义监督,有助于模型获得竞争绩效。此外,PCDH提出了一个成对构造模块,名为Pairwise Hard,该模型对深度特征之间具有最大距离的正对和距离小于阈值的负对进行采样。显然,Pairwise Hard选择损失较大的对以进行效果哈希码学习。
监督型深哈希[34]利用完全连接的神经网络进行深哈希,并具有类似的损失函数,只是对所有投影矩阵(即神经网络中的权重矩阵)实施完全正交性约束的项具有完全的连接的层。还包括位平衡正则化,将在下面介绍。

4.2 差异损失最小化

用二进制深度神经网络进行有监督的哈希处理[32]。SH-BDNN的体系结构由完全连接的层堆叠,其中Wii占第i层的权重。 SH-BDNN不仅考虑相似性信息,而且考虑不同哈希位的独立性,即每个位有50%的机会成为1或-1。给定哈希码矩阵B = [b1,…。 。 。 ,bN] T,将这两个条件表示为:
在这里插入图片描述
其中1是元素均为1的N维向量,I是大小N乘N的单位矩阵。损失函数是
在这里插入图片描述
其中,l是哈希码的长度,N是样本大小。 H是网络的输出,B是二进制哈希码。 S是成对的相似矩阵,值为1或-1。第一项是相似性差损失最小化,第二项是ℓ2正则化,第三项是量化损失,最后两项是分别惩罚比特的依赖性和不平衡性。注意,B不是H的符号。因此,通过更新网络参数和B来优化损耗函数。 SH-BDNN具有精心设计的损失函数,该函数遵循基于内核的监督哈希[90]。但是,该架构不包含流行的卷积神经网络,并且ti不是端对端模型。结果,该模型的性能在复杂的数据集中受到限制。
卷积神经网络哈希[120]据我所知是第一种深度监督哈希算法。 CNNH采用了两步走策略。在第一步中,它利用坐标下降算法优化损失函数
在这里插入图片描述
以便学习近似的哈希码。在第二步中,CNNH利用获得的哈希码来训练具有1个输出单元的卷积神经网络。此外,如果有类别标签,则将全连接的输出层添加与图像的K个类别标签相对应的K个输出单元,并将分类损失添加到损失函数中。尽管CNNH使用标签的方式看起来很笨拙,但这种两步策略在深度监督哈希中仍然很流行,并启发了许多其他最新方法。
使用二进制矩阵追踪[8]进行哈希处理还利用了上面介绍的两步策略。与CNNH不同,HBMP利用加权汉明距离,并采用另一种称为二进制代码推断的传统哈希算法来获取哈希码。第一步,损失函数为
在这里插入图片描述
其中Λ是对角矩阵Diag(λ1,…,λl)。注意,相似矩阵ShwithSh ij = bTiΛbj可以通过逐步算法来近似。 HBMP还通过获得的具有逐点铰链损失的哈希码来训练卷积神经网络,并表明深度神经网络有助于简化优化问题并获得可靠的哈希码。
深度离散监督哈希[64] DDSH使用列采样方法将整个训练集分为X parts和XΓ两部分,其中Ω和Γ是索引。损失函数由不对称形式设计:
在这里插入图片描述
其中biand hiare分别是网络的二进制代码和输出。和biand hiare交替更新,就像[32]。重要的是,DDSH提供了一种非对称的哈希学习观点,并利用成对相似性信息直接指导离散编码生成和深度特征学习。
非对称深度监督哈希[66] ADSH以非对称方式考虑数据库点和查询点,可以帮助更有效地训练模型。它也可以帮助获得更好的性能。 ADSH包含两个重要组件:特征学习部分和损失函数部分。第一个是利用深度神经网络来学习查询点的二进制哈希码。第二个用于通过使用监督信息优化损失函数来直接学习数据库点的哈希码。损失函数公式为:
在这里插入图片描述
其中Ω是查询点的索引,Γ是数据库点的索引,F(·;Θ)是参数Θ的神经网络。 θ和bjare在优化过程中交替更新。如果只有数据库点可用,我们让andΓ加上一个量化损失γPi∈Ω[hi- tanh(F(xi;Θ))] 2。通过结合使用深度哈希和传统哈希的这种非对称策略可以帮助实现更好的性能。
深度增量哈希网络[119] DIHN尝试以增量方式学习哈希码。类似于ADSH [66],数据集分为两部分:原始数据库和增量数据库。当新图像来自增量数据库时,其哈希码取决于原始数据库的哈希码。优化过程仍然使用交替更新参数的策略。
深度顺序哈希[67] DOH通过利用局部和全局特征学习顺序哈希码。具体来说,两个子网分别从具有空间注意模块的完全卷积网络中学习局部空间信息和从卷积神经网络中获取全局语义信息。然后,两个输出通过点积组合在一起以产生R序数输出hi。对于每个段hi,可以通过
在这里插入图片描述
来获得相应的哈希码。可以通过将所有br is进行级联来获得完整的哈希码。 DOH采用了端到端的ranking-hashing框架,避免了使用不可区分的符号函数。更重要的是,它使用相对复杂的网络,可以高效地处理大型数据集。

4.3 似然损失最小化

深度成对监督哈希[81] DPSH使用CNNF [19]作为基本网络框架和基于相似性信息的似然损失的标准形式。除了相似性信息外,量化损失也被添加到损失函数中,即L = − X(i,j)∈E?所以
在这里插入图片描述
其中sh ij = 1 1 2hT ihjand hi是网络的直接输出。尽管三重丢失在当时很流行,但DPSH采用了成对形式,同时学习了深度特征和哈希码,从而提高了准确性和效率。这种基于似然函数的损失函数可以轻松引入不同的贝叶斯先验,使其在应用中非常灵活,并且比其他两种损失具有更好的性能。
深度哈希网络[137]具有与DPSH的相似性损失功能。与DPSH不同,DHN将量化损失视为贝叶斯先验,并为输出hi提出了双峰拉普拉斯先验,即
在这里插入图片描述
该负对数似然度(即量化损失)为
在这里插入图片描述
可以通过平滑代理[58]平滑为
在这里插入图片描述
其中,hi为hi的第k个元素。我们注意到DHN用ℓ1norm代替了ℓ2norm(ITQ量化误差[41])。他们还表明ℓ1范数是ℓ2范数的上限,而ℓ1范数鼓励稀疏性并且更易于优化。
HashNet [16]作为DHN的一种变体,HashNet考虑了不平衡训练问题,即正对比负对要多得多。因此,它采用每对具有不同权重的加权最大似然(WML)损失。权重公式为
在这里插入图片描述
其中S1 =?(i,j)∈E: ij = 1?是相似对的集合,而S0 = E / S1是不相似对的集合。对于多标签数据集,cij =yi∩yjyi∪yj;对于单标签数据集,cij =yi∩yj。此外,将条件概率中的S形函数替换为称为自适应S形函数的1/1 +e-αx,其等于在哈希编码相似性sh ij =αbTibj中添加超参数。与其他方法不同,HashNet通过tanh函数
在这里插入图片描述
连续逼近符号函数。通过逐步使βt→∞演化,网络输出激活函数为tanh(βt·)。使用sgn(·)收敛到HashNet。此外,该操作可以通过多阶段预训练来理解,即,使用tan(βt+ 1)激活函数训练网络被用来初始化带有tan(βt+ 1·)激活函数的网络。 HashNet提出的两项技能极大地提高了深度监督哈希的性能。
深度优先哈希[17]还为不同的图像对增加了不同的权重,但是以较高的置信度降低了对的权重,这类似于AdaBoost。难度用qij来衡量,它表示在so ij = 1时将一对分类为相似或在so ij = 0时将对分类为不相似的难度。
在这里插入图片描述
此外,权重分类不平衡度由αijαij= measured来测量
在这里插入图片描述
其中,Si = {(i ,j)∈E:∀j},
在这里插入图片描述

在这里插入图片描述
最终优先权重被公式化为
在这里插入图片描述
其中γ是一个超参数,置信度较小且平衡的相似和不相似对的对的权重将很大。将不同图像的权重更改为w’i =(1-qi)γ并测量如何将连续代码完美地量化为二进制代码。对于这些细节,DPH的性能优于Ha shNet。
深度监督离散哈希[80]除了基于似然的相似性信息外,DSDH还通过将线性回归损失与正则化相加到损失函数中,从而利用了标签信息。通过舍弃二元限制,损失可表示为:
在这里插入图片描述
其中sh ij = 1 2hT ihjand标签以热格式yi编码。损失函数的第二项是线性回归项,最后一项是ℓ2正则化。通过使用梯度下降法和离散循环坐标下降法交替更新H,B和W。 DSDH充分利用了标签信息和成对相似性信息,极大地提高了图像检索的性能。应当注意,在线性回归项中,二进制代码通过离散循环坐标下降来更新,因此满足了离散性的约束。
Deep Cauchy Hashing [12] DCH像DHN一样提出了一种贝叶斯学习框架,但是在条件概率中用Cauchy分布代替了指数分布。 DCH旨在提高汉明距离小于2半径的搜索精度。即使汉明距离远大于2,基于广义S形函数的概率也可能非常大,这对于汉明球检索是有害的。 DCH通过引入柯西分布解决了这个问题,因为当汉明距离大于2时,概率会很快降低。柯西分布被表示为
在这里插入图片描述
其中γ是超-参数和距离是标准化的欧几里得距离,即d(hi,hj)= l 2(1-cos(hi,hj)。此外,先验也基于柯西分布的变体,即
在这里插入图片描述
将最终损失函数公式化为对数似然加上基于先验权重的量化损失,但是对于具有以下特征的图像,该损失函数将获得几乎相同的哈希码
最大余量汉明哈希[69]鉴于DCH的缺点,MMHH利用t分布使相似和不相似对的损失函数具有不同的形式。总损失是两个损失的加权和。此外,提出了余量H以避免产生完全相同的哈希码。 DCH中的柯西分布由
在这里插入图片描述
损失函数是条件概率的加权对数似然,即
在这里插入图片描述
最后一项是标准量化损失。 MMHH还提出了一种半批量优化过程来缓解不平衡问题。具体地,训练集的代码被存储为扩充存储器。对于一个新的时期,成对的损耗是由在该时期中计算出的新代码来计算的,并且它们的相似和不相似对被添加到存储器中。总的来说,MMHH解决了DCH的缺点,大大提高了搜索性能。
Deep Fisher Hashing [82] DFH指出,成对损耗最小化与Fisher线性判别式相似,后者使类间图像之间的距离最大化,而使类内图像之间的距离最小。它的逻辑损失函数类似于MMHH,损失函数可以表示为:
在这里插入图片描述
其中,m为余量。此外,量化的中心损失也被添加到损失函数,该损失函数利用每个图像的二进制哈希码最小化类别内距离并最大化类别间距离。
深度不对称成对哈希[104]与DPSH相似,DAPH也采用了不对称策略。区别在于DAPH使用两个具有不同参数的网络进行数据库和查询。此外,像SHBDNN一样,位独立性,位平衡和量化损耗也被添加到损耗函数中。损失函数被优化以交替更新两个神经网络。
深度注意力引导哈希[128] DAgH与CNNH一样采用了两步框架,但它利用神经网络在两步中学习哈希码。第一步中的损失函数是对数似然损失和具有裕度的差值损失的组合。在获得二进制哈希码之后,第二步利用二进制逐点交叉熵作为损失函数。此外,在第一步中,DAgH使用包含具有关注模块的完全卷积网络的体系结构来获取准确的深度特征。
深度联合语义嵌入哈希[79] DSEH是将LabNet引入深度监督哈希的第一项工作。它还采用了两步框架,但分别采用了LabNet和ImgNet。 LabNet是一个神经网络,旨在捕获与图像对的大量语义相关性,这可以帮助指导第二步中的哈希码学习。 fl i = f(yi,θ)表示嵌入标签,其中yi是单热点格式的标签,而输出sgn(fl i)是哈希码。 LabNet只是将图像的输入替换为其标签,并使用常规的哈希损失功能从标签中学习哈希码。在第二步中,ImgNet利用第一步中标记的特征与从ImageNet fv j获得的新特征之间的不对称损失,即sh ij = fl i Tfv j和二进制交叉熵损失,就像DAgH [128]。 DSEH从成对丢失和交叉熵丢失的角度充分利用了标签信息,可以帮助生成区分性和保留相似性的哈希码。
非对称深度语义量化[127]通过利用两个ImgNets来最小化实连续特征和离散二进制码之间的间隙,从而提高了性能,并且还增加了差值损失。
深度锚图哈希[22]锚图意味着利用少量锚来连接整个数据集,以便可以隐式方式计算不同数据点之间的相似性。首先,它对多个锚点进行采样,并在训练样本和锚点之间建立一个锚点图。然后,损失函数可以分为两部分。第一部分包含一般的成对似然损失和线性回归损失。第二部分的损失是通过训练样本和同一类锚点之间的距离来计算的,并且在计算距离时会同时使用深度特征和二进制代码。损失函数除了一般的成对似然损失和线性回归损失外,还包括训练样本的深度特征与属于同一类别的锚的二进制代码之间的距离。 DAGH会在迷你广告期间充分利用剩余的标签数据批量培训,并有助于获得有效的二进制哈希码。

5 多对相似性保留

在本节中,我们将回顾使用多对相似性保留损失函数的深度哈希算法的类别。具体来说,这种损失尝试保留输入空间和汉明空间中计算的两个以上项目的相似性顺序。应该指出的是,三重态损失由于其简单性而成为最受欢迎的损失。
深度神经网络哈希[74] DNNH利用三元组排序损失的一种变体[98]来保留图像的相对相似性。具体而言,给定三元组(xi,xj,xk)满足ij> so ik,带裕度的排名损失公式为
在这里插入图片描述
的损失鼓励二进制代码bj接近bithan bk。通过用欧氏距离替换汉明距离,损耗函数变为凸
在这里插入图片描述
此外,DNNH使用S型激活函数,然后使用分段阈值函数以鼓励输出接近二进制代码。分段阈值函数定义为
在这里插入图片描述
其中ǫ小正超参数。显然,通过使用此分段阈值函数,输出的大多数元素将精确为0或1,从而引入较少的量化损失。
深度正则相似性比较哈希[131]除了三重态损失外,DRSCH还通过引入差异损失作为正则化项来利用成对信息。另外,在计算汉明空间中的距离时,还包括位权重。
深三元组监督哈希[117] DTSH用负对数三元组标签可能性代替了排名损失,因为
在这里插入图片描述
通过考虑条件概率[80],其中α是一个超参数。
基于深度语义排名的哈希[135] DSRH提出了基于三元组损失的替代损失。给定查询q和数据库{xi} n i = 1,将数据库中的排名{ri} n i = 1定义为与查询共享的标签数。
在这里插入图片描述
其中δ和ρ是两个超参数。 w(ri,rj)是由
在这里插入图片描述
给出的三元组的权重。权重的形式来自归一化贴现累积增益[61]得分,Z是归一化常数,可以省略。此外,比特平衡和权重调整也被添加到损失函数中。 DSRH通过对列表进行排序和替代损失来改善深度哈希的性能,尤其是在多标签图像数据集上。

6 隐式相似性保留

在本节中,我们将介绍深度哈希工作,这些工作的损失函数不完全是成对或多向相似性保留。但是它们也利用相似性信息,因此我们称这种损失为隐式相似性保留。
利用互信息进行哈希[7] MIHash在最小化邻域歧义的想法之后提出了新的损失。这种损失是基于相互信息,与基于标准排名的检索性能指标有着直接而密切的关联。给定y是查询图像,则将随机变量Dy,Φ定义为从x到dh xy的映射,其中Φ是哈希函数,即具有二进制输出的深度神经网络。 Cyis是与y(即y的邻居)共享相同标签的图像集。互信息定义为
在这里插入图片描述
对于任何哈希映射Φ,将互信息集成到特征空间上以获得质量测量需要最大化的指标:
在这里插入图片描述
其中,where是样本空间,p(y)表示可以去除的先验分布。经斟酌后,
损失函数变为:
在这里插入图片描述
可以通过放松硬约束来计算其梯度,并通过效应小批量反向传播进行传播。提出了小批量BP,可以像留一法验证一样,周期性地在小批量中有效地检索一个实例与另一个实例。
哈希作为领带感知的学习排名[49] HALR提议学习对哈希表进行排名,其目的是直接优化基于排名的评估指标,例如平均精度(AP)和归一化折现累积收益(NDCG)。注意,整数值汉明距离通常会导致排名并列。因此,HALR提出了AP和NDCG的联系感知版本,并将它们的连续松弛作为损失函数(加号)进行优化。
角深监督哈希[136]角DSH计算不同类别的图像之间的汉明距离,以形成尺寸为C乘C的G的上三角矩阵。汉明距离矩阵的均值需要最大化,并且矩阵的方差需要最小化以确保这些二进制代码可以覆盖所有矩阵元素,并且在存储桶理论中没有短板,即位平衡。此外,这种方法利用了PCDH等分类损失,但用(动态)A-softmax [91]损失代替了softmax损失,可以实现更大的类间分离,但可以实现类间差异。

7 面向分类的深度哈希

在本节中,我们将介绍利用分类信息而不是相似性信息的深度监督哈希方法。由于哈希码与其标签一致,因此在这些方法中流行了转移学习和特征提取。
Deep Binary Hashing [84]在ImageNet上对卷积神经网络进行预训练以学习中级图像表示之后,DBN添加了一个具有S型激活的潜在层,其中的神经元被用来学习类似哈希的表示,而精细在目标域数据集上进行分类损失调整。潜在层中的输出离散为二进制哈希码。 DBN还强调,由于哈希码的数量有限,因此获得的哈希码用于粗略搜索。
监督语义的深度哈希技术[126]也使用了与DBH类似的架构,但是增加了量化损失和比特平衡的正则化项。
Very Deep Supervised Hashing [134]提出利用非常深的神经网络和训练模型,并通过乘数交替方向法(ADMM)分层地启发有效算法[4]。
SUBIC [60]生成由几个单热编码向量(即块)的级联构成的结构化二进制哈希码,并获得具有多个softmax函数(即blocksoftmax)的每个单热编码向量。除了分类损失和比特平衡正则化之外,该模型还利用平均熵来量化每个块的量化损失。
基于相互线性回归的离散哈希[92]利用相互线性回归的损失函数,即
在这里插入图片描述
其中,B是二进制哈希码,Y是标签矩阵。与DSDH类似,该模型通过DCC方法进行了优化。此外,还提出了根据比特平衡获得多个哈希矩阵后的哈希增强步骤。
中央相似性哈希[130] CSH也利用分类模型,但方式不同。首先,CSH通过Hadamard矩阵的性质或从伯努利分布中随机抽样生成一些中央哈希码,以使每对质心之间的距离足够大。每个标签对应于一个质心,因此每个图像根据其标签(单个标签数据)具有对应的语义哈希中心。之后,通过中央相似性损失(即二进制交叉熵)和监督信息(即语义哈希中心)加上量化损失来训练模型。显然,CSH除了增加一些松弛之外,直接将预测标签映射到相应的质心。
基于Hadamard码本的Deep Hash [21]还利用Hadamard矩阵,通过最小化哈希样输出和目标哈希码之间的with2差异以及相应的标签(即Hadamard损失),与DH截然不同,HCDH同时训练了分类损失和Hadamard损失。 Hadamard损失可以解释为学习L2norm中受其监督的标签指导的哈希中心。还应注意,HCDH能够为Hadamard码本的属性生成具有区别性和平衡性的二进制代码。

8 基于量化的深度哈希

已经表明,量化方法可以从差异损失最小化准则中得出[116]。[62]从统计角度提出了类似的说法:距离重建误差在统计上受量化误差限制。结果,量化可用于深度监督哈希。在本节中,我们将回顾基于量化的典型深度监督哈希算法。
深度量化网络[14] DQN提出使用乘积量化方法从保持相似性的瓶颈表示zi∈RR构造紧凑的二进制哈希码bi。首先,将原始向量空间分解为M个低维子空间的笛卡尔积,并通过聚类将每个子空间量化为K个码字。具体而言,将原始特征划分为M个子向量,即zi = [zi1;]。 。 。; ziM],i = 1,…。 。 。 ,n和zim∈RR / M是第m个子空间中zi的子向量。然后,每个子空间的所有子矢量通过K-means独立地量化为K个聚类(代码字),因为
在这里插入图片描述
表示在第m个子空间中的K个码字的码本,并且使该代码比对以指示应该使用Cm中的哪个码字来近似第i个点zim的代码。在数学上,可以将乘积量化重新公式化为
在这里插入图片描述
其中C是R×MK矩阵,可以写成
在这里插入图片描述
注意到,通过最小化Q,可以控制将特征ziin转换为紧凑型二进制代码bi的量化损失。此外,基于量化的哈希还向最终损失函数添加了成对相似性保留损失。最后,非对称量化器距离被广泛用于近似最近邻搜索,其公式为:
在这里插入图片描述
其中zqmis是第m个子项,查询q的特征的向量。
深度三重态量化[87]使用三重态损失来保留相似性信息,并在M个码本上增加了弱的正交性代价,这与比特独立性相似。并且可以将正交性惩罚公式化为:
在这里插入图片描述
此外,DTQ建议按Hard Group选择三联体,以确保有效的三联开采的数量既不会太大也不会太小。具体而言,将训练数据分为几组,并为一组中的每个锚定阳性对随机选择一个坚硬(即三元组丢失为正)的阴性样本。
深度视觉语义量化[13]从标记的图像数据以及通用文本域基础的语义信息中学习深度量化模型。具体而言,它通过获取预训练卷积神经网络的图像表示z来构造深度视觉语义嵌入。然后对它们进行重新训练,以预测图像标签文本的词嵌入v(即标签i的vi),这是由skip-gram模型学习的。损失函数包括自适应容限等级损失
在这里插入图片描述
其中yi是第i个图像,δjkis边距。同样,量化损失是受最大内积搜索启发的。
在这里插入图片描述
DVSQ采用了与LabNet先前讨论的相同策略,并将视觉信息和语义量化结合在一个统一的框架中,而不是两步法。
深度结果量化[70] DPQ同时使用了PQ的表达能力和深度学习的端到端学习能力,从而可以通过分类任务优化PQ的聚类结果。具体而言,它首先使用嵌入层和较小的多层感知来获得深度表示z∈RMN。然后将表示形式像PQ一样切成Zm∈RN的M个子向量。对于每个子向量,使用一个小的MLP将其转换为具有K个元素pm(k),k = 1,的概率向量。 。 。 ,K by softmax。类似于PQ,矩阵Cm∈RK×D表示K个质心。 pm(k)表示第m个子矢量被Cm(即Cm(k))的第k行量化的概率。将第m个子向量的软表示计算为Cm行的凸组合。
在这里插入图片描述
考虑一热格式的概率pm(k),给定k ∗ = argmaxkpm(k),硬概率被表示为em(k)=δkk∗一热格式,
在这里插入图片描述
将获得的软表示和硬表示的子向量连接到最终表示中。 。 。 ,softM]和hard = [hard1,。 。 。 ,hardM]∈RMD。每个表示形式后面都有一个完全连接的分类层。除了两个分类损失外,还通过首先学习每个类的中心向量并最小化表示之间的距离来添加联合中央损失。注意,DPQ对软表示和硬表示使用相同的中心,从而鼓励两种表示更接近类的相同中心,从而减小了软表示和硬表示之间的差异。这有助于提高特征的判别能力并有助于检索性能。还引入了Gini批次损失和Gini样本损失以实现类平衡,并鼓励同一图像的两种表示形式更加接近。总体而言,DPQ用结合了分类模型的深度学习替代了PQ技术中的k-means过程,并能够创建压缩表示形式,以实现快速分类和快速检索。
深度球形量化[33] DSQ冷杉使用深度神经网络来获得ℓ2归一化特征。然后使用专门为单位超球面上的点设计的新型监督量化技术对特征进行量化。在将深度特征限制在p维单位超球面上(即具有标准范数)后,DSQ尝试将Multi-Codebook Quantization(MCQ)的距离重构误差降至最低。与PQ不同,MCQ用多个码字之和而不是级联来近似向量。量化损失公式为
在这里插入图片描述
除了softmax损失外,还包括判别损失和中心损失,以鼓励量化点和深度特征分别更靠近其中心。
保留相似性的深度非对称量化[20]采用非对称量化器距离(AQD)来近似预定义的相似性度量,与ADSH相似。与ADSH不同,它使用合成量化而不是乘积量化,并且训练集中的表示来自于未经量化的深度神经网络。 SPDAQ还利用相似性信息和标签信息来获得更好的检索性能。

9 深度监督哈希中的其他主题

9.1 学习使用生成对抗网络进行哈希

生成对抗网络(GANs)[42]是强大的模型,可通过minimax游戏机制生成图像,而无需监督信息。
利用GAN进行深度语义哈希[101]是第一种利用GAN进行图像检索的哈希方法。 DSH-GAN由四个组件组成:用于学习图像表示的深度卷积神经网络(CNN),用于区分合成图像与真实图像的对手流,用于将图像表示编码为哈希码的哈希流和分类流。具体来说,对于生成器网络,它尝试使用类别标签向量和随机噪声向量的串联输入来合成逼真的图像。对于鉴别器网络,它尝试同时区分真实图像和合成图像,并使用正确的类别标签对输入图像进行分类。整个体系结构受两方minimax游戏机制的对抗损失(分配正确的来源)和分类损失(分配正确的类别标签)的训练。输入采用真实合成图像三元组的形式,每个元组包含三个图像。第一个是被视为查询图像的真实图像,第二个是由生成器网络使用查询图像的相同标签生成的合成和相似图像,第三个是合成但不相似的图像。除了数据扩充外,GAN还通过保留语义和相似性来提供具有高泛化能力的哈希模型。
HashGAN [11]利用成对条件Wasserstein GAN根据成对相似性信息为条件的[44]合成的图像来增强训练数据。 PC-WGAN以训练图像和成对相似性为输入,除WGAN的损失函数外,还通过添加成对相似性共同学习生成器和鉴别器。哈希编码器在类似于HashNet的贝叶斯框架中为合成图像和真实图像生成紧凑的哈希码。 HashGAN能够处理没有类标签但具有相似性信息的数据集。

9.2 集成学习

[45]指出,对于当前的深度监督哈希模型,仅增加哈希码的长度并不能显着提高性能。由于现有方法所采用的损失函数易于产生高度相关和冗余的哈希码。
基于集成的深度监督哈希[45]提出使用整体学习策略来解决这个问题。具体来说,它使用不同的训练数据集来训练大量的深度哈希模型,并使用不同的训练数据,初始化和网络来训练大量的深度哈希模型,然后将它们串联为最终的哈希码。注意,集成策略适合于并行化和增量学习。
加权多深度排序监督哈希[78]试图用一组深度哈希表构造一个更健壮和更具判别性的学习器。具体而言,WMRSH为每个表(模型)中的每个位添加按位加权和按表加权。对于表中的每一位,相似性保留都通过结果损失来衡量。然后,通过两个哈希位之间的相关性来测量位分集。最后,每个哈希表的平均平均精度(MAP)得分被视为逐表权重。最终权重是以上三个术语对最终哈希码的乘积(即哈希表与权重的串联)。之前已经引入了类似的称为哈希增强的策略[92]。

9.3 深度哈希的训练策略

在本小节中,我们将介绍两种采用与大多数其他方法不同的训练策略的方法。
Greedy Hash [111]采用贪婪算法,通过引入具有符号函数的哈希层而不是量化误差来快速处理哈希离散优化。梯度将完全传输到顶层,从而有效防止符号函数的梯度消失,并一起更新所有位。
[56]指出了在通过梯度下降学习深度哈希模型中的一个难题,即如果配对的哈希码一起改变它们的符号,对损失没有影响。结果,梯度注意力网络[56]训练了一个梯度注意力网络,以通过最大程度地减少损失的减少来关注每个图像的每个哈希位的导数。将具有两个全连接层的梯度注意力网络生成的注意力权重进行归一化,然后将其应用于最后一层的导数上。总之,该模型通过采用梯度注意力网络进行有效学习来优化训练过程。

9.4 深度无监督哈希

无监督方法不需要任何标签信息。结果,通过特征的距离获得相似性信息。无监督方法可以分为三类:相似性去除的深哈希,基于生成模型的深哈希和基于伪标签学习的深哈希,它们将无监督的问题转换为有监督的问题。第一类中的模型通常来自深度监督的哈希模型,但会删除监督信息。
基于去除相似性信息的深度无监督哈希非常简单。[72]是第一种通过使用自动编码器将图像映射到二进制代码的深度无监督哈希方法。通过消除带有语义信息的损失,可以将几种早期的深度监督方法转换为深度非监督形式[34,32]。 DeepBit [83]与通用的深度监督哈希方法(如DSH)使用相同的框架。由于相似性信息和标签信息不可用,因此通过在此第一时间段内将量化损失和位平衡调整损失最小化来训练模型。然后,通过用不同的旋转数增加训练数据来增加旋转不变性损失,以最小化第二周期中二进制代码之间的距离。
基于生成模型的无监督哈希因其复杂性而受到限制。随机生成哈希算法[26]提出利用生成模型通过最小描述长度原理学习哈希函数,从而使学习的哈希码最大程度地压缩数据集。而且它还可以用于重新生成输入。无监督的深度生成对抗网络[38]通过与鉴别器共享最后一层的权重,将哈希编码器与生成对抗网络结合在一起。此外,哈希编码器具有与DeepBit类似的丢失功能。
无监督哈希的最后一种策略得到了广泛使用,并导致了更好的性能。区分属性和视觉表示的无监督学习[54]也采用了两步框架。在第一阶段,CNN与无监督的判别聚类一起训练[109]。在第二阶段,将群集成员资格用作软监督,以从群集中发现共享属性,同时以三重态损失的形式最大程度地实现它们的可分离性。通常,无监督哈希会转换为超级从以前获得的伪标签中解决了相似性信息问题。基于伪标签的无监督深度区分哈希[53]具有使用分类损失代替相似性信息的相似框架。无监督三元组哈希[57]通过锚图像,旋转图像和随机图像构造图像三元组。之后,该问题成为具有三元组输入的深度监督的哈希问题。具有相似性自适应和离散优化的无监督深度哈希技术[106]在三个模块上交替训练模型:深度哈希模型训练,相似性图更新和二进制代码优化。请注意,在第一步中,将第三步中的输出用于监督信息,利用类似于深度哈希的特征来构造数据相似性图,然后通过解决图哈希问题来获得二进制代码。与[53,109]不同,此训练策略有助于提高模型的鲁棒性。基于语义结构的无监督深度哈希[122]通过成对距离构造相似矩阵,然后通过深度监督哈希方法训练模型。 DistillHash [124]通过使用不同的深度监督哈希模型并提取数据对以获得可信相似信号来提高SSUDH的性能。带有伪标签的无监督深度哈希首先通过最大似然和最大相关性有序地获得嵌入的伪标签。然后,将获得的伪标签视为随后用于深度监督哈希的标签信息。无监督的保留语义的哈希算法[29]与[38]具有相似的架构,但是使用了K近邻算法获得的邻居相似性。通过标签嵌入进行弱监督的深度图像哈希[36],利用与图像关联的用户生成的标签,通过与标签构建成对相似性信息来学习哈希码。

9.5 多模态深度哈希方法

随着信息时代的到来和Internet的飞速发展,多媒体数据以各种方式(例如文本,图像,音频和视频)爆炸性地增长。最近,多模型深度哈希技术引起了人们对深度哈希技术的极大兴趣。多模态深度哈希方法的框架类似于一般的深度哈希方法,除了相似性信息包括模式内和模式间形式。但是,表征相似性信息的每个损失项与上述深度监督哈希中的损失项相似。 [9]详细介绍了多模态哈希方法,包括[65,123,77,133,24,63,129,43,10,31,52]。

10 评估协议

10.1 评估指标

对于深度哈希算法,空间成本仅取决于哈希码的长度,因此在比较不同算法的性能时,长度通常保持不变。搜索效率是通过查询的平均搜索时间来衡量的,这主要取决于神经网络的体系结构。此外,如果使用加权汉明距离,我们将无法利用位操作来提高效率。
如上所述,我们通常使用搜索准确性来衡量效果。最受欢迎的矩阵包括平均平均精度,查全率,查准率以及查全率曲线。精度:精度由与查询共享公共标签的返回样本的比例定义。该公式可以表示为:
在这里插入图片描述
其中T表示返回的样本数与查询具有共同的标签,N表示返回的样本数与查询不具有共同的标签。 precision @ k表示返回的样本总数为k,即T + N = k。
召回:召回是通过数据库中与检索到的具有共同标签的样本比例定义的。该公式可以表示为:
在这里插入图片描述
其中F是数据库中与查询具有共同标签的样本总数,包括未检索到的样本。 callback @ k表示返回的样本总数为k。
精确调用曲线:在图像检索中,精确率和调用率取决于k。相同方法的准确率和查全率呈负相关。因此,我们可以使用精度率和查全率作为水平和垂直坐标,通过改变k来绘制精度查全曲线,以进一步测量性能。
平均平均精度:当召回率从0变为1时,通过相对于x轴的精度率的积分来计算平均精度。在实际应用中,序列总和-运用方法计算平均精度。
在这里插入图片描述
其中∆ {T @ k}表示召回率从项目k − 1到项目k的变化。显然,{{T @ k}的总和为F。因此,AP的核心思想是通过平均每个位置的精度来评估排名列表。之后,MAP是所有查询数据的平均精度的平均值。当仅考虑距离不大于r的样本时,一些研究还使用Hamming Radius r计算MAP。

10.2 数据集

广泛使用的评估数据集具有不同的规模,从小到大,再到非常大。数据集可以分为单标签数据集和多标签数据集。
MNIST [76]包含60,000张训练图像和10,000张测试图像。每个图像都由784维原始像素特征和10K特征描述为查询。
CIF AR-10 [71]包含10种不同类别的60,000张32×32彩色图像。这10种不同类别代表了飞机,汽车,鸟类,猫,鹿,狗,青蛙,马,船和卡车。每个类别有6,000张图像。所有图像都用标签标识,这些标签可用于评估基于哈希的方法的性能。
IMAGENET [30]是一个大型图像数据库,其中包含超过1400万幅图像,该图像已由该项目进行了注释,以指示所拍摄的对象。 ImageNet包含20,000多个具有典型类别的类别,例如“气球”或“草莓”,其中包含数百个图像。
NUS-WIDE [25]是来自新加坡国立大学的真实世界网络图像数据库。它包括269,648张图像,共有5,018个唯一标签。从这些图像中提取出六种类型的低级特征:BoW,CH,CM55,CORR,WT和EDH。图像被手动分配了81个概念标签中的一些。由于图像大多与一个以上的标签相关联,因此,如果图像包含至少一个相同的标签,则该图像被视为查询的真正最近邻居。
COCO [86]包含82783幅训练图像和40504幅验证图像,每幅图像都由80个类别中的一些进行了注释。

10.3 性能分析

我们介绍了几种在CIF AR-10和NUS-WIDE上具有代表性的深监督哈希和量化算法的结果。在CIF AR-10中,每个班级随机选择100张图像(总共1,000张图像)作为测试查询集,每个班级随机选择500张图像(总共5,000张图像)作为训练集。对于NUS-WIDE,选择与21个最常见概念相关联的195,834张图像的子集。每个概念在此数据集中至少包含5,000个彩色图像。然后,每类100张图像(总共2,100张图像)作为测试查询集被随机采样,每类500张图像(总共10,500张图像)作为训练集。
请注意,对于各种实验设置,本摘要中并未详细显示大多数实验结果。从性能上,这是不同监督哈希方法的一些经验结果。 (1)深度监督哈希在整体上大大优于传统哈希方法(例如SDH和KSH)。 (2)相似信息对于深度哈希来说是必需的。对于早期(即2016年之前)的深度监督哈希方法,哈希代码主要是通过转移没有监督相似性信息的分类模型而获得的,而在具有成对或多方向信息的方法之后则优于它们。 (3)标签信息有助于提高深度哈希的性能。从DSDH明显胜过DPSH的事实以及LabNet的优越性可以证明这一点。此外,一些面向标签的方法[130,21]最近表现出可比的性能。 (4)包括正则化项,位平衡,整体学习和位独立性在内的多种技能有助于获得准确而强大的性能。从某些论文的消融研究可以看出这一点。
在这里插入图片描述

11 结论

在本文中,我们将对有关深度哈希的论文进行全面回顾。 基于相似性保留方式,我们将深度监督哈希算法分为五类:成对相似性保留、多对相似性保留、隐式相似性保留、量化和面向分类。 此外,我们还介绍了一些最新主题,例如通过生成对抗网络学习哈希和多模态哈希方法。 我们观察到,现有的深度哈希方法主要集中在为分类和检测而设计的公共数据集上,这些数据集不能完全解决最近邻搜索问题。 需要进一步的工作来结合下游近似最近邻搜索算法来设计特定的深度哈希方法。然后我们可以通过这种方式提出更实用的深度哈希方法。

猜你喜欢

转载自blog.csdn.net/weixin_42691585/article/details/105984339
今日推荐