In plain words: To find a point's nearest neighbors fast, it groups similar points into balanced clusters, then trains a classifier to say which cluster a new point lands in. Its partitions beat tree-based splits, quantization, and random hashing that ignores the data on search tests.
Abstract · Learning Space Partitions for Nearest Neighbor Search
Space partitions of $\mathbb{R}^d$ underlie a vast and important class of fast nearest neighbor search (NNS) algorithms. Inspired by recent theoretical work on NNS for general metric spaces [Andoni, Naor, Nikolov, Razenshteyn, Waingarten STOC 2018, FOCS 2018], we develop a new framework for building space partitions reducing the problem to balanced graph partitioning followed by supervised classification. We instantiate this general approach with the KaHIP graph partitioner [Sanders, Schulz SEA 2013] and neural networks, respectively, to obtain a new partitioning procedure called Neural Locality-Sensitive Hashing (Neural LSH). On several standard benchmarks for NNS, our experiments show that the partitions obtained by Neural LSH consistently outperform partitions found by quantization-based and tree-based methods as well as classic, data-oblivious LSH.
Yihe Dong, Piotr Indyk, Ilya Razenshteyn, Tal Wagner
arXiv:1901.08544 · cs.LG, cs.CG, cs.DS, stat.ML · submitted Jan 24, 2019 · updated Sep 29, 2020
abstract · pdf · html · ICLR 2020