【えいちえぬえすだぶりゅー】
HNSW(階層的近似最近傍探索) とは?
公開:
💡 「億件の中から似たものを一瞬で見つける」——ベクトル検索を支えるスキップ付きグラフ構造
ベクトルデータベースで使われる近似最近傍探索アルゴリズム。階層的なグラフ構造で高次元ベクトルを高速に検索し、RAGや類似検索の基盤技術。
📌 このページのポイント
ペンギン先生、ベクトルデータベースで「似た文章を探す」って、どうやって速くやるの?
そこで使われるのが「HNSW」というアルゴリズムだよ。全件を総当たりで比べるのではなく、階層グラフを使って探索対象を絞り込みながら近い候補を見つけるんだ。
階層グラフって何なの?
イメージは地図のスケールを変える感じだよ。一番上の層は道路の少ない粗い地図で、おおざっぱにエリアを絞る。下の層に行くほど詳細な地図になって、最終的に最も近いノードにたどり着くんだ。
一番上で大まかに絞って、下で細かく探すんだね!でも「近似」って、正確じゃないってこと?
そうだよ。厳密な最近傍ではなく「ほぼ一番近い」ものを返すんだ。でも実際の検索では99%以上の精度が出ることが多くて、速度とのトレードオフとして十分実用的なんだよ。
まとめ:ざっくりこれだけ覚えればOK!
「HNSW」って出てきたら「ベクトル検索を高速化する階層グラフアルゴリズム」と思えればだいたいOK!
📖 おまけ:英語の意味
「Hierarchical Navigable Small World」 = 階層的にナビゲート可能なスモールワールド
💬 スモールワールドネットワーク理論を応用した、2016年のYury Malkovらの論文が起源だよ。