CN110909027A - 一种哈希检索方法 - Google Patents

一种哈希检索方法 Download PDF

Info

Publication number
CN110909027A
CN110909027A CN201910988287.6A CN201910988287A CN110909027A CN 110909027 A CN110909027 A CN 110909027A CN 201910988287 A CN201910988287 A CN 201910988287A CN 110909027 A CN110909027 A CN 110909027A
Authority
CN
China
Prior art keywords
node
hash
data
query data
matrix
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.)
Granted
Application number
CN201910988287.6A
Other languages
English (en)
Other versions
CN110909027B (zh
Inventor
杨安邦
钱江波
辛宇
谢锡炯
董一鸿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Huayu Network Education Technology Co.,Ltd.
Original Assignee
Ningbo University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ningbo University filed Critical Ningbo University
Priority to CN201910988287.6A priority Critical patent/CN110909027B/zh
Publication of CN110909027A publication Critical patent/CN110909027A/zh
Application granted granted Critical
Publication of CN110909027B publication Critical patent/CN110909027B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种哈希检索方法,特点是通过引入Spark分布式集群,将原始数据和查询数据平均分配至Spark分布式集群的每个节点中进行并行计算,其中包括了排序计算和根据损失函数通过梯度下降法对其中的参数进行迭代更新,最终根据迭代完成的最终二进制编码矩阵分别对原始数据集和查询数据集进行哈希编码,通过比较海明距离得到每个查询数据的查询结果,完成哈希检索过程,优点是降低了整体训练过程所需时间,通过实验结果表明,与其他哈希检索方法相比,采用本发明所述哈希检索方法能够大幅度降低算法的训练时间,从而提高训练效率。

Description

一种哈希检索方法
技术领域
本发明涉及一种数据检索方法,尤其是一种哈希检索方法。
背景技术
随着现代社会的飞速发展,每秒钟产生的数据呈指数倍增加。如何从这些庞大的数据中找到人们所需的数据是一个亟待解决的问题。
目前,主要有两种方法来解决这类问题:一种是基于树的空间划分方法,但这种方法的缺点是只适用于低维数据,当维度急剧上升时,会产生“维度灾难”等问题,其搜索效率接近于线性搜索;第二种是基于哈希的查找方法,这种方法也分为两类:一类是数据独立的方式,主要代表是局部敏感哈希方法,第二类是数据依赖的方式,也是目前比较热门的基于机器学习的方式,其通过学习数据的相关特性来进行编码,从而提高检索速度并降低存储代价,然而这些哈希学习算法的学习训练时间过长,无法满足目前大数据环境下的搜索需求。
发明内容
本发明所要解决的技术问题是提供一种训练时间较短、检索效率高的哈希检索方法。
本发明解决上述技术问题所采用的技术方案为:一种哈希检索方法,包括以下步骤:
①-1获取由n个原始数据组成的原始数据集X和m个查询数据组成的查询数据集Q,X为n×d维的矩阵,Q为m×d维的矩阵,m<n,搭建Spark分布式集群,将Spark 分布式集群的节点数记为S,将X中的n个原始数据平均分为S组并将每组原始数据对应分配至Spark分布式集群的每个节点中;
①-2将Q中的m个查询数据平均分为S组并将每组查询数据对应分配至每个节点中;
①-3获取Q中的每个查询数据与被分配到的节点中的每个原始数据之间的欧氏距离,将每个查询数据与被分配到的节点中的每个原始数据之间的欧式距离按从小到大的顺序排序,得到与每个查询数据对应的所在节点的欧式距离排序信息;
②通过迭代获取最终二进制编码矩阵H和最终权重矩阵W,具体过程如下:
②-1设定最大迭代次数,随机给定初始权重矩阵W,W为B×d维的矩阵,其中, B表示编码长度,定义哈希函数映射关系如下:H=sgn(WXT),sgn表示符号函数,XT为X 的转置矩阵,根据
Figure BDA0002237410220000021
获得任意一个节点的权重矩阵Ws,s表示节点的序号,1≤s≤S;
②-2通过H对Q中的每个查询数据进行哈希编码得到对应的查询数据哈希编码,通过H对X中的每个原始数据进行哈希编码得到对应的原始数据哈希编码,获取Q中的每个查询数据哈希编码与被分配到的节点上的每个原始数据哈希编码之间的海明距离,将每个查询数据哈希编码与被分配到的节点上的每个原始数据哈希编码之间的海明距离按照从小到大的顺序排序,得到与每个查询数据哈希编码对应的所在节点的海明距离排序信息;
②-3构造每个节点的损失函数,定义第s个节点的损失函数如下:
Figure BDA0002237410220000022
qs表示第s个节点中的任意一个查询数据,xi表示第s个节点中的任意一个原始数据,Ns为分配到第s个节点中的所有原始数据的个数,ri表示与qs对应的所在节点的欧式距离排序信息中xi对应的排序号,Ri为与qs的哈希编码对应的所在节点的海明距离排序信息中xi的哈希编码的排序号;
②-4根据每个节点的损失函数利用梯度下降法对每个节点的权重矩阵进行迭代更新,并同时更新对应的二进制编码矩阵H,直至达到设定的最大迭代次数,将当前一次迭代过程中更新得到的每个节点的权重矩阵作为每个节点的最终权重矩阵,再根据
Figure BDA0002237410220000023
得到最终权重矩阵W,并将此时更新得到的H作为最终二进制编码矩阵H;
③通过最终二进制编码矩阵H对X进行哈希编码得到对应的原始数据集哈希编码X',通过最终二进制编码矩阵H对Q中的每个查询数据进行哈希编码得到对应的查询数据集哈希编码Q',在X'中查找与Q'中的每个查询数据的哈希编码的海明距离最近的行向量数据,将与Q'中的每个查询数据的哈希编码的海明距离最近的行向量数据对应的原始数据作为Q中的每个查询数据的最终的查询结果,完成哈希检索过程。
所述的步骤②-1中设定的最大迭代次数为50次。
与现有技术相比,本发明的优点在于通过引入常规的Spark分布式集群,将原始数据和查询数据平均分配至Spark分布式集群的每个节点中进行并行计算,其中包括了排序计算和根据损失函数通过梯度下降法对其中的参数进行迭代更新,降低了整体训练过程所需时间,最终根据迭代完成的最终二进制编码矩阵分别对原始数据集和查询数据集进行哈希编码,通过比较海明距离得到每个查询数据的查询结果,完成哈希检索过程,通过实验结果表明,与其他哈希检索方法相比,采用本发明所述哈希检索方法能够大幅度降低算法的训练时间,从而提高训练效率和总体的检索速度。
具体实施方式
以下对本发明作进一步详细描述。
一种哈希检索方法,包括以下步骤:
①-1获取由n个原始数据组成的原始数据集X和m个查询数据组成的查询数据集Q,X为n×d维的矩阵,Q为m×d维的矩阵,m<n,搭建Spark分布式集群,将Spark 分布式集群的节点数记为S,将X中的n个原始数据平均分为S组并将每组原始数据对应分配至Spark分布式集群的每个节点中;
①-2将Q中的m个查询数据平均分为S组并将每组查询数据对应分配至每个节点中;
①-3获取Q中的每个查询数据与被分配到的节点中的每个原始数据之间的欧氏距离,将每个查询数据与被分配到的节点中的每个原始数据之间的欧式距离按从小到大的顺序排序,得到与每个查询数据对应的所在节点的欧式距离排序信息。
②通过迭代获取最终二进制编码矩阵H和最终权重矩阵W,具体过程如下:
②-1设定最大迭代次数,随机给定初始权重矩阵W,W为B×d维的矩阵,其中, B表示编码长度,定义哈希函数映射关系如下:H=sgn(WXT),sgn表示符号函数,XT为X 的转置矩阵,根据
Figure BDA0002237410220000031
获得任意一个节点的权重矩阵Ws,s表示节点的序号,1≤s≤S;其中设定的最大迭代次数可为50次。
②-2通过H对Q中的每个查询数据进行哈希编码得到对应的查询数据哈希编码,通过H对X中的每个原始数据进行哈希编码得到对应的原始数据哈希编码,获取Q中的每个查询数据哈希编码与被分配到的节点上的每个原始数据哈希编码之间的海明距离,将每个查询数据哈希编码与被分配到的节点上的每个原始数据哈希编码之间的海明距离按照从小到大的顺序排序,得到与每个查询数据哈希编码对应的所在节点的海明距离排序信息;
②-3构造每个节点的损失函数,定义第s个节点的损失函数如下:
Figure BDA0002237410220000022
qs表示第s个节点中的任意一个查询数据,xi表示第s个节点中的任意一个原始数据,Ns为分配到第s个节点中的所有原始数据的个数,ri表示与qs对应的所在节点的欧式距离排序信息中xi对应的排序号,Ri为与qs的哈希编码对应的所在节点的海明距离排序信息中xi的哈希编码的排序号;
②-4根据每个节点的损失函数利用梯度下降法对每个节点的权重矩阵进行迭代更新,并同时更新对应的二进制编码矩阵H,直至达到设定的最大迭代次数,将当前一次迭代过程中更新得到的每个节点的权重矩阵作为每个节点的最终权重矩阵,再根据
Figure BDA0002237410220000042
得到最终权重矩阵W,并将此时更新得到的H作为最终二进制编码矩阵H。其中梯度下降法为本领域内常规的迭代更新算法。
③通过最终二进制编码矩阵H对X进行哈希编码得到对应的原始数据集哈希编码X',通过最终二进制编码矩阵H对Q中的每个查询数据进行哈希编码得到对应的查询数据集哈希编码Q',在X'中查找与Q'中的每个查询数据的哈希编码的海明距离最近的行向量数据,将与Q'中的每个查询数据的哈希编码的海明距离最近的行向量数据对应的原始数据作为Q中的每个查询数据的最终的查询结果,完成哈希检索过程。

Claims (2)

1.一种哈希检索方法,其特征在于包括以下步骤:
①-1获取由n个原始数据组成的原始数据集X和m个查询数据组成的查询数据集Q,X为n×d维的矩阵,Q为m×d维的矩阵,m<n,搭建Spark分布式集群,将Spark分布式集群的节点数记为S,将X中的n个原始数据平均分为S组并将每组原始数据对应分配至Spark分布式集群的每个节点中;
①-2将Q中的m个查询数据平均分为S组并将每组查询数据对应分配至每个节点中;
①-3获取Q中的每个查询数据与被分配到的节点中的每个原始数据之间的欧氏距离,将每个查询数据与被分配到的节点中的每个原始数据之间的欧式距离按从小到大的顺序排序,得到与每个查询数据对应的所在节点的欧式距离排序信息;
②通过迭代获取最终二进制编码矩阵H和最终权重矩阵W,具体过程如下:
②-1设定最大迭代次数,随机给定初始权重矩阵W,W为B×d维的矩阵,其中,B表示编码长度,定义哈希函数映射关系如下:H=sgn(WXT),sgn表示符号函数,XT为X的转置矩阵,根据
Figure FDA0002237410210000011
获得任意一个节点的权重矩阵Ws,s表示节点的序号,1≤s≤S;
②-2通过H对Q中的每个查询数据进行哈希编码得到对应的查询数据哈希编码,通过H对X中的每个原始数据进行哈希编码得到对应的原始数据哈希编码,获取Q中的每个查询数据哈希编码与被分配到的节点上的每个原始数据哈希编码之间的海明距离,将每个查询数据哈希编码与被分配到的节点上的每个原始数据哈希编码之间的海明距离按照从小到大的顺序排序,得到与每个查询数据哈希编码对应的所在节点的海明距离排序信息;
②-3构造每个节点的损失函数,定义第s个节点的损失函数如下:
Figure FDA0002237410210000012
qs表示第s个节点中的任意一个查询数据,xi表示第s个节点中的任意一个原始数据,Ns为分配到第s个节点中的所有原始数据的个数,ri表示与qs对应的所在节点的欧式距离排序信息中xi对应的排序号,Ri为与qs的哈希编码对应的所在节点的海明距离排序信息中xi的哈希编码的排序号;
②-4根据每个节点的损失函数利用梯度下降法对每个节点的权重矩阵进行迭代更新,并同时更新对应的二进制编码矩阵H,直至达到设定的最大迭代次数,将当前一次迭代过程中更新得到的每个节点的权重矩阵作为每个节点的最终权重矩阵,再根据
Figure FDA0002237410210000021
得到最终权重矩阵W,并将此时更新得到的H作为最终二进制编码矩阵H;
③通过最终二进制编码矩阵H对X进行哈希编码得到对应的原始数据集哈希编码X',通过最终二进制编码矩阵H对Q中的每个查询数据进行哈希编码得到对应的查询数据集哈希编码Q',在X'中查找与Q'中的每个查询数据的哈希编码的海明距离最近的行向量数据,将与Q'中的每个查询数据的哈希编码的海明距离最近的行向量数据对应的原始数据作为Q中的每个查询数据的最终的查询结果,完成哈希检索过程。
2.根据权利要求1所述的一种哈希检索方法,其特征在于所述的步骤②-1中设定的最大迭代次数为50次。
CN201910988287.6A 2019-10-17 2019-10-17 一种哈希检索方法 Active CN110909027B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910988287.6A CN110909027B (zh) 2019-10-17 2019-10-17 一种哈希检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910988287.6A CN110909027B (zh) 2019-10-17 2019-10-17 一种哈希检索方法

Publications (2)

Publication Number Publication Date
CN110909027A true CN110909027A (zh) 2020-03-24
CN110909027B CN110909027B (zh) 2022-04-01

Family

ID=69815503

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910988287.6A Active CN110909027B (zh) 2019-10-17 2019-10-17 一种哈希检索方法

Country Status (1)

Country Link
CN (1) CN110909027B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115473610A (zh) * 2022-11-11 2022-12-13 蓝象智联(杭州)科技有限公司 一种用于安全多方计算的数据编解码方法及求交方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550296A (zh) * 2015-12-10 2016-05-04 深圳市华讯方舟软件技术有限公司 一种基于spark-SQL大数据处理平台的数据导入方法
US20160253364A1 (en) * 2015-02-26 2016-09-01 Accenture Global Services Limited System for linking diverse data systems
CN106126581A (zh) * 2016-06-20 2016-11-16 复旦大学 基于深度学习的手绘草图图像检索方法
CN109241313A (zh) * 2018-08-14 2019-01-18 大连大学 一种基于高阶深度哈希学习的图像检索方法
CN109829549A (zh) * 2019-01-30 2019-05-31 宁波大学 基于演化树的哈希学习方法及其无监督的在线哈希学习方法
US20190220758A1 (en) * 2017-01-10 2019-07-18 Huawei Technologies Co., Ltd. Systems and methods for fault tolerance recover during training of a model of a classifier using a distributed system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160253364A1 (en) * 2015-02-26 2016-09-01 Accenture Global Services Limited System for linking diverse data systems
CN105550296A (zh) * 2015-12-10 2016-05-04 深圳市华讯方舟软件技术有限公司 一种基于spark-SQL大数据处理平台的数据导入方法
CN106126581A (zh) * 2016-06-20 2016-11-16 复旦大学 基于深度学习的手绘草图图像检索方法
US20190220758A1 (en) * 2017-01-10 2019-07-18 Huawei Technologies Co., Ltd. Systems and methods for fault tolerance recover during training of a model of a classifier using a distributed system
CN109241313A (zh) * 2018-08-14 2019-01-18 大连大学 一种基于高阶深度哈希学习的图像检索方法
CN109829549A (zh) * 2019-01-30 2019-05-31 宁波大学 基于演化树的哈希学习方法及其无监督的在线哈希学习方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
董 震等: ""基于异构哈希网络的跨模态人脸检索方法"", 《计算机学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115473610A (zh) * 2022-11-11 2022-12-13 蓝象智联(杭州)科技有限公司 一种用于安全多方计算的数据编解码方法及求交方法
CN115473610B (zh) * 2022-11-11 2023-03-24 蓝象智联(杭州)科技有限公司 一种用于安全多方计算的数据编解码方法及求交方法

Also Published As

Publication number Publication date
CN110909027B (zh) 2022-04-01

Similar Documents

Publication Publication Date Title
CN107943938A (zh) 一种基于深度乘积量化的大规模图像相似检索方法及系统
CN105069173A (zh) 基于有监督的拓扑保持哈希的快速图像检索方法
CN110941734B (zh) 基于稀疏图结构的深度无监督图像检索方法
CN106777388B (zh) 一种双重补偿的多表哈希图像检索方法
CN103902704A (zh) 面向大规模图像视觉特征的多维倒排索引与快速检索算法
CN111801665A (zh) 用于大数据应用的分层局部敏感哈希(lsh)分区索引
CN110457514A (zh) 一种基于深度哈希的多标签图像检索方法
CN107066837A (zh) 一种有参考dna序列压缩方法和系统
CN109472282B (zh) 一种基于极少训练样本的深度图像哈希方法
CN110688501B (zh) 一种基于深度学习的全卷积网络的哈希检索方法
CN113222165A (zh) 一种基于遗传算法的量子线路优化方法
CN110704664B (zh) 一种哈希检索方法
CN115795065A (zh) 基于带权哈希码的多媒体数据跨模态检索方法及系统
CN112256727A (zh) 基于人工智能技术的数据库查询处理及优化方法
CN109446293B (zh) 一种并行的高维近邻查询方法
CN110909027B (zh) 一种哈希检索方法
CN110110120B (zh) 一种基于深度学习的图像检索方法和装置
US8874615B2 (en) Method and apparatus for implementing a learning model for facilitating answering a query on a database
CN116383422B (zh) 一种基于锚点的无监督跨模态哈希检索方法
CN107133348B (zh) 大规模图片集中基于语义一致性的近似搜索方法
CN113515540A (zh) 一种数据库的查询重写方法
CN109634953B (zh) 一种面向高维大数据集的加权量化哈希检索方法
CN110362580B (zh) 一种bim建筑工程数据检索优化归类方法及其系统
CN109710607B (zh) 一种面向高维大数据的基于权重求解的哈希查询方法
CN110609914B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220804

Address after: Room 2202, 22 / F, Wantong building, No. 3002, Sungang East Road, Sungang street, Luohu District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen dragon totem technology achievement transformation Co.,Ltd.

Address before: 315211, Fenghua Road, Jiangbei District, Zhejiang, Ningbo 818

Patentee before: Ningbo University

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221102

Address after: 401120 6-2, Building 13, No. 106, West Section of Jinkai Avenue, Yubei District, Chongqing

Patentee after: Chongqing Huayu Network Education Technology Co.,Ltd.

Address before: Room 2202, 22 / F, Wantong building, No. 3002, Sungang East Road, Sungang street, Luohu District, Shenzhen City, Guangdong Province

Patentee before: Shenzhen dragon totem technology achievement transformation Co.,Ltd.