Fast Approximate Nearest Neighbor Search With The Navigating Spreading-out Graph

Fast Approximate Nearest Neighbor Search With The Navigating Spreading-out Graph(VLDB2018)

近似最近邻搜索是数据库和数据挖掘中的一个基本问题。可扩展的ANNS算法应该既节省内存又快速。一些早期的基于图的方法已经在搜索时间复杂度上给出了诱人的理论保证,但它们都存在索引时间复杂度高的问题。最近,一些基于图的方法被提出,通过近似传统图来降低索引复杂度;这些方法在百万级数据集上取得了革命性的性能。然而,它们仍然无法扩展到十亿节点的数据库。为了进一步提高基于图的方法的搜索效率和可扩展性,本文从四个方面着手:(1)保证图的连通性;(2)降低图的平均出度,实现快速遍历;(3)缩短搜索路径;(4)减小索引大小。然后,我们提出了一种新颖的图结构,称为单调相对邻域图(Monotonic Relative Neighborhood graph, MRNG),它保证了非常低的搜索复杂度(接近对数时间)。为了进一步降低索引复杂度并使其适用于十亿节点的人工神经网络问题,通过近似MRNG,提出了一种新的图结构NSG (spreadout graph)。大量实验表明,NSG的性能明显优于现有的所有算法。此外,NSG在淘宝(阿里巴巴集团)的电商场景中表现优异,并已被其10亿规模的搜索引擎所整合。 

3. ALGORITHMS AND ANALYSIS 

综上所述,我们旨在从以下四个方面设计一个具有高ann性能的图索引。 

 第(1)点很容易实现。如果起始节点随查询而变化,则应该确保图是强连通的。如果起始节点是固定的,则应该确保DFS可以从起始节点到达所有其他节点。对于点(2)-(4),通过为ann问题设计更好的稀疏图来同时解决这些点。下面我们将提出一种新的图结构,称为单调相对邻域图(MRNG),并对其重要属性进行理论分析,这将导致更好的ann性能。

3.2 Graph Monotonicity And Path Length

ann在图上的速度主要由两个因素决定,搜索路径的长度和图的平均出度。我们的目标是找到一个同时具有低出度和短搜索路径的图。我们将从如何设计搜索路径非常短的图开始讨论。在介绍我们的建议之前,我们将首先详细分析一类称为单调搜索网络(MSNET)的图,它在[13]中首次讨论,并在人工神经网络中显示出巨大的潜力。这里我们将介绍msnet的定义。

 3.3 Monotonic Relative Neighborhood Graph

在本节中,我们描述了一种新的人工神经网络图结构,称为MRNG,属于MSNET家族。为了使图稀疏,HNSW和fang转换为RNG[38],但证明了RNG没有足够的边来达到MSNET[13]。因此,RNG的搜索路径长度没有理论保证,在RNG上的搜索可能会出现较长的绕路。

在图3中,(a)是RNG中的非单调路径的示意图。节点s在lunepr中,所以p和s没有连接。同样,t, u, q与p不相连。当搜索从p到q时,路径是非单调的(如rq<pq)。 我们发现这个问题主要是由于RNG的边缘选择策略造成的

 

结果图可能不是最小的MSNET,但它非常稀疏。基于该策略,我们提出了一种新颖的图结构——单调相对邻域图(Monotonic Relative Neighborhood graph, MRNG)。形式上,MRNG可以定义如下 

 

 图4显示了非单调路径的一个例子,如果我们在某些图G上应用MRNG的边缘选择策略,但不保证NNG⊂G。图4中的边缘满足MRNG的选择策略,除非q被强制不与它的最近邻居t连接。

 3.5 NSG:PracticalApproximationForMRNG

MRNG虽然可以保证快速的搜索时间,但其高索引时间仍然不适用于大规模问题。在本节中,我们将介绍一种实用的方法,通过近似我们的MRNG,并从四个标准开始,为ann设计一个良好的图。我们将其命名为导航展开图(NSG)。Navigating Spreading-out Graph

下面是NSG构建算法的动机。最终的目标是建立一个近似的低索引时间复杂度MRNG。

通过近似MRNG, NSG可以继承MRNG的低搜索复杂度。同时,度上界使得图非常稀疏,而生成树操作保证了NSG的连通性。NSG的索引只包含一个稀疏图,没有辅助结构。

阅读者总结:文中的目的是利用图结构实现KNN检索,文中的NSG是MRNG的近似,主要为了降低索引时间。值得学习:

1)文中提到的构建图的方法,要尽可能的降低边的出度。因此涉及到如何构建边,文中采用了最小三角形来构建边。

2)在构建的图中要尽可能的降低索引时间,因此近似MRNG是必要的优化过程。去掉冗余的边,图的平均出度(out-degree)越低,检索越快。 

3)文中的实验部分看出来,提出的算法在检索精度和索引构建时间方面明显优于传统的方法,比如hash,tree ,乘积向量方法。

总之,文章的算法在图的构建上比较巧妙,算法实现上主要在于系统性的工程实现过程,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值