欢迎访问一起赢论文辅导网
SCI期刊论文
当前位置:首页 > SCI期刊论文
基于离散优化的哈希编码学习方法
来源:一起赢论文网     日期:2020-01-27     浏览数:55     【 字体:

 eal-valued counterpart of the objective function instead.After that,the optimumobtained in the relaxed real-valued space are again quantized to generate the real binary codes.However,there is no guarantee that the real-valued optimum would remain optimum after quantization,and thus existing methods inevitably suffer from performance drop when quantizing the real-valuedoptimization results into binary codes,due to the discrepancy between the binary Hamming spaceand the real-valued Euclidean space.To better deal with the problems of quantization,this paperproposes a novel hash learning method,named Deep Discrete Optimization Hashing (DDOH).First of all,the initial binary codes of all training image samples are obtained by one of the threebinary code initialization methods proposed in this paper.After that,a discrete binary codesoptimization algorithm is designed,which takes the initial binary codes of training images as well astheir corresponding label information as inputs.The proposed optimization algorithm iterativelydecides whether or not to flip certain binary bits in the binary codes with the Fisher’s law,and itis theoretically proved in this paper that by doing so,the proposed method would improve or atleast would not decrease the discriminability of the binary codes in terms of the Fisher’s law.Next,to obtain the hash functions which would be used to encode new-coming images,a deepconvolutional neural network(CNN)is trained to fit the aforementioned binary codes.Specifically,with the optimized binary codes,each bit can be seen as a binary classification problem,and allbinary classifiers that share the same feature map of the CNN as training inputs are trained toperform as the hashing functions.Experiments on two widely studied datasets CIFAR-10andImageNet show that the proposed method achieves state of the art retrieval performance onCIFAR-10,and improves the performance of existing hashing methods by about 2.2% meanAverage Precision(mAP)on ImageNet-100,validating the effectiveness of the proposed method.Keywords  approximate neighbor search;high dimensional feature indexing;hash learning;discreteoptimization;convolutional neural network1 引 言随着便携式拍照设备的大量普及和社交网络的快速发展,互联网上的图片数量呈现爆炸式增长的趋势.面对海量的图像数据,在有限的时间和计算资源下,根据用户提供的查询图像搜索相似图像也变得极为困难.为了在可接受的时间内返回检索结果,近似近邻搜索算法在大规模以图搜图任务中得到了越来越多的关注.作为一种具有代表性的近似近邻搜索算法,哈希学习方法通过学习一组可以保持原始空间中相似性的哈希函数,将高维的图像样本编码为相对低维的二值编码.由于低维二值编码占用的存储空间非常小,同时可以通过 CPU 中集成的异或、比特计数等指令实现高效地距离计算,因此哈希学习方法逐渐成为了一种主流的近似近邻搜索方法,相应 地 也 出 现 了 越 来 越 多 新 的 哈 希 学 习 实 现方法.从本质上来说,哈希学习的目标是获得能够保持原始空间中相似性的二值编码 及相应的 哈希函数.由于二值码的离散性质,哈希学习算法中无法避免地要涉及到离散优化的问题.但是直接对二值码优化是一个 NP 困难的问题,无法进行高效地精确求解.为了解决这个问题,大多数已有的哈希学习方法[1-3]通常首先将离散取值的二值码松弛为实数值,并对定义在实数值上的近似问题进行优化.在对近似问题完成优化后,再重新将优化得到的实数值量化为二值的编码.但是由于实数值的欧氏空间与二值的汉明空间之间存在本质的差异,上述基于松弛-量化的方法即使可以在实数值空间中得到最优的实数值编码,也无法保证在量化之后得到的二值编码仍然是最优的.为了解决这个问题,本文提出一种新的哈 希 学 习 方 法———深 度 离 散 优 化 哈 希 (DeepDiscrete Optimization Hashing,DDOH).该方法可以通过直接在二值的汉明空间中进行离散优化来避免松弛-量化过程的缺点.具体来说,本文方法的框0511 计  算  机  学  报 2019年.首先通过随机初始化或主成分分析的方式获得样本初始的二值码,之后通过汉明空间中的离散迭代优化增强二值码的判别能力.最后,通过训练卷积神经网络模型来拟合优化得到的二值码,并将训练得到的神经网络作为编码时使用的哈希函数.图 1 深度离散优化哈希(Deep Discrete Optimization Hashing,DDOH)方法流程示意图(本文方法主要包括三个步骤:第一步,通过使用任意的图像特征,并在该特征的基础上通过随机初始化、随机投影或主成分分析(Principle Component Analy-sis,PCA)的方式,获得初始的二值编码;第二步通过离散二值码优化对初始二值码进行迭代更新,获得判别力更强的二值码;第三步,通过训练深度卷积神经网络拟合优化得到的二值码,同时学习具有强判别能力的图像特征并获得相应的用于编码的哈希函数)具体来说,在离散二值码优化部分,本文提出的方法基于 Fisher准则,要求相似的图像具有相似的二值码,不相似图像对应的二值码也尽可能不同.在优化的时候,通过在离散的汉明空间中计算损失函数的次梯度,并根据相应设计的规则,通过对满足一定条件的比特进行翻转的方式进行优化,以此提升二值编码的判别能力.在拟合部分,以优化得到的二值编码作为监督,在预训练的深度卷积神经网络的基础上,使用交叉熵损失对卷积神经网络模型进行参数微调,得到相应的模型用来对图像进行编码.当模型训练完成后,以图像作为卷积神经网络模型的输入,对模型的输出进行量化即可得到相应图像的二值编码.在此基础上,可以通过汉明距离排序、哈希表查表等方式进行快速的近似近邻搜索.为了验证本文方法的有效性,在 CIFAR-10和ImageNet-100两个常用的图像检索评测数据库上进行了实验,在平均检索精度(mean Average Precision,mAP)指标上达到了与已有方法同样优秀或者超过已有方法的性能,特别是在ImageNet-100数据库上相比于已有方法提升了约2.2个百分点,证明了本文提出方法的有效性.本文 第 2 节对于已有的哈希学习方法进行综述,并讨论本文方法与已有方法的区别;第3节对本文方法中的各个环节进行详细的介绍;第4节在通用的大规模图像检索评测数据集 上进行大 量的实验,验证本文方法的有效性;第5节对本文工作进行总结和展望.2 相关工作近邻搜索任务的目标是在给定一个查询样本的条件下,对数据库进行搜索,并返回数据库中和查询样本相似的样本.当数据库的规模非常大或者计算样本间的相似度非常耗时的情况下,精确的近邻搜索所需的计算代价也将增长到难以接受的程度.因此,作为一种更实用的替代方案,近似近邻搜索凭借其更高的效率受到了越来越多的关注.近似近邻搜索的关键在于使用一种高效的相似度计算方式替代原有的、低效的计算方式.作为一种具有代表性的近似近邻搜索方法,哈希[1-5]方法由于占用的存储空间极小、计算极为高效,吸引了大量研究人员的关注.在哈希方法中,早期的研究工作主要关注不依赖于数 据 的 哈 希 算 法,如 局 部 敏 感 哈 希 (LocalitySensitive Hashing,LSH)[4]方法.这 类 方 法 使 用 随机投影的方式对特征空间进行划分,生成二值码的不同比特.理论上可以证明,随着二值码比特数量的增长,通过这类方法得到的二值码之间的汉明距离可以渐近地逼近相应样本在原 始特征空间 中的距离.但是由于这类方法没有考虑数据的实际分布情况,往往需要较多的比特才能达到较好的检索结果,因此对于存储空间的需求较高.为了获得更紧凑的二值码,基于数据进行学习的哈希学习算法逐渐成为主流.这类哈希学习方法通过在一个训练集上进行学习,相比于不依赖数据5期 刘昊淼等:基于离散优化的哈希编码学习方法1511到与数据更加适配的哈希函数,因此通常在使用同样数量的比特时,可以达到更好的检索精度.按照训练数据是否有人工标注的标签,哈希学习方法又可以进一步分为无监督方法和有监督方法两类.其中,无监督方法适用于数据没有标签的情况,可以直接在无标注的训练数据上学习哈希函数.在无监督哈希 学 习 方 法 中,谱 哈 希 (SpectralHashing,SH)[6]以样本对在原始特征空间中的相似度作为权重,通过最小化投影后得到的二值码之间的加权汉明距离学习哈希函数;迭代量化(IterativeQuantization,ITQ)[1]通 过 主 成 分 分 析 (PrincipleComponent Analysis,PCA)将样本投影到低维空间后,寻找一个正交变换矩阵尽可能减小量化损失,以正交变换后的主成分作为哈希函数.为了更好地应对面向复杂的语义相似度进行检索的任务,研究者进一步提出使用人工标注的标签信息辅助进行有监督的哈希函数学习.在有监督哈希学习方法中,典型相关分析迭代量化 (CanonicalCorrelation Analysis Iterative Quantization,CCA-ITQ)[1]的思想与迭代量化大致相同,只是在投影到低维空间时,通过利用样本的标签,使用典型相关分析(CCA)对 样 本 的 特 征 进 行 投 影;最 小 损 失 哈 希(Minimal Loss Hashing,MLH)[7]为了缓解松弛-量化带来的负面影响,在松弛之后通过优化一个近似的损失上界来学习哈希函数.上述方法均使用线性投影作为哈希函数对数据的原始特征进行变换,因此无法很好地处理数据线性不可分的情况.为了解决这个问题,核 监 督 哈 希 (Kernel Supervised Hashing,KSH)[8]和 二 值 重 建 嵌 入 (Binary ReconstructiveEmbedding,BRE)[9]提出在核空间中学习非线性的哈希函数;深度哈希(Deep Hashing,DH)[10]使用高度非线性的深层感知机制学习判别能力更强的非线性哈希函数.尽管上述方法在哈希学习任务中取得了一定的成功,但是由于在学习的过程中使用的样本特征表示并不能完全和数据匹配,因此在检索精度上有一定的局限.为了解决这个问题,近期的一些深度哈希方法提出使用深度卷积神经网络,同时学习图像的特征表示和非线性的哈希函数.其中,卷积神经网络哈希(Convolutional Neural Network Hashing,CNNH)[11]首先对样本间的相似度矩阵进行二值矩阵分解来获得样本 的 目 标 二 值 码,再 训 练 卷 积 神 经 网 络 拟合目标二 值 码,但 是 由 于 该 方 法 中 两 个 步 骤 之 间是相互割裂的,无法保证学到的二值编码 的 质量;深度神经网络哈希(Deep Neural Network Hashing,DNNH)[12]、深 度 语 义 排 序 哈 希 (Deep SemanticRanking Hashing,DSRH)[13]、深度正则化相似度比较哈希(Deep Regularized Similarity ComparisonHashing,DRSCH)[14]通过在汉明空间中设置锚点的方法,通过约束“与锚 点相似的样 本到锚点的距离要比与锚点不相似的样本到锚点的距离更近”的方式端到端地学习哈希函数,得到了判别能力更强的二值码;为了减小量化损失的影响,深度监督哈希(Deep Supervised Hashing,DSH)[2]、深度样本对监督哈希(Deep Pairwise Supervised Hashing,DPSH)[15]、哈希网络(HashNet)[3]通过最小化/最大化相似/不相似样本对之间的距离端到端地学习具有强判别力的哈希 函 数,同 时 通 过 显 式 地 惩 罚 松 弛 后 的 实值特征与目标二值码之间的量化损失,进一步提升了二值码 的 检 索 精 度;有 监 督 语 义 保 持 深 度 哈 希(Supervised Semantic-preserving Deep Hashing,SSDH)[16]首先通过 sigmoid激 活 函数将卷积网络中某一层的输出限定在0到1的范围内,并端到端地训练模型在尽可能减小量化误差的条件下,使用这一层的输出预测样本的标签,以此将语义信息编码到这一层的输出中,之后通过量化的方式获得真正的二值编码.尽管上述哈希方法通过对量化损失的显示约束,在近似近邻搜索任务上达到了很好的性能指标,但是由于方法中固有的松弛-量化步骤,仍然无法保证松弛后得到的实数值的最优解,在量化为二值后仍然是最优的.为了更好地解决这种量化带来的问题,一些近期的哈希学习方法提出直接在离散的汉明空间中进 行 优 化.其 中 离 散 图 哈 希 (Discrete GraphHashing,DGH)[17]和有监督 离 散 哈 希 (SupervisedDiscrete Hashing,SDH)[18]通过逐个比特的优化,在不需要松弛的条件下,直接得到了具有判别力的二值码;深 度 离 散 监 督 哈 希 (Deep Discrete SupervisedHashing,DDSH)[19]通过将离散优化与特征表示学习融合在一起,进一步提高了二值码的检索精度.但是 DDSH 方法只能在每个训练的小批量样本(mini-batch)中得到最优的二值码,因此无法保证得到的二值码相对于整个数据集是最优的.为了解决这个问题,本文提出了一种新的离散优化算法,通过在整个训练集上进行优化,得到最优的二值码;并在最优二值码的基础上,训练深度卷积网络同时学习图像表示和相应的哈希函数.因此,与 DDSH 方法相比,2511 计  算  机  学  报 2019年29;在线出版日期:2019-03-27.本课题得到国家“九七三”重点基础研究发展规划项目基金(2015CB351802)、国家自然科学基金(61772500)、中国科 学 院 前 沿 科 学 重 点 研 究 项 目 (QYZDJ-SSW-JSC009)、中 国 科 学 院 青 年 创 新 促 进 会 (2015085)资 助.刘昊淼,博士研究生,主要研究方向为图像检索、可解释的物体识别模型.E-mail:haomiao.liu@vipl.ict.ac.cn.王瑞平,博士,研究员,中国计算机学会(CCF)会员,主要研究领域为计算机视觉、模式识别、机器学习.山世光,博士,研究员,中国计算机学会(CCF)会员,主要研究领域为计算机视觉、模式识别、机器学习.陈熙霖(通信作者),博士,研究员,中国计算机学会(CCF)会士,主要研究领域为计算机视觉、多模式人机接口.E-mail:xlchen@ict.ac.cn.基于离散优化的哈希编码学习方法刘昊淼 王瑞平 山世光 陈熙霖(中国科学院计算技术研究所智能信息处理重点实验室 北京 100190)(中国科学院大学计算机科学与技术学院 北京 100049)摘 要 哈希作为近似近邻搜索的一种主流方法,通过将样本索引为紧致的二值编码,在计算效率和存储上都非常高效.由于二值码的离散特性,以往的哈希方法往往需要将二值码松弛为实数值才能高效地进行优化,因此在优化完成后重新将实数值的结果量化为二值时难免会由于二值的汉明空间与实数值的欧氏空间之间的差异而遇到性能上的损失问题.为了更好地解决量化损失的问题,本文提出了一种深度离散优化哈希(Deep Discrete Optimiza-tion Hashing,DDOH)方法.首先,设计了一种新的离散优化算法,通过直接在二值的汉明空间中对二值码进行优化,得到具有强判别性的二值编码.然后,训练卷积神经网络模型拟合上述二值码,得到用于编码的哈希函数.在CIFAR-10和ImageNet-100两个常用的评测数据集上的实验显示,本文提出的方法在 CIFAR-10数据库上与目前最好的方法达到了同样的性能,在ImageNet-100数据库上的平均准确率指标与已有方法相比提升了约2.2%,证明了该方法的有效性.关键词 近似近邻搜索;高维特征索引;哈希学习;离散优化;卷积神经网络中图法分类号TP311   DOI号10.11897/SP.J.1016.2019.01149Learning to Hash with Discrete OptimizationLIU Hao-Miao WANG Rui-Ping SHAN Shi-Guang Xilin Chen(Key Laboratory of Intelligent Information Processing,Institute of Computing Technology,Chinese Academy of Sciences,Beijing 100190)(School of Computer Science and Technology,University of Chinese Academy of Sciences,Beijing 100049)Abstract In recent years,billions of images are uploaded to the Internet every day,making itextremely difficult to find an interested image according to a user’s demand.This paper addressesthe content-based image retrieval task,which aims at looking for database images that are similarto the given query image.However,due to the huge size of modern datasets,exact nearest neighborsearch method cannot produce retrieval results in acceptable time.Therefore,approximatenearest neighbor search methods are proposed to sacrifice accuracy for acceptable retrieval time.As a mainstream approximate nearest neighbor (ANN)search method,hashing projects theoriginal feature vectors of samples into very compact binary codes,and thus is very efficient inboth computation and storage.As a result,hashing methods have received more and moreresearch attention over the past twenty years.However,due to the discrete nature of binary codes,directly optimizing the binary codes is an NP-hard problem and the computation time required forobtaining the global optimum would be unacceptable.To deal with this problem,existing hashingmethods can only perform optimization efficiently by relaxing the binary codes to real values,and的二值码判别力更强,在检索时可以达到更高的精度.3 方 法为了进一步缓解松弛-量化步骤对哈希学习方法的负面影响,提出了一种新的离散优化算法,直接在二值的汉明空间中进行优化,提升初始二值码的判别能力.为了在得到优化之后的二值码基础上得到相应的用于编码的哈希函数,训练了一个深度卷积神经网络同时学习更适配于数据的特征表示并对二值码进行拟合,整个方法的流程示意如图1所示.下面将分别详细介绍本文方法中的三个关键步骤,即二值码初始化、离散二值码优化、哈希函数学习.3.1 形式化令Ω 表示 RGB 彩色图像空间,StrΩ 表示训练图像构成的集合,哈希学习方法的目标是在训练集Str上学习一个从图像空间Ω 到K 比特二值码的变换f:Ω→ {0,1}K,使得相似的图像在变换之后的二值码也相似,不相似的图像的二值码也不相似.对于深度 哈 希 方 法,上 述 变 换 可 以 进 一 步 分 解 为f(X)=h(ψ(X)),其中X∈Ω 表示一张 RGB彩色图像,ψ:Ω→Rd表示使用深度卷积网络提取d 维图像特征的过程,h:Rd→ {0,1}K表示将深度特征变换为二值码的操作.具体来说,h(ψ(X))=I[WTψ(X)+b>0],其中 W ∈Rd×K表示哈希函数 的 权 重 矩 阵,b∈RK表示相应的偏置项,I[条件]代表指示函数,当括号中的条件为真时取值为1,否则取值为0.为了便于表示,在下文中将使用 B 表示所有训练图像的二值码,B(t)i表示第i个样本在第t 次离散优化之后对应的二值码,B(t)i(k)表示相应二值码的第k个比特.在本文方法中,需要学习 W 和b 中参数的值,同时也要对深度卷积网络中特征提取部分ψ的参数值进行学习(如卷积神经网络中卷积核的权重、全连接层的变换参数等).3.2 二值码初始化一种最简单直接的获得初始二值码B(0)i的方法是通过随机采样的方式初始化二值码,完全不考虑图像特征的分布情况:B(0)i=I[randn(K)>0] (1)其中randn(k)表示从标准正态分布中随机采样 K次.该方法通过直接对这 K 个采样结果分别进行量化得到初始的K 比特二值码.上述方法虽然可以快速地得到初始二值码,但是由于没有考虑到数据的真实分布情况,因此可能会给之后的优化步骤带来一些困难.为了解决这个问题,本文进一步考虑基于数据的真实分布的初始化方法.通常来说,在ImageNet的 1000 类 物体识别任务[20]上预训练的深度卷积网络中,最后一层的输出对应的是图像属于相应的1000个类别的概率,而倒数第二层的输出对应的则是更加通用的图像表示.大量已有工作[21-22]表明,在ImageNet上预训练的深度卷积网络倒数第二层的特征可以应用于各种各样的计算机视觉任务.因此,一种可行的得到初始的二值码方法为:对于训练集中的第i张图像Xi∈Str,本文方法首先将图片作为输入送入预训练的深度卷积神经网络模型,并使用网络倒数第二层的输出作为训练图像的特征ψ(Xi).相应地,在该特征的基础上考虑两种初始方法:第一,通过对特征进行随机线性变换得到初始的二值码B(0)i:m=1/ Str×∑Xi∈Strψ(Xi) (2)B(0)i=I[WTrand(ψ(Xi)-m)>0] (3)其中 m 表示所有训练数据的平均特征,用于将样本的特征平移到特征空间的原点附近;· 表示集合的元素个数;Wrand∈Rd×K表示一个d×K 维的随机矩阵,该矩阵中的每一个元素都是从标准正态分布中随机采样得到的;第二,通过使用主成分分析的方法对特征进行降维,并以此获得初始的二值码:B(0)i=I[WTpca(ψ(Xi)-m)>0] (4)其中m 为式(2)中定义的样本平均特征,Wpca∈Rd×K表示训练数据的前K 个主成分方向.讨论:上述三种初始化方法中,第一种完全没有考虑数据的分布情况,因此该方法得到的初始二值码无法保持样本间的相似度关系,但是计算十分高效;第二种做法与局部敏感哈希[4]相似,可以在一定程度上保持图像原始特征之间的相似度关系,而且计算上也比较高效;第三种做法利用数据分布的主方向,可以得到冗余度较小的初始二值码,但是由于需要计算主成分分析,因此在计算效率上低于前两种方法,并且当训练集规模增大时,计算量和内存需求也会随之增大.综 上所述,上 述 三种初始化方法中,前两种即使在训练数据规模非常大的情况下,依然可以很高效地得到初始的二值码.3.3 离散二值码优化初始二值码B(0)i的判别力较弱,因此如果直接将其用于近似近邻搜索任务将很难达到令人满意的5期 刘昊淼等:基于离散优化的哈希编码学习方法3511码的判别力,本文提出一种新的离散二值码优化方法,直接在汉明空间中学习最优的二值码.具体来说,对于拥有类别标签的样本,在检索任务中,同类的图像应该具有相似的二值码,而不同类的图像的二值码也应该不同.令yi∈{1,2,3,…,C}表示第i张训练图像所属的类别标号,对于相应的训练图像 Xi,优化的目标是减小第i张图像的二值码与同类图像的二值码之间的距离,同时增大第i张图像与其他类图像的二值码之间的距离.在本文方法中,各个比特相互独立,因此不失一般性的,对于第k个比特,相应的优化目标为Li=1∑jI[yj=yi( ])×∑yj=yi(B(0)i(k)-B(0)j(k))2-1∑jI[yj≠yi( ])×∑yj≠yi(B(0)i(k)-B(0)j(k))2(5)其中第一项为归一化的类内差异,第二项为归一化的类间差异.值得注意的是,对于二值码来说,其取值只有两种可能的结果,因此式(5)可以改写为 B(0)i(k)=0:Li=∑yj=yiB(0)j(k)-λ∑yj≠yiB(0)j(k), B(0)i(k)=1:Li=∑yj=yiB(0)j(k)-λ∑yj≠yiB(0)j(k)(6)其中λ=∑jI[yj=yi]∑jI[yj≠yi],  表示取反操作.为了使式(6)取得最小值,分情况进行讨论,当B(0)i(k)=0时,不难证明当∑yj=yiB(0)j(k)-λ∑yj≠yiB(0)j(k)<0时,维持B(0)i(k)=0可以使式(6)取得最小值;反之,当∑yj=yiB(0)j(k)-λ∑yj≠yiB(0)j(k)>0时,翻转B(0)i(k)的值可以使式(6)取得最小值.具体的证明见附录1.同理 可 得,当 B(0)i(k)=1 且∑yj=yiB(0)j(k)-λ∑yj≠yiB(0)j(k)<0时,维持B(0)i(k)的值可以使式(6)取得最小值;反之,当∑yj=yiB(0)j(k)-λ∑yj≠yiB(0)j(k)>0时,翻转B(0)i(k)的值可以取得最小值.因此,对所有比特按照上述方式进行更新,即可降低损失的值.通过迭代地更新,即可得到具有强判别力的二值码,该过程的总体更新算法详见算法 1.由于二值码优化是一个 NP难的问题,目前已有的理论无法保证本算法可以收敛到全局最小值.因此,本文将在第4节中,通过大量实验验证该算法在多种初始条件下的收敛性及有效性.算法1. 离散二值码优化算法.输入:训练数据的初始二值码矩阵 B(0),训练数据标签y,优化迭代次数n输出:优化后的二值码矩阵B(n)1.for iter=1:n2. for k=1:K3. C0=∑iB(iter-1)i(k)//训练集所有样本在第k个比特取0的个数4. C1=∑iB(iter-1)i(k)//训练集所有样本在第k个比特取1的个数5. for c=1:C6. Sc,0=∑yi=cB(iter-1)i(k)//第c类样本在第k个比特上取0的个数7. Sc,1=∑yi=cB(iter-1)i(k)//第c类样本在第k 个比特上取1的个数8. D0=C0-Sc,0 //除第c类外,其他所有类样本在第k个比特上取0的个数9. D1=C1-Sc,1 //除第c类外,其他所有类样本在第k个比特上取1的个数10. g0=Sc,1-λD1 //第c类在第k 个比特上取值为0的样本的损失11. g1=Sc,0-λD0 //第c类在第k 个比特上取值为1的样本的损失12. for yi==c13. if B(iter-1)i(k)14. B(iter-1)i(k)= (g1>0)15. else16. B(iter-1)i(k)=(g0>0)17.return B(n)由于本文方法在进行二值码优化的时候,只需要考虑二值码的判别性,而不需要像大多数已有的深度哈希方法一样考虑量化损失的问题,因此可以避免在判别性损失和量化损失之间进行权衡,从而相比于已有的哈希方法,本文方法可以更加专注于二值码的判别性,从而可以获得具有更强判别能力的二值码.3.4 哈希函数学习上述离散二值码优化过程虽然可以在训练集上得到具有强判别力的二值码,但是无法对训练集之外的样本进行编码.为了得到用于编码的哈希函数,本文方法通过训练深度卷积神经网络,在训练集上拟合优化得到的二值码.因此,对于第k 个比特,优化的目标是使深度卷积网络输出的二值码尽可能地接近优化得到的二值码:min∑iE(h(ψ(Xi)),B(n)i) (7)其中E(·,·)是对两个向量之间差异的度量,可以4511 计  算  机  学  报 2019年ge损失、Sigmoid交叉熵损失等方式定义.本文中采用Sigmoid交叉熵的形式,对于第i个训练样本,损失函数的具体定义为 E(h(ψ(Xi)),B(n)i)=  -∑k[B(n)i(k)×log(σ(WTkψ(Xi)+bk))+  (1-B(n)i(k))×log(1-σ(WTkψ(Xi)+bk))](8)其中σ(a)=1/(1+exp(-a))是 Sigmoid函数,Wk表示矩阵W 的第k 列,bk表示向量b 的第k 个元素.为了便于表示,令hi(k)=σ(WTkψ(Xi)+bk),上述损失函数对hi(k)是可导的,其导数定义为E/hi(k)=σ(WTkψ(Xi)+bk)-1,B(n)i(k)=1,E/hi(k)=σ(WTkψ(Xi)+bk),B(n)i(k)=0 (9)因此,利用链式法则,该模型可以通过标准的反向传播算法进行优化.模型训练结束后,对于样本 X,可以通过对卷积网络输出进行量化的方式,得到样本的二值码:B(k)=0.5×sign(WTkψ(X)+bk)+0.5 (10)其中sign(·)表示符号函数,当 自 变 量 的 值 大 于 0时,函数值为1,否则函数值为-1.4 实验验证在本节中,通过在两个常用的图像检索数据集上进行对比实验,验证本文方法相对于已有方法的优越性.另外,通过大量的消融实验和模块测试,验证本文方法中采用的各个模块的有效性,并对参数的敏感性进行分析.4.1 实验环境和数据集实验环境.本次实验在一台 GPU 服务器上进行,离散二值码优化部分使用 MATLAB,二值码拟合部分使用的深度学习平台为 Caffe,基于 CUDA和cudnn进行 GPU 加速,实际实验中只使用一块GPU 进行实验,机器的配置见表1.表1 实验机器配置信息操作系统 Ubuntu 16.04.5LTSCPUIntel(R)Xeon(R)CPUE5-2620v3@2.40GHz内存 32GBGPU  4×Titan X显卡驱动版本 396.54CUDA 版本 9.2cudnn版本 7.0数据集.为了和已有哈希学习方法进行公平的对比,实验过程中沿用 CIFAR-10[23]和ImageNet-100[3]两个已有方法中常用的图像检索评测数据集来测试本文 方 法 的 有 效 性.CIFAR-10:该 数 据 库 包 含60 000张分辨率为32×32的彩色图像.这些图像属于10个互斥的类别,其中每类6000张图像.在本次实验中,使用 CIFAR-10数据库标准的训练、测试数据划分,使用50000张图像(每类5000张)训练模型并作为检索的数据库,10 000张图像(每类1000张)作为查询图像.ImageNet-100:该数据库是ImageNet物体识别任务的一个子集,包含100类物体.其中来自ImageNet训练集的 128 503张图像作为检索的数据库,其中每类130张图像(共13 000张)用于训练模型,来 自 ImageNet校 验 集 的 每 类 50 张 图 像(共5000张)作为测试时使用的查询图像.由于目前只有极少数方法在更大规模的数 据集上进 行了评测,为了保证本文汇报结果的准确性,减小复现对比方法中可能的错误对对比方法性能的不利影响,本文仅在上述两个数据库上进行评测.码长.由于CIFAR-10数据库相对比较简单,本文中使用已 有 工作中常用的评测 协 议[2,16],在12、24、32、48比特四个不同的码长上进行模型的评测.对于ImageNet-100,本文沿用文献[3]的评测方式,在16、32、48、64四个码长上进行测试.评测方法及指标.在上述两个数据集上,使用查 询 数 据 对 数 据 库 进 行 检 索,当 返 回 结 果 与 查询图像来自同一个类别时,认定为一个正确的检索结果.通 过 使 用 检 索 的 查 准 率 (precision)、召 回 率(recall)、平均准确率(mAP)、汉明距离小于等于2的样本的准确率作为指标评价各个方法的性能并进行对比.特别的,对于ImageNet-100数据库,由于在数据库中一个类别只有约1300张图像,因此本文沿用文献[3]的评测方式,使用前1000个返回结果的平均准确率(mAP)作为评测的指标.4.2 方法实现细节网络结构.对于大规模图像检索任务来说,编码速度是一个重要的指标.考虑到编码速度与检索性能的权衡,本文采用 AlexNet[24]的网络结构进行哈希学习.为了减少模型的可训练参数,降低过拟合的风险,本文方法在ImageNet物 体识别任 务上预训练的网络参数的基础上进行参数微调.具体来说,基于深度卷积网络的哈希函数中的参数 W 和b 是预训练模型中所没有的,因此需要从随机初始化开始从头学习;另一方面,ψ表示卷积网络中的卷积、池化等操作,其中 的参数 已经在ImageNet物体识别任务上进行了训练,因此能够从图像中提取表示能力较强的特征,在学习哈希函数的时候只需根据5期 刘昊淼等:基于离散优化的哈希编码学习方法5511相应的数据进行微调.参数设置.对于对比方法,本文使用原作者在各自论文中建议的结果设置参数.对于本文提出的 DDOH方法,离散二值码优化时 的迭代次数n 设置为 10次.训练卷积网络时,新加入的哈希层的学习率设置为0.003,前面在ImageNet识别任务上预训练过的层学习率设置为0.0003.在 CIFAR-10数据库上,因为训练数据量比较大,且训练数据与ImageNet预训练的数据差异较大,因此需要训练的时间也较长,共训练50 000次,其中在25 000次的时候将学习率降低到原来的1/10.在ImageNet-100数据库上,由于训练数据较少,为了避免过拟合,总共训练 1000次,其中在500次的时候将学习率降低到初始学习率的1/10.此外,在两个数据库上,模型的权重衰减系数均设置为0.0005,训练时使用的小批量大小为256.在训练的过程中,所有输入图像首先缩放为256×256的尺寸,之后从中随机裁剪出227×227的图像块作为模型的输入.在测试阶段,同样首先将输入图像缩放为256×256,然后选取位于图像中心的大小为227×227的图像块作为输入,通过对网络前向计算后,对输出进行量化得到最终的二值码.4.3 与已有方法对比为了验证本文方法的有效性,每次测试均与已有的哈希方法进行了对比.具体来说,对比的方法包括局部敏感哈希(LSH)[4]、迭代量化(ITQ)[1]、基于典型相关分析的迭代量化(CCA-ITQ)[1]、有监督离散哈希(SDH)[18]、卷积神经网络哈希(CNNH)[11]、深度 卷 积 网 络 哈 希 (DNNH)[12]、深 度 监 督 哈 希(DSH)[2]、哈希网络(HashNet)[3]、有监督语义保持深度哈希(SSDH)[16].对比结果见表2、图2和图3.在 CIFAR-10数据库上(表2左侧和图2),本文提出的方法在平均准确率、精度-召回率曲线、汉明距离小于等于2的样本的精度三项指标上都达到了和现有最好的方法一样好的性能指标.特别是在精度-召回率曲线上,即使在召回率接近1的情况下,本文的方法仍然可以保持非常高的精度,这说明本文的方法中,同类的样本之间非常紧凑,而且每一类的编码都有很强的差异.在ImageNet-100数据库上,本文提出的方法在所有指标上都显著超越了已有的方法,这证明了该方法的优越性.表2 与现有哈希学习方法在平均准确率指标(mAP)上的对比(本文方法(DDOH)的结果见表中最后一行,对比方法的最好结果用下划线标出)方法CIFAR-10(mAP)12-bit  24-bit  32-bit  48-bitImageNet-100(mAP@1000)16-bit  32-bit  48-bit  64-bitLSH[4]0.125  0.150  0.169  0.186  0.080  0.160  0.224  0.274ITQ[1]0.230  0.241  0.253  0.259  0.307  0.457  0.516  0.553CCA-ITQ[1]0.573  0.614  0.625  0.634  0.321  0.494  0.589  0.650SDH[18]0.205  0.637  0.632  0.660  0.481  0.567  0.600  0.617CNNH[11]0.856  0.860  0.863  0.864  0.281  0.450  0.525  0.554DNNH[12]0.694  0.821  0.825  0.835  0.290  0.461  0.530  0.565DSH[2]0.920  0.929  0.933  0.935  0.558  0.632  0.650  0.663HashNet[3]0.943  0.950  0.952  0.953  0.506  0.631  0.663  0.684SSDH[16]0.927  0.942  0.945  0.947  0.621  0.680  0.688  0.700DDOH  0.949  0.948  0.949  0.950  0.647  0.697  0.712  0.720图 2 在 CIFAR-10数据库上进行测试时得到的48比特模型的精度-召回率(Precision-Recall,PR)曲线(左图)和不同码长模型的汉明距离小于等于2的样本的精度曲线(右图)6511 计  算  机  学  报 2019年

[返回]
上一篇:基于用户评论的深度情感分析和多视图协同融合的混合推荐方法
下一篇:基于联合概率矩阵分解的群推荐方法研究