Vector Search
ベクトル検索が埋め込みベクトルを活用して類似データを検出する仕組みを解説します。Ultralytics YOLO26で高品質なベクトルを生成し、正確な情報検索を実現する方法を学びましょう。
ベクターサーチは、厳密なキーワードの一致ではなく、データの数学的特性に基づいてデータセット内の類似アイテムを特定する高度な情報検索手法です。特定の文字列の検索に依存する従来のキーワード検索とは異なり、ベクターサーチはデータの根底にあるセマンティックな意味を解析します。この技術は、コンピュータが抽象概念間の関係を理解し、画像、音声ファイル、自然言語テキストなどの非構造化データを驚異的な精度で処理できるようにするため、現代の人工知能(AI)アプリケーションにおいて不可欠です。
Vector searchの仕組み#
ベクターサーチの中核には、生データをエンベディングと呼ばれる高次元の数値ベクトルに変換するプロセスが含まれます。このプロセスにより、アイテムは多次元空間内のポイントにマッピングされ、概念的に類似したアイテムが互いの近くに配置されます。
-
ベクトル化: ディープラーニング(DL)モデルが入力データ(例:犬の画像)を処理し、特徴量ベクトルを出力します。このような豊富な特徴量表現を効率的に生成するために、YOLO26のような高度なモデルがよく使用されます。
-
インデックス作成: 検索を素早く実行するために、これらのベクトルは専門的なアルゴリズムを使用して整理され、通常は専用のベクトルデータベースに保存されます。
-
類似度計算: ユーザーがクエリを送信すると、システムはそのクエリをベクトルに変換し、コサイン類似度やユークリッド距離などの指標を使用して保存されたベクトルまでの距離を測定します。
-
Retrieval(検索): システムは、文脈上最も関連性の高い結果を表す「近傍(nearest neighbors)」を返します。
Pythonの例:Embeddingの生成#
ベクターサーチを実装するには、まずデータをベクトルに変換する必要があります。次のコードスニペットは、ultralyticsパッケージと事前学習済みのYOLO26モデルを使用して、画像から特徴マップとエンベディングを生成する方法を示しています。
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate feature embeddings for an image URL
# The 'embed' method returns the high-dimensional vector representation
results = model.embed("https://ultralytics.com/images/bus.jpg")
# Print the shape of the resulting embedding vector
print(f"Embedding vector shape: {results[0].shape}")実社会での応用#
ベクターサーチは、現代のソフトウェアエコシステムにおける多くの直感的な機能のエンジンであり、コンピュータビジョン(CV)とユーザーの意図との間のギャップを埋めます。
- ビジュアルレコメンデーションシステム: 小売業におけるAIの分野において、ベクターサーチは「ショップ・ザ・ルック」機能を支えています。顧客が特定のハンドバッグを気に入った場合、システムは形状、テクスチャ、スタイルが一致する類似した視覚的ベクトルを持つアイテムを見つけ出し、パーソナライズされたレコメンデーションシステムを作成します。
- Retrieval-Augmented Generation(RAG): 大規模言語モデル(LLMs)を強化するために、開発者はベクターサーチを使用してナレッジベースから関連ドキュメントを検索します。これによりAIにコンテキストが提供され、ハルシネーションが軽減され、チャットボットのインタラクションの精度が向上します。
- 異常検知: 「正常な」操作のベクトルをクラスタリングすることにより、システムはクラスターから大きく外れた外れ値を特定できます。これは、製造業の品質管理やデータセキュリティにおける異常検知にとって極めて重要です。
関連概念の区別#
完全な機械学習(ML)パイプラインを理解するために、ベクターサーチを類似の用語と区別することは有益です。
- ベクターサーチ対セマンティック検索: セマンティック検索は、ユーザーの意図(「何を」)を理解するためのより広範なアプリケーションです。ベクターサーチは、ベクトル近接度を計算することによってこれを達成するために使用される特定のアルゴリズム的手法(「どのように」)です。
- ベクターサーチ対ベクトルデータベース: ベクトルデータベースは、大規模なエンベディングを保存および管理するように設計されたインフラストラクチャです。ベクターサーチは、情報を取得するためにそのデータベースをクエリするプロセスです。
- ベクターサーチ対キーワード検索: キーワード検索は正確なテキスト文字列に一致します(例:「apple」は「apple」に一致します)。ベクターサーチは意味に一致するため、たとえ言葉が異なっていても、「apple」が「fruit」や「red」に一致する場合があります。
Ultralyticsプラットフォームとの統合#
類似度検索システムを構築するチームにとって、データセットの管理とエンベディングモデルのトレーニングは重要な第一歩です。Ultralytics Platformは、データ管理、クラウドトレーニング、モデルデプロイのためのツールを提供することで、このワークフローを簡素化します。物体検出用か分類用かにかかわらず、ベースモデルが高性能であることを保証することで、結果として得られるベクトルが正確で意味のある検索結果を提供できるようになります。






