Vector Search
ベクトル検索が埋め込みベクトルを活用して類似データを検出する仕組みを解説します。Ultralytics YOLO26で高品質なベクトルを生成し、正確な情報検索を実現する方法を学びましょう。
Vector searchは、正確なキーワードの一致ではなく、数学的な特性に基づいてデータセット内の類似アイテムを特定する高度な情報検索手法です。特定の文字列を見つけることに依存する従来のkeyword searchとは異なり、Vector searchはデータの基礎となる意味論的な概念を分析します。この技術は、現代のartificial intelligence (AI)アプリケーションにおいて不可欠です。なぜなら、抽象的な概念間の関係をコンピューターが理解し、画像、音声ファイル、自然言語テキストといったunstructured dataを驚くほどの精度で処理できるからです。
Link to this sectionVector searchの仕組み#
Vector searchの核心は、生データをembeddingsと呼ばれる高次元の数値ベクトルに変換することにあります。このプロセスにより、アイテムは多次元空間内の点としてマッピングされ、概念的に類似したアイテムが互いに近い位置に配置されます。
-
Vectorization(ベクトル化): deep learning (DL)モデルが入力データ(例えば犬の画像など)を処理し、特徴ベクトルを出力します。こうした豊富な特徴表現を効率的に生成するために、YOLO26のような高度なモデルが頻繁に使用されます。
-
Indexing(インデックス作成): 検索を高速に行うため、これらのベクトルは専門的なアルゴリズムを用いて整理され、専用のvector databaseに格納されることが一般的です。
-
Similarity Calculation(類似度計算): ユーザーがクエリを送信すると、システムはそのクエリをベクトルに変換し、cosine similarityやEuclidean distanceといったメトリクスを用いて、格納されたベクトルとの距離を測定します。
-
Retrieval(検索): システムは、文脈上最も関連性の高い結果を表す「近傍(nearest neighbors)」を返します。
Link to this sectionPythonの例:Embeddingの生成#
To implement vector search, you must first convert your data into vectors. The following code snippet demonstrates how to generate feature maps and embeddings from an image using the ultralytics package and a pre-trained YOLO26 model.
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}")Link to this section実社会での応用#
Vector searchは、今日のソフトウェアエコシステムにおける多くの直感的な機能の原動力であり、computer vision (CV)とユーザーの意図との間のギャップを埋めるものです。
- Visual Recommendation Systems(視覚的推奨システム): AI in retailの分野では、Vector searchが「ショップ・ザ・ルック」機能を支えています。顧客が特定のハンドバッグを気に入った場合、システムは形状、テクスチャ、スタイルが一致する視覚的ベクトルを持つアイテムを見つけ出し、パーソナライズされたrecommendation systemを構築します。
- Retrieval-Augmented Generation (RAG): Large Language Models (LLMs)を強化するため、開発者はVector searchを使用してナレッジベースから関連文書を検索します。これにより、AIにコンテキストが提供され、chatbotの対話におけるハルシネーションを低減し、精度が向上します。
- Anomaly Detection: By clustering vectors of "normal" operations, systems can identify outliers that drift far from the cluster. This is critical for anomaly detection in manufacturing quality control and data security.
Link to this section関連概念の区別#
machine learning (ML)パイプライン全体を理解するためには、Vector searchと類似の用語を区別することが役立ちます。
- Vector Search vs. Semantic Search: Semantic searchは、ユーザーの意図(「何を」)を理解するためのより広範なアプリケーションです。一方、Vector searchは、ベクトル近傍を計算することによってこれを達成するための具体的なアルゴリズム的手法(「どのように」)を指します。
- Vector Search vs. Vector Database: Vector databaseは、Embeddingを大規模に保存および管理するために設計されたインフラです。Vector searchは、情報を取得するためにそのデータベースに対してクエリを行うプロセスです。
- Vector Search vs. Keyword Search: Keyword searchは正確な文字列を照合します(例:「apple」は「apple」と一致)。Vector searchは意味を照合するため、言葉が異なっていても「apple」が「fruit」や「red」と一致する場合があります。
Link to this sectionUltralyticsプラットフォームとの統合#
similarity searchシステムを構築するチームにとって、データセットの管理とEmbeddingモデルの学習は重要な第一歩です。Ultralytics Platformは、データ管理、クラウド学習、モデルデプロイメントのためのツールを提供することで、このワークフローを簡素化します。object detectionや分類のためのベースモデルが高い性能を発揮するようにすることで、最終的なベクトルが正確で意味のある検索結果を提供できるようになります。






