Probabilistic Kernel Function for Fast Angle Testing

本文提出了一种无需渐近假设的确定性投影概率核函数,用于高效的角度测试与相似度搜索,其实验结果表明该方法在近似最近邻搜索任务中的查询吞吐量比主流 HNSW 算法高出 2.5 至 3 倍。

Kejing Lu, Chuan Xiao, Yoshiharu Ishikawa

发布于 2026-03-03
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文主要解决了一个在人工智能和数据科学中非常头疼的问题:如何在海量的数据中,快速找到和“目标”最相似的东西?

想象一下,你有一个巨大的图书馆,里面有几百万本书(数据),每本书都有一个独特的“气味”(向量)。现在,你手里有一本新书(查询向量),你想在几秒钟内找到几本气味最像的书。

传统的做法是拿着新书去闻每一本书,但这太慢了。于是,科学家们发明了一些“快速筛选法”,比如随机投影

1. 核心问题:现有的“快速筛选法”有什么毛病?

现有的方法(比如论文中提到的 CEOs 或 HNSW+PEOs)就像是一个**“盲猜”游戏**:

  • 做法:它们会随机扔出很多根“探测针”(投影向量),看看哪根针离你的目标最近,然后据此猜测哪本书最像。
  • 缺点:这些“探测针”是随机乱丢的(通常服从高斯分布,就像撒面粉一样)。
    • 理论缺陷:它们依赖一个假设:“只要我扔的针足够多(无穷多),猜得就准。”但在实际电脑里,我们不可能扔无穷多的针,只能扔有限的几根。
    • 结果:因为针是乱丢的,有时候会离目标很远,导致判断失误,或者为了猜准一点,不得不扔更多的针,反而变慢了。

2. 这篇论文的解决方案:从“盲猜”变成“有备而来”

作者提出了两个新的“概率核函数”(你可以理解为更聪明的筛选规则),核心思想是:不要随机乱丢针,要精心布置针的位置。

类比:寻找失散的朋友

  • 旧方法(随机高斯分布):就像你在一个巨大的广场上,闭着眼睛随机朝各个方向扔飞镖。你想通过飞镖落点来判断朋友在哪。如果飞镖扔得不够多,你可能永远猜不准。
  • 新方法(参考角 + 确定性结构)
    1. 参考角(Reference Angle):作者发现,判断准不准的关键,不在于扔了多少飞镖,而在于离目标最近的那根飞镖,离目标有多近。这根“最近的飞镖”和目标的夹角越小,判断就越准。
    2. 精心布置(确定性结构):作者不再随机扔飞镖,而是设计了一种特殊的排列方式(比如像正多面体的顶点,或者对称的点对),确保无论目标在哪里,总有一根飞镖离它非常近。
    3. 随机旋转:为了不让这种排列被敌人(特定的数据分布)看穿,他们在扔飞镖前,会随机旋转一下整个场地。这样既保持了“针离目标很近”的优势,又保留了随机性的安全。

3. 两个具体的“超能力”

这篇论文提出了两种具体的工具,分别解决两个问题:

  • 工具一(KS1):比大小

    • 场景:你有两个候选人 A 和 B,想知道谁更像目标?
    • 作用:KS1 能极快地告诉你"A 比 B 更像”,而且准确率比旧方法(CEOs)略高一点点。
    • 比喻:就像以前是用尺子量距离(慢),现在是用一种特制的“感觉棒”,轻轻一点就知道谁更近。
  • 工具二(KS2):定门槛

    • 场景:你只想要相似度超过 80% 的人,低于 80% 的直接扔掉。
    • 作用:KS2 能极快地判断一个人是否“达标”。如果没达标,直接跳过,不用算精确距离。
    • 比喻:以前过安检,每个人都要把包打开仔细检查(算精确距离)。现在 KS2 像是一个智能金属探测门,如果它觉得你身上没带危险品(相似度不够),直接让你走人,不用开包检查。这大大节省了时间。

4. 实际效果有多牛?

作者把这套新方法装进了目前最流行的搜索算法 HNSW(可以理解为目前最厉害的“图书馆导航系统”)里,变成了 HNSW+KS2

  • 速度提升:在保持搜索准确度几乎不变的情况下,查询速度(每秒能处理多少个请求)提升了 2.5 到 3 倍
    • 比喻:以前找书要 1 分钟,现在只要 20 秒。
  • 更省空间:因为不需要存那么多乱七八糟的随机数据,索引文件的大小还减少了 5%。
  • 超越对手:比目前最先进的其他方法(如 HNSW+PEOs)还要快 10% 到 30%。

5. 总结

简单来说,这篇论文做了一件很聪明的事:
它发现以前大家为了快速找相似数据,是在**“乱撒网”。作者改进了渔网的设计,让网眼排列得更科学、更均匀**,并且加了一个**“旋转开关”**。

这样,无论鱼(数据)在哪里,都能被网得更准、更快。这使得我们在处理海量数据(比如给 AI 找素材、推荐电影、人脸识别)时,速度能快好几倍,而且不用花更多的钱买服务器。

一句话总结:把“随机乱猜”变成了“精心布局”,让大数据搜索变得既快又准。