美文网首页
SIGMOD'23-(向量降维距离估计)High-Dimensi

SIGMOD'23-(向量降维距离估计)High-Dimensi

作者: Caucher | 来源:发表于2023-05-22 11:35 被阅读0次

编者的总结

  1. 本文为ANN算法提供了一个距离计算的估计方法,剪枝率比较高,还可以基于此进一步优化HNSW的搜索算法,实现简单,性能提升不错。
  2. 基本思路是首先使用旋转矩阵作旋转,然后随机选一些维度算L2距离,随着维数越选越多,估计距离也越来越准。
  3. 文章很强的一点是理论证明,关于剪枝错误率的保障,最终精度的概率保障,期望复杂度等等。

编者的思考

  1. 引入了两个参数,\epsilon_0需要控制精度,太小则达不到高精度,太大则剪枝率受到影响;另一个\Delta_d相对好调一些,但是对性能影响也颇大。
  2. 估计距离仍不是下界距离,虽然精度保障很好,但是终归还是一个概率性的。如果能有剪枝率更高的下界距离会更好。

1 ABSTRACT & INTRODUCTION

  • 距离计算近似图算法中的bottleneck
  • 很多距离计算可以通过一个估计距离来进行剪枝,无需进行完整计算,理论上可以剪枝的比例是很高的。如下图蓝色部分的距离计算是没用的,算完这个点就丢了。


    image.png

3 THE ADSAMPLING METHOD

本文提出的方法叫ADSampling,会在查询中动态地将向量映射到低维空间,然后算估计距离,有以下几个创新点:

  1. 不同的向量降维后的维度不同,在查询时动态决定。
  2. 对于可剪枝的向量,(下界)距离计算仅需log(D)期望复杂度。

本文算法层面很简单:

  1. 在索引构建阶段准备一个随机旋转矩阵,将所有向量旋转后建索引。
  2. query到来时,首先用该矩阵旋转,得到q',然后正常进行ANN算法。
  3. 若遇到距离计算过程,随机采样q'的若干维度(从1维到D维,逐次迭代),计算近似距离和对应的剪枝条件,若可以剪枝,则返回,否则维度+\Delta_d.

注意:

  1. 维度越多,近似距离越精准,误差概率越小。
  2. 近似距离并非下界距离,这意味着剪枝有可能错误地剪掉了不该剪的。

本文的理论贡献:

  1. 剪枝错误的概率可以被参数控制,可以被理论证明。
  2. 阴性样本的期望维数可以证明,则复杂度可以被证明。
  3. 使用本文方法的AKNN,在精度和效率之间的trade-off证明。注意因为毕竟是有剪枝错误的情况,所以精度肯定是下降的,但带来了效率提升,这里有一个理论证明。

【理论证明部分有机会补充】

5 AKNN++: IMPROVING AKNN+ ALGORITHMS WITH ALGORITHM SPECIFIC OPTIMIZATIONS

5.1 HNSW++: Towards More Approximation

  • HNSW的精度调节抓手是result set的长度,其中前K个作为结果返回必须是精确距离,但是K个之后就不用了,可以用本文提出的近似距离做替代。因为本来这就是个启发式搜索算法,所以也谈不上什么精度损失。


    image.png

6 EXPERIMENT

6.1 Experimental Setup

  • 数据集
image.png
  • 所有硬件优化、SIMD、多线程禁用;
  • \Delta_d=32,\epsilon_0 = 2.1

6.2 Experimental Results

6.2.1 Overall Results (Time-Accuracy Trade-Off)

  • HNSW*是普通剪枝,就是连续算一些维度,超过BSF了就early stop掉,这是一个精确剪枝;
  • HNSW+是ADSampling剪枝
  • HNSW++是5.1所示。
  • 普通剪枝HNSW*的提升很小;
  • HSNW+提升还可以,HNSW++提升更显著;
  • word2vec数据集上HNSW跑不过IVF;
  • ADSampling在高精度区域的提升比低精度区域要大;
image.png

6.2.2 Results of Evaluated Dimensions and Recal

  • 左图展示了各方法实际算的维度总数,以普通HNSW为100%;
  • ADSampling可以只算60%维度左右,加上HNSW++,只需要算25%左右;
  • HNSW+随ef增大而增大的主要原因是ef增大剪枝变得更加困难了;
  • 但这个困难并没有加给HNSW++,因为它只用前K个来剪枝,所以反而在时间变长的时候,能剪掉的越来越多了。
image.png

6.2.3 Results of Time Cost Decomposition

image.png

6.2.4 Results for Evaluating the Feasibility of Distance Approximation Techniques for Reliable DCOs

  • 相比于ADSampling,PQ或者随机映射的估计距离错误率更高。
image.png

6.2.5 Results of Parameter Study

  • 用于剪枝的参数\epsilon_0不能设的太小,不然精度损失太大到达不了高Recall
  • \Delta_d显然也是个trade-off,在32左右到最佳
image.png

相关文章

  • 学习笔记:sklearn-PCA降维

    PCA降维使用 看看降维后特征向量的信息量 查看降维后特征的信息量占原特征信息量的比例 用极大似然估计选取n_co...

  • PCA 主成分分析

    主成分根据,多维字段分析降维成几个成分 多维数组降维 几个特征向量对应几个特征空间

  • 《机器学习实战》笔记(十三):Ch13 - 利用PCA来简化数据

    第13章 利用PCA来简化数据(代码) 降维技术降维的意思是能够用一组个数为d的向量zi来代表个数为D的向量xi所...

  • 矩阵奇异值分解(SVD)及其应用(PCA)

    一前言 特征值 奇异值 二奇异值计算 三PCA 1)数据的向量表示及降维问题 2)向量的表示及基变换 3)基向量 ...

  • 机器学习day11降维

    降维 用一个低维度的向量表示原来高维度的特征,避免维度灾难。 降维方法 主成分分析 线性判别分析 等距映射 局部线...

  • PCA 算法

    算法步骤 样本归一化 求解协方差矩阵 求解特征值和特征向量 选择主要成分 转换特征降维的数据 降维的优化目标:将一...

  • 深度学习知识点汇总-机器学习基础(8)

    2.8 LDA的算法原理和算法步骤 输入:数据集 ,其中样本 是维向量,,降维后的目标维度 。 定义以下符号: 为...

  • 3D数学基础及图形开发(二)向量

    向量 向量的基本知识 行向量与列向量 向量分为1维,2维,3维,甚至多维向量,1维的向量是标量。 零向量是唯一一个...

  • 降维

    为什么要降维 不降维可能过拟合。 目的 找到宏观信息找到潜在变量选出重要变量高维稀疏向量的局部信息过多,例如购买商...

  • 向量组

    向量组的向量添加分量(增维)和向量组增加向量 增加维度:高维相关低维相关,低维无关高维无关 增加向量:原来无关,增...

网友评论

      本文标题:SIGMOD'23-(向量降维距离估计)High-Dimensi

      本文链接:https://www.haomeiwen.com/subject/sreosdtx.html