ベクトル類似度検索は平面に隠れる
人工知能(AI)は、最も曖昧な物事の進め方さえも変える可能性を秘めている。例えば、毎年(COVIDが開催される前はともかく)香港マラソンには7万3,000人以上が参加する。レース参加者全員の完走タイムを適切に感知し、記録するために、主催者は7万3000個のRFIDチップ・タイマーをランナー一人ひとりに配布する。チップ計時は複雑な作業で、明らかな欠点がある。材料(チップと電子読み取り装置)は計時会社から購入するかレンタルしなければならず、レース当日にはランナーがチップを受け取るための受付エリアを用意しなければならない。さらに、センサーをスタート地点とゴール地点にしか設置しない場合、不誠実なランナーがコースをカットする可能性もある。
マラソン・ランナーのタイム計測は、ロジスティクス上の課題である。](https://assets.zilliz.com/blog_1_e55c133e05.jpeg)
ここで、1枚の写真を使ってゴール地点で撮影された映像から個々のランナーを自動的に識別できるビデオAIアプリケーションを想像してみよう。参加者一人ひとりに計時チップを取り付けるのではなく、ランナーはフィニッシュラインを通過した後、アプリを通じて自分の写真をアップロードするだけでいい。瞬時に、パーソナライズされたハイライトリール、レース統計、その他の関連情報が提供される。レース中のさまざまな地点に設置されたカメラは、参加者の追加映像を撮影し、各ランナーがコース全体を通過したことを確認することができる。どちらのソリューションが導入しやすく、費用対効果が高そうですか?
香港マラソンでは(まだ)機械学習を活用して計時チップを置き換えることはしていないが、この例はAIが身の回りのあらゆるものを劇的に変化させる可能性を示している。レースの計時では、何万ものチップを機械学習アルゴリズムと組み合わせた数台のカメラに減らすことができる。しかし、ビデオAIは、ベクトル類似性検索の数ある応用例のひとつに過ぎない。ベクトル類似性検索は、人工知能を使って1兆個規模の膨大な非構造化データセットを分析するプロセスである。この記事では、ベクトル検索技術とは何か、どのように利用できるのか、またオープンソースのソフトウェアやリソースによってこれまで以上にアクセスしやすくなっていることなど、ベクトル検索技術の概要を紹介する。
ジャンプ:*へ
ベクトル類似性検索とは](#what-is-vector-similarity-search)
ベクトル類似検索のアプリケーションにはどのようなものがありますか](#What-are-some-applications-of-vector-similarity-search)
オープンソースのベクトル類似性検索ソフトウェアとリソース](#open-source-vector-similarity-search-software-and-resources)
ベクトル類似性検索とは?
動画データは驚くほど詳細で、ますます一般的になっているため、論理的には、動画AIを構築するための教師なし学習シグナルとして最適であるように思える。現実にはそうではない。特に大量の動画データの処理と分析は、依然として人工知能の課題である。この分野における最近の進歩は、非構造化データ分析における進歩の多くと同様、ベクトル類似性探索に負うところが大きい。
ビデオの問題点は、他の非構造化データと同様に、あらかじめ定義されたモデルや組織構造に従っていないため、大規模な処理や分析が難しいことである。非構造化データには、画像、音声、ソーシャルメディアでの行動、文書などが含まれ、総計で全データの80~90%以上を占めると推定されている。企業は、膨大で謎めいた非構造化データセットに埋もれているビジネスクリティカルな洞察にますます気づき、この未知の可能性を利用できるAIアプリケーションの需要を促進している。
CNN、RNN、BERTなどのニューラルネットワークを使用すると、非構造化データを機械可読の数値データ形式である特徴ベクトル(別名エンベッディング)に変換することができる。そして、コサイン類似度やユークリッド距離のような尺度を用いて、ベクトル間の類似性を計算するアルゴリズムが使用される。ベクトル埋め込みと類似性検索により、以前は識別できなかったデータセットを使って、機械学習アプリケーションを分析・構築することが可能になる。
ベクトルの類似性は確立されたアルゴリズムを用いて計算されるが、構造化されていないデータセットは一般的に巨大である。つまり、効率的で正確な検索には、膨大なストレージと計算能力が必要になる。類似検索の高速化](https://medium.com/unstructured-data-service/how-to-choose-an-index-in-milvus-4f3d15259212#7a9a)とリソース要件の削減のために、近似最近傍(ANN)検索アルゴリズムが使用される。類似ベクトルをクラスタリングすることで、ANNアルゴリズムは、データセット全体を検索するのではなく、類似ベクトルを含む可能性が最も高いベクトルのクラスタにクエリを送信することを可能にする。このアプローチはより高速ですが、ある程度の精度が犠牲になります。ANNアルゴリズムを活用することで、ベクトル検索は何十億ものディープラーニング・モデルの洞察をミリ秒単位で調べ上げることができる。
ベクトル類似検索の応用例にはどのようなものがありますか?
ベクトル類似性検索は、人工知能、ディープラーニング、伝統的なベクトル計算のシナリオなど、多岐に渡るアプリケーションを持っています。以下は、様々なベクトル類似性探索のアプリケーションのハイレベルな概要である:
Eコマース:*ベクトル類似性検索は、買い物客がスマートフォンで撮影した画像やオンラインで見つけた画像を使って商品を検索できる逆画像検索エンジンなど、Eコマースにおいて幅広い応用が可能である。さらに、ユーザーの行動、興味、購入履歴などに基づいたパーソナライズされたレコメンデーションは、ベクトル検索に依存する特別なレコメンデーションシステムによって提供される。
**ビデオAIは、セキュリティ分野におけるベクトル類似性検索の数あるアプリケーションの一つに過ぎない。他のシナリオとしては、顔認識、行動トレース、ID認証、インテリジェントアクセス制御などがある。さらに、ベクトル類似性検索は、ますます一般化し巧妙化するサイバー攻撃を阻止する上で重要な役割を果たしている。例えば、コード類似性検索は、既知の脆弱性やマルウェアのデータベースとソフトウェアの一部を比較することによって、セキュリティリスクを特定するために使用することができます。
**レコメンデーション・エンジン: **レコメンデーション・エンジンとは、機械学習とデータ分析を利用して、製品、サービス、コンテンツ、情報をユーザーに提案するシステムである。ユーザーの行動、類似ユーザーの行動、その他のデータをディープラーニングの手法で処理し、レコメンデーションを生成する。十分なデータがあれば、エンティティ間の関係を理解し、それらを自律的に表現する方法を発明するようにアルゴリズムを訓練することができる。レコメンデーションシステムは応用範囲が広く、ネットフリックスのコンテンツ推薦、アマゾンのショッピング推薦、フェイスブックのニュースフィードなど、人々がすでに毎日接しているものだ。
**チャットボット: **伝統的に、チャットボットは大規模な学習データセットを必要とする通常の知識グラフを使用して構築される。しかし、ディープラーニングモデルを使用して構築されたチャットボットは、データを前処理する必要はありません-その代わりに、頻繁に使用される質問と回答の間のマップが作成されます。事前に訓練された自然言語処理(NLP)モデルを使用して、質問から特徴ベクトルを抽出し、ベクトルデータ管理プラットフォームを使用して保存し、クエリすることができます。
**ディープ・ラーニング・ネットワークは、1970年代後半から視覚的なパターンを認識するために使われてきた。
化学的類似性検索: 化学的類似性は、化学化合物の特性を予測し、特定の属性を持つ化学物質を見つけるための鍵であり、新薬の開発に欠かせない。特徴ベクトルで表されるフィンガープリントを分子ごとに作成し、ベクトル間の距離を使って類似性を測定する。新薬の発見にAIを活用することは、テック業界で勢いを増しており、ByteDance(TikTokの中国の親会社)は【この分野の人材の採用】を始めている(https://techcrunch.com/2020/12/23/bytedance-ai-drug/)。
オープンソースのベクトル類似性検索ソフトウェアとリソース。
ムーアの法則、クラウド・コンピューティング、リソース・コストの低下は、人工知能をこれまで以上に身近なものにしたマクロなトレンドである。オープンソースソフトウェアやその他の一般に利用可能なリソースのおかげで、AI/MLアプリケーションの構築は大手テック企業だけのものではなくなりました。以下では、オープンソースのベクトルデータ管理プラットフォームであるMilvusの概要を紹介し、AIを誰もが利用できるようにするために役立つ、一般に公開されているデータセットを紹介する。
オープンソースのベクトルデータ管理プラットフォームMilvus
Milvusは、オープンソースのベクトルデータ管理プラットフォーム(別名ベクトルデータベース)で、大規模なベクトルデータ専用に構築されている。Facebook AI Similarity Search (Faiss)、Non-Metric Space Library (NMSLIB)、Annoyを搭載したMilvusは、様々な強力なツールを単一のプラットフォームの下にまとめ、それぞれのスタンドアロン機能を拡張している。このシステムは、大規模なベクトルデータセットの保存、処理、分析のために構築され、上記のすべてのAIアプリケーション(およびそれ以上)を構築するために使用することができます。
Milvusの詳細については、ウェブサイトを参照されたい。チュートリアル、Milvusのセットアップ手順、ベンチマークテスト、様々なアプリケーションの構築に関する情報は、Milvus bootcampで入手可能です。プロジェクトへの貢献に興味のある開発者は、GitHub上のMilvusのオープンソースコミュニティに参加することができる。
人工知能と機械学習のための公開データセット
グーグルやフェイスブックのようなテクノロジー大手が、小企業に対してデータ面で優位に立っていることは周知の事実であり、一部の識者は、一定の規模を超える企業に対して、匿名化されたデータの一部を小規模なライバル企業と共有することを強制する「漸進的データ共有義務」を提唱しているほどだ。幸いなことに、AL/MLプロジェクトに利用できる公開データセットは何千とある:
The People's Speech Dataset:** このML Commonsのデータセットは、59の異なる言語で87,000時間以上書き起こされた音声を含む、世界最大の音声データセットを提供している。
UC Irvine Machine Learning Repository: カリフォルニア大学アーバイン校は、機械学習コミュニティを支援するために、数百の公開データセットを管理している。
Data.gov:米国政府は、教育、気候、COVID-19などにまたがる数十万のオープンデータセットを提供している。
Eurostat: 欧州連合(EU)の統計局は、経済や金融から人口や社会状況まで、様々な業界にまたがるオープン・データセットを提供している。
Harvard Dataverse:** The Harvard Dataverse Repository は、分野を超えて研究者に公開されている無料のデータリポジトリである。多くのデータセットが公開されているが、利用条件が制限されているものもある。
このリストは決して網羅的なものではないが、驚くほど多様なオープンデータセットを発見するための良い出発点である。公開データセットや、あなたの次のMLやデータサイエンス・プロジェクトに適したデータの選択に関するより詳しい情報は、こちらのMedium postをご覧ください。
ベクトルの類似性検索についてもっと学ぶには、以下のリソースをチェックしてください:
- ベクターインデクシングによるビッグデータでの類似検索の高速化](https://zilliz.com/blog/Accelerating-Similarity-Search-on-Really-Big-Data-with-Vector-Indexing)
読み続けて

Context Engineering Strategies for AI Agents: A Developer’s Guide
Learn practical context engineering strategies for AI agents. Explore frameworks, tools, and techniques to improve reliability, efficiency, and cost.

Similarity Metrics for Vector Search
Exploring five similarity metrics for vector search: L2 or Euclidean distance, cosine distance, inner product, and hamming distance.

Vector Databases vs. Time Series Databases
Use a vector database for similarity search and semantic relationships; use a time series database for tracking value changes over time.
