CN108629414B - 深度哈希学习方法及装置 - Google Patents
深度哈希学习方法及装置 Download PDFInfo
- Publication number
- CN108629414B CN108629414B CN201810437773.4A CN201810437773A CN108629414B CN 108629414 B CN108629414 B CN 108629414B CN 201810437773 A CN201810437773 A CN 201810437773A CN 108629414 B CN108629414 B CN 108629414B
- Authority
- CN
- China
- Prior art keywords
- hash
- vector
- loss function
- layer
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000006870 function Effects 0.000 claims abstract description 311
- 239000013598 vector Substances 0.000 claims abstract description 248
- 238000012549 training Methods 0.000 claims abstract description 99
- 238000013139 quantization Methods 0.000 claims abstract description 61
- 238000013528 artificial neural network Methods 0.000 claims abstract description 37
- 238000004364 calculation method Methods 0.000 claims description 35
- 239000000126 substance Substances 0.000 claims description 18
- 238000003860 storage Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000011478 gradient descent method Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种深度哈希学习方法及装置,所述方法应用于深度哈希神经网络,所述方法包括:获取训练数据、训练数据的语义标签、分类全连接层输出向量、哈希层输出向量和聚类向量全连接层参数向量;利用训练数据、训练数据的语义标签、分类全连接层输出向量、哈希层输出向量和聚类向量全连接层参数向量,计算一元哈希损失函数、分类损失函数和量化错误函数;根据一元哈希损失函数、分类损失函数和所述量化错误函数,计算整体损失函数;将整体损失函数输入深度哈希神经网络中进行反向传播;训练反向传播后的深度哈希神经网络,得到哈希函数。本公开实施例提供的深度哈希学习方法,能够提高训练速度,同时提高哈希函数的性能。
Description
技术领域
本公开涉及神经网络技术领域,尤其涉及一种深度哈希学习方法及装置。
背景技术
伴随着人工智能和信息检索技术的发展,图像等复杂数据的检索成为近几年人们的关注热点。以图像检索为例,给定一张图像,希望找到像素级别相似,或者语义相似的图片。由于图像结构复杂且维度高,图像检索的效率及准确率成为大规模图像数据的难点。
现有技术方案最大的问题在于深度哈希学习中的二元组损失函数和三元组损失函数的训练复杂度问题。假设训练数据规模为N,二元组损失函数涉及O(N2)个数据对,三元组损失函数涉及O(N3)个数据组,对于大规模数据是无法忍受的。假设N=107(一个典型大规模数据的规模),则对于二元组损失函数有1014个数据对,对于三元组有大约1021个数据组,已经远远超过计算机能够承受的计算规模。故在优化上述损失函数时,现有技术方案一般要对数据对/数据组进行采样,但采样无法覆盖所有的数据对/数据组,导致训练速度和哈希函数性能都会受到影响。
发明内容
有鉴于此,本公开提出了一种深度哈希学习方法及装置,用以解决传统的深度哈希学习方法中,二元组损失函数和三元组损失函数的训练复杂的问题。
根据本公开的一方面,提供了一种深度哈希学习方法,所述方法应用于深度哈希神经网络,深度哈希神经网络包括分类全连接层、哈希层和聚类向量全连接层,所述方法包括:
获取训练数据、所述训练数据的语义标签、分类全连接层输出向量、哈希层输出向量和聚类向量全连接层参数向量;
利用所述训练数据、所述训练数据的语义标签、所述分类全连接层输出向量、所述哈希层输出向量和所述聚类向量全连接层参数向量,计算一元哈希损失函数、分类损失函数和量化错误函数,其中所述一元哈希损失函数是基于所述聚类向量全连接层参数向量为聚类中心向量计算的;
根据所述一元哈希损失函数、所述分类损失函数和所述量化错误函数,计算整体损失函数;
将所述整体损失函数输入深度哈希神经网络中进行反向传播;
训练反向传播后的深度哈希神经网络,得到哈希函数。
在一种可能的实现方式中,利用所述训练数据、所述训练数据的语义标签、所述分类全连接层输出向量、所述哈希层输出向量和所述聚类向量全连接层参数向量,计算一元哈希损失函数、分类损失函数和量化错误函数,包括:
利用所述分类全连接层输出向量构成分类损失函数;
利用所述哈希层输出向量构成量化错误函数;
利用哈希层输出向量和所述聚类向量全连接层的输出函数构成一元哈希损失函数。
在一种可能的实现方式中,利用所述训练数据、所述训练数据的语义标签、所述分类全连接层输出向量、所述哈希层输出向量和所述聚类向量全连接层参数向量,计算一元哈希损失函数、分类损失函数和量化错误函数,包括:
如果所述训练数据的语义标签为单语义标签,则基于聚类中心向量、哈希层输出向量,利用式1,计算一元哈希损失函数Lu:
基于分类全连接层输出向量,利用式3计算分类损失函数Ls:
基于哈希层输出向量,利用式4计算量化错误函数Lq:
在一种可能的实现方式中,利用所述训练数据、所述训练数据的语义标签、所述分类全连接层输出向量和所述哈希层输出向量、所述聚类中心向量,计算一元哈希损失函数、分类损失函数和量化错误函数,包括:
如果所述训练数据的语义标签为多语义标签,则利用式5计算一元哈希损失函数Lu:
其中,xi为训练数据,F(xi)为哈希层输出向量,yi为语义标签,cs为聚类向量全连接层第s个参数向量,λ为一元哈希损失参数,lc(F(xi),yi)采用式6计算,
其中|Yi|表示集合Yi的元素个数,cj为聚类向量全连接层第j个参数向量,
采用式7计算分类损失函数Ls:
其中,a1,...,aK为分类全连接层的输出;
采用式8计算量化错误函数Lq:
在一种可能的实现方式中,根据所述一元哈希损失函数、所述分类损失函数和所述量化错误函数,计算整体损失函数,包括:
利用式9计算整体损失函数L,
L=Lu+μLs+αLq 式9,
其中,μ为整体损失函数参数,α为量化错误函数参数。
在一种可能的实现方式中,所述分类全连接层和所述哈希层并联,所述聚类向量全连接层连接在所述哈希层后。
根据本公开的一方面,提供了一种深度哈希学习装置,所述装置应用于深度哈希神经网络,深度哈希神经网络包括分类全连接层、哈希层和聚类向量全连接层,,所述装置包括:
数据获取模块,用于获取训练数据、所述训练数据的语义标签、分类全连接层输出向量、哈希层输出向量和聚类向量全连接层参数向量;
第一函数计算模块,用于利用所述训练数据、所述训练数据的语义标签、所述分类全连接层输出向量、所述哈希层输出向量和所述聚类向量全连接层参数向量,计算一元哈希损失函数、分类损失函数和量化错误函数,其中所述一元哈希损失函数是基于所述聚类向量全连接层参数向量为聚类中心向量计算的;
第二函数计算模块,用于根据所述一元哈希损失函数、所述分类损失函数和所述量化错误函数,计算整体损失函数;
反向传播模块,用于将所述整体损失函数输入深度哈希神经网络中进行反向传播;
训练模块,用于训练反向传播后的深度哈希神经网络,得到哈希函数。
在一种可能的实现方式中,所述第一函数计算模块,包括:
分类损失函数构建子模块,用于利用所述分类全连接层输出向量构成分类损失函数;
量化错误函数构建子模块,用于利用所述哈希层输出向量构成量化错误函数;
一元哈希损失函数构建子模块,用于利用哈希层输出向量和所述聚类向量全连接层的输出函数构成一元哈希损失函数。
在一种可能的实现方式中,所述第一函数计算模块,包括:
第一哈希损失函数计算子模块,用于如果所述训练数据的语义标签为单语义标签,则基于聚类中心向量、哈希层输出向量,利用式1,计算一元哈希损失函数Lu:
第一分类损失函数计算子模块,用于基于分类全连接层输出向量,利用式3计算分类损失函数Ls:
第一量化错误函数计算子模块,用于基于哈希层输出向量,利用式4计算量化错误函数Lq:
在一种可能的实现方式中,所述第一函数计算模块,包括:
第三哈希损失函数计算子模块,用于如果所述训练数据的语义标签为多语义标签,则利用式5计算一元哈希损失函数Lu:
其中,xi为训练数据,F(xi)为哈希层输出向量,yi为语义标签,cs为聚类向量全连接层第s个参数向量,λ为一元哈希损失参数,lc(F(xi),yi)采用式6计算,
其中|Yi|表示集合Yi的元素个数,cj为聚类向量全连接层第j个参数向量,
第二分类损失函数计算子模块,用于采用式7计算分类损失函数Ls:
其中,a1,...,aK为分类全连接层的输出;
第一量化错误函数计算子模块,用于采用式8计算量化错误函数Lq:
在一种可能的实现方式中,所述第二函数计算模块,包括:
整体损失函数计算子模块,用于利用式9计算整体损失函数L,
L=Lu+μLs+αLq 式9,
其中,μ为整体损失函数参数,α为量化错误函数参数。
在一种可能的实现方式中,所述分类全连接层和所述哈希层并联,所述聚类向量全连接层连接在所述哈希层后。
根据本公开的一方面,提供了一种深度哈希学习装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行本公开中的深度哈希学习方法。
根据本公开的一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现本公开中的深度哈希学习方法。
本公开根据一元哈希损失函数、分类损失函数和量化错误函数计算得到的整体损失函数,其中,一元损失函数的算法简单,易于实现,能够提高深度哈希学习的训练速度,同时提高哈希函数的性能。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出大规模数据检索方法的流程图;
图2示出基于一元损失函数的哈希学习方法的流程图;
图3示出根据本公开一实施例的深度哈希方法的流程图;
图4示出本公开一实施例的哈希学习方法中神经网络的框图;
图5示出根据本公开一实施例的哈希学习训练过程示意图;
图6示出基于一元损失函数的哈希学习装置的框图;
图7是根据一示例性实施例示出的一种用于深度哈希学习的装置的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
深度哈希学习是高效大规模复杂数据(如图像等)检索的有效解决方案。首先,哈希学习可以学习特定的哈希函数,将高维复杂数据映射到短的二值哈希码,使得相似的数据(如图像像素相似或者语义相似)的哈希码的汉明距离较小。图1示出大规模数据检索方法的流程图。如图1所示,由于哈希码存储空间小,计算汉明距离效率高,故可以快速完成大规模复杂数据检索。其次,伴随深度学习技术的发展,可以利用深度神经网络提取复杂数据的向量特征,而向量特征储存着数据的语义信息。图2示出基于一元损失函数的哈希学习方法的流程图。如图2所示,深度哈希学习是哈希学习和深度学习的结合。将深度神经网络作为待学习的哈希函数,进行哈希学习的同时学习深度神经网络,并且用深度神经网络提取复杂数据的哈希码。这样,哈希码存储了数据的语义信息,同时也可以用于高效而准确的大规模复杂数据检索。
深度哈希学习的核心在于设计并优化与哈希函数相关的损失函数。目前存在若干深度哈希学习技术方案,不同方案使用了不同的损失函数,但这些方案或者训练难度大,或者学习的哈希函数生成的哈希码无法用于有效的数据检索。现有方案重点研究与哈希函数相关的损失函数的优化。首先设计特定的损失函数,优化特定损失函数,可以保证相似的数据(如图像像素相似或者语义相似)的哈希码的汉明距离较小;其次使用训练深度神经网络最经典的随机梯度下降方法进行损失函数优化,得到良好的神经网络和哈希函数。现有技术方案重点研究如下问题:
处理哈希函数的二值化限制。二值化限制使得随机梯度下降方法无法正常使用,现有技术方案主要采取取消二值化限制并加上量化错误的技术方案,在保证随机梯度下降方法正常使用的同时,保证哈希函数的输出在-1/+1附近,得到高质量的哈希码。
设计不同的损失函数并优化。主要使用二元组损失函数或三元组损失函数。二元组损失函数将所有训练数据进行两两组合形成数据对,通过优化二元组损失函数,保证相似的数据的哈希码汉明距离较小,不相似的数据的哈希码汉明距离较大。三元组损失函数将所有数据三个一组进行组合,每组包含基础数据x,与x相似的数据x+和与x不相似的数据x-。第三个与前两个都不相似的数据,通过优化三元组损失函数,保证x和x+的哈希码汉明距离比x和x-的哈希码距离小。
图3示出根据本公开一实施例的深度哈希方法的流程图,如图3所示,所述方法应用于深度哈希神经网络,深度哈希神经网络包括全连接层和哈希层,所述方法包括:
步骤S10,获取训练数据、所述训练数据的语义标签、分类全连接层输出向量、哈希层输出向量和聚类向量全连接层参数向量。
步骤S20,利用所述训练数据、所述训练数据的语义标签、所述分类全连接层输出向量、所述哈希层输出向量和所述聚类向量全连接层参数向量,计算一元哈希损失函数、分类损失函数和量化错误函数,其中所述一元哈希损失函数是基于所述聚类向量全连接层参数向量为聚类中心向量计算的。
步骤S30,根据所述一元哈希损失函数、所述分类损失函数和所述量化错误函数,计算整体损失函数。
步骤S40,将所述整体损失函数输入深度哈希神经网络中进行反向传播。
步骤S50,训练反向传播后的深度哈希神经网络,得到哈希函数。
具体而言,图4示出本公开一实施例的哈希学习方法中神经网络的框图,如图4所示,A层为哈希层,B层为聚类向量全连接层,C层为分类全连接层。哈希层与分类全连接层并联,聚类向量全连接层连接在哈希层后。聚类向量层参数矩阵为c,c为r行K列矩阵,矩阵的每一列构成为K个向量c=[c1,...,cK],称为聚类中心向量。
对于输入的给定图片x,设哈希层的输出为F(x),其中F(x)是维度r的向量,则定义哈希函数H(x)=sgn(F(x)),即哈希码长度为r,其中sgn(x)为符号函数,对于单变量,定义为对于多变量,定义为每个变量分别求符号函数的结果。假设训练数据为x1,...,xn,对应的语义标签为y1,...,yn,而学习后的哈希码为h1,...,hn。本实施例中的哈希学习算法总共要同时优化三种损失函数:一元哈希损失函数、分类损失函数和量化错误函数。其中一元哈希损失函数为哈希方法的核心损失函数,从图4中的B层引出;分类损失函数为辅助神经网络的训练函数,从图4中的C层引出;量化错误函数让实数输出F(x)的每个元素接近哈希码+1/-1,从图4中的A层引出。
利用一元哈希损失函数、分类损失函数、量化错误函数和预设的整体损失函数参数,共同计算整体损失函数。其中,不同的整体损失函数参数对于哈希学习的效果会有较大影响。最终计算得到的整体损失函数,用于在深度哈希神经网络中进行反向传播。
在本实施例中,根据一元哈希损失函数、分类损失函数和量化错误函数计
算得到的整体损失函数,其中,一元损失函数的算法简单,易于实现,能够提高深度哈希学习的训练速度,同时提高哈希函数的性能。
本公开实施例设计一元的损失函数,避开二元组、三元组损失函数复杂度过高的问题。同时,一元组损失函数要符合相似的数据的哈希码汉明距离较小,不相似的数据的哈希码汉明距离较大的要求。
本公开实施例提出的一元损失函数,在降低训练复杂度到O(N),提升训练的效率及哈希函数的性能。具体有如下特征:
本公开实施例的一元损失函数与三元组损失函数有紧密的联系,以保证优化一元损失函数可以满足可以保证相似的数据的哈希码的汉明距离较小,不相似数据的哈希码的汉明距离较大的条件;本公开实施例提出基于一元函数的高效深度哈希学习方法。此方法易于实现,易于训练;该方法在典型图像检索数据集上进行了测试,在多个指标优于其他深度哈希算法。
在一种可能的实现方式中,利用所述训练数据、所述训练数据的语义标签、所述分类全连接层输出向量、所述哈希层输出向量和所述聚类向量全连接层参数向量,计算一元哈希损失函数、分类损失函数和量化错误函数,包括:
利用所述分类全连接层输出向量构成分类损失函数;
利用所述哈希层输出向量构成量化错误函数;
利用哈希层输出向量和所述聚类向量全连接层的输出函数构成一元哈希损失函数。
对于单语义标签数据集,假设训练数据为x1,...,xn,对应的语义标签为y1,...,yn,而学习后的哈希码为h1,...,hn。两个数据相似当且仅当两个数据有相同的语义标签。
在一种可能的实现方式中,如果所述训练数据的语义标签为单语义标签,则基于聚类中心向量、哈希层输出向量,利用式1,计算一元哈希损失函数Lu:
基于分类全连接层输出向量,利用式3计算分类损失函数Ls:
基于哈希层输出向量,利用式4计算量化错误函数Lq:
具体而言,在单语义标签数据集中,式1至式4的函数与三元组损失函数存在理论上的联系。图5示出根据本公开一实施例的哈希学习训练过程示意图,如图5所示,通过优化一元哈希损失函数,可以使得学习的F(xi)与学习的哈希码hi能够聚在一个向量附近。而F(xi)和hi与其他类对应的向量增加,从而使得类内距离减小,类间距离增大,导致相似数据的哈希码汉明距离较小,不相似的哈希码汉明距离较大。
在一种可能的实现方式中,如果所述训练数据的语义标签为多语义标签,步骤S20包括:
利用式5计算一元哈希损失函数Lu:
其中,xi为训练数据,F(xi)为哈希层输出向量,yi为语义标签,cs为聚类向量全连接层第s个参数向量,λ为一元哈希损失参数,lc(F(xi),yi)采用式6计算,
其中|Yi|表示集合Yi的元素个数,cj为聚类向量全连接层第j个参数向量,
采用式7计算分类损失函数Ls:
其中,a1,...,aK为分类全连接层的输出;
采用式8计算量化错误函数Lq:
在一种可能的实现方式中,步骤S30包括:
利用式9计算整体损失函数L,
L=Lu+μLs+αLq 式9,
其中,μ为整体损失函数参数。
在一种可能的实现方式中,采用深度神经网络训练经典的随机梯度下降(SGD)方法进行训练。该方法可以在很多深度神经网络训练工具中实现,比如PyTorch。如图4所示,fc7前使用在Image Net训练的网络结构作为基础网络,fc7后为哈希层和聚类向量全连接层。fc7层之前的学习率为0.001,fc7层之后的学习率为0.01,动量值(momentum)为0.9。训练过程中学习率会逐渐下降。α,μ,λ及其他训练参数根据不同数据集的特点确定。
本公开实施例提出了一个简单高效的一元哈希损失函数和一个基于一元损失函数的深度哈希学习方法。本公开实施例的有益效果包括:
(1)训练复杂度为O(N),复杂度低,哈希学习训练效率高。同时一元损失函数与三元损失函数具有理论上的联系,可以保证在优化过程中,相似的数据的哈希码的汉明距离较小,不相似数据的哈希码的汉明距离较大。
(2)算法简单,没有太多复杂的技术细节,易于实现。
(3)在应用层面,可以训练得到高质量的哈希函数,用该哈希函数可以生成高质量的哈希码,这些哈希码存储着复杂数据的语义信息;
图6示出基于一元损失函数的哈希学习装置的框图,如图6所示,所述装置应用于深度哈希神经网络,深度哈希神经网络包括分类全连接层、哈希层和聚类向量全连接层,所述装置包括:
数据获取模块41,用于获取训练数据、所述训练数据的语义标签、分类全连接层输出向量、哈希层输出向量和聚类向量全连接层参数向量;
第一函数计算模块42,用于利用所述训练数据、所述训练数据的语义标签、所述分类全连接层输出向量、所述哈希层输出向量和所述聚类向量全连接层参数向量,计算一元哈希损失函数、分类损失函数和量化错误函数,其中所述一元哈希损失函数是基于所述聚类向量全连接层参数向量为聚类中心向量计算的;
第二函数计算模块43,用于根据所述一元哈希损失函数、所述分类损失函数和所述量化错误函数,计算整体损失函数;
反向传播模块44,用于将所述整体损失函数输入深度哈希神经网络中进行反向传播;
训练模块45,用于训练反向传播后的深度哈希神经网络,得到哈希函数。
在一种可能的实现方式中,所述第一函数计算模块,包括:
分类损失函数构建子模块,用于利用所述分类全连接层输出向量构成分类损失函数;
量化错误函数构建子模块,用于利用所述哈希层输出向量构成量化错误函数;
一元哈希损失函数构建子模块,用于利用哈希层输出向量和所述聚类向量全连接层的输出函数构成一元哈希损失函数。
在一种可能的实现方式中,所述第一函数计算模块,包括:
第一哈希损失函数计算子模块,用于如果所述训练数据的语义标签为单语义标签,则基于聚类中心向量、哈希层输出向量,利用式1,计算一元哈希损失函数Lu:
第一分类损失函数计算子模块,用于基于分类全连接层输出向量,利用式3计算分类损失函数Ls:
第一量化错误函数计算子模块,用于基于哈希层输出向量,利用式4计算量化错误函数Lq:
在一种可能的实现方式中,所述第一函数计算模块,包括:
第三哈希损失函数计算子模块,用于如果所述训练数据的语义标签为多语义标签,则利用式5计算一元哈希损失函数Lu:
其中,xi为训练数据,F(xi)为哈希层输出向量,yi为语义标签,cs为聚类向量全连接层第s个参数向量,λ为一元哈希损失参数,lc(F(xi),yi)采用式6计算,
其中|Yi|表示集合Yi的元素个数,cj为聚类向量全连接层第j个参数向量,
第二分类损失函数计算子模块,用于采用式7计算分类损失函数Ls:
其中,a1,...,aK为分类全连接层的输出;
第一量化错误函数计算子模块,用于采用式8计算量化错误函数Lq:
在一种可能的实现方式中,所述第二函数计算模块,包括:
整体损失函数计算子模块,用于利用式9计算整体损失函数L,
L=Lu+μLs+αLq 式9,
其中,μ为整体损失函数参数,α为量化错误函数参数。
在一种更可能的实现方式中,所述分类全连接层和所述哈希层并联,所述聚类向量全连接层连接在所述哈希层后。
图7是根据一示例性实施例示出的一种用于深度哈希学习的装置1900的框图。例如,装置1900可以被提供为一服务器。参照图7,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如Windows Server TM,MacOS XTM,Unix TM,Linux TM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由装置1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言-诸如C++、Python等,以及常规的过程式编程语言-诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络-包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (14)
1.一种深度哈希学习方法,其特征在于,所述方法应用于深度哈希神经网络,深度哈希神经网络包括分类全连接层、哈希层和聚类向量全连接层,所述方法包括:
获取训练数据、所述训练数据的语义标签、分类全连接层输出向量、哈希层输出向量和聚类向量全连接层参数向量,其中,所述训练数据为图片;
利用所述训练数据、所述训练数据的语义标签、所述分类全连接层输出向量、所述哈希层输出向量和所述聚类向量全连接层参数向量,计算一元哈希损失函数、分类损失函数和量化错误函数,其中所述一元哈希损失函数是基于所述聚类向量全连接层参数向量为聚类中心向量计算的;
根据所述一元哈希损失函数、所述分类损失函数和所述量化错误函数,计算整体损失函数;
将所述整体损失函数输入深度哈希神经网络中进行反向传播;
训练反向传播后的深度哈希神经网络,得到哈希函数,
所述哈希函数用于生成哈希码,所述哈希码用于图像检索。
2.根据权利要求1所述的方法,其特征在于,利用所述训练数据、所述训练数据的语义标签、所述分类全连接层输出向量、所述哈希层输出向量和所述聚类向量全连接层参数向量,计算一元哈希损失函数、分类损失函数和量化错误函数,包括:
利用所述分类全连接层输出向量构成分类损失函数;
利用所述哈希层输出向量构成量化错误函数;
利用哈希层输出向量和所述聚类向量全连接层参数向量构成一元哈希损失函数。
3.根据权利要求1所述的方法,其特征在于,利用所述训练数据、所述训练数据的语义标签、所述分类全连接层输出向量、所述哈希层输出向量和所述聚类向量全连接层参数向量,计算一元哈希损失函数、分类损失函数和量化错误函数,包括:
如果所述训练数据的语义标签为单语义标签,则基于聚类中心向量、哈希层输出向量,利用式1,计算一元哈希损失函数Lu:
基于分类全连接层输出向量,利用式3计算分类损失函数Ls:
基于哈希层输出向量,利用式4计算量化错误函数Lq:
4.根据权利要求1所述的方法,其特征在于,利用所述训练数据、所述训练数据的语义标签、所述分类全连接层输出向量和所述哈希层输出向量、所述聚类中心向量,计算一元哈希损失函数、分类损失函数和量化错误函数,包括:
如果所述训练数据的语义标签为多语义标签,则利用式5计算一元哈希损失函数Lu:
其中,xi为训练数据,F(xi)为哈希层输出向量,yi为语义标签,cs为聚类向量全连接层第s个参数向量,λ为一元哈希损失参数,lc(F(xi),yi)采用式6计算,
其中|yi|表示集合yi的元素个数,cj为聚类向量全连接层第j个参数向量,
采用式7计算分类损失函数Ls:
其中,a1,…,aK为分类全连接层的输出;
采用式8计算量化错误函数Lq:
5.根据权利要求3或4中所述的方法,其特征在于,根据所述一元哈希损失函数、所述分类损失函数和所述量化错误函数,计算整体损失函数,包括:
利用式9计算整体损失函数L,
L=Lu+μLs+αLq 式9,
其中,μ为整体损失函数参数,α为量化错误函数参数。
6.根据权利要求1所述的方法,其特征在于,所述分类全连接层和所述哈希层并联,所述聚类向量全连接层连接在所述哈希层后。
7.一种深度哈希学习装置,其特征在于,所述装置应用于深度哈希神经网络,深度哈希神经网络包括分类全连接层、哈希层和聚类向量全连接层,所述装置包括:
数据获取模块,用于获取训练数据、所述训练数据的语义标签、分类全连接层输出向量、哈希层输出向量和聚类向量全连接层参数向量,其中,所述训练数据为图片;
第一函数计算模块,用于利用所述训练数据、所述训练数据的语义标签、所述分类全连接层输出向量、所述哈希层输出向量和所述聚类向量全连接层参数向量,计算一元哈希损失函数、分类损失函数和量化错误函数,其中所述一元哈希损失函数是基于所述聚类向量全连接层参数向量为聚类中心向量计算的;
第二函数计算模块,用于根据所述一元哈希损失函数、所述分类损失函数和所述量化错误函数,计算整体损失函数;
反向传播模块,用于将所述整体损失函数输入深度哈希神经网络中进行反向传播;
训练模块,用于训练反向传播后的深度哈希神经网络,得到哈希函数,所述哈希函数用于生成哈希码,所述哈希码用于图像检索。
8.根据权利要求7所述的装置,其特征在于,所述第一函数计算模块,包括:
分类损失函数构建子模块,用于利用所述分类全连接层输出向量构成分类损失函数;
量化错误函数构建子模块,用于利用所述哈希层输出向量构成量化错误函数;
一元哈希损失函数构建子模块,用于利用哈希层输出向量和所述聚类向量全连接层参数向量构成一元哈希损失函数。
9.根据权利要求7所述的装置,其特征在于,所述第一函数计算模块,包括:
第一哈希损失函数计算子模块,用于如果所述训练数据的语义标签为单语义标签,则基于聚类中心向量、哈希层输出向量,利用式1,计算一元哈希损失函数Lu:
第一分类损失函数计算子模块,用于基于分类全连接层输出向量,利用式3计算分类损失函数Ls:
第一量化错误函数计算子模块,用于基于哈希层输出向量,利用式4计算量化错误函数Lq:
10.根据权利要求7所述的装置,其特征在于,所述第一函数计算模块,包括:
第三哈希损失函数计算子模块,用于如果所述训练数据的语义标签为多语义标签,则利用式5计算一元哈希损失函数Lu:
其中,xi为训练数据,F(xi)为哈希层输出向量,yi为语义标签,cs为聚类向量全连接层第s个参数向量,λ为一元哈希损失参数,lc(F(xi),yi)采用式6计算,
其中|yi|表示集合yi的元素个数,cj为聚类向量全连接层第j个参数向量,
第二分类损失函数计算子模块,用于采用式7计算分类损失函数Ls:
其中,a1,…,aK为分类全连接层的输出;
第一量化错误函数计算子模块,用于采用式8计算量化错误函数Lq:
11.根据权利要求9或10所述的装置,其特征在于,所述第二函数计算模块,包括:
整体损失函数计算子模块,用于利用式9计算整体损失函数L,
L=Lu+μLs+αLq 式9,
其中,μ为整体损失函数参数,α为量化错误函数参数。
12.根据权利要求7所述的装置,其特征在于,所述分类全连接层和所述哈希层并联,所述聚类向量全连接层连接在所述哈希层后。
13.一种深度哈希学习装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述权利要求1至6中任意一项所述的方法。
14.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至6中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810437773.4A CN108629414B (zh) | 2018-05-09 | 2018-05-09 | 深度哈希学习方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810437773.4A CN108629414B (zh) | 2018-05-09 | 2018-05-09 | 深度哈希学习方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108629414A CN108629414A (zh) | 2018-10-09 |
CN108629414B true CN108629414B (zh) | 2020-04-14 |
Family
ID=63692495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810437773.4A Active CN108629414B (zh) | 2018-05-09 | 2018-05-09 | 深度哈希学习方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108629414B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766463B (zh) * | 2019-01-10 | 2021-03-12 | 清华大学 | 应用于图像检索的半监督哈希学习方法及装置 |
CN109918528A (zh) * | 2019-01-14 | 2019-06-21 | 北京工商大学 | 一种基于语义保护的紧凑的哈希码学习方法 |
CN110209867B (zh) * | 2019-06-05 | 2023-05-16 | 腾讯科技(深圳)有限公司 | 图像检索模型的训练方法、装置、设备及存储介质 |
CN110458087B (zh) * | 2019-08-07 | 2022-03-11 | 湖南省华芯医疗器械有限公司 | 一种基于深度学习的患者问题部位标注方法 |
CN110503160B (zh) * | 2019-08-28 | 2022-03-25 | 北京达佳互联信息技术有限公司 | 图像识别方法、装置、电子设备及存储介质 |
CN110909885B (zh) * | 2019-11-19 | 2022-09-23 | 支付宝(杭州)信息技术有限公司 | 一种平衡多个任务的方法及系统 |
CN111581332A (zh) * | 2020-04-29 | 2020-08-25 | 山东大学 | 基于三元组深度哈希学习的相似司法案例匹配方法及系统 |
CN111628866B (zh) * | 2020-05-22 | 2021-08-31 | 深圳前海微众银行股份有限公司 | 神经网络校验方法、装置、设备及可读存储介质 |
CN111898550B (zh) * | 2020-07-31 | 2023-12-29 | 平安科技(深圳)有限公司 | 建立表情识别模型方法、装置、计算机设备及存储介质 |
CN112948617B (zh) * | 2021-02-07 | 2022-05-31 | 武汉工程大学 | 基于特定类原型的深度哈希网络图像检索方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156698A (zh) * | 2014-07-25 | 2014-11-19 | 清华大学 | 人脸识别方法和装置 |
CN104346440A (zh) * | 2014-10-10 | 2015-02-11 | 浙江大学 | 一种基于神经网络的跨媒体哈希索引方法 |
CN105069173A (zh) * | 2015-09-10 | 2015-11-18 | 天津中科智能识别产业技术研究院有限公司 | 基于有监督的拓扑保持哈希的快速图像检索方法 |
CN106407352A (zh) * | 2016-09-06 | 2017-02-15 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 基于深度学习的交通图像检索方法 |
US9734436B2 (en) * | 2015-06-05 | 2017-08-15 | At&T Intellectual Property I, L.P. | Hash codes for images |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423376B (zh) * | 2017-07-10 | 2019-12-27 | 上海媒智科技有限公司 | 一种有监督深度哈希快速图片检索方法及系统 |
CN107885764B (zh) * | 2017-09-21 | 2020-12-18 | 银江股份有限公司 | 基于多任务深度学习快速哈希车辆检索方法 |
-
2018
- 2018-05-09 CN CN201810437773.4A patent/CN108629414B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156698A (zh) * | 2014-07-25 | 2014-11-19 | 清华大学 | 人脸识别方法和装置 |
CN104346440A (zh) * | 2014-10-10 | 2015-02-11 | 浙江大学 | 一种基于神经网络的跨媒体哈希索引方法 |
US9734436B2 (en) * | 2015-06-05 | 2017-08-15 | At&T Intellectual Property I, L.P. | Hash codes for images |
CN105069173A (zh) * | 2015-09-10 | 2015-11-18 | 天津中科智能识别产业技术研究院有限公司 | 基于有监督的拓扑保持哈希的快速图像检索方法 |
CN106407352A (zh) * | 2016-09-06 | 2017-02-15 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 基于深度学习的交通图像检索方法 |
Non-Patent Citations (1)
Title |
---|
Hash Learning with Convolutional Neural Networks for Semantic Based Image Retrieval;Jinma Guo et al.;《PAKDD 2016:Advances in knowledge Discovery and Data Mining》;20160812;第227-238页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108629414A (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108629414B (zh) | 深度哈希学习方法及装置 | |
CN111898696B (zh) | 伪标签及标签预测模型的生成方法、装置、介质及设备 | |
CN109886326B (zh) | 一种跨模态信息检索方法、装置和存储介质 | |
US11508360B2 (en) | Synthetic data generation for training of natural language understanding models | |
CN108563767B (zh) | 图像检索方法及装置 | |
WO2019240964A1 (en) | Teacher and student based deep neural network training | |
CN114942984B (zh) | 视觉场景文本融合模型的预训练和图文检索方法及装置 | |
US20240185602A1 (en) | Cross-Modal Processing For Vision And Language | |
CN111930894A (zh) | 长文本匹配方法及装置、存储介质、电子设备 | |
CN116152833B (zh) | 基于图像的表格还原模型的训练方法及表格还原方法 | |
CN112861896A (zh) | 一种图像识别方法和装置 | |
CN113761868A (zh) | 文本处理方法、装置、电子设备及可读存储介质 | |
CN111444335B (zh) | 中心词的提取方法及装置 | |
CN115409855A (zh) | 图像处理方法、装置、电子设备和存储介质 | |
CN116127925B (zh) | 基于对文本进行破坏处理的文本数据增强方法及装置 | |
CN110019875A (zh) | 索引文件的生成方法及装置 | |
CN117114063A (zh) | 用于训练生成式大语言模型和用于处理图像任务的方法 | |
CN116955644A (zh) | 基于知识图谱的知识融合方法、系统及存储介质 | |
JP2023062150A (ja) | 文字認識モデルトレーニング、文字認識方法、装置、機器及び媒体 | |
US20150186797A1 (en) | Data reduction in nearest neighbor classification | |
US20190026646A1 (en) | Method to leverage similarity and hierarchy of documents in nn training | |
CN115168609A (zh) | 一种文本匹配方法、装置、计算机设备和存储介质 | |
CN111915703B (zh) | 一种图像生成方法和装置 | |
CN113901841A (zh) | 翻译方法、装置以及存储介质 | |
CN111274818A (zh) | 词向量的生成方法、装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |