近傍探索って何?
あらゆるものを空間上の「点」で表すと、似ているものほど近くにあります。近傍探索(Nearest Neighbor Search)が答えるのは一言:「ある点を与えられたら、それに一番近いいくつかを探す」。単純そうですが、レコメンド、画像検索、意味検索、RAGなど、多くの機能を支える共通の土台です。難しい理由
次元が高すぎる現実のベクトルは数百〜数千次元もあります。次元が高いと従来のインデックスは機能しません。「次元の呪い」で、どの点もほぼ「同じ距離」に見えてしまいます。
データが大きすぎる
数百万、数十億の点とひとつずつ距離を計算するのは、どんなに速くても無理です。
どう解決するか
近似最近傍(ANN)厳密だと遅すぎるので「だいたい合っていれば良し」とします。わずかな誤差を許す代わりに、桁違いの高速化。多くの場面で、近似結果と厳密結果はほぼ変わりません。
代表的なアルゴリズム
木構造(KD-Tree)、ハッシュ(LSH)、グラフ(HNSW)、量子化(PQ)など。それぞれ一長一短があり、データ規模と精度で選びます。
専用ツール
FAISS、Milvus、Pinecone、WeaviateといったライブラリやDBがANNをまとめてくれ、呼ぶだけで使えます。
なぜどこにでもあるのか
「似たものを探す」は情報を扱う人間の基本動作です。似た曲、似た商品、似た質問の答え、似た画像。AIが大量データから関連内容を「呼び出す」とき、その裏にはほぼ必ず近傍探索があります。RAGの最初の一歩もこれです。まとめ:近傍探索とは「空間の中で自分に一番近い点を探す」こと。あらゆる「似たものを探す」機能を支える共通の土台です。
コメント