【论文阅读】High-Dimensional Approximate Nearest Neighbor Search: with Reliable and Efficient DCO

如第1节所述,DCO大量参与许多AKNN算法。这些算法通过计算o的距离并将距离与r进行比较,自然地对对象o和距离r进行DCO。我们将这种传统方法称为FDScanning,因为它使用o的所有维度来计算距离。显然,FDScanning具有O(D)的时间复杂性。

接下来,我们回顾了现有的AKNN算法,并从理论和经验上验证了DCO在这些算法中的关键作用。

2.2 AKNN Algorithms and Their DCOs

2.2.1 Graph-Based Methods.

基于图的方法是最先进的AKNN算法家族之一,在内存中AKNN查询的时间精度权衡方面表现出主导性能[20,21,30,41,46,47]。这些方法基于数据向量构建图,其中顶点对应于数据向量。一种著名的基于图的方法是分层可导航小世界图(HNSW)[47]。它由几层组成。层0(基本层)包含所有数据向量,并且层i+1仅在层i中随机保留向量的子集。每一层的大小都会随着上升而呈指数级衰减。特别是,顶层仅包含一个顶点。在每个层中,一个顶点与其几个近似的最近邻居连接,而在相邻层之间,只有当两个顶点表示相同的向量时,它们才连接。HNSW图如图1a所示。

在查询阶段,首先在上层执行贪婪搜索,以在第0层(基本层)找到好的entry。具体地说,搜索从顶层的唯一顶点开始。在每一层中,它迭代地进行贪婪搜索。在每次迭代中,它访问其当前定位的顶点的所有邻居,并转到距离最小的顶点。当没有一个邻居的距离小于当前定位的顶点时,它终止搜索。然后它进入下一层并重复该过程,直到它到达第0层。在第0层,它进行greedy beam search[61](最佳优先搜索),这被大多数基于图的方法[21,32,41,46,47]所采用。具体地说,greedy beam search维护两个集合:搜索集合S(精确距离的最小堆)和结果集合R(精确距离的最大堆)。搜索集S的大小是无限的,并且保持有待搜索的候选者。结果集R的大小以Nef为界,并保持到目前为止访问的Nef最近邻居,其中大小Nef是控制时间精度权衡的参数。一开始,将0层的起点插入S和R中。然后进行迭代。在每次迭代时,它弹出集合S中距离最小的对象,并枚举该对象的邻居。对于每个邻居,它检查其与查询对象的距离是否不大于集合R中的最大距离,如果是,则计算距离(即,进行DCO)。此外,如果距离小于R中的最大距离,则它(1)将对象推入集合S和集合R(使用计算出的距离作为key),并且(2)每当R涉及多个Nef对象时,就从集合R弹出具有最大距离的对象,使得R的大小以Nef为界。当S中的最小距离大于R中的最大距离时,它返回R中距离最小的K个对象并停止。我们注意到,上层的贪婪搜索对应于Nef=1的贪婪波束搜索过程。

我们回顾了HNSW的时间复杂性,假设它对DCO采用FDScanning。设Ns是HNSW访问的KNN对象的候选数目。然后,DCO的总成本是O(NsD),并且更新集合S和R的总成本为O(NslogNs)。因此,HNSW的时间复杂度为O(NsD+Ns*logNs)。在实践中,DCO的总成本应该是主要部分,因为D可以是数百,而对数N只有几十,仅适用于涉及数百万对象的大型数据集。我们也通过经验验证了这一点。图2a描述了在K=100的情况下,当目标为95%召回率时,HNSW在三个真实世界数据集上的时间消耗。根据结果,在256到960个不同维度的数据集上,DCO占HNSW总运行时间的77.2%到87.6%(如条形图的蓝色和橙色部分所示)。

我们根据经验验证,对于HNSW,负面对象上的DCO数量明显大于正面对象上的DCO数量。结果如图2a所示。我们注意到,在图中,DCO的成本(在负对象上)和成本(在正对象上)之间的比率反映了负对象和正对象数量之间的比率,因为负对象上的DCO和正对象上的具有相同的成本。根据结果,消极对象的数量是积极对象的4.3倍到5.2倍。

3 THE ADSAMPLING METHOD

回想一下,我们的目标是以比FDScanning更好的效率实现可靠的DCO。为此,我们开发了一种称为ADS采样的新方法。其核心是,ADSampling将对象投影到维度较少的向量,并基于投影的向量进行DCO,以提高效率。与传统且广泛采用的随机投影技术[15,22,35,55]不同,后者将所有对象投影到等维向量上,ADSampling在以下方面是新颖的。首先,它在查询阶段灵活地将不同的对象投影到具有不同维数的向量中。我们将在第3.1节中详细说明如何实现这一想法。其次,它在查询阶段根据对象的DCO自适应地决定每个对象要采样的维数,但在索引阶段不将其预先设置为某个数(这对知识要求很高,在实践中很难设置)。我们将在第3.2节中详细说明如何实现这一想法。此外,我们在第3.3节中总结了ADSampling,并证明了它对负对象具有时间对数wrt D(明显优于FDScanning的时间复杂度O(D))。

3.1 Dimension Sampling over Randomly Transformed Vectors

为了提高DCO的效率,一个自然的想法是在对象上进行随机投影[35,57](即,将对象(特别是其向量)与Rd×D随机矩阵P相乘,其中 d<D),然后使用可以基于投影向量计算的近似距离进行DCO,即√︁ D/D‖Px‖。众所周知,在近似距离上存在一个集中不等式,如以下引理[57]所示。

//

然而,一旦物体被投影,相应的近似距离将具有一定的固定分辨率。因此,在查询阶段,它缺乏实现不同对象的不同降维(相应地,近似距离的不同分辨率)的灵活性。

我们的目标是在查询阶段灵活地将不同的对象投影到具有不同维数的向量中。为此,我们建议对对象进行随机变换(使用随机正交变换[25,35,57],在几何上随机旋转它),然后灵活地对变换后的向量的维度进行采样,以计算近似距离。形式上,给定一个对象x,我们首先将一个随机正交矩阵P′∈RD×D应用于x,然后对其上的d行(为了简单起见,前d行)进行采样。结果用(P′x)|[1,2,…,d]表示。这种方法有两个好处。首先,我们实现了灵活性,因为我们可以在查询阶段对不同d的旋转向量的d维进行采样。其次,我们实现了有保证的误差界,因为在变换后的向量上采样d维等价于通过随机投影获得d维向量,我们解释如下。

回想一下,x上的随机投影是将随机投影矩阵P∈Rd×D应用于x,结果用Px表示。我们声称(P′x)|[1,2,…,d](我们提出的方法的结果)和Px(随机投影的结果)是同分布的。这是基于矩阵乘法的一个基本性质,即矩阵乘法之前和之后的行采样是相同的:

  • 15
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值