近似最近邻 (ANN) 搜索是一种旨在查找数据集中的查询点附近的邻居而不保证精确接近的技术。当精确的NN搜索由于数据集的大小或数据的高维度而在计算上被禁止时,使用ANN方法。相反,ANN算法提供近似正确但明显更快的结果。
ANN搜索通过使用针对特定场景优化的数据结构和算法来实现这种加速。像局部敏感散列 (LSH) 这样的技术将相似的向量分组到桶中以进行快速检索,而像KD树和球树这样的基于树的结构将数据集划分为可管理的子集。这些方法平衡了准确性和效率,使其适用于可接受轻微不准确性的实际应用。
ANN搜索的常见用例包括推荐系统,其中它识别相似的用户偏好,以及图像或音频识别,其中它将特征与已知模式相匹配。其速度和精度的平衡使其对于需要实时或大规模处理的任务非常宝贵,例如LLMs中的检索增强生成 (RAG)。