JPWO2012077818A1 - ハッシュ関数の変換行列を定める方法、該ハッシュ関数を利用するハッシュ型近似最近傍探索方法、その装置及びそのコンピュータプログラム - Google Patents

ハッシュ関数の変換行列を定める方法、該ハッシュ関数を利用するハッシュ型近似最近傍探索方法、その装置及びそのコンピュータプログラム Download PDF

Info

Publication number
JPWO2012077818A1
JPWO2012077818A1 JP2012547940A JP2012547940A JPWO2012077818A1 JP WO2012077818 A1 JPWO2012077818 A1 JP WO2012077818A1 JP 2012547940 A JP2012547940 A JP 2012547940A JP 2012547940 A JP2012547940 A JP 2012547940A JP WO2012077818 A1 JPWO2012077818 A1 JP WO2012077818A1
Authority
JP
Japan
Prior art keywords
data
hash function
binary
database
hash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012547940A
Other languages
English (en)
Other versions
JP5971722B2 (ja
Inventor
青野 雅樹
雅樹 青野
淳司 立間
淳司 立間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyohashi University of Technology NUC
Original Assignee
Toyohashi University of Technology NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyohashi University of Technology NUC filed Critical Toyohashi University of Technology NUC
Publication of JPWO2012077818A1 publication Critical patent/JPWO2012077818A1/ja
Application granted granted Critical
Publication of JP5971722B2 publication Critical patent/JP5971722B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Fuzzy Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

インターネット上に存在するデータの量は拡大の一途をたどっているので、検索サイトに用いられる検索アルゴリズムには更なる精度の向上が期待されている。データによる多様体上の局所的な近傍構造で表される非線形な関係を保持し、短いバイナリ符号に変換する新しいハッシュ型近似最近傍探索手法を提案する。

Description

本発明はハッシュ関数の変換行列を定める方法、該ハッシュ関数を利用するハッシュ型近似最近傍探索方法、その装置及びそのコンピュータプログラムに関する。
現在、インターネット上には、文書、画像、音楽、動画など様々なデータが大量に存在している。これら大量のデータを有効利用するため、大規模データベースを対象とし、高速に検索質問と類似するものを見つけ出す技術が、コンピュータビジョンやテキストマイニングの分野で注目されている。例えば、画像であれば、カメラ付き携帯電話で商品を撮影し、それと見た目が類似した商品を、大量の商品データから瞬時に検索することができる。また、特定の風景画像を検索したい場合に、大規模画像データベースから類似する画像を高速に検索できれば、どこで撮影された画像かを即座に判定することができる。
一般的に、文書ベクトルや画像の特徴ベクトルは、数百から数千の高次元なものとなる。高次元特徴ベクトルで、大規模データベースを検索対象とした場合、線形探索では実用的な検索速度を得ることは難しい。この問題に対して、近似最近傍探索という、大規模データベースで高速な検索を実現する技術が注目されている。
近似最近傍探索は、木構造型とハッシュ型(非特許文献1)の二つに大きく分類される。木構造型近似最近傍探索は、特徴空間上に張られる軸の分割を繰り返して木構造を生成し、探索の際に探索範囲を狭めることで高速に探索を行う。探索範囲は、検索クエリとの暫定的な距離と許容誤差で定義される半径による超球で定義されるが、高次元ベクトルデータを対象とした場合に、次元の呪いの影響をうける。ハッシュ型近似最近傍探索は、高次元ベクトルデータを、短いバイナリ符号に変換し、これをハッシュテーブルのキーとすることで、高速に検索を行う。特徴空間上での距離関係をとらえ、類似するベクトルデータ同士では、バイナリ符号間のハミング距離が小さくなるように変換することで、次元の呪いの影響を小さくできる。また、短いバイナリ符号に変換することで、検索インデックスに必要な容量を抑えることもできる。
ハッシュ型近似最近傍探索で焦点となるのは、高次元ベクトルデータをバイナリ符号に変換するアルゴリズムである。その目的は、 n次元の m個のベクトルデータ集合 X =[x1, x2,..., x] ∈ Rn × mが与えられた場合に、ハッシュ関数 hを用いて、ベクトルデータ間の類似関係を保持したまま、dビットのバイナリ符号集合 Y =[y1, y2,..., ym] ∈ Bd × m
へと変換することである。
Locality Sensitive Hashing (LSH)は、最も知られているハッシュ型近似近傍探索アルゴリズムである。 LSHのハッシュ関数は以下の特性を満たすことを条件としている。
Pr[h(xi)= h(xj)] = sim(xi, xj)
ここで、sim(xi, xj) ∈ [0, 1]は、類似度を表す関数である。これは、類似するベクトルデータ同士は、同じハッシュ値になることを示している。 Charikarは、内積による類似度 sim(xi, xj)= xi T xjを考え、データxと同じ次元の標準正規分布 N(0,I)によるランダムな超平面(変換ベクトル)rとの積によるハッシュ関数を提案した。
hi(x) = sign(ri T x)ここで、signは、与えられた数値の符号を返す関数である。バイナリ符号yは、以下のようにして得る。
y =[y1,y2, ..., yd]T
yi = (1+ hi(x))/2
このハッシュ関数が、 LSHの特性を満たすことは、最大カット問題の近似解法で示される。
Figure 2012077818
また、Kulisらは、非線形な写像 Φ(x)の内積による類似度 sim(xi, xj)= k(xi, xj)= Φ(xi )TΦ(xj)を用いた Kernelized Locality Sensitive Hashing (KLSH)を提案した。
Salakhutdinovらは、ユニット数を徐々に減少させた複数の Restricted Boltzmann Machines(RBM)によるネットワーク構造を用いてバイナリ符号を得る Semantic Hashingを提案した。Semantic Hashingのアルゴリズムでは、教師なしの事前訓練フェーズと、教師ありの微調整フェーズの二段階の学習からなる。事前訓練フェーズでは、ある層での出力は次の層の入力となるように、段階を追って各層ごとに訓練が実施される。微調整フェーズでは、ラベル付きデータを用いて、誤差逆伝搬法により、事前訓練フェーズで得られた重みを調整する。Torralbaらは、この Semantic Hashingを類似画像検索に応用し、 LSHよりも高い検索精度を得た。
Weissらが提案した Spectral Hashing (SH)は、グラフの分割問題を応用してバイナリ符号を求める(非特許文献2)。Weissらは、ハッシュ型近似最近傍探索における有効なバイナリ符号を求めるため、(1)新規データのバイナリ符号計算が容易であること (2)わずかなビット数で全データセットを表現すること (3)類似するデータは類似するバイナリ符号となること、の三つの条件を設定した。これら条件を満たすバイナリ符号を求めるため、 Weissらは、以下の最小化問題を考えた。
目的関数:
Figure 2012077818
制約条件
Figure 2012077818
Figure 2012077818
Figure 2012077818
ここで、 Wi,j = exp(-||xi - xj||22)であり、式 (1)は、特徴空間の局所的な類似関係をバイナリ符号に反映することを示す。制約条件において、式 (2)は、バイナリ符号が -1と 1からなることを、式 (3)は、各ビットは偏りなく -1もしくは 1を取り得ることを、式 (4)は、異なるビット間は互いに独立であることを表す。 Weissらは、式 (2)の制約条件を緩和することで、グラフラプラシアンの固有ベクトルを求める問題とした。 SHは、 LSH、KLSH、Semantic Hashingなどよりも検索精度が高いことが知られている。
この他に、逐次学習を応用して頑健なバイナリ符号を得る手法、ラベルが付与されたデータを用いてデータの類似・相違を教師する手法、平行移動不変カーネルで表されるデータ間の関係を保持したバイナリ符号を得る手法、ベクトルデータの分布とバイナリ符号の分布によるカルバック・ライブラー情報量が最小となるようにバイナリ符号を求める手法などがある。
特開2010−39778号公報 特開2009−75603号公報 特開2006−309718号公報
Charikar,M., Similarity estimation techniques from rounding algorithms, In Proceedings of the thirty-fourth annual ACM symposium on Theory of computing, pp.280-288, 2002. Weiss,Y.,Torralba,A.,Fergus,R., Spectral hashing, In The Naural Information Processing Systems, Vol.21, pp.1753-1760,2008. Wang,B.,Li,Z.,Li,M.,Ma,W-Y., Large-Scale Duplicate Detection for Web Image Search, In Proceedings of IEEE International Conference on Multimedia and Expo, pp.353-356, 2006.
インターネット上に存在するデータの量は拡大の一途をたどっているので、検索サイトに用いられる検索アルゴリズムには更なる精度の向上が期待されている。
そこで本発明者らは、検索サイト用の検索アルゴリズムとして現在利用されている上記LSHに着目し、その改良、即ち検索精度の向上を検討した。
その結果、LSHでは、そこで用いられる下記ハッシュ関数
hi(x) = sign(ri T x)
において変換ベクトルrがランダムに決められているため、ベクトルデータをバイナリ符号に変換したとき、もととなるベクトルデータ間の類似関係が充分に維持されないおそれがあると考えた。
非特許文献3には、ベクトルデータが含まれるデータベースの特性を当該変換ベクトルに反映させ、もってバイナリ符号に変換する際にベクトルデータ間の類似関係維持を図ろうとする試みが示されている。
しかしながら非特許文献3に記載の方法は、主成分分析法を利用しているため、非線形構造をなす多次元空間のデータベースの特性を充分に変換ベクトルに反映させることには無理がある。
そこで本発明者らは、変換ベクトルにデータベースがなす非線形構造を反映させるべく鋭意検討を重ねた結果、この発明に想到した。
即ち、この発明の第1の局面は次のように規定される。
データベースに含まれる第1のベクトルデータx(n次元)をバイナリ符号であるy=[y1,y2,…yd]、ただし、n>>dに変換するハッシュ型近似最近傍探索方法において、
下記式(A)〜式(C)より前記バイナリ符号を得る下記ハッシュ関数h(x)に適用する変換行列rを定める方法であって、
Figure 2012077818
ここに、前記バイナリ符号yは次のように表わされる、
Figure 2012077818
Figure 2012077818
前記第1のベクトルデータxを前記バイナリ符号yのビット数である前記dの次元に射影したときの第2のベクトルデータhを下記式(D)で規定したとき、
Figure 2012077818
ただし、
Figure 2012077818
下記式(E)が最小になる変換行列Fを求め、この変換行列Fを式(A)の変換行列rとする、
Figure 2012077818
ただし、wijは前記データベースの第1のベクトルデータxにつき、
Figure 2012077818
式(F)を最小とする重みである、ハッシュ関数の変換行列を定める方法。
第1の局面に規定の発明の基本原理を以下に説明する。
高次元ベクトルデータをバイナリ符号に変換するアルゴリズムの多くが、次元削減のアルゴリズムに基づいている。次元削減の目的は、高次元空間上でベクトルデータがなす、低次元の部分空間を推定することである。近年、全体では非線形構造を成していても、局所的には通常のユークリッド空間と同じ構造をなす、多様体の性質を利用した非線形次元削減手法が幾つか提案されている。その内、Locally Linear Embedding (LLE)は、局所的な範囲で低次元の線形モデルをあてはめ、それらが滑らかに繋がるように全体の多様体を推定する。このLLEによる多様体構造の推定方法を用いて、ベクトルデータがなす非線形な関係をとらえたバイナリ符号を得る。以下、Weissらと同様に、問題の簡単化のため、式(2)の制約条件を緩和する。
局所的な範囲で低次元の線形モデルをあてはめるため、それぞれのベクトルデータxiを、近傍のベクトルデータ xj ∈Niを用いて再構成することを考える。これは、以下の再構成誤差を最小化することで表される。
Figure 2012077818
ここで、wijは、再構成する際の重みである。再構成には近傍のベクトルデータを用いるため、
Figure 2012077818
重みの大きさの任意性を解決するためΣj wij = 1 とする。各ベクトルデータでの再構成誤差は、
Figure 2012077818
と表わせる。ここで、 Cjk =(xi - xj)T (xi - xk)とした。この再構成誤差は、ラグランジュ乗数ηiを用いて
Figure 2012077818
となる。極致を求めるため、wijについて偏微分し0とおくことで、以下の線形方程式を解く問題となる。
Figure 2012077818
以上の重みを求める計算については、 de Ridderらや Panらの研究で詳述されている。
近傍による再構成の重みwijで表される、それぞれのベクトルデータにおける局所的な関係を、バイナリ符号に反映させるため、Weissらの最小化問題において、式(1)の目的関数を以下のものに置き換える(式(E))。
Figure 2012077818
さらに、新規データのバイナリ符容易に求められるよう、変換行列 F ∈ Rn×dによる線形変換を考える(式D)。
Figure 2012077818
ここで、式 (3)の制約条件を満たすため、平均ベクトル x ̄で引いた。
Figure 2012077818
バイナリ符号の集合を H =[h1, ..., hm]と表すと、式 (E)の目的関数は、以下のように表される。
Figure 2012077818
ここで、M =(I - W )(I - W )Tとした。さらに、式 (4)の制約条件は、
Figure 2012077818
となり、式(6)の目的関数の最小化は、
Figure 2012077818
と表わせる。これは、ラグランジュの未定乗数法から、
Figure 2012077818
となるので、Fで偏微分して0としておくことにより、
Figure 2012077818
以下の一般固有値問題へと帰着する。
Figure 2012077818
Figure 2012077818
上記において、ベクトルデータhは、ベクトルデータxをバイナリ符号yのビット数であるdの次元に射影したものである。変換行列Fを式(A)の変換行列rへ当てはめる。
上記において、局所的な近傍構造を表す重み Wijを、それぞれのベクトルデータの近傍から求める。しかし、注目しているベクトルデータに対して、近傍が密集して位置するものもあれば、遠く離れて位置するものもある。そこで、この分布の偏りによる影響を軽減するため、各ベクトルデータでの近傍の分布を表すスコアを定義する。
Figure 2012077818
近傍の分布を考慮した変換行列 Fは、分布スコアからなる対角行列 D = diag[d1, ..., dm]により、以下の最小化問題を解くことで得られる。
Figure 2012077818
これは、ラグランジュの未定乗数法から、
Figure 2012077818
と表わすことができる。さらに、Xがフルランク行列であれば、 XT Xは正則となることから、
Figure 2012077818
Figure 2012077818
Xがフルランク行列ではない場合は、特異値分解を用いて、行列 Xのランク数 lと等しい次元の部分空間に射影する。
Figure 2012077818
Figure 2012077818
上記の処理はいわゆるグラフラプラシアンの理論を用いて、重みWijを正規化したことを意味し、n次空間のベクトルデータxをd次空間への射影するとき、n次空間におけるベクトルデータxの分布の偏りの影響を軽減できる。よって、ベクトルデータ得られた変換行列Fはデータベースの特性をより正確に反映したものとなる。
図1は、この発明のハッシュ型近似最近傍検索システムの構成を示すブロック図である。 図2は、20-newsgroupsでビット数を8から64まで変化させた場合の、検索結果上位400件における適合率(Precision)を表したグラフである。 図3は、20-newsgroupsで検索結果の上位件数を変化させた場合の、ビット数64における再現率 (Recall)を表したグラフである。 図4は、20-newsgroupsにおける再現率と適合率を表したグラフである。 図5は、CIFAR-10でビット数を8から64まで変化させた場合の、検索結果上位1,000件における適合率(Precision)を表したグラフである。 図6は、 CIFAR-10で検索結果の上位件数変化させた場合の、ビット数 64における再現率 (Recall)を表したグラフである。 図7は、 CIFAR-10における再現率と適合率を表したグラフである。 図8は、CIFAR-10で、SHとNSHによる 32ビットのバイナリ符号を用いた、自動車の画像での検索結果上位20件を並べたものである。 図9は、実施例のハッシュ型近時最近傍探索装置を示すブロック図である。
このようにして定められた変換行列を有するハッシュ関数を用いてハッシュ型近似最近傍検索を行なうシステム1を図1に示す。
図1において、訓練データベース3、テストデータベース13、テストデータバイナリ符号データベース19はサーバのメモリ装置の所定の領域が対応される。
訓練データベース3のデータはベクトル化処理部5において所定の方法でベクトル化される。
ハッシュ関数特定部7は、ベクトル化された訓練データベース3のデータ(第1のベクトルデータx)の一部又は全部を用いて、既述の処理を行ない、変換ベクトルFを特定し、もって、第1のベクトルデータxをバイナリ符号化するハッシュ関数を特定する。
テストデータベース13のデータは、ベクトル化処理部15において、ベクトル化処理部5と同一の方法でベクトル化される。
バイナリ符号化部17は、ハッシュ関数特定部7で特定されたハッシュ関数を用いてベクトル化されたテストデータベースのデータの一部又は全部をバイナリ符号に変換し、テストデータバイナリ符号データベース19に保存する。
クライアントPCが検索対象特定部20に対応し、この検索対象特定部20においてユーザが検索対象を特定する。特定された検索対象はベクトル化処理部21においてベクトル化処理される。このベクトル化処理の方法は、既述のベクトル化処理部5において、訓練データベース3のデータを第1のベクトルデータに変換したベクトル化処理法と同一である。
このようにしてベクトル化された検索対象はバイナリ符号化部23において、ハッシュ関数特定部7で特定されたハッシュ関数を用いてバイナリ符号化される。比較部25は、検索対象のバイナリ符号をテストデータバイナリ符号データベース19に保存されているテストデータバイナリ符号と比較し、例えば、検索対象のバイナリ符号に対する距離が所定の閾値以内のものを、近い順に出力する。
この発明の探索方法を評価するために、ベンチマークに20-newsgroupsと CIFAR-10を用いて、従来手法との比較実験を行った。従来手法には、Locality-Sensitive Hashing (LSH)、Kernelized Locality-Sensitive Hashing (KLSH)、Spectral Hashing (SH)を選択した。この内、アルゴリズム中に乱数生成を含むLSHとKLSHについては、5回実行して平均をとった。
20-newsgroupsは、Usenet newsgroupから取得した18,845件のニュースグループの文書からなる。各文書は、異なる20個のニュースグループのいずれかに分類され、11,314件が訓練データセットとして、7,531件がテストデータとして与えられる。各アルゴリズムの訓練には、訓練データセットからランダムに選択した5,000件を用いた。実験では、前処理として単語のステミングとストップワードの除去を行ったのち、文書頻度の大きいほうから 2,000語を選択し、tf-idfにより重み付けを行った文書ベクトルを作成した。本発明のパラメータは、事前実験により求めた最適値、近傍数 k = 205、分布スコアのガウスカーネル幅 λ =4.0を用いた。
図1は、20-newsgroupsでビット数を8から64まで変化させた場合の、検索結果上位400件における適合率(Precision)を表したグラフである。全てのビット数で、本件発明(NSH)が最も大きな適合率となっている。図3は、20-newsgroupsで検索結果の上位件数を変化させた場合の、ビット数64における再現率 (Recall)を表したグラフである。全ての上位件数で、本件発明(NSH)が最も大きな再現率となっているのがわかる。図4は、20-newsgroupsにおける再現率と適合率を表したグラフである。曲線が右上に伸びるほど検索精度が高いと言える。本件発明(NSH)が、従来手法と比較して、正確性・網羅性ともに高いことがわかる。
20-newsgroupsは、20個のカテゴリに分類されているが、それらは、コンピュータの話題やスポーツの話題など、大きく分類することもできる。これらは高次元の文書ベクトル空間で、類似した話題のものが集まりながらも、粗密をなして複雑な構造を成していると予想する。ベクトルデータの非線形構造を推定し、分布の偏りを重みにより考慮する本件発明(NSH)は、従来手法と比較して、この複雑な文書ベクトル空間を正しくとらえられたと考える。
CIFAR-10は、飛行機や自動車、イヌなどの 10種類のラベルが付与されクラス分けされた、60,000個の 32 × 32のカラー画像が含まれており、50,000個が訓練データセットとして、10,000個がテストデータセットとして与えられる。各アルゴリズムの訓練には、訓練データセットからランダムに選択した 5,000個を用いた。実験では、RGBごとに 4×4領域 6方向 4スケールで 3×4×4×6×4=1, 152次元の GIST特徴ベクトルを抽出し、それをバイナリ符号に変換した。本件発明(NSH)のパラメータは、事前実験により求めた最適値、近傍数 k = 90、分布スコアのガウスカーネル幅 λ =0.5を用いた。
図5は、CIFAR-10でビット数を8から64まで変化させた場合の、検索結果上位1,000件における適合率(Precision)を表したグラフである。全てのビット数で、本件発明(NSH)が最も大きな適合率となっている。図6は、 CIFAR-10で検索結果の上位件数変化させた場合の、ビット数 64における再現率 (Recall)を表したグラフである。全ての上位件数で、本件発明(NSH)が最も大きな再現率となっているのがわかる。図7は、 CIFAR-10における再現率と適合率を表したグラフである。本件発明(NSH)が、従来手法と比較して、正確性・網羅性ともに高いことがわかる。
CIFAR-10には、飛行機や自動車などからなる乗り物画像と、イヌやシカなどからなる生物画像に、大きく分けられる。しかし、画像全体では特定の色が多く使用されている、背景が類似しているなどの要因で、特徴空間上では、乗り物画像と生物画像がはっきりと区別されることなく、粗密をなして分布していると予想する。分布の偏りを重みにより抑えつつ、ベクトルデータがなす非線形な構造を推定する NSHは、この特徴空間上の複雑なデータ関係を、従来手法と比較して正しくとらえられたと考える。
図8は、CIFAR-10で、SHとNSHによる 32ビットのバイナリ符号を用いた、自動車の画像での検索結果上位20件を並べたものである。左上端の画像が検索質問画像であり、正解の画像は緑色の枠で、不正解の画像は赤色の枠で囲んだ。SHと比較して、本件発明(NSH)では適合画像が多く、検索精度が高いことがわかる。
本件発明(NSH)は、特徴空間上の局所的な近傍構造に基づいて、ベクトルデータがなす非線形構造をとらえた短いバイナリ符号を得る。文書データベンチマーク20-newsgroupsと画像データベンチマーク CIFAR-10を用いた比較実験から、 Spectral Hashingなどの従来手法よりも高い検索精度を得られることが確認できた。
実施例のハッシュ型近似近最傍探索装置100を図9に示す。
この装置100は、検索サーバ101とクライアント端末200がネットワークN1を介して接続されている。任意の数のクライアント端末200をネットワークN1へ接続可能で、ネットワークN1はインターネット300へ開いていてもよい。
検索サーバ101はデータ保存部110とデータ処理部120とを備える。データ保存部110は原データ取得・保存部111を備える。この原データ取得・保存部111は被検索対象となるデータを、インターネット300を介して外部のデータベースから取得し、保存する。外部のデータベースは特定のデータが整理保存された商用、または検索用のデータベースはもとより、法人若しくは個人が運営するホームページ、ブログ、ツイッター等も含まれるものとする。
訓練データ抽出・更新部113は、原データ取得・保存部111に保存されたデータから無作為にデータを抽出し、訓練データとする。抽出するデータ数は特に限定されるものではないが、既述の試験例に準じて5000個程度とすることが好ましい。なお、この訓練データは周期的に、若しくは任意のタイミングで更新することが好ましい。
ベクトル化処理部121及びハッシュ関数特定部123の動作は、図1のベクトル化処理部5及びハッシュ関数特定部7と同じである。即ち、訓練データ抽出・更新部121で抽出されたデータを特徴量次元削減法等の汎用的な手法(第1のベクトル化方法)でベクトル化処理し、ハッシュ関数特定部123において、本発明の手法に従いハッシュ関数(第1のハッシュ関数)を特定する。
ベクトル化処理部121は原データ取得・保存部111のデータの全部をまたは所定のルールで選択されたその一部を訓練データと同様にベクトル化処理する。ベクトル化処理され原データは、バイナリ符号化部125においてバイナリ符号化データに次元削減される(前処理130)。このとき、ハッシュ関数特定部123において特定されたハッシュ関数が利用される。バイナリ符号化されたデータはバイナリ符号化データ保存部115に保存される。
クライアント端末200において、検索対象となるデータが入力部210で指定される。指定されたデータはベクトル化処理部221において、検索サーバ101のベクトル化処理部121と同一の方法によりベクトル化される。バイナリ符号化部223には、検索サーバ101のハッシュ関数特定部123で特定されたハッシュ関数が提供され、ベクトル化された検索対象データをバイナリ符号化する。このようにしてバイナリ符号化された検索対象データは検索サーバ101の比較部127へ送られる。比較部127はバイナリ符号化された検索対象データとバイナリ符号化データ保存部115に保存されているバイナリ符号化された原データとを比較し、所定のルールに従い近似するデータを抽出する。
比較部127で抽出されたデータはクライアント端末200の出力部230へ送られ、ここで出力される。なお、出力部230はバイナリ符号化されたデータをデコード(逆ハッシュ関数処理、逆ベクトル処理)し、原データの状態で表示できる。
この比較部を端末側に配置することができる。また、比較部を、検索サーバ及び端末と独立して設置することもできる。
1 ハッシュ型近似最近傍検索システム
3、13、19データベース
5、15、21 ベクトル化処理部
7 ハッシュ関数特定部
17、23 バイナリ符号化部
25 比較部

Claims (11)

  1. データベースに含まれる第1のベクトルデータx(n次元)をバイナリ符号であるy=[y1,y2,…yd]、ただし、n>>dに変換するハッシュ型近似最近傍探索方法において、
    下記式(A)〜式(C)より前記バイナリ符号yを得る下記ハッシュ関数h(x)に適用する変換行列rを定める方法であって、
    Figure 2012077818
    ここに、前記バイナリ符号yは次のように表わされる、
    Figure 2012077818
    Figure 2012077818
    前記第1のベクトルデータxを前記バイナリ符号yのビット数である前記dの次元に射影したときの第2のベクトルデータhを下記式(D)で規定したとき、
    Figure 2012077818
    ただし、
    Figure 2012077818
    下記式(E)が最小になる変換行列Fを求め、この変換行列Fを式(A)の変換行列rとする、
    Figure 2012077818
    ただし、wijは前記データベースの第1のベクトルデータxにつき、
    Figure 2012077818
    式(F)を最小とする重みである、ハッシュ関数の変換行列を定める方法。
  2. 前記変換行列Fを求める際に前記重みwijを正規化する、請求項1に規定の方法。
  3. 前記正規化は、前記データベースにおける第1のベクトルデータxでの近傍の分布を下記式(G)のスコアで定義し、
    Figure 2012077818
    この分布スコアの対角行列D=diag[d1,……,dm] をもとめて、グラフラプラシアン理論に基づき行なう、請求項2に記載の方法。
  4. 原データベースの原データから訓練データを抽出する訓練データ生成部と、
    前記訓練データに基づき第1のハッシュ関数を特定するハッシュ関数特定部と、
    前記第1のハッシュ関数を用いて前記原データベースの原データをバイナリ符号化するバイナリ符号化部と、
    バイナリ符号化された前記原データを保存するバイナリ符号化データ保存部と、を備える検索サーバと、
    入力された検索対象データを前記第1のハッシュ関数を用いてバイナリ符号化する第2のバイナリ符号化部を備えるクライアント端末と、
    前記クライアント端末の第2のバイナリ符号化部でバイナリ符号化された検索対象データと前記バイナリ符号化された原データとを比較する比較部と、
    を備える、ハッシュ型近似最近傍探索装置において、
    前記第1のハッシュ関数は請求項1〜請求項3にいずれかの方法で定められる、ハッシュ型近似最近傍探索装置。
  5. ハッシュ型近似最近傍探索装置に用いられる検索サーバであって、
    原データベースの原データから訓練データを抽出する訓練データ生成部と、
    前記訓練データに基づき第1のハッシュ関数を特定するハッシュ関数特定部と、
    前記第1のハッシュ関数を用いて前記原データベースの原データをバイナリ符号化するバイナリ符号化部と、
    バイナリ符号化された前記原データを保存するバイナリ符号化データ保存部と、を備え、
    前記第1のハッシュ関数は請求項1〜請求項3にいずれかの方法で定められる、検索サーバ。
  6. 原データベースの原データから訓練データを抽出する訓練データ生成部と、
    前記訓練データを第1のベクトル化方法に基づきベクトル化処理する第1のベクトル化処理部と、
    ベクトル化処理された前記訓練データに基づき第1のハッシュ関数を特定するハッシュ関数特定部と、
    前記原データを前記第1のベクトル化方法に基づきベクトル化処理する第2のベクトル化処理部と、
    前記第1のハッシュ関数を用いて前記ベクトル化処理された原データをバイナリ符号化するバイナリ符号化部と、
    バイナリ符号化された前記原データを保存するバイナリ符号化データ保存部と、を備える検索サーバと、
    入力された検索対象データを前記第1のベクトル化方法に基づきベクトル化処理する第3のベクトル化処理部と、
    前記ベクトル化処理された検索対象データを前記第1のハッシュ関数を用いてバイナリ符号化する第2のバイナリ符号化部を備えるクライアント端末と、
    前記クライアント端末の第2のバイナリ符号化部でバイナリ符号化された検索対象データと前記バイナリ符号化された原データとを比較する比較部と、
    を備える、ハッシュ型近似最近傍探索装置において、
    前記第1のハッシュ関数は請求項1〜請求項3にいずれかの方法で定められるハッシュ型近似最近傍探索装置。
  7. ハッシュ型近似最近傍探索装置に用いられる検索サーバであって、
    原データベースの原データから訓練データを抽出する訓練データ生成部と、
    前記訓練データを第1のベクトル化方法に基づきベクトル化処理する第1のベクトル化処理部と、
    ベクトル化処理された前記訓練データに基づき第1のハッシュ関数を特定するハッシュ関数特定部と、
    前記原データを前記第1のベクトル化方法に基づきベクトル化処理する第2のベクトル化処理部と、
    前記第1のハッシュ関数を用いて前記ベクトル化処理された原データをバイナリ符号化するバイナリ符号化部と、
    バイナリ符号化された前記原データを保存するバイナリ符号化データ保存部と、を備え、
    前記第1のハッシュ関数は請求項1〜請求項3にいずれかの方法で定められる、検索サーバ。
  8. 請求項1〜請求項3のいずれかの方法により定められた変換行列を備えるハッシュ関数を利用するハッシュ型近似最近傍探索方法。
  9. 前記データベースとして所定の訓練データベースを用いて、請求項1〜請求項3のいずれかの方法により定められた変換行列を備えるハッシュ関数を特定するステップと、
    特定されたハッシュ関数をテストデータベースに適用し、該テストデータベースのベクトルデータをテストデータバイナリ符号に変換するステップと、
    検索対象のベクトルデータへ前記ハッシュ関数を適用して検索対象バイナリ符号を作成するステップと、
    該検索対象バイナリ符号を前記テストデータバイナリ符号と比較するステップと、
    備えるハッシュ型近似最近傍探索方法。
  10. 前記データベースとして所定の訓練データベースを用いて、請求項1〜請求項3のいずれかの方法により定められた変換行列を備えるハッシュ関数を特定するハッシュ関数特定部と、
    特定されたハッシュ関数をテストデータベースに適用し、該テストデータベースのベクトルデータをテストデータバイナリ符号に変換する変換部と、
    検索対象のベクトルデータへ前記ハッシュ関数を適用して検索対象バイナリ符号を作成するバイナリ符号作成部と、
    該検索対象バイナリ符号を前記テストデータバイナリ符号と比較する比較部と、
    備えるハッシュ型近似最近傍探索装置。
  11. コンピュータを、
    前記データベースとして所定の訓練データベースを用いて、請求項1〜請求項3のいずれかの方法により定められた変換行列を備えるハッシュ関数を特定するハッシュ関数特定部と、
    特定されたハッシュ関数をテストデータベースに適用し、該テストデータベースのベクトルデータをテストデータバイナリ符号に変換する変換部と、
    検索対象のベクトルデータへ前記ハッシュ関数を適用して検索対象バイナリ符号を作成するバイナリ符号作成部と、
    該検索対象バイナリ符号を前記テストデータバイナリ符号と比較する比較部と、
    備えるハッシュ型近似最近傍探索装置として機能させるコンピュータプログラム。
JP2012547940A 2010-12-10 2011-12-12 ハッシュ関数の変換行列を定める方法、該ハッシュ関数を利用するハッシュ型近似最近傍探索方法、その装置及びそのコンピュータプログラム Expired - Fee Related JP5971722B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010276013 2010-12-10
JP2010276013 2010-12-10
PCT/JP2011/078702 WO2012077818A1 (ja) 2010-12-10 2011-12-12 ハッシュ関数の変換行列を定める方法、該ハッシュ関数を利用するハッシュ型近似最近傍探索方法、その装置及びそのコンピュータプログラム

Publications (2)

Publication Number Publication Date
JPWO2012077818A1 true JPWO2012077818A1 (ja) 2014-05-22
JP5971722B2 JP5971722B2 (ja) 2016-08-17

Family

ID=46207299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012547940A Expired - Fee Related JP5971722B2 (ja) 2010-12-10 2011-12-12 ハッシュ関数の変換行列を定める方法、該ハッシュ関数を利用するハッシュ型近似最近傍探索方法、その装置及びそのコンピュータプログラム

Country Status (2)

Country Link
JP (1) JP5971722B2 (ja)
WO (1) WO2012077818A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014050952A1 (ja) 2012-09-27 2014-04-03 日本電気株式会社 バイナリデータ変換方法と装置及びプログラム
CN108777614B (zh) * 2018-07-05 2023-08-18 清华大学 一种加解密装置和基于通用散列函数的加解密方法
CN110069666B (zh) * 2019-04-03 2021-04-06 清华大学 基于近邻结构保持的哈希学习方法和装置
CN115935200B (zh) * 2023-01-12 2023-09-08 北京三维天地科技股份有限公司 一种基于哈希和海明距离的海量数据相似性计算方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3953295B2 (ja) * 2001-10-23 2007-08-08 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報検索システム、情報検索方法、情報検索を実行させるためのプログラムおよび情報検索を実行させるためのプログラムが記録された記録媒体
JP5291523B2 (ja) * 2009-04-21 2013-09-18 株式会社データ変換研究所 類似データ検索装置及びそのプログラム
JP5224537B2 (ja) * 2009-06-01 2013-07-03 日本電信電話株式会社 局所性検知可能ハッシュの構築装置、類似近傍検索処理装置及びプログラム

Also Published As

Publication number Publication date
WO2012077818A1 (ja) 2012-06-14
JP5971722B2 (ja) 2016-08-17

Similar Documents

Publication Publication Date Title
Amid et al. TriMap: Large-scale dimensionality reduction using triplets
CN110866140B (zh) 图像特征提取模型训练方法、图像搜索方法及计算机设备
CN110059198B (zh) 一种基于相似性保持的跨模态数据的离散哈希检索方法
He et al. Scalable similarity search with optimized kernel hashing
Liu et al. Collaborative hashing
Wang et al. Query-specific visual semantic spaces for web image re-ranking
Wu et al. Scalable face image retrieval with identity-based quantization and multireference reranking
Wu et al. Semi-supervised nonlinear hashing using bootstrap sequential projection learning
Tsai et al. Large-scale image annotation using visual synset
Lou et al. Matchminer: Efficient spanning structure mining in large image collections
US20150356199A1 (en) Click-through-based cross-view learning for internet searches
US20090282025A1 (en) Method for generating a representation of image content using image search and retrieval criteria
US20160188633A1 (en) A method and apparatus for tracking microblog messages for relevancy to an entity identifiable by an associated text and an image
WO2013129580A1 (ja) 近似最近傍探索装置、近似最近傍探索方法およびそのプログラム
US20110022550A1 (en) Mixing knowledge sources with auto learning for improved entity extraction
CN109784405B (zh) 基于伪标签学习和语义一致性的跨模态检索方法及系统
US20110176724A1 (en) Content-Aware Ranking for Visual Search
Xu et al. Sparse-representation-based classification with structure-preserving dimension reduction
Pedronette et al. Exploiting contextual information for image re-ranking and rank aggregation
JP5971722B2 (ja) ハッシュ関数の変換行列を定める方法、該ハッシュ関数を利用するハッシュ型近似最近傍探索方法、その装置及びそのコンピュータプログラム
KR101435010B1 (ko) 다수의 특징을 이용한 순차적 바이너리 코드 학습 방법 및 학습 장치
US11941792B2 (en) Machine learning-based analysis of computing device images included in requests to service computing devices
Xu et al. Detection method of wheat rust based on transfer learning and sharpness‐aware minimization
CN114490923A (zh) 相似文本匹配模型的训练方法、装置、设备及存储介质
Singh et al. Image collection summarization: Past, present and future

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160223

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160422

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160706

R150 Certificate of patent or registration of utility model

Ref document number: 5971722

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees