High-Dimensional Approximate Nearest Neighbor Search: with Reliable and Efficient Distance Compariso

High-Dimensional Approximate Nearest Neighbor Search: with Reliable and Efficient Distance Comparison Operations (sigmod2023)

高维欧氏向量空间中的近似K近邻(AKNN)搜索是一个基本且具有挑战性的问题。我们观察到,在高维空间中,几乎所有AKNN算法的时间消耗都被距离比较操作(dco)的时间消耗所支配对于每个操作,它扫描对象的全部维度,因此,在线性时间内运行该维度。为了加快速度,我们提出了一种名为ADSampling的随机算法,该算法对大多数dco的维数以对数时间运行,并且成功率高。此外,基于ADSampling,我们开发了一种通用技术和两种算法特定技术作为插件来增强现有的AKNN算法。理论和实证研究都证实:(1)我们的技术几乎没有引入精度损失;(2)它们不断提高效率。

一现状

一个直接的尝试是使用一些距离近似技术,如product quantization[23,24,32]和随机投影[34]来实现dco,以获得更好的效率。然而,正如文献中广泛发现的[38,59]以及我们的实验经验所证实的那样,这些技术无法避免为了实现一些显著的时间成本节省而牺牲精度,因此很难以更高的效率实现可靠的dco。实际上,这些技术只用于生成knn[59]的候选,而不是(在dco中)用于从生成的候选中找出它们。

二方法的思想

我们开发了一种名为ADSampling的新方法来实现这一目标。ADSampling的核心是将目标投影到不同维数的空间,并根据投影向量进行DCOs,从而提高效率。

ADSampling在以下几个方面是新颖的。首先,在查询阶段灵活地将不同对象映射到不同维数的向量上。其基本原理是,对于远离查询的负对象,将它们投影到具有更少维度的空间以获得可靠的dco;而对于离查询更近的负对象,则应该将它们投影到具有更多维度的空间中以获得可靠的dco。我们注意到,对于正对象(即那些与查询的距离最多为一个阈值的对象),理想情况下,它们的距离不应该被扭曲。

ADSampling通过两个步骤实现了这种灵活性。(1)它首先在索引阶段(即在查询到来之前)通过随机正交变换对对象进行预处理[11,35]。这一步只是随机旋转物体而不扭曲它们的距离。(2)然后在查询阶段,在处理不同对象上的dco时,对其变换后的向量进行不同维数的采样。

其次,它在查询阶段根据对象的DCO自适应地决定每个对象要采样的维数,而不是在索引阶段将其预先设置为一定的维数(这对知识要求很高,在实践中很难设置)。具体来说,它增量采样变换向量的维度,直到它可以自信地基于采样向量对对象进行DCO。对于采样向量,它通过计算物体的近似距离来确定是否有足够的证据证明可靠的DCO,然后根据计算的近似距离进行假设检验。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值