CN117194737B - 基于距离阈值的近似近邻搜索方法、***、介质及设备 - Google Patents
基于距离阈值的近似近邻搜索方法、***、介质及设备 Download PDFInfo
- Publication number
- CN117194737B CN117194737B CN202311190218.3A CN202311190218A CN117194737B CN 117194737 B CN117194737 B CN 117194737B CN 202311190218 A CN202311190218 A CN 202311190218A CN 117194737 B CN117194737 B CN 117194737B
- Authority
- CN
- China
- Prior art keywords
- distance
- subspace
- search
- distance threshold
- codebook
- 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 44
- 238000004364 calculation method Methods 0.000 claims abstract description 20
- 238000001914 filtration Methods 0.000 claims abstract description 12
- 238000012216 screening Methods 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 abstract description 9
- 238000013139 quantization Methods 0.000 abstract description 4
- 239000013598 vector Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种基于距离阈值的近似近邻搜索方法、***、介质及设备,所述方法包括过滤搜索点以获取编码本条目与子空间级反向索引;基于所述距离阈值筛选所述编码本条目以构建子空间距离查询表;基于所述子空间距离查询表与所述子空间级反向索引查询距离以获取近似近邻搜索结果。本申请基于距离阈值进行近似近邻搜索,显著降低其中子空间距离查询表构建和距离计算中不必要的查询、计算操作,进而在保证搜索质量的前提下显著提高了基于反向索引的乘积量化的近似近邻搜索的搜索效率。
Description
技术领域
本申请涉及近似近邻搜索领域,特别是涉及一种基于距离阈值的近似近邻搜索方法、***、介质及设备。
背景技术
目前,包括生成式模型在内的各种智能应用广泛使用嵌入向量(embeddingvector)表示现实生活中的各种概念。其定义是基于原始数据通过某些变换或训练而成的嵌入在高维空间中的向量。因此,近邻搜索(Nearest Neighbor Search,NNS)是对嵌入向量进行的最重要的操作之一,基于近邻搜索可以对图像、语音、文字等在某种相似的概念上进行搜索,如搜索画风相近的图片、内容相近的语音信息等。嵌入向量往往都存在于高维空间中,其维度往往在102~103数量级。随着维度的升高,在大量的嵌入向量上进行穷尽的、精确的近邻搜索成本快速升高。而在实际工业生产场景中,往往允许对搜索质量进行一定程度的妥协,因此,近似近邻搜索(Approximate Nearest Neighbor Search,ANNS)的应用日益广泛。ANNS以牺牲一定搜索质量为代价换取更高的搜索吞吐、更快的搜索响应。
目前,基于反向索引的乘积量化(inverted file index product quantization,IVFPQ)在ANNS中被广泛应用。但是,对于IVFPQ而言,其过程引入了大量不必要的距离计算和子空间距离查询表的查询操作,这都会影响搜索响应速度。
发明内容
本申请的目的在于提供一种基于距离阈值的近似近邻搜索方法、***、介质及设备,用于解决如何减少IVFPQ的子空间距离查询表构建和距离计算步骤中不必要的查询和计算操作的技术问题。
为实现上述目的及其他相关目的,本申请的第一方面提供一种基于距离阈值的近似近邻搜索方法,包括过滤搜索点以获取编码本条目与子空间级反向索引;基于所述距离阈值筛选所述编码本条目以构建子空间距离查询表;基于所述子空间距离查询表与所述子空间级反向索引查询距离以获取近似近邻搜索结果。
于所述第一方面的一实施例中,基于原始空间进行第一次聚类以获取参考搜索点;基于所述原始空间和所述参考搜索点进行第二次聚类以获取编码本条目。
于所述第一方面的一实施例中,过滤搜索点以获取编码本条目还包括:基于欧几里得距离将所述编码本条目组织为树状包围盒结构。
于所述第一方面的一实施例中,所述获取所述子空间级反向索引的实现方式包括:将所述参考搜索点作为值;将所述编码本条目作为键;将键值对构建为所述子空间级反向索引。
于所述第一方面的一实施例中,基于所述距离阈值筛选所述编码本条目以构建子空间距离查询表包括:基于所述参考搜索点密度确定距离阈值;基于距离阈值筛选必要编码本条目;所处必要编码本条目与所述查询点投影距离小于所述距离阈值;计算所述必要编码本条目与所述查询点投影的距离以构建所述子空间距离查询表。
于所述第一方面的一实施例中,基于所述参考搜索点密度确定距离阈值包括:选定若干所述参考搜索点以训练多项式回归模型;获取查询点以基于所述查询点所在子空间的所述参考搜索点密度和所述多项式回归模型动态确认所述距离阈值。
于所述第一方面的一实施例中,基于所述子空间距离查询表和所述子空间级反向索引查询距离以获取近似近邻搜索结果包括:基于所述子空间级反向索引获取所述必要编码本条目对应的必要搜索点;基于所述子空间距离查询表查询所述必要搜索点与所述查询点投影的距离以累加获取近似距离;基于所述近似距离对所述必要搜索点排序以获取所述近似近邻搜索结果。
本申请的第二方面提供一种基于距离阈值的近似近邻搜索***,其特征在于,包括编码模块,用于过滤搜索点以获取编码本条目与子空间级反向索引;构建模块,用于基于所述距离阈值筛选所述编码本条目以构建子空间距离查询表;计算模块,用于基于所述子空间距离查询表与所述子空间级反向索引查询距离以获取近似近邻搜索结果。
本申请的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请第一方面所述的基于距离阈值的近似近邻搜索方法。
本申请的第四方面提供一种电子设备,所述电子设备包括:存储器,存储有一计算机程序;处理器,与所述存储器通信相连,调用所述计算机程序时执行本申请第一方面所述的基于距离阈值的近似近邻搜索方法。
如上所述,本申请实施例提供的基于距离阈值的近似近邻搜索方法、***、介质及设备,具有以下有益效果:本申请一方面能够快速剔除空间距离远的编码本条目,从而获取必要编码本条目,另一方面基于子空间级反向索引,从必要的编码本条目查询条目对应的搜索点。本申请显著降低IVFPQ中子空间距离查询表构建和距离计算中不必要的查询、计算操作,进而在保证搜索质量的前提下显著提高基于IVFPQ的ANNS的搜索效率。
附图说明
图1显示为本申请实施例中基于距离阈值的近似近邻搜索方法的流程示意图。
图2显示为本申请实施例中基于距离阈值的近似近邻搜索方法的流程示意图。
图3显示为本申请实施例中基于距离阈值的近似近邻搜索方法的流程示意图。
图4显示为本申请实施例中基于距离阈值的近似近邻搜索方法的流程示意图。
图5显示为本申请实施例中基于距离阈值的近似近邻搜索方法的流程示意图。
图6显示为本申请实施例中DEEP1M数据集的编码本条目使用情况的示意图。
图7显示为本申请实施例中基于距离阈值的近似近邻搜索方法的流程示意图。
图8显示为本申请实施例中IVFPQ流程中三个步骤的花费时间的对比示意图。
图9显示为本申请实施例中编码本条目被真正的100个最近邻居使用的情况示意图。
图10显示为本申请实施例中被真正100个最近邻居使用的编码本条目的空间分布示意图。
图11显示为本申请实施例中子空间参考搜索点密度与距离阈值的关系示意图。
图12显示为本申请实施例中基于距离阈值的近似近邻搜索***的结构示意图。
图13显示为本申请实施例中电子设备的结构示意图。
元件标号说明
20 编码模块
30 构建模块
40 计算模块
90 电子设备
901 存储器
902 处理器
903 显示器
S1~S3 步骤
S11~S12 步骤
S111~S112 步骤
S21~S23 步骤
S211~S212 步骤
S31~S33 步骤
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本申请提供一种基于距离阈值的近似近邻搜索方法、***、介质及设备,能够显著降低IVFPQ中子空间距离查询表构建和距离计算中不必要的查询、计算操作,进而在保证搜索质量的前提下显著提高基于IVFPQ的ANNS的搜索效率。
接下来将通过具体实施例结合附图的方式对本申请提供的基于距离阈值的近似近邻搜索方法、***、介质及设备进行描述。
如图1所示,于一实施例中,本申请的基于距离阈值的近似近邻搜索方法包括步骤S1~S3:
S1:过滤搜索点以获取编码本条目与子空间级反向索引。
具体的,如图2所示,步骤S1包括步骤S11~S12:
S11:过滤搜索点以获取编码本条目。
具体的,如图3所示,步骤S11包括步骤S111~S112:
S111:基于原始空间进行第一次聚类以获取参考搜索点。
具体的,在原始空间中将搜索向量组织为多个聚类(Inverted file index,IVF),在搜索时通过选择与查询向量最接近的若干个聚类来快速过滤成为最近邻居可能性较低的搜索点。
S112:基于所述原始空间和所述参考搜索点进行第二次聚类以获取编码本条目。
具体的,将原始空间划分为多个子空间,在子空间上对过滤后的搜索点投影进行第二次聚类,获取到的子空间上的聚类中心则被组织为一张编码本(Productquantization,PQ),其与每一子空间对应。步骤S112并使用这些聚类中心编码原始搜索点的投影以获取编码本条目。
例如,若原始搜索点向量为128维的float数据格式,步骤S112将原始空间划分为8个16维的子空间,每个子空间上划分为256个聚类,则每个搜索点向量的存储开销从128×sizeof(float)×8位降低为8×log2(256)位。
具体的,步骤S112在每个子空间上将获取的编码本条目以若干包围盒依欧几里得距离(L2 Distance)分成不同的区域,并将这些包围盒组织成层次化的树状结构。一个包围盒包含若干编码本条目或若干小包围盒,树的根节点代表的包围盒包含所有编码本条目。
S12:获取所述子空间级反向索引。
具体的,在每个子空间构建键(Key)为编码本条目,值(Value)为在该子空间上被该键编码的参考搜索点的列表,并将这些键值对组织为子空间级的反向索引。
S2:基于所述距离阈值筛选所述编码本条目以构建子空间距离查询表。
具体的,如图4所示,步骤S2包括步骤S21~S23:
S21:基于所述参考搜索点密度确定距离阈值。
具体的,基于过滤后的搜索点投影(即参考搜索点)在每个子空间上所在区域的密度动态调整距离阈值,以选择合理的距离来过滤非必要的编码本条目。
具体的,如图5所示,步骤S21包括步骤S211~S212:
S211:选定若干所述过滤后的搜索点以训练多项式回归模型。
具体的,将划分的每个子空间再划分为100x100的网格,以每个网格中搜索点投影的个数作为该网格的密度。之后,随机选取若干搜索点投影,并计算选取的若干搜索点为了包含它们真正的100个最近邻居所需要的距离阈值,进而以这些搜索点投影所在的密度和计算所得的距离阈值训练一个多项式回归模型。
S212:获取查询点以基于所述查询点所在子空间的所述参考搜索点密度和所述多项式回归模型动态确认所述距离阈值。
具体的,选定一查询点,将查询点投影向量分为相同数目相同维度的子空间,获取该查询点在每个子空间上的投影所在区域的参考搜索点密度。并基于该密度和所述多项式回归模型动态确认所述距离阈值。
S22:基于距离阈值筛选必要编码本条目。
具体的,所处必要编码本条目与所述查询点投影距离小于所述距离阈值。
具体的,由于步骤S112已经将编码本条目组织为层次化包围盒的树状结构,因此,在筛选离查询点投影的距离大于距离阈值的编码本条目时,不需要执行所有子空间上上的距离计算。步骤S22仅需要在某个层级确认查询点投影与某个子树的包围盒相交后,便可以直接舍弃另一个子树的所有编码本条目,从而快速便捷的在对数时间内完成基于距离阈值的必要编码本条目筛选。
在一实施例中,给定一查询点及其100个最近邻居,编码本条目的稀疏性如图6所示。深色代表被此条目编码的最近邻居多,白色代表该条目未被任何100个最近邻居使用,可见其被着色的点分布稀疏。因此,筛选必要编码本条目能够减少后续不必要的距离计算和子空间距离查询表的查询操作。
S23:计算所述必要编码本条目与所述查询点投影的距离以构建所述子空间距离查询表。
具体的,在步骤S22完成必要编码本条目的筛选后,步骤S23在每个子空间计算查询点投影与必要编码本条目之间的距离,并组织成选择性的子空间距离查询表。
具体的,将查询点投影向量分为相同数目相同维度的子空间,计算每个子空间上的查询点投影与编码本相应子空间上所有条目的距离,并组成子空间距离查询表。
S3:基于所述子空间距离查询表与所述子空间级反向索引查询距离以获取近似近邻搜索结果。
具体的,如图7所示,步骤S3包括步骤S31~S33:
S31:基于所述子空间级反向索引获取所述必要编码本条目对应的必要搜索点。
具体的,步骤S12获取了子空间级反向索引,其将编码本条目与搜索点组织为键值对。因此,步骤S31在步骤S22筛选必要编码本条目的基础上,即可获取与其对应的必要搜索点。
S32:基于所述子空间距离查询表查询所述必要搜索点与所述查询点投影的距离以累加获取近似距离。
具体的,根据步骤S23计算获取的子空间距离查询表,查询必要搜索点与查询点投影的距离,并进行累加以获取近似距离。
S33:基于所述近似距离对所述必要搜索点排序以获取所述近似近邻搜索结果。
具体的,按照近似距离排序并根据用户提供所需的邻居数目返回距离最小的若干邻居,最终获取到近似近邻搜索结果。
以下将基于DEEP1M数据集的实施例附图进一步说明本申请的优化原理及效果。
如图8所示,在现有的IVFPQ流程中,给定一个查询点后,过滤(Filtering)所花费的时间可以忽略不计,而子空间距离查询表构建(L2-LUT construction)与距离计算(Distance calculation)分别花费的时间则占据了大量的运行时间。
其中,对于子空间距离查询表构建而言,给定一个查询点,考察该查询点的100个真正的最近邻居在每个子空间上使用的编码本条目的情况。如图9所示,平均而言这些查询点的100个真正的最近邻居仅会使用25%不到的编码本条目进行编码。这意味着本申请在子空间距离查询表构建阶段,至多能够节省75%的距离计算。这也意味着子空间距离查询表构建这一步骤的时间能够大幅降低。此外,尽管对于查询点而言其使用的编码本条目很稀疏,然而这些条目在空间中紧密分布,如图10所示。
因此,本申请中的步骤S2能够快速剔除空间距离远的编码本条目,筛选必要编码本条目进行距离计算,以此构建子空间距离查询表。
其中,对于距离计算而言,给定一个查询点,遍历过滤后剩下的所有搜索点并进行累加以获取近似距离同样会花费大量时间。而若在每个子空间上仅累加被必要编码本条目编码的搜索点(必要搜索点),便可节省大量的子空间距离查询表的查询操作,避免GPU上由于查询操作需要频繁访问全局内存,从而造成性能下降。
因此,本申请中的步骤S3能够节省大量不必要的距离查询及累加。
此外,如图11所示,不同的查询点在每个子空间上为了包含所有100个最近邻居所需的距离阈值不相同。在密度高的区域,很小的阈值便可包含许多搜索点,而100个最近邻居落在这些搜索点中的概率很高。然而在密度低的区域,同样的阈值甚至无法包含100个搜索点,更不必说100个最近邻居。对于区域密度和包含100个最近邻居所需要的距离阈值,图11显示了显著的负相关关系。
因此,本申请的步骤S21提出的基于区域搜索点密度的动态距离阈值能够有效地处理不同的查询点,以此更加精准的筛选出必要编码本条目,为后续的子空间距离查询表的构建及查询均减少了大量时间。
本申请实施例所述的基于距离阈值的近似近邻搜索方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本申请的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本申请的保护范围内。
本申请实施例还提供一种基于距离阈值的近似近邻搜索***,所述基于距离阈值的近似近邻搜索***可以实现本申请所述的基于距离阈值的近似近邻搜索方法,但本申请所述的基于距离阈值的近似近邻搜索方法的实现装置包括但不限于本实施例列举的基于距离阈值的近似近邻搜索******的结构,凡是根据本申请的原理所做的现有技术的结构变形和替换,都包括在本申请的保护范围内。
如图12所示,本申请还提供了一种基于距离阈值的近似近邻搜索***,包括编码模块20和构建模块30和计算模块40。
其中,编码模块20,用于过滤搜索点以获取编码本条目与子空间级反向索引。
其中,构建模块30,用于基于所述距离阈值筛选所述编码本条目以构建子空间距离查询表。
其中,计算模块40,用于基于所述子空间距离查询表与所述子空间级反向索引查询距离以获取近似近邻搜索结果。
具体的,在一实施例中,编码模块20基于原始空间进行第一次聚类以获取参考搜索点,并基于所述原始空间和所述参考搜索点进行第二次聚类以获取编码本条目。编码模块20在每个子空间上将获取的编码本条目以若干包围盒依欧几里得距离分成不同的区域,并将这些包围盒组织成层次化的树状结构。一个包围盒包含若干编码本条目或若干小包围盒,树的根节点代表的包围盒包含所有编码本条目。此外,编码模块在在每个子空间构建键(Key)为编码本条目,值(Value)为在该子空间上被该键编码的参考搜索点的列表,将这些键值对组织为子空间级的反向索引。之后,构建模块30将动态确定距离阈值,并根据距离阈值筛选必要编码本条目,以此在每个子空间上计算查询点投影与必要编码本条目之间的距离,并组织成选择性的子空间距离查询表。最后,计算模块40根据子空间级的反向索引,获取与必要编码本条目对应的必要搜索点。在进行距离查询操作时,仅累加必要搜索点与查询点投影的距离,从而省去大量的子空间距离查询表查询操作。计算模块40再将累加的距离排序并依照用户提供所需的邻居数目返回距离最小的若干邻居。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置或方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块/单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或单元可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块/单元可以是或者也可以不是物理上分开的,作为模块/单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块/单元来实现本申请实施例的目的。例如,在本申请各个实施例中的各功能模块/单元可以集成在一个处理模块中,也可以是各个模块/单元单独物理存在,也可以两个或两个以上模块/单元集成在一个模块/单元中。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
如图13所示,本申请还提供一种电子设备,包括存储器901和处理器902。
存储器901用于存储计算机程序;优选地,存储器901包括:ROM、RAM、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。
具体地,存储器901可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)和/或高速缓存存储器。电子设备90可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。存储器901可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
处理器902与存储器901相连,用于执行存储器901存储的计算机程序,以使电子设备90执行本申请实施例中提供的基于距离阈值的近似近邻搜索方法。
优选地,处理器902可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
优选地,本实施例中电子设备90还可以包括显示器903。显示器903与存储器901和处理器902通信相连,用于显示基于距离阈值的近似近邻搜索方法的相关GUI交互界面。
本申请实施例还提供了一种计算机可读存储介质。本领域普通技术人员可以理解实现上述实施例的方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(magnetic tape),软盘(floppy disk),光盘(optical disc)及其任意组合。上述存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请实施例还可以提供一种计算机程序产品,所述计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机或数据中心进行传输。
所述计算机程序产品被计算机执行时,所述计算机执行前述方法实施例所述的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (7)
1.一种基于距离阈值的近似近邻搜索方法,其特征在于,包括:
过滤搜索点以获取编码本条目与子空间级反向索引;
基于所述距离阈值筛选所述编码本条目以构建子空间距离查询表;
基于所述子空间距离查询表与所述子空间级反向索引查询距离以获取近似近邻搜索结果;
其中,所述过滤搜索点以获取编码本条目与子空间级反向索引包括:
基于原始空间进行第一次聚类以获取参考搜索点;
将所述原始空间划分为多个子空间,以在多个所述子空间上对所述参考搜索点进行第二次聚类,并将多个所述子空间的第二次聚类中心组织为编码本,以编码所述参考搜索点以获取编码本条目;以及
将所述参考搜索点作为值;
将所述编码本条目作为键;
将键值对构建为所述子空间级反向索引;
其中,基于所述距离阈值筛选所述编码本条目以构建子空间距离查询表包括:
基于所述参考搜索点密度确定距离阈值;
基于距离阈值筛选必要编码本条目;所述必要编码本条目与查询点投影距离小于所述距离阈值;
计算所述必要编码本条目与所述查询点投影的距离以构建所述子空间距离查询表。
2.根据权利要求1所述的基于距离阈值的近似近邻搜索方法,其特征在于,过滤搜索点以获取编码本条目还包括:
基于欧几里得距离将所述编码本条目组织为树状包围盒结构。
3.根据权利要求1所述的基于距离阈值的近似近邻搜索方法,其特征在于,基于所述参考搜索点密度确定距离阈值包括:
选定若干所述参考搜索点以训练多项式回归模型;
获取查询点以基于所述查询点所在子空间的所述参考搜索点密度和所述多项式回归模型动态确认所述距离阈值。
4.根据权利要求1所述的基于距离阈值的近似近邻搜索方法,其特征在于,基于所述子空间距离查询表和所述子空间级反向索引查询距离以获取近似近邻搜索结果包括:
基于所述子空间级反向索引获取所述必要编码本条目对应的必要搜索点;
基于所述子空间距离查询表查询所述必要搜索点与所述查询点投影的距离以累加获取近似距离;
基于所述近似距离对所述必要搜索点排序以获取所述近似近邻搜索结果。
5.一种基于距离阈值的近似近邻搜索***,其特征在于,包括:
编码模块,用于过滤搜索点以获取编码本条目与子空间级反向索引;其中,基于原始空间进行第一次聚类以获取参考搜索点;
将所述原始空间划分为多个子空间,以在多个所述子空间上对所述参考搜索点进行第二次聚类,并将多个所述子空间的第二次聚类中心组织为编码本,以编码所述参考搜索点以获取编码本条目;以及
将所述参考搜索点作为值;
将所述编码本条目作为键;
将键值对构建为所述子空间级反向索引;
构建模块,用于基于所述距离阈值筛选所述编码本条目以构建子空间距离查询表;其中,
基于所述参考搜索点密度确定距离阈值;
基于距离阈值筛选必要编码本条目;所述必要编码本条目与查询点投影距离小于所述距离阈值;
计算所述必要编码本条目与所述查询点投影的距离以构建所述子空间距离查询表;
计算模块,用于基于所述子空间距离查询表与所述子空间级反向索引查询距离以获取近似近邻搜索结果。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:该计算机程序被处理器执行时实现权利要求1至4中任一项所述的基于距离阈值的近似近邻搜索方法。
7.一种电子设备,其特征在于,所述设备包括:
存储器,存储有一计算机程序;
处理器,与所述存储器通信相连,调用所述计算机程序时执行权利要求1至4中任一项所述的基于距离阈值的近似近邻搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311190218.3A CN117194737B (zh) | 2023-09-14 | 2023-09-14 | 基于距离阈值的近似近邻搜索方法、***、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311190218.3A CN117194737B (zh) | 2023-09-14 | 2023-09-14 | 基于距离阈值的近似近邻搜索方法、***、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117194737A CN117194737A (zh) | 2023-12-08 |
CN117194737B true CN117194737B (zh) | 2024-06-07 |
Family
ID=88983162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311190218.3A Active CN117194737B (zh) | 2023-09-14 | 2023-09-14 | 基于距离阈值的近似近邻搜索方法、***、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117194737B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1216841A (zh) * | 1997-10-31 | 1999-05-19 | 国际商业机器公司 | 用于索引和检索的多维数据聚类和降维 |
CN102810118A (zh) * | 2012-07-05 | 2012-12-05 | 上海电力学院 | 一种变权网k近邻搜索方法 |
CN104239566A (zh) * | 2014-09-28 | 2014-12-24 | 小米科技有限责任公司 | 视频搜索的方法及装置 |
CN106465055A (zh) * | 2014-03-20 | 2017-02-22 | 脸谱公司 | 地点的基于多边形的索引 |
CN106840166A (zh) * | 2017-02-15 | 2017-06-13 | 北京大学深圳研究生院 | 一种基于词袋树群模型的机器人定位和导航方法 |
CN107315765A (zh) * | 2017-05-12 | 2017-11-03 | 南京邮电大学 | 一种大规模图片集分布式近似搜索的方法 |
WO2018182093A1 (ko) * | 2017-03-30 | 2018-10-04 | 오드컨셉 주식회사 | 벡터 양자화의 혼합에 기초한 부호화 방법 및 이를 이용한 최근접 이웃 검색(nns) 방법 |
CN108986168A (zh) * | 2018-06-13 | 2018-12-11 | 深圳市感动智能科技有限公司 | 一种基于深度度量学习结合词袋树模型的机器人回环检测方法和装置 |
CN111026922A (zh) * | 2019-12-26 | 2020-04-17 | 长城计算机软件与***有限公司 | 一种分布式向量索引方法、***、插件及电子设备 |
CN113536020A (zh) * | 2021-07-23 | 2021-10-22 | 北京房江湖科技有限公司 | 数据查询的方法、存储介质和计算机程序产品 |
CN113901278A (zh) * | 2021-10-28 | 2022-01-07 | 上海赜睿信息科技有限公司 | 一种基于全局多探测和适应性终止的数据搜索方法和装置 |
CN114245896A (zh) * | 2019-10-31 | 2022-03-25 | 北京欧珀通信有限公司 | 向量查询方法、装置、电子设备及存储介质 |
CN115496900A (zh) * | 2022-08-31 | 2022-12-20 | 浙江工业大学 | 一种基于稀疏融合的在线碳语义地图构建方法 |
WO2023108995A1 (zh) * | 2021-12-15 | 2023-06-22 | 平安科技(深圳)有限公司 | 向量相似度计算方法、装置、设备及存储介质 |
CN116610840A (zh) * | 2023-05-19 | 2023-08-18 | 山东云海国创云计算装备产业创新中心有限公司 | 一种相似数据搜索方法、***及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9442929B2 (en) * | 2013-02-12 | 2016-09-13 | Microsoft Technology Licensing, Llc | Determining documents that match a query |
-
2023
- 2023-09-14 CN CN202311190218.3A patent/CN117194737B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1216841A (zh) * | 1997-10-31 | 1999-05-19 | 国际商业机器公司 | 用于索引和检索的多维数据聚类和降维 |
CN102810118A (zh) * | 2012-07-05 | 2012-12-05 | 上海电力学院 | 一种变权网k近邻搜索方法 |
CN106465055A (zh) * | 2014-03-20 | 2017-02-22 | 脸谱公司 | 地点的基于多边形的索引 |
CN104239566A (zh) * | 2014-09-28 | 2014-12-24 | 小米科技有限责任公司 | 视频搜索的方法及装置 |
CN106840166A (zh) * | 2017-02-15 | 2017-06-13 | 北京大学深圳研究生院 | 一种基于词袋树群模型的机器人定位和导航方法 |
WO2018182093A1 (ko) * | 2017-03-30 | 2018-10-04 | 오드컨셉 주식회사 | 벡터 양자화의 혼합에 기초한 부호화 방법 및 이를 이용한 최근접 이웃 검색(nns) 방법 |
CN107315765A (zh) * | 2017-05-12 | 2017-11-03 | 南京邮电大学 | 一种大规模图片集分布式近似搜索的方法 |
CN108986168A (zh) * | 2018-06-13 | 2018-12-11 | 深圳市感动智能科技有限公司 | 一种基于深度度量学习结合词袋树模型的机器人回环检测方法和装置 |
CN114245896A (zh) * | 2019-10-31 | 2022-03-25 | 北京欧珀通信有限公司 | 向量查询方法、装置、电子设备及存储介质 |
CN111026922A (zh) * | 2019-12-26 | 2020-04-17 | 长城计算机软件与***有限公司 | 一种分布式向量索引方法、***、插件及电子设备 |
CN113536020A (zh) * | 2021-07-23 | 2021-10-22 | 北京房江湖科技有限公司 | 数据查询的方法、存储介质和计算机程序产品 |
CN113901278A (zh) * | 2021-10-28 | 2022-01-07 | 上海赜睿信息科技有限公司 | 一种基于全局多探测和适应性终止的数据搜索方法和装置 |
WO2023108995A1 (zh) * | 2021-12-15 | 2023-06-22 | 平安科技(深圳)有限公司 | 向量相似度计算方法、装置、设备及存储介质 |
CN115496900A (zh) * | 2022-08-31 | 2022-12-20 | 浙江工业大学 | 一种基于稀疏融合的在线碳语义地图构建方法 |
CN116610840A (zh) * | 2023-05-19 | 2023-08-18 | 山东云海国创云计算装备产业创新中心有限公司 | 一种相似数据搜索方法、***及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117194737A (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101565265B1 (ko) | 피쳐 위치 정보의 코딩 | |
CN113918753B (zh) | 基于人工智能的图像检索方法及相关设备 | |
CN107341178B (zh) | 一种基于自适应的二进制量化哈希编码的数据检索方法 | |
CN117033718B (zh) | 基于光线追踪的近似近邻搜索方法、***、介质及设备 | |
CN113095370B (zh) | 图像识别方法、装置、电子设备及存储介质 | |
CN110636445A (zh) | 基于wifi的室内定位方法、装置、设备及介质 | |
CN108549696B (zh) | 一种基于内存计算的时间序列数据相似性查询方法 | |
EP3115908A1 (en) | Method and apparatus for multimedia content indexing and retrieval based on product quantization | |
CN117194737B (zh) | 基于距离阈值的近似近邻搜索方法、***、介质及设备 | |
CN117076726B (zh) | 基于光线追踪相交的近似近邻搜索方法、***、介质及设备 | |
CN115204318B (zh) | 事件自动层级分类方法及电子设备 | |
EP4307663A1 (en) | Decoding method/encoding method based on point cloud attribute prediction, decoder, and encoder | |
CN115129949A (zh) | 向量范围检索的方法、装置、设备、介质及程序产品 | |
CN116090538A (zh) | 一种模型权重获取方法以及相关*** | |
CN112540960A (zh) | 一种数据存储管理方法及*** | |
CN112015922B (zh) | 多媒体文件的检索方法、装置、设备及存储介质 | |
CN111460088A (zh) | 相似文本的检索方法、装置和*** | |
JP2023541086A (ja) | 検索データベースを構築するための方法、装置、デバイス及び記憶媒体 | |
CN118093633A (zh) | 高维向量查询方法、装置、计算机设备及可读存储介质 | |
CN114896240A (zh) | 一种数据检索方法、装置、存储介质及电子装置 | |
CN117113077A (zh) | 目标序列确定方法、装置、电子设备和存储介质 | |
CN116071599A (zh) | 一种山区点云分类方法、装置、存储介质及设备 | |
CN114254172A (zh) | 用于对被管理对象进行分类的方法和装置 | |
CN117593104A (zh) | 一种客户特征选择方法、装置、设备及可读存储介质 | |
CN116932935A (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 |