【无标题】

这篇论文介绍了高维近似最近邻搜索的优化方法,提出了ADSampling算法,该算法在大多数距离比较操作中运行时间为对数级别,具有高成功率。基于ADSampling,开发了HNSW++和IVF++技术,以提高现有AKNN算法的性能。HNSW++通过改进近似距离和候选生成策略,IVF++则通过数据布局优化提升缓存友好性,两者均提高了搜索速度。
摘要由CSDN通过智能技术生成

摘要

本篇论文来自于 SIGMOD 2023,介绍了一种可靠和有效的距离比较操作的高维近似最近邻搜索。主要工作1.提出一种随机算法 ADSampling; 2.基于 ADSampling ,开发了两种算法特定的技术作为插件来增强现有的 AKNN 算法。

论文背景

提出问题

在高维空间中,几乎所有 AKNN 算法的时间消耗都由距离比较操作(DCOs)所占据。对于每个操作,它扫描一个对象的全部维度,因此在维度上运行的时间是线性的。

解决方法

提出了一种随机算法,名为 ADSampling,它在大多数距离比较操作(DCOs)中运行时间是对数级别,并且具有高概率成功。特点概括起来便是1. 缩短比较时间;2. 成功率高。

论文主要工作

(1)提出一种随机算法 ADSampling;

(2)基于 ADSampling,我们开发了两种算法特定的技术作为插件来增强现有的AKNN算法。

其中,两种特定技术为:HNSW++和 IVF++。

    HNSW++ 是基于 HNSW 算法的改进,通过使用更好的近似距离和更高效的候选生成策略来提高搜索速度。

    IVF++ 是基于 IVF 算法的改进,通过重新组织数据布局和调整维度顺序来提高缓存友好性,从而减少内存访问开销,提高搜索速度。

传统方法

1、FDScanning:计算对象的距离(从查询点),然后将计算的距离与阈值进行比较。(需要扫描对象的全部维度来执行操作)

2、PDScanning:增量扫描原始向量的维度,并在基于部分扫描的𝑑维度的距离(如下图公式)大于距离阈值𝑟时终止该过程。

ADSampling 核心

将对象投影到具有不同维度的空间中,并基于投影向量进行比较操作(DCOs)以提高效率。

原理:对于远离查询的负对象来说,将它们投影到维数更少的空间就足以进行可靠的比较操作(DCOs); 而对于靠近查询的负对象,它们应该被投影到具有更多维数的空间中以进行可靠的比较操作(DCOs)。

实现步骤

(1)通过随机正交变换对对象进行预处理。(注:这一步仅是随机地旋转对象而不扭曲它们的距离。)

(2)在查询阶段处理不同对象的比较操作(DCOs)时,它会对其转换后的向量进行不同维度的采样。

注:ADSampling 根据查询期间对象的 DCO 自适应地决定每个对象要采样的维度数量,而不是在索引阶段预设一个确定的数量(这需要具有专业知识,实践中难以设置)

ADSampling实现流程

随机向量投影过程

给定一个对象 x,我们首先对 x(向量) 应用一个随机正交矩阵 𝑃' ∈ R 𝐷×𝐷,然后对其上的𝑑行进行采样(为简单起见,使用前𝑑行)。

结果表示为(𝑃' x)|[1,2,…,𝑑]。

我们将转换后的向量表示为  y := 𝑃′x

基于采样的维度,我们可以计算出 x 的近似距离,表示为 dist'

其中 d 是采样的维度数量。值得注意的是,基于采样维度计算近似距离的时间复杂度为 O(d)。

假设检验寻找合适 d

待解决问题:如何确定需要采样多少个 y 的维度,才能对距离比较操作(DCOs)做出足够自信的结论(即是否决定 𝑑𝑖𝑠 ≤ 𝑟)

假设检验的步骤

(1)定义一个零假设 H0: dis ≤ r 和它的备择假设 H1: dis > r。

(2)使用 𝑑𝑖&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值