Vector Search
ベクトル検索が埋め込みを使用して類似データを見つける仕組みを解説します。正確な情報検索に向けて、Ultralytics YOLO26で高品質なベクトルを生成する方法を学びます。
ベクトル検索は、正確なキーワードの一致ではなく、数学的な特性に基づいてデータセット内の類似項目を特定する、高度な情報検索手法です。特定の文字列の検索に依存する従来のキーワード検索とは異なり、ベクトル検索はデータの基盤となる意味を分析します。この技術は、抽象的な概念間の関係をコンピューターが理解し、画像、音声ファイル、自然言語テキストなどの非構造化データを高い精度で処理できるため、現代の人工知能 (AI)アプリケーションの基盤となっています。
ベクトル検索の仕組み#
ベクトル検索の中核は、未加工のデータを埋め込みと呼ばれる高次元の数値ベクトルに変換することです。このプロセスでは、項目を多次元空間上の点にマッピングし、概念的に類似する項目同士が近くに配置されるようにします。
-
ベクトル化: 深層学習 (DL)モデルが入力データ(たとえば、犬の画像)を処理し、特徴ベクトルを出力します。YOLO26のような高度なモデルは、こうした豊かな特徴表現を効率的に生成するためによく使用されます。
-
インデックス作成: 検索を高速に実行するため、これらのベクトルは専用のアルゴリズムを使用して整理され、多くの場合、専用のベクトルデータベースに保存されます。
-
類似度の計算: ユーザーがクエリを送信すると、システムはそのクエリをベクトルに変換し、コサイン類似度やユークリッド距離などの指標を使用して、保存されたベクトルとの距離を測定します。
-
検索: システムは「最近傍」を返します。これは、コンテキスト上で最も関連性の高い結果を表します。
Pythonの例: 埋め込みの生成#
ベクトル検索を実装するには、まずデータをベクトルに変換する必要があります。次のコードスニペットでは、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の分野では、ベクトル検索が「コーディネートを購入」機能を支えています。顧客が特定のハンドバッグを気に入った場合、システムは視覚的なベクトルが類似するアイテムを検索し、形状、質感、スタイルを照合して、パーソナライズされたレコメンデーションシステムを構築します。
- 検索拡張生成 (RAG): 大規模言語モデル (LLMs)を強化するため、開発者はベクトル検索を使用してナレッジベースから関連ドキュメントを取得します。これによりAIにコンテキストが提供され、チャットボットとのやり取りにおけるハルシネーションが減少し、精度が向上します。
- 異常検出: 「正常な」操作のベクトルをクラスタリングすることで、システムはクラスタから大きく離れた外れ値を特定できます。これは、製造業の品質管理における異常検出やデータセキュリティにおいて重要です。
関連する概念との違い#
完全な機械学習 (ML)パイプラインを理解するには、ベクトル検索と類似する用語を区別すると役立ちます。
- ベクトル検索とセマンティック検索の比較: セマンティック検索は、ユーザーの意図(「何を」)を理解する、より広範なアプリケーションです。ベクトル検索は、ベクトル間の近接度(「どのように」)を計算することでこれを実現する、具体的なアルゴリズム上の手法です。
- ベクトル検索とベクトルデータベースの比較: ベクトルデータベースは、埋め込みを大規模に保存および管理するために設計されたインフラストラクチャです。ベクトル検索は、そのデータベースにクエリを実行して情報を取得するプロセスです。
- ベクトル検索とキーワード検索の比較: キーワード検索は、正確なテキスト文字列を照合します(例: 「apple」は「apple」に一致します)。ベクトル検索は意味を照合するため、単語が異なっていても、「apple」が「fruit」や「red」に一致する場合があります。
Ultralyticsプラットフォームとの統合#
類似度検索システムを構築するチームにとって、データセットの管理と埋め込みモデルのトレーニングは重要な最初のステップです。Ultralyticsプラットフォームは、データ管理、クラウドトレーニング、モデルデプロイメントのためのツールを提供することで、このワークフローを簡素化します。物体検出や分類のいずれの場合でも、ベースモデルの性能を高く保つことで、生成されるベクトルが正確で意味のある検索結果を提供できるようになります。









