用語集

ベクトル検索

NLP、ビジュアル検索、推薦システムなどのデータ検索における意味的類似性を可能にするベクトル検索が、AIにどのような革命をもたらすかをご覧ください!

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

ベクトル検索は、人工知能(AI)や機械学習(ML)で使われる強力な手法で、キーワードの完全一致ではなく、概念的な類似性に基づいてデータ項目を検索する。ベクトル検索では、特定の単語を含むテキストを検索する代わりに、クエリと意味的に関連する、あるいは文脈的に類似する画像、文書、音声などの情報を検索することができる。この方法は、現代の多くのAIアプリケーションの基本であり、より直感的で人間に近い情報検索を可能にする。

ベクトル埋め込みを理解する

ベクトル検索の核となる概念は、ベクトル埋め込みである。テキスト、画像、音声、その他の種類を問わず、データは埋め込みモデルを使ってベクトルと呼ばれる数値表現に変換される。これらのベクトルは高次元空間に存在し、似たような意味や特徴を持つアイテムは互いに近くに配置される。例えば、自然言語処理(NLP)では、BERTのようなモデルが文章をベクトルに変換し、似たような考えを伝える文章が近くのベクトル表現を持つようにします。同様に、コンピュータ・ビジョン(CV)では、以下のようなモデルがあります。 Ultralytics YOLOは画像の特徴ベクトルを生成し、視覚的な類似性比較を可能にする。データが埋め込まれると、ベクトル検索アルゴリズムは、コサイン類似度や ユークリッド距離などの距離メトリックを使用して、ベクトル間の「近さ」を定量化する。クエリ(ベクトルにも変換される)はデータベース内のベクトルと比較され、最も近いベクトルに対応するアイテムが検索結果として返される。

ベクター検索の仕組み

ベクトルサーチの実装には、通常以下のステップがある:

  1. 埋め込み生成:データセット(画像、テキストなど)を、事前に訓練されたモデルまたはカスタム訓練されたモデルを使用してベクトル埋め込みに変換します。
  2. インデックス作成:効率的な類似検索のために設計された特殊なベクトルデータベースまたはインデックスに、これらのベクトルを格納します。Pineconeや Milvusなどがその例です。
  3. クエリ:検索クエリ(画像やテキストフレーズなど)を、同じ埋め込みモデルを使用してベクトルに変換する。
  4. 検索:近似最近傍(ANN)検索のようなアルゴリズムを使用して、選択した距離メトリックに基づいて、クエリベクトルに最も近いインデックス内のベクトルを効率的に見つけます。
  5. 検索:見つかった最も近いベクトルに対応する元のデータ項目を返す。

ベクトル探索の応用

ベクトル検索は、幅広い高度なAIアプリケーションを可能にする:

  • レコメンデーションシステムNetflixやSpotifyのようなプラットフォームは、ユーザーとアイテム(映画や曲)をベクトルとして表現する。ベクトル検索は、ベクトルがユーザーのベクトル(好みを表す)に近いアイテムを見つけ、パーソナライズされたレコメンデーションを導く。
  • ビジュアル検索:Eコマースサイトでは、ユーザーが気に入った商品の画像をアップロードすることができる。システムは画像をベクトルに変換し、ベクトル検索を使って在庫の中から視覚的に類似した商品を探し出す。これは、効果的な画像認識エンベッディングに大きく依存しています。Ultralytics HUBのようなプラットフォーム内のツールは、このようなタスクのモデル学習に使用されるデータセットの管理に役立ちます。
  • セマンティック検索クエリの背後にある意味を理解するために検索エンジンやチャットボットを強化すること。キーワードをマッチングさせる代わりに、ベクトル検索は文脈的に関連する文書や回答を見つける。これは、自然言語を使用してデータセットを検索できるUltralytics Explorerのような機能にとって非常に重要である。
  • 異常検知サイバーセキュリティや不正検知では、正常な行動パターンはベクトルのクラスターとして表すことができる。ベクトル検索は、これらのクラスターから大きく外れたデータポイント(潜在的な異常)を特定することができます。
  • 質問応答システム:ユーザーの質問に答えるために、大規模な知識ベースから関連する文章を見つけることであり、しばしばRAG(Retrieval-Augmented Generation)システムの一部として使用される。

ベクトル検索とセマンティック検索

ベクトル検索とセマンティック検索はよく一緒に使われるが、異なる概念である。セマンティック検索とは、ユーザーの意図やクエリの文脈的な意味を理解し、適切な結果を提供することを目的としている。ベクトル検索は、セマンティック検索を実装するために頻繁に使用される方法またはメカニズムです。ベクトル検索は、ベクトル空間において「近い」アイテムを見つけることで意味的な関連性を実現します。したがって、ベクトル検索は、意味を捉えるベクトル埋め込みを操作することで、多くの意味検索アプリケーションを動かすエンジンとなっている。YOLOような高度なモデルは、オープンボキャブラリーオブジェクト検出のためにこれらの概念を活用している。

すべて読む