2021-05-24 深度离散哈希网络(中科院2017NIPS)

1. 介绍:

近年来,随着web上图像和视频数据的快速增长,哈希引起了更多的关注。对于图像和视频检索来说,由于哈希带来的低计算成本和高存储效率,哈希成为最流行的技术之一。通俗讲,哈希是在保留了图像或视频的相似度基础上,用来将高维数据转换成一串二进制码。现有的哈希方法大致分成两类:数据无关和数据相关。

数据无关方法依赖于随机投射来构造哈希函数。局部敏感哈希(LSH)是最有代表性的一种,它使用随机线性投射来讲附近的数据映射成相似的二进制码。LSH广泛应用于大规模的图像检索。为了推广LSH以适应任意的核函数,核化的局部敏感哈希(KLSH)是用来处理高维核化数据的。最近几年也提出了其他变体的LSH,例如超比特LSH,非度量LSH等。然而,与数据无关的哈希方法存在一些局限,它不使用训练数据,学习效率低,并且需要更长的哈希码来获取高的精度。鉴于数据无关哈希方法存在的这些局限,最近的哈希方法都是试图利用各种基于给定数据集学习更有效哈希函数的机器学习技术。

数据相关方法是指利用训练数据来学习哈希函数。他们可以进一步归类为监督和无监督方法。在某些距离度量下,无监督学习检索邻居。迭代量化(ITQ)就是其中无监督散列方法的代表。其中投影矩阵通过迭代投影和根据给定的训练样本进行阈值化.为了利用数据的语义标签样本,提出了监督哈希算法。带核监督哈希(KSH)是这种类型的广为周知的方法,它通过最小化相似对之间的汉明距离,同时最大化不同对之间的汉明距离。二进制重构嵌入(BRE)通过显式最小化汉明空间中原始距离和重构距离之间的重构误差来学习hash函数。保序散列法(OPH)通过保留散列码的顺序来学习散列码基于语义标签的有监督排序列表信息。 监督离散散列(SDH)旨在使用离散循环坐标下降法直接优化二进制散列码。

近期,基于深度学习的散列方法被提出来同时学习图像表示与哈希编码,已经表现出比传统哈希方法更好的性能。卷积神经网络哈希(CNNH)是将深层神经网络融入哈希编码的早期工作之一 ,它包括两个阶段来学习图像表示和哈希码。CNNH的一个缺点是,学习的图像表示不能反馈学习更好的散列码。为了克服CNNH网络的缺点, 在网络散列(NINH)中,为了捕获图像的相对相似性,提出了一种三元组排序损失。图像表示学习和散列编码能够在同一个组织框架内相互促进。深层语义排序哈希(DSRH)通过保留多标签图像间的语义相似性来学习哈希函数。其他基于排名的深度散列方法近年来也有人提出。除了基于三元组排序的方法外,还有一些基于深度散列的成对标签的方法也被运用。受交替方向乘子法(ADMM)的启发,研究者提出了一种新颖高效的训练算法,用于训练深层神经网络的有监督哈希算法,分类信息用于学习哈希码,将二进制约束放松为连续的,然后对得到的连续变量设置阈值到二进制代码。

虽然基于深度学习的图像检索方法已经取得了很大的进展,之前的深度哈希方法也存在一些局限(如语义信息未被充分利用)。近年来的研究试图将整个学习过程在多任务学习框架下划分为两个流,哈希流用于学习哈希函数,而利用分类流挖掘语义信息。虽然双流框架可以提高检索性能,但是分类流只用于学习图像表示,它对哈希函数没有直接影响。在本文中,我们使用CNN同时学习图像表示和哈希函数。CNN的最后一层基于成对标签信息和分类信息直接输出二进制编码。这项工作的贡献总结如下:

1)我们方法的最后一层是直接输出二进制码。学习的二进制码保留了相似关系的同时保留了标签的一致性。据我们所知,这是第一次深度哈希方法,利用两对成对标签信息和分类信息,在一个流框架下学习哈希码。

2)为了减小量化误差,我们保持在优化过程中散列码的离散性。研究者提出了交替最小化,通过离散循环坐标下降法来优化目标函数 。

3)大量的实验表明,我们的方法在基准数据集上进行图像检索优于目前最先进的方法,再次证明了我们提出的方法的有效性。

2. 深度监督离散哈希

2.1 问题定义

   给定N个图像样本

哈希编码是学习K位二进制码

,其中第i列

表示第i个样本xi的二进制码。二进制代码由哈希函数h(·)生成,可以重写为[h1(·)、...、hc(·)]。对于图像样本xi,其哈希码可以表示为bi=h(xi)=[h1(xi)、……、hc(xi)]。一般来说,哈希是为了学习哈希函数,以将图像样本投影到一组二进制编码中。

2.2 相似度度量

在监督哈希过程中,标签信息被给出为

其中

对应于样本xi,c是类别数。请注意,一个样本可能属于多个类别。给定语义标签信息,成对标签信息为:S={sij},sij∈{0,1},其中xi和xj语义相似时sij=1,xi和xj语义不相似时sij=0。对于两个二进制码bi和bj,它们的汉明距离与内部积h、i的关系如下:

如果两个二进制码的内积很小,它们的汉明距离就会很大,反之亦然。因此,不同哈希码的内积可以用来量化其相似性。给定两两相似关系S={sij},哈希码的最大后验(MAP)估计可以表示为

方程1

其中,p(S|B)表示似然函数,p(B)为先验分布。对于每一对图像,p(sij|B)是给定其哈希码B的sij的条件概率,其定义如下:

方程2

其中:

是sigmoid函数,

从方程2可以看出,内积越大,p(1|bi,bj)就越大,这意味着bi和bj应该被归类为相似,反之亦然。因此,方程式2是哈希码的一个合理的相似度度量。

2.3 损失函数

近年来,基于深度学习的方法在目标检测、图像分类、图像分割等方面表现出了比传统手工制作特征的优越性能。在本部分中,我们利用CNN的最新进展来学习哈希函数。为了与其他深度哈希方法进行公平的比较,我们选择了CNN-F网络架构作为我们算法的一个基本组成部分。该体系结构在最近的作品中被广泛用于学习哈希函数。具体地说,有两个独立的CNNs来学习哈希函数,它们共享相同的权重。成对样本用作这两个独立的神经网络的输入。CNN模型由5个卷积层和2个完全连通的层组成。最后一个完全连接层中的神经元数量等于哈希码的数量。

考虑到相似度测度,使用以下损失函数来学习哈希码:

方程3

方程3是负对数似然函数,它使两个相似点的汉明距离尽可能小,同时使两个不同点的汉明距离尽可能大。虽然使用成对标签信息来学习方程式3中的哈希函数,但标签信息并没有得到充分利用。之前的大部分工作都利用了双流多任务学习框架下的标签信息。分类流用于测量分类误差,而哈希流用于学习哈希函数。我们的算法的一个基本假设是,学习到的二进制码应该是理想的分类。为了直接利用标签信息,我们期望学习到的二进制码对于联合学习到的线性分类器是最优的。我们使用一个简单的线性分类器来建模学习的二进制代码和标签信息之间的关系:

方程4

其中W=[w1,w2,…,WK]是分类器权重,Y=[y1,y2,…,YN]是地面标签向量。损失函数可计算为:

方程5

是矩阵的弗洛比尼乌斯范数。结合方程式5和方程式3,我们有以下公式:


方程6

其中,µ是权衡参数,ν=λµ。假设我们为线性分类器选择l2损失,方程式(6)被重写如下:

方程7

2.4 优化

3. 实验

3.1 实验设置

3.2 实证分析

3.3 在第一个实验环境下的结果

3.4 在第二个实验装置下的结果

3.5 利用深度学习特征与传统散列方法的比较

4. 结论

5.知识

你可能感兴趣的:(2021-05-24 深度离散哈希网络(中科院2017NIPS))