SIGMOD'23-Efficient Approximate

2023-05-16  本文已影响0人  Caucher

编者的总结

  1. 本文最大的贡献在于理论证明。放松裁边规则,相比如RNG裁边,引入适量更多的边,可以降低查询复杂度,这个结论很重要。
  2. 基于强证明的近似提供了一个方法,在1M数据集上也有提升。
  3. 有一个基于余弦定理的优化很有意思,效果很好。

编者的思考

  1. 理论证明还是没有扩展到kNN的情况,另外理论上的那个强图没有任何实验验证其结论。
  2. 最后本质上就是在通过参数\tau调整裁边的松紧程度,相比于理论证明要逊色一些,有点match不上,且实际用起来也会很麻烦,调整\tau的过程引入很多参数。
  3. 方法的动态插入和删除挺麻烦的,而且没有实验。
  4. 最后的提升是不是主要是余弦定理和early stop两个优化点提供的呢?

1 INTRODUCTION

目前图方法对于理论复杂度方面有两个极端的假设:

image.png

3 PRELIMINARIES

3.2 Proximity graph

4 ANALYSIS OF THE INEFFICIENCY OF EXISTING PROXIMITY GRAPHS

本节证明了现有PG greedy routing的期望长度为
E[x] = O(\frac{1}{\Delta}n^{\frac{1}{m}}lnn^{\frac{1}{m}})
\Delta是数据库中两个点的最小距离,可以证明
\Delta \leq O((1/n)^{\frac{1}{m}}) 的概率至少为1-(\frac{1}{e})^{\frac{m}{4}(1-\frac{3}{e^2})}

则可以推导出,greedy routing的期望长度在此概率下,不小于O(n^{\frac{2}{m}}lnn)

当n比较大的时候,\Delta->0,证明普通PG在数据集较大时查询速度会变得很慢。

5 𝜏-MONOTONIC GRAPH (𝜏-MG)

5.1 Construction of 𝜏-MG

5.2 ANN search on 𝜏-MG

5.3 Update of 𝜏-MG

对于𝜏-MG似乎支持起来比较困难,每次插入需要计算和所有点的距离。

6 𝜏-MONOTONIC NEIGHBORHOOD GRAPH (𝜏-MNG)

6.1 Construction of 𝜏-MNG

𝜏-MNG是𝜏-MG的近似,目的是加速构建。
构建方式和𝜏-MG也是类似的,但有以下几个区别:

  1. 从空图开始构建,并非从MRNG再refine补边;
  2. 需要建一个HNSW或者NSG辅助构建;
  3. candidate neighbor list从HNSW获得近似h-NN,而并非全部数据集。
image.png

这种近似方式构建复杂度肯定是降低了,但是error guarantee也没了。

6.2 ANN search on 𝜏-MNG

之前𝜏-MG的搜索算法没法再用了,因为不保证有单调性了。只能再把经典的search算法拿出来。


image.png

作者为经典beam search在𝜏-MNG的Error guarantee给了一个弱保证,即如果beam size足够大,beam serach找到NN的概率不低于进入neighborhood的概率。
进入neighborhood即beam search访问过query的近似h-NN,也是一个模糊定义。
总之最终是要调beam size的。

6.2.1 Optimization for the search algorithm

image.png

6.2.2 Implementation details

两个优化技术:

6.3 Update of 𝜏-MNG

插入支持的比精确图要好一些。先近似搜索candidate neighbor list,然后裁边。但是需要周期性重建。

7 EXPERIMENTAL EVALUATION

image.png

7.1 Comparision with the baseline methods

7.2 Effect of 𝜏

\tau这个参数是个trade-off,首先\tau越大,对RNG裁边的放松越多,就意味着边越多。先放松一些,补充一些边,可以提高连通性,降低复杂度;再多补边,每一步查询代价就变大了。

image.png

7.3 Performance of QEO

这个下界剪枝提升一般,且不稳定,参数也不大好调;

image.png

7.4 Performance of PDP and PII

early abandon 和 余弦定理看起来很管用。


image.png

7.5 Comparison of index size

index size还是变大了一些的,毕竟放松了裁边规则。

image.png

7.6 Performance against dataset size

分成若干份10million的数据集,然后顺序查找,最终汇总。可以看到是一个线性的复杂度。而且为了提高到0.98所需要的代价则更高。


image.png
上一篇 下一篇

猜你喜欢

热点阅读