Skip to main content
QUICK REVIEW

[論文レビュー] Practical linear-space Approximate Near Neighbors in high dimension

Georgia Avarikioti, Ioannis Z. Emiris|arXiv (Cornell University)|Dec 22, 2016
Advanced Image and Video Retrieval Techniques参考文献 18被引用数 4
ひとこと要約

本稿では、高次元空間における近似近傍検索のための実用的で線形空間のデータ構造、Dolphinnを提示する。点を log n 次元のハミングキューブにランダムに投影し、近接するバケットを照会することで、任意の c > 1(c → 1⁺ を含む)に対して部分線形のクエリ時間の実現を達成した。FALCONN などの最先端の LSH ライブラリと比較して、メモリ使用量と事前処理のオーバーヘッドを顕著に削減した。

ABSTRACT

The $c$-approximate Near Neighbor problem in high dimensional spaces has been mainly addressed by Locality Sensitive Hashing (LSH), which offers polynomial dependence on the dimension, query time sublinear in the size of the dataset, and subquadratic space requirement. For practical applications, linear space is typically imperative. Most previous work in the linear space regime focuses on the case that $c$ exceeds $1$ by a constant term. In a recently accepted paper, optimal bounds have been achieved for any $c>1$ \cite{ALRW17}. Towards practicality, we present a new and simple data structure using linear space and sublinear query time for any $c>1$ including $c o 1^+$. Given an LSH family of functions for some metric space, we randomly project points to the Hamming cube of dimension $\log n$, where $n$ is the number of input points. The projected space contains strings which serve as keys for buckets containing the input points. The query algorithm simply projects the query point, then examines points which are assigned to the same or nearby vertices on the Hamming cube. We analyze in detail the query time for some standard LSH families. To illustrate our claim of practicality, we offer an open-source implementation in { t C++}, and report on several experiments in dimension up to 1000 and $n$ up to $10^6$. Our algorithm is one to two orders of magnitude faster than brute force search. Experiments confirm the sublinear dependence on $n$ and the linear dependence on the dimension. We have compared against state-of-the-art LSH-based library { t FALCONN}: our search is somewhat slower, but memory usage and preprocessing time are significantly smaller.

研究の動機と目的

  • 高次元のユークリッド空間における効率的な近似近傍検索を、線形空間と部分線形クエリ時間で実現すること。
  • c → 1⁺ に近づく近似要因であっても効率を維持できる、実用的でデータに依存しない手法の設計。
  • 特に大規模な設定において、FALCONN などの既存の LSH ベースのシステムと比較して、メモリ消費量と事前処理時間を削減すること。
  • ブルートフォースを凌駕し、次元数とデータセットサイズに応じて良好にスケーリングする、シンプルでオープンソースの C++ 実装の提供。

提案手法

  • 本手法は、高次元の点を log n 次元のハミングキューブにランダムに投影し、各点をその投影されたバイナリ文字列に基づいてバケットに割り当てる。
  • クエリアルゴリズムは、クエリ点を同じハミングキューブに投影し、同じまたは近接するバケットから点を取得することで、近似近傍を特定する。
  • ユークリッド距離およびマンハッタン距離の LSH 家族を標準的に用い、これらの投影下でのクエリ時間の複雑さを分析する。
  • データに依存しないアプローチであり、データセット固有の最適化に依存せず、実用性とシンプルさを高める。
  • クエリ処理中に近接する頂点を効率的に探索するため、ハミングキューブ上でマルチプローブ戦略を用いる。
  • 任意の c > 1 に対して、最適な空間計算量(n に線形)を達成するとともに、部分線形のクエリ時間を維持するように設計されている。

実験結果

リサーチクエスチョン

  • RQ1シンプルでデータに依存しない手法が、高次元における近似近傍検索において、部分線形クエリ時間と線形空間を達成できるか?
  • RQ2ハミングキューブへのランダムな投影の性能は、最先端の LSH ライブラリと比較して、速度、メモリ使用量、事前処理時間の観点でどのように異なるか?
  • RQ3c → 1⁺ の場合を含め、次元数 d やデータセットサイズ n が増加する際、本手法は効率的にスケーリングするか?
  • RQ4FALCONN やブルートフォースと比較して、実際の運用においてクエリ時間、メモリ使用量、事前処理時間のトレードオフはどのようなものか?

主な発見

  • 10⁶ 点と 1000 次元の実験において、ブルートフォース検索と比較して、Dolphinn は 1 から 2 時間の速度向上を達成した。
  • クエリ時間は n に対して部分線形、d に対して線形にスケーリングし、理論的予測を確認した。
  • 全テスト設定において、Dolphinn は FALCONN よりも 2.1 倍のメモリ使用量を削減した。また、事前処理時間は 6.5 倍速くなった。
  • FALCONN は検索で 1.15 倍速かったが、Dolphinn はブルートフォースと同等の精度(クラインボトルで 98.8%、SIFT で高閾値で 100%)を達成し、はるかに少ないメモリ使用量を実現した。
  • すべての実験で最大の精度を維持し、近接するバケットをチェックする閾値が上昇しても、検索時間は僅かに増加した。
  • オープンソースの C++ 実装は実用性を裏付け、100万点と 1024 次元の環境でビルド時間が 1.7 秒未満であった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。