近似最近傍探索とは
近似最近傍探索とは、大量のデータの中から「最も近いもの」を、厳密にではなく高速に探し出す手法のことです。意味をベクトル(数値の並び)に変換して検索する仕組みの土台で、ベクトルデータベースの心臓部にあたります。
「総当たり」をやめて速さを取る
意味の近い文書を探すには、本来なら問い合わせのベクトルと全データの距離をひとつずつ測ります。ところが対象が数百万件から数億件にもなると、この総当たりは遅すぎて実用になりません。そこで「ほぼ正解で、桁違いに速い」を狙い、わずかな精度を犠牲にして速度を取るのが近似最近傍探索です。
代表的な手法がHNSWです。全データを多層のつながりの網に整理し、上の層でおおまかに近づき、下の層で細かく探す、という二段構えで目的地へたどり着きます。総当たりのように毎回すべてを調べなくても、近い答えに素早く到達できる点が利点です。
どこで使われているか
セマンティック検索やRAG(検索拡張生成)で、膨大なベクトルの中から意味の近い文書をミリ秒単位で取り出す役割を担います。賢いAIに社内文書を答えさせる仕組みが現実的な速さで動くのは、この技術が裏で働いているからです。
Topic名前の由来は「世界は意外と狭い」
代表手法HNSWの名前には「スモールワールド」という言葉が入っています。これは「世界中の誰とでも、知人を数人たどればつながる」という、いわゆる”世界は狭い”ネットワークの考え方から来ています。少ないホップ数で目的の相手に届くこの性質を、膨大なベクトルの中から近いものへ素早くたどり着く検索に応用したのが、この手法の発想です。
関連用語
近似最近傍探索に関するよくある質問
- なぜ「厳密に」ではなく「近似で」探すのですか?
- 意味の近い文書を厳密に探すには問い合わせと全データの距離を一つずつ測りますが、対象が数百万〜数億件になると総当たりは遅すぎて実用になりません。そこでわずかな精度を犠牲にして桁違いの速さを取り、「ほぼ正解で、非常に速い」を狙うのが近似最近傍探索です。
- 近似最近傍探索はどこで使われていますか?
- セマンティック検索やRAG(検索拡張生成)で、膨大なベクトルの中から意味の近い文書をミリ秒単位で取り出す役割を担い、ベクトルデータベースの心臓部にあたります。賢いAIに社内文書を答えさせる仕組みが現実的な速さで動くのは、この技術が裏で働いているからです。
- 代表的な手法HNSWの名前の由来は?
- 名前に入る「スモールワールド」は、「世界中の誰とでも知人を数人たどればつながる」という“世界は狭い”ネットワークの考え方から来ています。少ないホップ数で目的の相手に届く性質を、膨大なベクトルから近いものへ素早くたどり着く検索に応用したのがこの手法です。