検索
連載

密ベクトル(Dense Vector)とは? 疎ベクトル(Sparse Vector)との違いAI・機械学習の用語辞典

全てまたはほとんどの成分が0以外の数値を持つベクトルを「密ベクトル」と呼び、その代表例にはテキストなどのEmbedding(埋め込み表現)がある。また、大部分の成分が0で、一部のみが0以外の数値を持つベクトルを「疎ベクトル」と呼び、その代表例にはテキスト文書のtf-idf値がある。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「AI・機械学習の用語辞典」のインデックス

連載目次

用語解説

 AI/データサイエンス/機械学習/自然言語処理の分野では、テキストや画像、ユーザー評価などのさまざまなデータを数値ベクトルで表現することがある。数値ベクトルとは、例えば[0.47, 0.10, 0.26, 0.89, −0.71, ...][0, 0, 1, 0, 0, ...]のように実数値が並べられた配列のことだ。

 この表現方法には、主に「密(みつ)ベクトル」と「疎(そ)ベクトル」の2つの形式がある(図1)。本稿では、それぞれの特徴と違いについて解説する。

図1 「密ベクトル」と「疎ベクトル」のイメージ
図1 「密ベクトル」と「疎ベクトル」のイメージ

密ベクトル

 密なベクトルDense Vector)とは、全てまたはほとんどの要素(=成分)が0以外の実数値を持つ数値ベクトルを指す。例えば[0.47, 0.10, 0.26, 0.89, −0.71, ...]は密ベクトルである。自然言語処理の埋め込み表現(Embedding)も密ベクトルの一例だ。

 以下に特徴と用例を箇条書きで示す。

特徴

  • 全ての要素を用いて情報を密に表現するため、数値計算やモデルの訓練において一般的に効率的である
  • 意味的な類似性を基にした検索においては、密ベクトルを使ったベクトル検索(Vector Search、セマンティック検索の一種)の方が、一般的に疎ベクトルよりも高精度になる
  • 微妙なニュアンスや複雑なパターンを捉えられるので、特に自然言語や画像データの分析に有効

用例

  • 単語やテキスト、画像、音声などの埋め込み表現
  • 画像データのピクセル値
  • センサーデータや時系列データの特徴ベクトル: 例えば心拍数モニターデータを特定の時間窓ごとに平均化して要約した密ベクトルで表現し、時系列分析を行うなど
  • ユーザープロファイルや行動データ: 例えばユーザーの好みや行動を密ベクトルで表現し、パーソナライズされた推薦を生成するなど

疎ベクトル

 疎なベクトルSparse Vector)とは、大部分の要素(=成分)が0であり、少数の要素のみが0以外の実数値を持つ数値ベクトルを指す。例えば[0, 0, 1, 0, 0, ...]は疎ベクトルである。テキスト文書のtf-idf値やBM25スコア(後日解説予定)などが疎ベクトルの一例だ。

 以下に特徴と用例を箇条書きで示す。

特徴

  • ほとんどの要素が0であるため情報を効率的に圧縮/スキップできる。これによって、一般的に密ベクトルよりもメモリ使用量とストレージの消費を削減できる
  • つまりメモリ効率が良く計算コストも低いので、大量の文書を扱う場合に有利
  • 疎ベクトル(tf-idf/BM25など)を使ったキーワード検索(Keyword Search)*1の方が、一般的に密ベクトルよりも高速になる

*1 現在(2024年2月執筆時点)では、「ベクトル検索」と言えば、一般的に密ベクトルである埋め込み表現を使った検索を指す。疎ベクトルも数値ベクトルなので、疎ベクトルを使った検索は「ベクトル検索」とも呼べるが、ここでは「基本的に従来のキーワード検索と同等の仕組み」という意味で「キーワード検索」の一種として表記した。


用例

  • 単語やテキストなどの特徴表現: 例えば文書内の単語の出現頻度や重要度を示すtf-idf値など
  • 類似文書の検索や、文書のキーワード検索、大規模なデータセットに対する情報検索
  • ユーザー評価: 例えば多数の商品に対する各ユーザーの評価を疎ベクトルで表現し、推薦システムに利用するなど
  • ソーシャルネットワークのユーザー関係: 例えばユーザー間のフォロー関係やインタラクションを疎ベクトルで表現し、コミュニティ分析に利用するなど
「AI・機械学習の用語辞典」のインデックス

AI・機械学習の用語辞典

Copyright© Digital Advantage Corp. All Rights Reserved.

[an error occurred while processing this directive]
ページトップに戻る