JPWO2012077818A1 - ハッシュ関数の変換行列を定める方法、該ハッシュ関数を利用するハッシュ型近似最近傍探索方法、その装置及びそのコンピュータプログラム - Google Patents
ハッシュ関数の変換行列を定める方法、該ハッシュ関数を利用するハッシュ型近似最近傍探索方法、その装置及びそのコンピュータプログラム Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash 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)の二つに大きく分類される。木構造型近似最近傍探索は、特徴空間上に張られる軸の分割を繰り返して木構造を生成し、探索の際に探索範囲を狭めることで高速に探索を行う。探索範囲は、検索クエリとの暫定的な距離と許容誤差で定義される半径による超球で定義されるが、高次元ベクトルデータを対象とした場合に、次元の呪いの影響をうける。ハッシュ型近似最近傍探索は、高次元ベクトルデータを、短いバイナリ符号に変換し、これをハッシュテーブルのキーとすることで、高速に検索を行う。特徴空間上での距離関係をとらえ、類似するベクトルデータ同士では、バイナリ符号間のハミング距離が小さくなるように変換することで、次元の呪いの影響を小さくできる。また、短いバイナリ符号に変換することで、検索インデックスに必要な容量を抑えることもできる。
へと変換することである。
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の特性を満たすことは、最大カット問題の近似解法で示される。
Salakhutdinovらは、ユニット数を徐々に減少させた複数の Restricted Boltzmann Machines(RBM)によるネットワーク構造を用いてバイナリ符号を得る Semantic Hashingを提案した。Semantic Hashingのアルゴリズムでは、教師なしの事前訓練フェーズと、教師ありの微調整フェーズの二段階の学習からなる。事前訓練フェーズでは、ある層での出力は次の層の入力となるように、段階を追って各層ごとに訓練が実施される。微調整フェーズでは、ラベル付きデータを用いて、誤差逆伝搬法により、事前訓練フェーズで得られた重みを調整する。Torralbaらは、この Semantic Hashingを類似画像検索に応用し、 LSHよりも高い検索精度を得た。
目的関数:
そこで本発明者らは、検索サイト用の検索アルゴリズムとして現在利用されている上記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を定める方法であって、
高次元ベクトルデータをバイナリ符号に変換するアルゴリズムの多くが、次元削減のアルゴリズムに基づいている。次元削減の目的は、高次元空間上でベクトルデータがなす、低次元の部分空間を推定することである。近年、全体では非線形構造を成していても、局所的には通常のユークリッド空間と同じ構造をなす、多様体の性質を利用した非線形次元削減手法が幾つか提案されている。その内、Locally Linear Embedding (LLE)は、局所的な範囲で低次元の線形モデルをあてはめ、それらが滑らかに繋がるように全体の多様体を推定する。このLLEによる多様体構造の推定方法を用いて、ベクトルデータがなす非線形な関係をとらえたバイナリ符号を得る。以下、Weissらと同様に、問題の簡単化のため、式(2)の制約条件を緩和する。
上記において、局所的な近傍構造を表す重み Wijを、それぞれのベクトルデータの近傍から求める。しかし、注目しているベクトルデータに対して、近傍が密集して位置するものもあれば、遠く離れて位置するものもある。そこで、この分布の偏りによる影響を軽減するため、各ベクトルデータでの近傍の分布を表すスコアを定義する。
図1において、訓練データベース3、テストデータベース13、テストデータバイナリ符号データベース19はサーバのメモリ装置の所定の領域が対応される。
訓練データベース3のデータはベクトル化処理部5において所定の方法でベクトル化される。
ハッシュ関数特定部7は、ベクトル化された訓練データベース3のデータ(第1のベクトルデータx)の一部又は全部を用いて、既述の処理を行ない、変換ベクトルFを特定し、もって、第1のベクトルデータxをバイナリ符号化するハッシュ関数を特定する。
バイナリ符号化部17は、ハッシュ関数特定部7で特定されたハッシュ関数を用いてベクトル化されたテストデータベースのデータの一部又は全部をバイナリ符号に変換し、テストデータバイナリ符号データベース19に保存する。
このようにしてベクトル化された検索対象はバイナリ符号化部23において、ハッシュ関数特定部7で特定されたハッシュ関数を用いてバイナリ符号化される。比較部25は、検索対象のバイナリ符号をテストデータバイナリ符号データベース19に保存されているテストデータバイナリ符号と比較し、例えば、検索対象のバイナリ符号に対する距離が所定の閾値以内のものを、近い順に出力する。
20-newsgroupsは、Usenet newsgroupから取得した18,845件のニュースグループの文書からなる。各文書は、異なる20個のニュースグループのいずれかに分類され、11,314件が訓練データセットとして、7,531件がテストデータとして与えられる。各アルゴリズムの訓練には、訓練データセットからランダムに選択した5,000件を用いた。実験では、前処理として単語のステミングとストップワードの除去を行ったのち、文書頻度の大きいほうから 2,000語を選択し、tf-idfにより重み付けを行った文書ベクトルを作成した。本発明のパラメータは、事前実験により求めた最適値、近傍数 k = 205、分布スコアのガウスカーネル幅 λ =4.0を用いた。
この装置100は、検索サーバ101とクライアント端末200がネットワークN1を介して接続されている。任意の数のクライアント端末200をネットワークN1へ接続可能で、ネットワークN1はインターネット300へ開いていてもよい。
訓練データ抽出・更新部113は、原データ取得・保存部111に保存されたデータから無作為にデータを抽出し、訓練データとする。抽出するデータ数は特に限定されるものではないが、既述の試験例に準じて5000個程度とすることが好ましい。なお、この訓練データは周期的に、若しくは任意のタイミングで更新することが好ましい。
ベクトル化処理部121は原データ取得・保存部111のデータの全部をまたは所定のルールで選択されたその一部を訓練データと同様にベクトル化処理する。ベクトル化処理され原データは、バイナリ符号化部125においてバイナリ符号化データに次元削減される(前処理130)。このとき、ハッシュ関数特定部123において特定されたハッシュ関数が利用される。バイナリ符号化されたデータはバイナリ符号化データ保存部115に保存される。
この比較部を端末側に配置することができる。また、比較部を、検索サーバ及び端末と独立して設置することもできる。
3、13、19データベース
5、15、21 ベクトル化処理部
7 ハッシュ関数特定部
17、23 バイナリ符号化部
25 比較部
Claims (11)
- データベースに含まれる第1のベクトルデータx(n次元)をバイナリ符号であるy=[y1,y2,…yd]、ただし、n>>dに変換するハッシュ型近似最近傍探索方法において、
下記式(A)〜式(C)より前記バイナリ符号yを得る下記ハッシュ関数h(x)に適用する変換行列rを定める方法であって、
- 前記変換行列Fを求める際に前記重みwijを正規化する、請求項1に規定の方法。
- 原データベースの原データから訓練データを抽出する訓練データ生成部と、
前記訓練データに基づき第1のハッシュ関数を特定するハッシュ関数特定部と、
前記第1のハッシュ関数を用いて前記原データベースの原データをバイナリ符号化するバイナリ符号化部と、
バイナリ符号化された前記原データを保存するバイナリ符号化データ保存部と、を備える検索サーバと、
入力された検索対象データを前記第1のハッシュ関数を用いてバイナリ符号化する第2のバイナリ符号化部を備えるクライアント端末と、
前記クライアント端末の第2のバイナリ符号化部でバイナリ符号化された検索対象データと前記バイナリ符号化された原データとを比較する比較部と、
を備える、ハッシュ型近似最近傍探索装置において、
前記第1のハッシュ関数は請求項1〜請求項3にいずれかの方法で定められる、ハッシュ型近似最近傍探索装置。 - ハッシュ型近似最近傍探索装置に用いられる検索サーバであって、
原データベースの原データから訓練データを抽出する訓練データ生成部と、
前記訓練データに基づき第1のハッシュ関数を特定するハッシュ関数特定部と、
前記第1のハッシュ関数を用いて前記原データベースの原データをバイナリ符号化するバイナリ符号化部と、
バイナリ符号化された前記原データを保存するバイナリ符号化データ保存部と、を備え、
前記第1のハッシュ関数は請求項1〜請求項3にいずれかの方法で定められる、検索サーバ。 - 原データベースの原データから訓練データを抽出する訓練データ生成部と、
前記訓練データを第1のベクトル化方法に基づきベクトル化処理する第1のベクトル化処理部と、
ベクトル化処理された前記訓練データに基づき第1のハッシュ関数を特定するハッシュ関数特定部と、
前記原データを前記第1のベクトル化方法に基づきベクトル化処理する第2のベクトル化処理部と、
前記第1のハッシュ関数を用いて前記ベクトル化処理された原データをバイナリ符号化するバイナリ符号化部と、
バイナリ符号化された前記原データを保存するバイナリ符号化データ保存部と、を備える検索サーバと、
入力された検索対象データを前記第1のベクトル化方法に基づきベクトル化処理する第3のベクトル化処理部と、
前記ベクトル化処理された検索対象データを前記第1のハッシュ関数を用いてバイナリ符号化する第2のバイナリ符号化部を備えるクライアント端末と、
前記クライアント端末の第2のバイナリ符号化部でバイナリ符号化された検索対象データと前記バイナリ符号化された原データとを比較する比較部と、
を備える、ハッシュ型近似最近傍探索装置において、
前記第1のハッシュ関数は請求項1〜請求項3にいずれかの方法で定められるハッシュ型近似最近傍探索装置。 - ハッシュ型近似最近傍探索装置に用いられる検索サーバであって、
原データベースの原データから訓練データを抽出する訓練データ生成部と、
前記訓練データを第1のベクトル化方法に基づきベクトル化処理する第1のベクトル化処理部と、
ベクトル化処理された前記訓練データに基づき第1のハッシュ関数を特定するハッシュ関数特定部と、
前記原データを前記第1のベクトル化方法に基づきベクトル化処理する第2のベクトル化処理部と、
前記第1のハッシュ関数を用いて前記ベクトル化処理された原データをバイナリ符号化するバイナリ符号化部と、
バイナリ符号化された前記原データを保存するバイナリ符号化データ保存部と、を備え、
前記第1のハッシュ関数は請求項1〜請求項3にいずれかの方法で定められる、検索サーバ。 - 請求項1〜請求項3のいずれかの方法により定められた変換行列を備えるハッシュ関数を利用するハッシュ型近似最近傍探索方法。
- 前記データベースとして所定の訓練データベースを用いて、請求項1〜請求項3のいずれかの方法により定められた変換行列を備えるハッシュ関数を特定するステップと、
特定されたハッシュ関数をテストデータベースに適用し、該テストデータベースのベクトルデータをテストデータバイナリ符号に変換するステップと、
検索対象のベクトルデータへ前記ハッシュ関数を適用して検索対象バイナリ符号を作成するステップと、
該検索対象バイナリ符号を前記テストデータバイナリ符号と比較するステップと、
備えるハッシュ型近似最近傍探索方法。 - 前記データベースとして所定の訓練データベースを用いて、請求項1〜請求項3のいずれかの方法により定められた変換行列を備えるハッシュ関数を特定するハッシュ関数特定部と、
特定されたハッシュ関数をテストデータベースに適用し、該テストデータベースのベクトルデータをテストデータバイナリ符号に変換する変換部と、
検索対象のベクトルデータへ前記ハッシュ関数を適用して検索対象バイナリ符号を作成するバイナリ符号作成部と、
該検索対象バイナリ符号を前記テストデータバイナリ符号と比較する比較部と、
備えるハッシュ型近似最近傍探索装置。 - コンピュータを、
前記データベースとして所定の訓練データベースを用いて、請求項1〜請求項3のいずれかの方法により定められた変換行列を備えるハッシュ関数を特定するハッシュ関数特定部と、
特定されたハッシュ関数をテストデータベースに適用し、該テストデータベースのベクトルデータをテストデータバイナリ符号に変換する変換部と、
検索対象のベクトルデータへ前記ハッシュ関数を適用して検索対象バイナリ符号を作成するバイナリ符号作成部と、
該検索対象バイナリ符号を前記テストデータバイナリ符号と比較する比較部と、
備えるハッシュ型近似最近傍探索装置として機能させるコンピュータプログラム。
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)
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)
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 | 日本電信電話株式会社 | 局所性検知可能ハッシュの構築装置、類似近傍検索処理装置及びプログラム |
-
2011
- 2011-12-12 JP JP2012547940A patent/JP5971722B2/ja not_active Expired - Fee Related
- 2011-12-12 WO PCT/JP2011/078702 patent/WO2012077818A1/ja active Application Filing
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 |