Fast Exact Retrieval for Nearest-neighbor Lookup (FERN)

要約

完全最近傍検索は計算量が多いプロセスであり、その単純な兄弟であるベクトル検索であっても計算量が複雑になる可能性があります。
これは、データベース内のベクトルの数 $N$ に比べて高次元の $d$ を持つベクトルを取得するときにさらに悪化します。
正確な最近傍検索は、準線形解のない $O(Nd)$ 問題であることが一般に認められています。
代わりに、近似最近傍 (ANN) 検索手法に注目が移ってきており、その多くはサブリニア、さらには対数的な時間計算量を持っています。
しかし、二分探索問題 ($d=1$ ベクトルの検索など) から得た直感が正しければ、総当たりで解決策を探ることなくベクトルの組織化された表現を取得する方法があるはずです。
低次元 ($d=2$ や $d=3$ の場合など) の場合、 \texttt{kd-trees} は取得用の $O(d\log N)$ アルゴリズムを提供します。
残念ながら、実際には、アルゴリズムは高次元 (例: $k=128$) で $O(dN)$ 解まで急速に劣化します。
私たちは、\texttt{kd-trees} からインスピレーションを得た、最近傍検索 (FERN) のための対数高速完全検索のための新しいアルゴリズムを提案します。
このアルゴリズムは、一様にランダムに生成された 1,000 万 $d=128$ のベクトルに対して 100\% の再現率で $O(d\log N)$ ルックアップを実現します。\footnote{コードは https://github.com/RichardZhu123/ferns で入手できます
}

要約(オリジナル)

Exact nearest neighbor search is a computationally intensive process, and even its simpler sibling — vector retrieval — can be computationally complex. This is exacerbated when retrieving vectors which have high-dimension $d$ relative to the number of vectors, $N$, in the database. Exact nearest neighbor retrieval has been generally acknowledged to be a $O(Nd)$ problem with no sub-linear solutions. Attention has instead shifted towards Approximate Nearest-Neighbor (ANN) retrieval techniques, many of which have sub-linear or even logarithmic time complexities. However, if our intuition from binary search problems (e.g. $d=1$ vector retrieval) carries, there ought to be a way to retrieve an organized representation of vectors without brute-forcing our way to a solution. For low dimension (e.g. $d=2$ or $d=3$ cases), \texttt{kd-trees} provide a $O(d\log N)$ algorithm for retrieval. Unfortunately the algorithm deteriorates rapidly to a $O(dN)$ solution at high dimensions (e.g. $k=128$), in practice. We propose a novel algorithm for logarithmic Fast Exact Retrieval for Nearest-neighbor lookup (FERN), inspired by \texttt{kd-trees}. The algorithm achieves $O(d\log N)$ look-up with 100\% recall on 10 million $d=128$ uniformly randomly generated vectors.\footnote{Code available at https://github.com/RichardZhu123/ferns}

arxiv情報

著者 Richard Zhu
発行日 2024-05-07 15:57:39+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.CL, cs.DS パーマリンク