用語集

ベクトル・データベース

ベクトルデータベースが、効率的な類似検索、意味検索、インテリジェントシステムの異常検知を可能にすることで、AIにどのような革命をもたらすかをご覧ください。

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

さらに詳しく

人工知能や機械学習の分野では、高次元データを効率的に管理し、照会することが重要です。そこで活躍するのがベクトルデータベースであり、ベクトル埋め込みデータの保存と検索に特化したソリューションを提供する。構造化データやキーワードベースの検索に最適化された従来のデータベースとは異なり、ベクトルデータベースはベクトル埋め込みを扱い、類似検索を実行するように設計されているため、さまざまなAIアプリケーションに不可欠なツールとなっている。

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

ベクトルデータベースの中核には、ベクトル埋め込みという概念がある。ベクトル埋め込みは、テキスト、画像、音声などのデータを高次元ベクトルに変換した数値表現である。これらのベクトルは、データ内の意味や関係を捉え、機械学習モデルが複雑な情報を理解し処理することを可能にする。例えば、自然言語処理(NLP)では、単語や文章は、その文脈上の意味を反映した埋め込みに変換することができる。同様に、コンピュータ・ビジョンでは、画像は視覚的特徴や内容を捉える埋め込みに変換することができます。エンベッディングが機械学習でどのように使用され、様々なAIアプリケーションを強力にするのかについては、こちらをご覧ください。

AI/MLにおける関連性と応用

ベクトル・データベースは、類似検索を効率的に行うことができるため、AIやMLにおいて特に重要である。伝統的なデータベースでは、類似項目を見つけるには複雑なクエリーと遅い処理が必要になるかもしれない。しかしベクトルデータベースは、埋め込み空間においてクエリベクトルに「近い」ベクトルを素早く特定することに優れている。この能力は、いくつかのAIタスクにとって基本的なものである:

  • 類似検索と推薦システム:ベクターデータベースは、推薦システムを構築するのに重要な、効率的な類似検索を可能にする。例えば、電子商取引では、商品のエンベッディングをベクトルデータベースに格納することができる。ユーザが商品とインタラクションする際、システムは、表示された商品の埋め込みに近いベクトルをデータベースに問い合わせることで、類似商品を素早く見つけ、推薦することができる。レコメンデーションシステムは、様々なプラットフォームにおいて、ユーザー体験をパーソナライズし、エンゲージメントを高めるために広く利用されている。
  • セマンティック検索:従来のキーワードベースの検索では、クエリの根本的な意味を捉えることができないことが多い。ベクトルデータベースによる意味検索は、クエリと文書の意味的類似性に基づいて検索することにより、この制限を克服する。クエリとドキュメントの両方をベクトル空間に埋め込むことで、ベクトルデータベースは、たとえ同じキーワードを共有していなくても、クエリと意味的に関連するドキュメントを検索することができる。これにより、より適切で正確な検索結果が得られ、文書検索やチャットボットなどのアプリケーションにおけるユーザーエクスペリエンスが向上する。
  • 画像とビデオの検索コンピュータビジョンにおいて、ベクトルデータベースは画像やビデオの検索のようなタスクに不可欠である。画像やビデオフレームをベクトル埋め込みに変換することで、ベクトルデータベースを使用して視覚的に類似したコンテンツを検索することができる。例えば、医療画像解析では、医師がベクトルデータベースを使用して、患者のスキャン画像に類似した医療画像を見つけ、診断や治療計画に役立てることができる。同様に、セキュリティシステムでは、ビデオ監視映像を分析し、ベクトルデータベースでインデックス化することで、特定のイベントやオブジェクトを効率的に検索することができる。
  • 異常検知:ベクトルデータベースは異常検出にも利用できる。典型的なデータ埋め込みに基づく「正常な」ベクトル空間を確立することで、逸脱や異常は正常なクラスタから離れたベクトルとして迅速に特定できる。これは不正検知、ネットワーク・セキュリティ、予知保全において有用である。

ベクター・データベースの主な特徴

ベクターデータベースには、AI/MLワークロードに適したいくつかの重要な特徴がある:

  • スケーラビリティ:ベクターデータベースは、ベクター埋込みの膨大なデータセットを扱うように設計されており、データ量とクエリ負荷の増大に対応するために水平方向にスケーリングします。スケーラビリティは、大規模で増え続けるデータセットを扱うことが多い実世界のAIアプリケーションにとって非常に重要です。
  • 高次元データのサポート:埋め込み表現に典型的な高次元ベクトルの格納とクエリに最適化されている。高次元のデータを効率的に扱うことは、ベクトルデータベースの核となる要件である。
  • 効率的な類似検索:ベクターデータベースは、HNSW(Hierarchical Navigable Small Worlds)やANN(Approximate Nearest Neighbors)のような特殊なインデックス作成技術を採用し、高速かつ正確な類似検索を可能にしている。これらの技術により、検索の待ち時間が大幅に短縮され、リアルタイムアプリケーションの実現が可能になります。
  • MLフレームワークとの統合:多くのベクトル・データベースは、以下のような一般的な機械学習フレームワークとのシームレスな統合を提供している。 PyTorchやTensorFlow のような一般的な機械学習フレームワークとのシームレスな統合を提供し、AI アプリケーションの開発とデプロイを簡素化しています。

ベクターデータベースと従来のデータベースの比較

従来のリレーショナルデータベースは、構造化されたデータを管理し、完全一致のクエリを実行するのに優れていますが、ベクトル埋め込みに必要なファジーで類似性に基づいたクエリには最適化されていません。一方、ベクトルデータベースは、この目的に特化して構築されています。高次元のベクトルデータと類似性検索に対してはるかに効率的な、異なるインデックス作成とクエリメカニズムを使用しています。この違いを理解することは、AIプロジェクトに適したデータベースを選ぶ際に非常に重要です。

結論として、ベクトルデータベースは現代のAIや機械学習インフラの礎石である。ベクトル埋め込みを効率的に格納し、インデックスを作成し、クエリを実行するその能力は、推薦エンジンやセマンティック検索から画像検索や異常検知に至るまで、幅広いアプリケーションを解放し、インテリジェントシステムの構築に不可欠なコンポーネントとなっている。

すべて読む