EFANNA : An Extremely Fast Approximate Nearest Neighbor Search Algorithm Based on kNN Graph

09/23/2016
by   Cong Fu, et al.
0

Approximate nearest neighbor (ANN) search is a fundamental problem in many areas of data mining, machine learning and computer vision. The performance of traditional hierarchical structure (tree) based methods decreases as the dimensionality of data grows, while hashing based methods usually lack efficiency in practice. Recently, the graph based methods have drawn considerable attention. The main idea is that a neighbor of a neighbor is also likely to be a neighbor, which we refer as NN-expansion. These methods construct a k-nearest neighbor (kNN) graph offline. And at online search stage, these methods find candidate neighbors of a query point in some way (, random selection), and then check the neighbors of these candidate neighbors for closer ones iteratively. Despite some promising results, there are mainly two problems with these approaches: 1) These approaches tend to converge to local optima. 2) Constructing a kNN graph is time consuming. We find that these two problems can be nicely solved when we provide a good initialization for NN-expansion. In this paper, we propose EFANNA, an extremely fast approximate nearest neighbor search algorithm based on kNN Graph. Efanna nicely combines the advantages of hierarchical structure based methods and nearest-neighbor-graph based methods. Extensive experiments have shown that EFANNA outperforms the state-of-art algorithms both on approximate nearest neighbor search and approximate nearest neighbor graph construction. To the best of our knowledge, EFANNA is the fastest algorithm so far both on approximate nearest neighbor graph construction and approximate nearest neighbor search. A library EFANNA based on this research is released on Github.

READ FULL TEXT
research
04/09/2018

k-NN Graph Construction: a Generic Online Approach

Nearest neighbor search and k-nearest neighbor graph construction are tw...
research
06/27/2012

On the Difficulty of Nearest Neighbor Search

Fast approximate nearest neighbor (NN) search in large databases is beco...
research
12/21/2020

A Note on Graph-Based Nearest Neighbor Search

Nearest neighbor search has found numerous applications in machine learn...
research
07/06/2021

DEANN: Speeding up Kernel-Density Estimation using Approximate Nearest Neighbor Search

Kernel Density Estimation (KDE) is a nonparametric method for estimating...
research
07/19/2023

Fast Approximate Nearest Neighbor Search with a Dynamic Exploration Graph using Continuous Refinement

For approximate nearest neighbor search, graph-based algorithms have sho...
research
01/29/2021

A Comprehensive Survey and Experimental Comparison of Graph-Based Approximate Nearest Neighbor Search

Approximate nearest neighbor search (ANNS) constitutes an important oper...
research
05/27/2019

Learning to Route in Similarity Graphs

Recently similarity graphs became the leading paradigm for efficient nea...

Please sign up or login with your details

Forgot password? Click here to reset