66
38

A Revisit of Hashing Algorithms for Approximate Nearest Neighbor Search

Abstract

Approximate Nearest Neighbor Search (ANNS) is a fundamental problem in many areas of machine learning and data mining. During the past decade, numerous hashing algorithms are proposed to solve this problem. Every proposed algorithm claims outperform other state-of-the-art hashing algorithms. However, the evaluation of these hashing papers was not thorough enough, and those claims should be re-examined. The ultimate goal of an ANNS method is returning the most accurate answers (nearest neighbors) in the shortest time. If implemented correctly, almost all the hashing methods will have their performance improved as the code length increases. However, many existing hashing papers only report the performance with the code length shorter than 128. In this paper, we carefully revisit the problem of search with the hash index and make a thorough comparison of many popular hashing algorithms. Surprisingly, the random-projection-based Locality Sensitive Hashing (LSH) ranked the second among twelve compared popular hashing algorithms, while all the other eleven hashing papers claim to outperform LSH. Despite the extreme simplicity of random-projection-based LSH, our results show that the capability of this algorithm has been far underestimated. For the sake of reproducibility, all the codes used in the paper are released on GitHub, which can be used as a testing platform for a fair comparison between various hashing algorithms.

View on arXiv
Comments on this paper