JP2022089883A - クロスモーダルな特徴の抽出方法、抽出装置、ならびに、プログラム - Google Patents

クロスモーダルな特徴の抽出方法、抽出装置、ならびに、プログラム Download PDF

Info

Publication number
JP2022089883A
JP2022089883A JP2022062888A JP2022062888A JP2022089883A JP 2022089883 A JP2022089883 A JP 2022089883A JP 2022062888 A JP2022062888 A JP 2022062888A JP 2022062888 A JP2022062888 A JP 2022062888A JP 2022089883 A JP2022089883 A JP 2022089883A
Authority
JP
Japan
Prior art keywords
item
database
quantization
items
modal
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
JP2022062888A
Other languages
English (en)
Other versions
JP7360497B2 (ja
Inventor
シ ヤン
Yang Shi
容朱 鄭
YoungJoo CHUNG
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.)
Rakuten Group Inc
Original Assignee
Rakuten Group Inc
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 Rakuten Group Inc filed Critical Rakuten Group Inc
Publication of JP2022089883A publication Critical patent/JP2022089883A/ja
Application granted granted Critical
Publication of JP7360497B2 publication Critical patent/JP7360497B2/ja
Active 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/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90348Query processing by searching ordered data, e.g. alpha-numerically ordered data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Algebra (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

【課題】ディープバイナリハッシュと量子化を介するクロスモーダル検索のための新しい手法を提供する。【解決手段】システムは、訓練フェーズでは、複数のモーダル性をまたいだデータに対して、元のデータの意味論的な類似関係を保存する特徴ベクトル、バイナリコード、量子化コードを同時に学習して生成する。予測フェーズでは、データベース内のアイテムから、これとは異なるモーダル性を有するクエリに意味論的に類似するものを検索する。クエリに対して意味論的な意味の近さが上位のアイテムを同定するため、まず、アイテムの各々とクエリの間のバイナリハッシュコード距離に基づいて、データベース探索空間を絞り込む。次に、クエリと小さくなった探索空間内のデータベースアイテムの間の量子化距離を測る。クエリに意味論的に最も近くマッチするものとして、クエリに対する量子化距離が最も近いアイテムを同定する。【選択図】 図1

Description

本発明は、一般に、クロスモーダルデータ検索(cross-modal data retrieval)のためのニューラルネットワークの使用に関し、より詳細には、ディープバイナリハッシュと量子化の両方を使用した、より効率の良いクロスモーダル検索システムに関する。
マルチメディアデータの膨張にともなって、異なるモーダル性(modality)を有するコンテンツをまたいだ近似最近傍検索(approximate nearest neighbor search)が注目を集めている。クロスモーダル検索は、異なるモーダル性を有するコンテンツをまたいで、意味論的な意味が類似するデータを検索することを目的とする。クロスモーダルデータ検索の一つの例は、写真と、その写真を正しく記述するテキストと、をマッチさせることである。
クロスモーダル検索については、種々の公知の手法がある。ある手法では、異なるモーダル性を有するデータアイテムに対して密な特徴ベクトルを生成してから、種々の検索および順位付けアルゴリズム、たとえばコサイン類似度検索を当該密な特徴ベクトルに適用することにより、意味論的に類似するアイテムを、モーダル性をまたいで同定する(非特許文献1参照)。手作業で作られた統計およびさまざまなディープニューラルネットワークは、密な特徴を抽出するために使用される。しかしながら、密な特徴表現に基く検索および順位付けは、メモリ及び計算効率の制限を受けてしまう。
効率上の問題を解決するため、クロスモーダル検索については種々の符号化手法が提案されている。これらの手法では、各データアイテムの特徴をコード化した表現は、そのアイテムについて抽出された特徴から作成される。ある手法では、手作業で特徴が付与されたデータアイテムに対するバイナリコードを生成し、ならびに、バイナリコードに基づいてアイテム間の距離を計算することを含む(非特許文献2, 3参照)。
これらの手法は、密な特徴ベクトルに基づく検索よりも計算効率が良いものの、データを表現するためのバイナリコードの能力に制約があるため、正確さで劣る。この制約を克服するため、ある手法では、バイナリコードにかえて量子化コードを使用する(非特許文献4, 5参照)。
Amit Singhal, Modern information retrieval: A brief overview, Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, 34-43頁, 2001年 Shaishav Kumar and Raghavendra Udupa, Learning hash functions for cross-view similarity search, IJCAI, 1360-1365頁, 2001年 Shen and Dit-Yan Yeung, A probabilistic model for multi-modal hash function learning, KDD, 940-948頁, 2012年 Yue Cao, Mingsheng Long, Jianmin Wang, and Shichen Liu, Collective deep quantization for efficient cross-modal retrieval, AAAI, 3974-3980頁, 2017年 Erkun Yang, Cheng Deng, Chao Li, Wei Liu, Jie Li, and Dacheng Tao, Shared predictive cross-modal deep quantization, IEEE Transaction on Neural Networks and Learning Systems, 2019年
量子化コードは連続値であるため、内在的なデータをよりよく表現することができるので、より正確な検索が可能となる。しかしながら、量子化に基づく手法は、バイナリハッシュに比べて、計算効率の点で劣る。
したがって、バイナリコードに基づく既知手法よりも正確で、量子化コードに基づく既知手法よりも計算効率の良いクロスモーダル検索システムが求められている。
本開示は、ディープバイナリハッシュと量子化を介したクロスモーダル検索のための新しい手法に関する。この手法は、コンピュータシステムによって実行される。訓練フェーズでは、システムは、ニューラルネットワークモデル、バイナリハッシュアルゴリズム、ならびに、量子化アルゴリズムを同時に学習し、これらが協働することで、システムは、2以上のデータモーダル性にわたる特徴ベクトル、バイナリハッシュコード、および、量子化コードを生成できるようになり、しかも、内在的なデータにおける意味論的な類似関係が、これらのデータ表現内に保存(preserve)される。
特に、システムはニューラルネットワークを異なるモーダル性をもつラベル付けされた訓練データに適用して、訓練データに対する特徴ベクトルを生成し、ハイナリハッシュアルゴリズムと量子化アルゴリズムを使用して、特徴ベクトルから訓練データに対するバイナリハッシュコードと量子化コードをそれぞれ生成する。訓練データは、類似、あるいは、非類似にラベル付けされたデータアイテムの複数ペアからなり、各ペアは、少なくとも、異なるモーダル性を有する2つのデータアイテムを含む。学習された特徴とコードがモーダル性をまたがる訓練データアイテム間の類似あるいは非類似の関係を保存することを保証するため、well-definedな損失関数が使用される。
一つの実施形態では、損失関数は4つの部分からなる。
(1)異なるモーダル性の間の類似度を密な特徴ベクトルに基づいて測るクロスエントロピー損失。
(2)密な特徴ベクトルと量子化された特徴との間の違いを測る量子化損失。
(3)密な特徴ベクトルとバイナリ化された特徴との間の違いを測るバイナリハッシュ損失。
(4)バイナリコード内のビット情報を最適化するためのバランス損失。
多数の繰り返しに対して、システムは、特徴ベクトル、バイナリハッシュコード、および、量子化コードを訓練データに対して生成し、これらの表現に基いて損失値を計算し、その後に、ニューラルネットワーク、バイナリハッシュアルゴリズム、および、量子化アルゴリズムのパラメータを、損失値を最小化する方向へ更新する。このようにして、システムは、データモーダル性をまたいだ意味論的な類似関係を保存するようなニューラルネットワークモデル、バイナリハッシュアルゴリズム、および、量子化アルゴリズムを、同時に学習する。
予測フェーズでは、システムは、データベース内のデータアイテムであって異なるモーダル性を有するクエリアイテムに意味論的に類似するものを検索する。予測フェーズにおいて問題となるデータモーダル性は、訓練フェーズにおけるそれと同じである。まず、システムは、意味論的な意味においてクエリアイテムに最も近いデータベースアイテムを同定するため、それぞれのデータベースアイテムとクエリアイテムとの間のバイナリハッシュコード距離に基づいて、データベース探索空間を絞り込む。クエリアイテムとデータベースアイテムに対するバイナリハッシュコードは、訓練フェーズで訓練されたニューラルネットワークとバイナリハッシュアルゴリズムに基づいて生成される。
ついで、システムは、クエリアイテムと、絞り込みによって小さくなった探索空間内のデータと、の間の類似度を、当該小さくなった探索空間内のデータベースアイテムに対して生成された量子化コードを使用して(訓練フェーズで訓練された量子化アルゴリズムに基づいて)測る。システムは、量子化コードを使用することでクエリアイテムに意味論的マッチで最も近いものと同定される最近傍データベースアイテムを検索する。
本手法の利点は、少なくとも以下の2点にある。
(1)検索効率。探索空間を単純なバイナリコードで絞り込むことによって、検索プロセスの速度は、密な特徴ベクトルのみ、あるいは、量子化コードのみに基づいて探索をする手法に比べて格段に向上する。
(2)検索品質。特徴学習は、ハッシュ損失と量子化損失を用いて律則される。量子化では限られた数の連続特徴表現を学習する一方で、バイナリハッシュでは、特徴を離散化する。2つのコード化手法の組み合わせは、特徴学習における正則化として働くので、システムは、データモーダル性をまたいだ類似あるいは非類似を保存するような良いデータ表現を学習することができる。
バイナリハッシュコードと量子化コードを使用するクロスモーダル検索を実行するためのシステムを訓練するための1つの実施形態に係る方法を示すフローチャートである。 バイナリハッシュコードと量子化コードを使用するクロスモーダル検索のための1つの実施形態に係る方法を示すフローチャートである。 バイナリハッシュコードと量子化コードを使用するクロスモーダル検索のための1つの実施形態に係る方法を示すフローチャートである。 訓練プロセスの例を図解して示す説明図である。 予測フェーズの例を図解して示す説明図である。 バイナリハッシュコードと量子化コードを使用するクロスモーダルデータ検索を実行するシステム例のブロック図である。 ベクトルxからバイナリハッシュコードhxへの計算例を示す説明図である。 辞書Cを用いてベクトルxをベクトルbxへ量子化する計算例を示す説明図である。
本開示は、ディープバイナリハッシュと量子化を用いたクロスモーダル検索のためのシステム、方法、およびコンピュータプログラムに関する。本願で開示される方法は、コンピュータシステム(以下「システム」という。)によって実行される。
本方法は、訓練フェーズと予測フェーズを含む。訓練フェーズでは、システムは2以上のモーダル性をまたいだデータに対する特徴ベクトル、バイナリコード、量子化コードであって元のデータにおける意味論的な類似関係を保存するものを生成することを同時に学習する。意味論的な類似関係の保存には、データアイテム間の類似および非類似関係(該当する場合は)の保存を含む。予測フェーズでは、システムは、データベース内のデータアイテムであって異なるモーダル性を有するクエリアイテムに意味論的に類似するものを、バイナリハッシュと量子化の両方を用いて検索する。予測フェーズに関わるデータモーダル性は、訓練フェーズにおけるそれと同様である。
訓練フェーズおよび予測フェーズは、それぞれ、異なるエンティティ(entities)によって実行することもできる(すなわち、1つのエンティティにおけるコンピュータシステムがモデルを訓練し、他のエンティティにおけるコンピュータシステムが、訓練されたモデルを使用して、クロスモーダル検索を実行することとしても良い。)。そこで、以下では、「システム」という用語は、両フェーズを実行する1つのシステムを意味することもあるし、訓練フェーズの説明においては訓練フェーズのみを実行するシステムを意味することもあるし、予測フェーズの説明においては説明フェーズのみを実行するシステムを意味することもある。いずれにせよ、これらのフェーズの各々は、1つのコンピュータシステムによって実行される。訓練フェーズと予測フェーズの両方について、以下詳細に説明する。
(訓練フェーズ)
訓練方法について、図1および3Aを参照して説明する。図1は、バイナリハッシュと量子化を使用するクロスモーダルデータ検索を実行するシステムを訓練する方法を図示している。図3Aは、1つの実施形態に係る訓練方法の例を図解して示す。図解された例においては、2つのデータモーダル性は、画像とテキストであるが、本方法は、これらのモーダル性に限定されるものではない。
(訓練データ)
システムは、異なるモーダル性を有するデータアイテムの複数ペアからなる訓練データセットを取得する(ステップ110)。特に、各ペアは、第1モーダル性を有するデータアイテムと、第2モーダル性を有するデータアイテムと、を含み、第1モーダル性と、第2モーダル性と、は異なる。データモーダル性には、たとえば、テキスト、画像、動画等がある。たとえば、ペアのおける一方のアイテムはテキストアイテムであり、他方のアイテムは画像もしくは動画である。
ペアには、当該ペアが意味論的に類似するか否かを示すラベルが対応付けられている。1つの実施形態では、ペアには、バイナリ形式で単純に類似か非類似かのラベルが付される。たとえば、テキスト「犬」と犬の写真のペアは、類似のラベル(あるいは、「1」のような類似を表す数値表現)が付され、テキスト「自動車」と犬の写真には、「非類似」のラベル(あるいは、「0」のような非類似を表す数値表現)が付される。他の実施形態では、類似の度合を示すために、より段階的な尺度が使用される。たとえば、0-5の尺度があり、0は最も非類似を意味し、5は最も類似を意味する、等である。この場合、テキスト「ドーナツ」とドーナツの写真にはラベルとして「5」が付され、テキスト「食べ物」とドーナツの写真にはラベルとして「3」が付され、テキスト「猫」とドーナツの写真にはラベルとして「0」が付されることになる。
(特徴ベクトルの生成)
ニューラルネットワークを使用して、訓練データアイテムの特徴ベクトル表現を生成する。特に、システムは、第1ニューラルネットワークを、訓練データセット内の第1モーダル性を有するデータアイテムに適用して、これらのアイテムのそれぞれに対する特徴ベクトルを生成する(ステップ120)。同様に、システムは、第2ニューラルネットワークを、訓練データセット内の第2モーダル性を有するデータアイテムに適用して、これらのアイテムのそれぞれに対する特徴ベクトルを生成する(ステップ130)。たとえば、図3Aでは、鉢(bowl)に入ったりんご(apple)等の有機果実(organic fruits)が撮影された画像が訓練画像310として図示されており、「apple」「orange」「pear」「bowl」「fruits」「organic」が訓練テキストアイテム330として図示されている。本図に示すように、ニューラルネットワーク320は、画像の特徴抽出器として機能して、入力された訓練画像310のそれぞれに対する特徴ベクトルfiを生成し、ニューラルネットワーク340は、テキストの特徴抽出器として機能して、入力された訓練テキストアイテム330のそれぞれに対する特徴ベクトルfjを生成する。ある実施形態では、畳み込みニューラルネットワークを画像や動画のデータアイテムに適用し、長・短期記憶(LSTM; Long Short-Term Memory)ニューラルネットワークや多層パーセプトロンをテキストデータに適用する。ある実施形態では、特徴ベクトルは密な特徴ベクトルである。
(バイナリハッシュコードと量子化コードの生成)
以下に詳細に説明するように、システムは、訓練データアイテムのそれぞれに対するバイナリハッシュコードおよび量子化コードを、そのアイテムに対する特徴ベクトルから生成する(ステップ140)。
(バイナリハッシュ)
あるデータアイテムに対する特徴ベクトルx∈Rnが与えられると、システムはバイナリハッシュコードhx = H(x)∈Rnを計算する。ここで、H()は、連続値を、集合{+1,-1}に写像する関数である。たとえば、図3Aでは、バイナリハッシュコードhiが、画像特徴ベクトルfiに基づいて生成され、バイナリハッシュコードhjが、テキスト特徴ベクトルfjに基づいて生成される。
(量子化)
あるデータアイテムに対する特徴ベクトルx∈Rnが与えられると、システムは、量子化コードを、Cbx≒xにより計算する。
Figure 2022089883000002
ここで、C∈Rn×kは、量子化のための辞書(いわゆるコードブック)である。また、bxは、辞書内の列を示すインデックス指示子であり、これが量子化コードとなる。ある実施形態では、システムは、入力は辞書のいずれか1つに属することを仮定する(すなわち、||bx||0=1)。図3Aでは、量子化コードbiは、画像特徴ベクトルfiに基づいて生成され、量子化コードbjは、テキスト特徴ベクトルfjに基づいて生成される。
(特徴ベクトル、バイナリハッシュコード、量子化を同時に最適化)
前述の通り、システムは、訓練データに対して特徴ベクトル、バイナリハッシュコード、量子化コードを繰り返し生成し(ステップ120-140)、これらの表現に基づいて損失値を計算し(ステップ150)、ニューラルネットワーク、バイナリハッシュアルゴリズム、および、量子化アルゴリズムのパラメータを、損失値を最小化するように調整する(ステップ160)。システムは、学習された特徴ならびにバイナリハッシュおよび量子化コードがモーダル性をまたがる訓練データの間の意味論的な類似関係を保存する度合を測る損失関数を使用する(すなわち、意味論的に類似する2つのデータアイテムに対するハッシュコードと量子化コードが、類似するように訓練される)。
1つの実施形態では、損失関数は4つの部分からなる。
(1)異なるモーダル性の間の類似度を密な特徴ベクトルに基づいて測るクロスエントロピー損失。
(2)密な特徴ベクトルと量子化された特徴との間の違いを測る量子化損失。
(3)密な特徴ベクトルとバイナリ化された特徴との間の違いを測るバイナリハッシュ損失。
(4)バイナリコード内のビット情報を最適化するためのバランス損失。
この種の損失関数によって、システムは、特徴ベクトル、バイナリハッシュコード、および、量子化コードを同時に最適化できるようになる。
以下では、損失関数が4つの部分(すなわち、4つのサブ関数)に分かれて定義できる様子を示す。以下の数式のため、異なるモーダル性に由来するデータアイテムi, jを持つ訓練ペアを定義する。当該データアイテムは、密な表現による特徴fi, fjを有し、当該ペアは類似度ラベルsijを有する。ここで、sij=1は、アイテムi, jが類似すること意味し、sij=0は、アイテムi, jが非類似であること意味する。4つのサブ関数のそれぞれの例は、以下の通りである。
類似損失: 異なるモーダル性の間の類似度を測るため、最大事後確率(MAP; Maxixum a Posteriori)推定を使用することができる。対数MAPは以下の通りである。
Figure 2022089883000003
この式において、類似度ラベルsijに対する条件付き尤度(conditional likelihood)は、以下の通りである。
Figure 2022089883000004
ここで、σ(x)はシグモイド関数であり、〈x,y〉は内積演算である。
Figure 2022089883000005
事前にfiとfjが知られていると仮定して、クロスエントロピー損失項をLsimと表記すると、以下のように表現できる。
Figure 2022089883000006
ハッシュ損失: ハッシュ損失関数は、バイナリコード誤差を最小化する。長さnのバイナリコードh∈{+1,-1}nが与えられたとして、ハッシュ損失をLhと表記すると、以下のように表現できる。
Figure 2022089883000007
ここで、||A||Fは、行列もしくはベクトルAのフロベニウスノルムを意味する。
バランス損失: バイナリコード内のビット情報を最適化(して、ビット情報が最大限利用されるように)する。バランス損失をLbと表記すると、以下のように表現できる。
Figure 2022089883000008
ここで、太字の1は、要素として数値1が並んだベクトルである。これは、各訓練サンプルにおいて、+1と-1の個数を均衡させる。
量子化損失: 量子化誤差を最小化するため、システムは複数の辞書を使用し、以下の数式の結果の総和をとる。
Figure 2022089883000009
ただし、各辞書Cl∈Cn×k、バイナリ指示子bl∈{0,1}kであり、||bl||0=1である。ここで、||v||0は、ベクトルvの要素のうち非零の要素の個数を意味する。すると、量子化損失をLqと表記すると、以下のように表現することができる。
Figure 2022089883000010
これら4つの損失サブ関数を組み合わせると、以下の損失関数Lが得られる。
Figure 2022089883000011
ここで、λsim、λh、λb、λqは、異なる損失関数間を均衡させるためのハイパーパラメータである。
損失値を計算した後、システムは、ニューラルネットワーク、バイナリハッシュアルゴリズム、および、量子化アルゴリズムのパラメータを、損失値が減るように調整する。すなわち、システムは、ニューラルネットワークのパラメータ、バイナリハッシュコードh、辞書C、および、量子化コードbを、損失値が減るように調整する。ステップ120-160は、類似と(あるいは、段階的尺度において最も類似する、と)ラベル付けされたペアに含まれるデータアイテムのバイナリハッシュコード距離および量子化コード距離を最小化(および、好ましくは最小化)するために、何回も繰り返される(ステップ170)。順に実行される繰り返しのそれぞれにおいて、繰り返し進行中のニューラルネットワーク、バイナリハッシュアルゴリズム、および、量子化アルゴリズムの調整量に基づいて、新しい特徴ベクトル、バイナリハッシュコード、および量子化コードが生成される。ステップ120-160は、固定された回数繰り返しても良いし、収束するまで繰り返しても良い。
(予測フェーズ)
図2Aおよび2Bは、バイナリハッシュ及び量子化を用いて、異なるモーダル性を有するクエリアイテムに対して意味論的な意味が類似するデータベースアイテムをクロスモーダル検索する方法について図示する。予測フェーズでは、システムは、訓練フェーズで訓練されたニュートラルネットワーク、バイナリハッシュアルゴリズム、および、量子化アルゴリズムを使用する。予測フェーズにおけるデータモーダル性は、訓練フェーズにおけるデータモーダル性と同じである。これを説明する目的のため、データベースアイテムは第1モーダル性(訓練フェーズにおける第1モーダル性と同じもの)を有し、クエリアイテムは第2モーダル性(訓練フェーズにおける第2モーダル性と同じもの)を有するものとする。
(第1モーダル性を有するデータベースアイテムに対するバイナリハッシュコードと量子化コードの生成)
システムは、第1モーダル性を有するデータベースを複数持つデータベースにアクセスする(ステップ210)。システムは、第1ニューラルネットワークをデータベースアイテムに適用して、データベースアイテムの各々について、特徴ベクトルを生成する(ステップ220)。システムは、バイナリハッシュアルゴリズムと量子化アルゴリズムを使用して、データベースアイテムの各々について、バイナリハッシュコードと量子化コードを生成する(ステップ230)。これらのステップで使用される第1ニューラルネットワーク、および、バイナリハッシュならびに量子化アルゴリズムは、訓練フェーズで訓練されたものである。
前述した通り、実施形態によっては、システムは、異なるエンティティにて訓練フェーズおよび予測フェーズを実行しても良い。データベースアイテムに対してバイナリハッシュコードと量子化コードを作成するステップは、訓練を実行するシステムと同じシステムにより実行されても良いし、予測フェーズを実行するシステムは、データベースアイテムに対応付けられるバイナリハッシュコードと量子化コードを既に持っているデータベースに単にアクセスするだけでも良い。
(第2モーダル性を有するクエリアイテムを受け取る)
予測フェーズを実行するシステムは、第2モーダル性を有するクエリアイテムを受け取り、第2ニューラルネットワークをクエリアイテムに適用して、クエリアイテムに対する特徴ベクトルを生成する(ステップ240, 250)。ついで、システムは、特徴ベクトルとバイナリハッシュアルゴリズムに基づいて、クエリアイテムに対するバイナリハッシュコードを生成する(ステップ260)。実施形態によっては、アイテム間の類似度を測るために量子化コードに基づく量子化距離(quantization distance)あるいは非対称量子化距離(AQD; Asymmetric Quantization Distance)を使用するかに応じて、システムがクエリアイテムに対する量子化コードも生成することとしても良い(後述する)。
(探索空間の絞り込み)
システムは、クエリアイテムと、データベースアイテムの各々と、の間の距離(すなわち、類似性の尺度)を、クエリアイテムとデータベースアイテムのバイナリハッシュコードに基づいて計算する(ステップ260)。ある実施形態では、類似性の尺度はハミング距離
dist(hx,hy) = sum(hx XOR hy)
とする。ここで、hxおよびhyはクエリアイテムxおよびyに対するバイナリハッシュコードである。ハミング距離の値が大きくなればなるほど、アイテムxとyは意味論的に、一層非類似となる。
ついで、システムは、さらなる処理のためのデータベースアイテムの部分集合を選択することにより、データベース探索空間を絞り込む。特に、システムは、ステップ270にて計算された距離に基づいて、クエリアイテムとの意味論的な近さが上位のデータベースアイテムを複数選択する(ステップ275)。当該部分集合の大きさは、データベースアイテムの総数Nに応じて、たとえば0より大きく1未満の定数αを設定して、αNとなるように絞り込むことができる。たとえば、データベースアイテムを、クエリアイテムとの意味論的な近さでソートして、近さが1位からαN位までのデータベースアイテムを、この部分集合の要素とすれば良い。
(量子化コードに基いて最も意味論的に類似するデータベースアイテムを同定)
ついで、システムは、クエリアイテムと、絞り込まれた探索空間内のデータベースアイテムのそれぞれ(すなわち、選択された部分集合内のデータベースアイテムのそれぞれ)と、の間の量子化距離を計算する(ステップ280)。量子化距離は、
データベースアイテムの部分集合のそれぞれに対応付けられる量子化コードと、
クエリアイテムの特徴ベクトルもしくはクエリアイテムの量子化コードのいずれか一方と、
を使用して計算される。
このステップでクエリアイテムの特徴ベクトルを使用する場合は、類似性を測るために非対称量子化距離AQDを使用することができる。
AQD(x,y) = fx T (Cby)
ここで、
xはクエリアイテムであり、yはデータベースアイテムであり、
fxは、xの特徴ベクトルであり、
Tは転置操作であり、
Cは量子化に対する辞書であり、
byは、辞書の列を示すインデックス指示子である。
AQDの計算は、特徴ベクトルxと量子化コードyの間の内積の計算を含み、AQD値が大きければ大きいほど、xとyの量子化距離は近くなり、xとyは、一層類似することになる。
このステップでクエリアイテムの量子化コードを使用する場合は、類似度を測るために量子化距離(QD; Quantization Distance)を使用することができる。
QD(x,y) = (Cbx)T(Cby)
QD値が大きくなればなるほど、両アイテムの量子化距離は小さくなり、両アイテムは一層類似することになる。
システムは、クエリアイテムとの量子化距離が最も近いデータベースアイテムを検索する(ステップ290)が、これは、意味論的な意味がクエリアイテムに最も近いデータベースアイテムであると考えられるからである。
(予測フェーズの例の図示)
図3Bは、1つの実施形態に対する予測プロセスの例を図示して示す。この例では、システムは、画像クエリアイテム350 (本図では、ドーナツの形のオーナメントが飾られたクリスマスツリーの写真の画像を例として示す。)に対して、データベース365からマッチするテキスト記述を探す。ニューラルネットワーク360は、画像の特徴抽出器として機能して、画像クエリアイテム350に対する特徴ベクトルfを生成する。それから、バイナリハッシュコードhが特徴ベクトルに基づいて計算させる。それから、このプロセスは、以下のように進む。
(1)システムは、画像クエリアイテムと、テキストデータベースアイテムの各々と、の間のハミング距離を、画像クエリアイテムおよびテキストデータベースアイテムの各々のバイナリハッシュコードを使用して計算する(バイナリハッシュコード370は、テキストデータベース365に対応付けられている)。
(2)システムは、画像クエリアイテム350に対するハミング距離の近さが上位のデータベースアイテム375の部分集合を選択することにより、探索空間を絞り込む。
(3)システムは、画像クエリアイテムと、テキストアイテムの部分集合のそれぞれと、の間のAQD値を、クエリアイテムに対する特徴ベクトルfと、当該部分集合内のテキストデータベースアイテムに対する量子化コード380と、を使用して計算する。
システムは、AQD値に基づいて、画像クエリアイテムに対する量子化距離が最も近いテキストデータベースアイテムを検索する。本図に示す例では、量子化距離は、「Donut」が最も近く、「Christmas」が2番目に近い。このように、「量子化距離が最も近い」とは、「量子化距離が一番近いもののみ」としても良いし、英語における最上級の用法に応じて、「量子化距離の近さが上位のもの」としても良い。クエリアイテムとデータベースアイテムに対するAQD値が大きければ大きいほど、両アイテム間の量子化距離は近くなり、両アイテムは意味的に近くなる。
(システム例)
図4に、ここで説明した手法によるクロスモーダル検索を実行するシステムのソフトウェアアーキテクチャの例を図示する。他のソフトウェアアーキテクチャを使用することも可能であり、ここで説明した手法は、図示するアーキテクチャに限られるものではない。
システム400は、データ表現モジュール430を有し、データ表現モジュール430は、ニューラルネットワークモジュール450、バイナリハッシュモジュール460、ならびに、量子化モジュール470を含む。前述の通り、これらのモジュールはそれぞれ、データベース410内のデータベースアイテムおよびクエリアイテム420に対する特徴ベクトル、バイナリハッシュコード、および、量子化コードを生成する。これらのモジュールは、前述した訓練手法の下、訓練データ405を使用して、訓練モジュール490によって訓練される。本システムによって扱われるデータモーダル性の各タイプにつき、1つのニューラルネットワークモジュール450が設けられる。
クエリモジュール480は、データベース410内のアイテムであってクエリアイテム420に意味論的に最も近いアイテムを、前述の予測プロセスにしたがって同定し、これを検索結果とする。本例では、クエリモジュール480は、ハミング距離モジュール484ならびにAQDモジュール488を含む。これらはそれぞれ、クエリアイテムとデータベースアイテムとの間のハミング距離ならびに非対称量子化距離を計算する。データベースインターフェース415によって、システムはデータベース410に接続される。
(注記)
以下では、上記実施形態に対する注記をいくつか掲げる。
本実施形態では、ニューラルネットワークのパラメータΘ、バイナリハッシュリコードh、辞書C、および、インデックス指示子b (1-of-kバイナリ指示子と呼ばれることもある。)が学習される。
Θは、与えられた損失関数に対してバックプロパゲーションをすることによって最適化できる。
バイナリハッシュコードhについては、h∈{-1,+1}であるから、||f-h||F 2を最小化する最適解は、h=sgn(f)である。
Figure 2022089883000012
図5は、ベクトルxからバイナリハッシュコードhxへの計算例を示す説明図である。本図では、ある学習時点のハッシュ関数H(・)によってxのハッシュコードhx = H(x)が求められており、xとhxは同じ要素数であるが、hxの各要素は、-1と1のいずれかになっている。
Cおよびbの更新には、種々の公知技術を適用することができる。Cについては、他のパラメータを固定すれば閉形式解法(closed form solution)がある。
Figure 2022089883000013
ここで、F, Bは、全訓練サンプルの特徴と指示子をまとめたものである(batched features and indicators)。
bについては、||b||0=1という制限があるので、候補となるすべての指示子をチェックすることによって更新することができる。
図6は、辞書Cを用いてベクトルxをベクトルbxへ量子化する計算例を示す説明図である。本図では、ある学習時点の辞書Cに基づいてベクトルxがベクトルbxに量子化されている。ここで、bxは3次元ベクトルであるから、bxの候補は、どの要素を1とするかに応じて、[1, 0, 0]T, [0, 1, 0]T, [0, 0, 1]Tの3通りある。これらの全通りについて辞書Cとの行列演算(行列の各列からいずれかを、ベクトル中で1が配置される位置に応じて抜き出す演算。)を行って、得られた結果が最もxに近いものが得られる候補を、量子化コードbxとして選ぶことになる。本図に示す例では、Cを構成する3つの列[-1.1, -3, 5, 3.2, 9.4]T, [2.4, -6, 1, 6.9, -8]T, [-2, -12, 23, 1.2, 0.4]Tのうち、[2.4, -6, 1, 6.9, -8]Tが最もx=[0, -7.1, 2.3, 9.3, -12]Tに近いので、量子化コードbx = [0, 1, 0]Tとなる。
一般に、量子化はバイナリコードよりも多くの情報を保存するが、AQDはハミング距離よりも複雑なため、検索ステップで速度が遅くなる。そこで、本実施形態では、まずハミング距離により絞り込みを行ってから、AQDにより検索結果を得ることとして、検索速度を向上させることとしている。
発明者の分析によれば、検索に要する時間のオーダーは、αに比例する。すなわち、探索空間を絞り込めば絞り込むほど、検索は速くなる。
さらに、検索に要する時間のオーダーは、特徴ベクトルの大きさnに比例する。
したがって、特徴ベクトルの大きさnに応じて、たとえば反比例するようにαを選べば、定数時間のオーダーで検索をすることができる。このように、本実施形態では、nとαを適切に定めることで、検索時間を調整することができる。
(まとめ)
本願図面において記述された手法は、ソフトウェア内に具体化され、当該ソフトウェアを実行(execute)する(1以上のコンピューティングデバイスを備える)コンピュータシステムによって実行(perform)される。コンピュータシステムは、ソフトウェア指令を格納するための1以上の物理メモリユニット、ディスクあるいは他の物理的な、コンピュータ読取可能なストレージメディアを有するほか、ソフトウェア指令を実行するための1以上のプロセッサを有する。コンピュータシステムは、スタンドアロンのものでも良いし、コンピュータ通信網にサーバとして接続されたものでも良い。実施形態によっては、あるエンティティにより制御されるコンピュータシステムが訓練プロセスを実行し、別のエンティティにより制御されるコンピュータシステムが予測プロセスを実行することとしても良い。
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
本願においては、アメリカ合衆国に対して令和1年(2019年)12月20日(金)に出願した仮出願62/952090、および、アメリカ合衆国に対して令和2年(2020年)5月7日(木)に出願した特許出願16/869408を基礎とする優先権を主張するものとし、法令が許す限り、当該基礎出願の内容を本願に取り込むものとする。
本発明によれば、クロスモーダル検索を効率良く実現することができるようになる。
310 訓練画像
320 ニューラルネットワーク
330 訓練テキストアイテム
340 ニューラルネットワーク
350 画像クエリアイテム
360 ニューラルネットワーク
365 テキストデータベース
370 バイナリハッシュコード
375 データベースアイテムの部分集合
380 量子化コード
400 システム
405 訓練データ
410 データベース
415 データベースインターフェース
420 クエリアイテム
430 データ表現モジュール
450 ニューラルネットワークモジュール
460 バイナリハッシュモジュール
470 量子化モジュール
480 クエリモジュール
484 ハミング距離モジュール
488 AQDモジュール
490 訓練モジュール

Claims (23)

  1. コンピュータシステムによって実行され、異なるモーダル性を有するクエリアイテムと意味論的な意味が類似するデータベースアイテムをクロスモーダル検索するための方法であって、
    訓練フェーズでは、
    (a)データアイテムのペアを複数含む訓練データセットであって、
    各ペアは、第1モーダル性のデータアイテムと、第2モーダル性のデータアイテムと、を含み、第1モーダル性と第2モーダル性は異なり、
    ペアの第1部分集合は、意味論的な意味が類似するデータアイテムを含み、
    ペアの第2部分集合は、意味論的な意味が非類似のデータアイテムを含み、
    各ペアは、ペア内のデータアイテムの意味論的な意味が類似か非類似かに基づいてラベルが付けられている
    訓練データセットを取得し、
    (b)第1ニューラルネットワークを当該訓練データセット内の第1モーダル性を有するデータアイテムに適用して、第1モーダル性を有するデータアイテムのそれぞれの特徴ベクトルを生成し、
    (c)第2ニューラルネットワークを当該訓練データセット内の第2モーダル性を有するデータアイテムに適用して、第2モーダル性を有するデータアイテムのそれぞれの特徴ベクトルを生成し、
    (d)バイナリハッシュコードと量子化コードを、訓練データセット内のデータアイテムの各々に対して、当該データアイテムの特徴ベクトルに基づいて生成し、
    当該バイナリハッシュコードはバイナリハッシュアルゴリズムを使用して生成され、
    当該量子化コードは量子化アルゴリズムを使用して生成され、
    (e)損失関数を使用して損失値を計算し、
    当該損失関数は、当該特徴ベクトルと、当該バイナリハッシュコードと、当該量子化コードと、が訓練データペア内の意味論的な類似関係を保存する度合を測り、
    (f)当該第1ニューラルネットワークと、当該第2ニューラルネットワークと、当該バイナリハッシュアルゴリズムと、当該量子化アルゴリズムと、のパラメータを、当該損失値が減るように更新し、
    (g) ステップ(b)-(f)を何回か繰り返し、
    予測フェーズでは、
    (h)当該第1モーダル性を有する複数のデータベースアイテムを持つデータベースにアクセスし、
    (i)当該第1ニューラルネットワークを当該データベースアイテムに適用して、当該データベースアイテムのそれぞれに対する特徴ベクトルを生成し、
    (j)当該データベースアイテムに対する特徴ベクトルと、当該バイナリハッシュアルゴリズムと、当該量子化アルゴリズムと、を使用して、当該データベースアイテムのそれぞれに対して、バイナリハッシュコードと、量子化コードと、を生成し、
    (k)第2モーダル性を有するクエリアイテムを受け取り、
    (l)第2ニューラルネットワークを当該クエリアイテムに適用して当該クエリアイテムに対する特徴ベクトルを生成し、
    (m)当該クエリアイテムに対する特徴ベクトルに基づいて、当該クエリアイテムに対するバイナリハッシュコードを生成し、
    (n)当該クエリアイテムと、当該データベースアイテムの各々と、の距離を、当該クエリアイテムと当該データベースアイテムとのバイナリハッシュコードに基づいて計算し、
    (o)当該計算された距離に基づいて、当該クエリアイテムとの近さが上位のデータベースアイテムの部分集合を選択し、
    (p)当該部分集合内のデータベースアイテムの各々に対する量子化コードを使用して、当該クエリアイテムと、当該部分集合内のデータベースアイテムの各々と、の量子化距離を計算し、
    (q)当該部分集合内のデータベースアイテムであって前記クエリアイテムに対する量子化距離が最も近いものを検索する
    ことを特徴とする方法。
  2. 当該第1モーダル性はテキストであり、当該第2モーダル性は画像である
    ことを特徴とする請求項1に記載の方法。
  3. 当該第1モーダル性は画像であり、当該第2モーダル性はテキストである
    ことを特徴とする請求項1に記載の方法。
  4. 当該損失関数は、
    訓練データアイテムのペアの特徴ベクトル間の類似度を測る類似損失サブ関数と、
    バイナリコード誤差を測るハッシュ損失サブ関数と、
    量子化誤差を測る量子化損失サブ関数と、
    を備えることを特徴とする請求項1から3のいずれか1項に記載の方法。
  5. 当該損失関数は、当該訓練データセットに対する当該バイナリハッシュコードにおける+1と-1のバイナリビットの数の分布を測るバランス損失サブ関数を備えることを特徴とする請求項4に記載の方法。
  6. 畳み込みニューラルネットワークを画像データアイテムに適用し、長・短期記憶ニューラルネットワークもしくは多層パーセプトロンをテキストデータアイテムに適用することを特徴とする請求項1から5のいずれか1項に記載の方法。
  7. 当該バイナリハッシュコードに基づいて計算される距離は、ハミング距離であることを特徴とする請求項1から6のいずれか1項に記載の方法。
  8. 当該量子化距離は、当該クエリアイテムの特徴ベクトルと、当該データベースアイテムの量子化コードと、を使用して計算される非対称量子化距離であることを特徴とする請求項1から7のいずれか1項に記載の方法。
  9. 量子化コードが当該クエリアイテムに対して生成され、当該量子化距離は、当該クエリアイテムの量子化コードと、当該データベースアイテムの量子化コードと、を使用して計算されることを特徴とする請求項1から7のいずれか1項に記載の方法。
  10. コンピュータシステムによって実行され、異なるモーダル性を有するクエリアイテムと意味論的な意味が類似するデータベースアイテムをクロスモーダル検索を実行するシステムを訓練するための方法であって、
    (a)データアイテムのペアを複数含む訓練データセットであって、
    各ペアは、第1モーダル性のデータアイテムと、第2モーダル性のデータアイテムと、を含み、第1モーダル性と第2モーダル性は異なり、
    ペアの第1部分集合は、意味論的な意味が類似するデータアイテムを含み、
    ペアの第2部分集合は、意味論的な意味が非類似のデータアイテムを含み、
    各ペアは、ペア内のデータアイテムの意味論的な意味が類似か非類似かに基づいてラベルが付けられている
    訓練データセットを取得し、
    (b)第1ニューラルネットワークを当該訓練データセット内の第1モーダル性を有するデータアイテムに適用して、第1モーダル性を有するデータアイテムのそれぞれの特徴ベクトルを生成し、
    (c)第2ニューラルネットワークを当該訓練データセット内の第2モーダル性を有するデータアイテムに適用して、第2モーダル性を有するデータアイテムのそれぞれの特徴ベクトルを生成し、
    (d)バイナリハッシュコードと量子化コードを、訓練データセット内のデータアイテムの各々に対して、当該データアイテムの特徴ベクトルに基づいて生成し、
    当該バイナリハッシュコードはバイナリハッシュアルゴリズムを使用して生成され、
    当該量子化コードは量子化アルゴリズムを使用して生成され、
    (e)損失関数を使用して損失値を計算し、
    当該損失関数は、当該特徴ベクトルと、当該バイナリハッシュコードと、当該量子化コードと、が訓練データペア内の意味論的な類似関係を保存する度合を測り、
    (f)当該第1ニューラルネットワークと、当該第2ニューラルネットワークと、当該バイナリハッシュアルゴリズムと、当該量子化アルゴリズムと、のパラメータを、当該損失値が減るように更新し、
    (g) ステップ(b)-(f)を何回か繰り返す
    ことを特徴とする方法。
  11. 当該第1モーダル性はテキストであり、当該第2モーダル性は画像である
    ことを特徴とする請求項10に記載の方法。
  12. 当該第1モーダル性は画像であり、当該第2モーダル性はテキストである
    ことを特徴とする請求項10に記載の方法。
  13. 当該損失関数は、
    訓練データアイテムのペアの特徴ベクトル間の類似度を測る類似損失サブ関数と、
    バイナリコード損失を測るハッシュ損失サブ関数と、
    量子化コード損失を測る量子化損失サブ関数と、
    を備えることを特徴とする請求項10に記載の方法。
  14. 当該損失関数は、当該訓練データセットに対する当該バイナリハッシュコードにおける+1と-1のバイナリビットの数の分布を測るバランス損失サブ関数を備えることを特徴とする請求項13に記載の方法。
  15. 畳み込みニューラルネットワークを画像データアイテムに適用し、長・短期記憶ニューラルネットワークもしくは多層パーセプトロンをテキストデータアイテムに適用することを特徴とする請求項10から14のいずれか1項に記載の方法。
  16. コンピュータシステムによって実行され、異なるモーダル性を有するクエリアイテムと意味論的な意味が類似するデータベースアイテムをクロスモーダル検索するための方法であって、
    第1モーダル性を有する複数のデータベースアイテムを持つデータベースにアクセスし、
    各データベースアイテムは、バイナリハッシュコードおよび量子化コードに対応付けられており、
    各データベースアイテムに対する当該バイナリハッシュコードおよび当該量子化コードは、
    当該データベースアイテムの特徴ベクトル表現に基いており、
    当該データベースに対して第1ニューラルネットワークを適用することにより生成されたものであり、
    第2モーダル性を有するクエリアイテムを受け取り、
    第2ニューラルネットワークを当該クエリアイテムに適用して当該クエリアイテムに対する特徴ベクトルを生成し、
    当該クエリアイテムに対する特徴ベクトルに基づいて、当該クエリアイテムに対するバイナリハッシュコードを生成し、
    当該クエリアイテムと、当該データベースアイテムの各々と、の距離を、当該クエリアイテムと当該データベースアイテムとのバイナリハッシュコードに基づいて計算し、
    当該計算された距離に基づいて、当該クエリアイテムとの近さが上位のデータベースアイテムの部分集合を選択し、
    当該部分集合内のデータベースアイテムの各々に対する量子化コードを使用して、当該クエリアイテムと、当該部分集合内のデータベースアイテムの各々と、の量子化距離を計算し、
    当該部分集合内のデータベースアイテムであって前記クエリアイテムに対する量子化距離が最も近いものを検索する
    ことを特徴とする方法。
  17. 当該第1モーダル性はテキストであり、当該第2モーダル性は画像である
    ことを特徴とする請求項16に記載の方法。
  18. 当該第1モーダル性は画像であり、当該第2モーダル性はテキストである
    ことを特徴とする請求項16に記載の方法。
  19. 当該バイナリハッシュコードに基づいて計算される距離は、ハミング距離であることを特徴とする請求項16から18のいずれか1項に記載の方法。
  20. 当該量子化距離は、当該クエリアイテムの特徴ベクトルと、当該データベースアイテムの量子化コードと、を使用して計算される非対称量子化距離であることを特徴とする請求項16から19のいずれか1項に記載の方法。
  21. 量子化コードが当該クエリアイテムに対して生成され、当該量子化距離は、当該クエリアイテムの量子化コードと、当該データベースアイテムの量子化コードと、を使用して計算されることを特徴とする請求項16から19のいずれか1項に記載の方法。
  22. 異なるモーダル性を有するクエリアイテムと意味論的な意味が類似するデータベースアイテムをクロスモーダル検索するためのコンピュータシステムであって、当該コンピュータシステムは、
    1以上のプロセッサと、
    前記1以上のプロセッサに接続される1以上のメモリユニットと、
    を備え、
    前記1以上のメモリユニットは、前記1以上のプロセッサにより実行される指令を格納し、
    前記指令は、前記システムに、
    第1モーダル性を有する複数のデータベースアイテムを持つデータベースにアクセスし、
    各データベースアイテムは、バイナリハッシュコードおよび量子化コードに対応付けられており、
    各データベースアイテムに対する当該バイナリハッシュコードおよび当該量子化コードは、
    当該データベースアイテムの特徴ベクトル表現に基いており、
    当該データベースに対して第1ニューラルネットワークを適用することにより生成されたものであり、
    第2モーダル性を有するクエリアイテムを受け取り、
    第2ニューラルネットワークを当該クエリアイテムに適用して当該クエリアイテムに対する特徴ベクトルを生成し、
    当該クエリアイテムに対する特徴ベクトルに基づいて、当該クエリアイテムに対するバイナリハッシュコードを生成し、
    当該クエリアイテムと、当該データベースアイテムの各々と、の距離を、当該クエリアイテムと当該データベースアイテムとのバイナリハッシュコードに基づいて計算し、
    当該計算された距離に基づいて、当該クエリアイテムとの近さが上位のデータベースアイテムの部分集合を選択し、
    当該部分集合内のデータベースアイテムの各々に対する量子化コードを使用して、当該クエリアイテムと、当該部分集合内のデータベースアイテムの各々と、の量子化距離を計算し、
    当該部分集合内のデータベースアイテムであって前記クエリアイテムに対する量子化距離が最も近いものを検索する
    処理を実行させることを特徴とするコンピュータシステム。
  23. コンピュータに、異なるモーダル性を有するクエリアイテムと意味論的な意味が類似するデータベースアイテムをクロスモーダル検索させるためのプログラムであって、
    前記プログラムは、前記コンピュータに、
    第1モーダル性を有する複数のデータベースアイテムを持つデータベースにアクセスし、
    各データベースアイテムは、バイナリハッシュコードおよび量子化コードに対応付けられており、
    各データベースアイテムに対する当該バイナリハッシュコードおよび当該量子化コードは、
    当該データベースアイテムの特徴ベクトル表現に基いており、
    当該データベースに対して第1ニューラルネットワークを適用することにより生成されたものであり、
    第2モーダル性を有するクエリアイテムを受け取り、
    第2ニューラルネットワークを当該クエリアイテムに適用して当該クエリアイテムに対する特徴ベクトルを生成し、
    当該クエリアイテムに対する特徴ベクトルに基づいて、当該クエリアイテムに対するバイナリハッシュコードを生成し、
    当該クエリアイテムと、当該データベースアイテムの各々と、の距離を、当該クエリアイテムと当該データベースアイテムとのバイナリハッシュコードに基づいて計算し、
    当該計算された距離に基づいて、当該クエリアイテムとの近さが上位のデータベースアイテムの部分集合を選択し、
    当該部分集合内のデータベースアイテムの各々に対する量子化コードを使用して、当該クエリアイテムと、当該部分集合内のデータベースアイテムの各々と、の量子化距離を計算し、
    当該部分集合内のデータベースアイテムであって前記クエリアイテムに対する量子化距離が最も近いものを検索する
    処理を実行させることを特徴とするプログラム。
JP2022062888A 2019-12-20 2022-04-05 クロスモーダルな特徴の抽出方法、抽出装置、ならびに、プログラム Active JP7360497B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962952090P 2019-12-20 2019-12-20
US62/952090 2019-12-20
US16/869408 2020-05-07
US16/869,408 US11651037B2 (en) 2019-12-20 2020-05-07 Efficient cross-modal retrieval via deep binary hashing and quantization
JP2020209580A JP7055187B2 (ja) 2019-12-20 2020-12-17 ディープバイナリハッシュおよび量子化を介した効率的なクロスモーダル検索

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020209580A Division JP7055187B2 (ja) 2019-12-20 2020-12-17 ディープバイナリハッシュおよび量子化を介した効率的なクロスモーダル検索

Publications (2)

Publication Number Publication Date
JP2022089883A true JP2022089883A (ja) 2022-06-16
JP7360497B2 JP7360497B2 (ja) 2023-10-12

Family

ID=76437406

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020209580A Active JP7055187B2 (ja) 2019-12-20 2020-12-17 ディープバイナリハッシュおよび量子化を介した効率的なクロスモーダル検索
JP2022062888A Active JP7360497B2 (ja) 2019-12-20 2022-04-05 クロスモーダルな特徴の抽出方法、抽出装置、ならびに、プログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020209580A Active JP7055187B2 (ja) 2019-12-20 2020-12-17 ディープバイナリハッシュおよび量子化を介した効率的なクロスモーダル検索

Country Status (2)

Country Link
US (1) US11651037B2 (ja)
JP (2) JP7055187B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11681610B2 (en) * 2020-05-13 2023-06-20 Data-Core Systems, Inc. Synthesizing data based on topic modeling for training and testing machine learning systems
EP4264499A1 (en) * 2020-12-21 2023-10-25 Citrix Systems, Inc. Multimodal modelling for systems using distance metric learning
CN113312505B (zh) * 2021-07-29 2021-11-02 山东大学 一种基于离散在线哈希学习的跨模态检索方法及系统
CN113326289B (zh) * 2021-08-02 2021-11-02 山东大学 面向携带新类别的增量数据的快速跨模态检索方法及系统
CN113961727B (zh) * 2021-09-13 2022-10-21 哈尔滨工业大学(深圳) 一种跨媒体哈希检索方法、装置、终端及存储介质
US11790388B2 (en) 2021-09-30 2023-10-17 Rakuten Group, Inc. System, method, and computer program for automatic coupon code fill in a mobile application
CN113868366B (zh) * 2021-12-06 2022-04-01 山东大学 一种面向流数据的在线跨模态检索方法与系统
US11775740B2 (en) 2021-12-30 2023-10-03 Rakuten Group, Inc. System, method, and computer program for testing the accuracy of software that identifies user interface elements on a webpage
CN114531220A (zh) * 2022-01-12 2022-05-24 重庆邮电大学 一种基于前向和后向隐私的高效容错动态短语搜索方法
CN114461839B (zh) * 2022-04-12 2023-02-07 智者四海(北京)技术有限公司 基于多模态预训练的相似图片检索方法、装置及电子设备
CN114861016A (zh) * 2022-07-05 2022-08-05 人民中科(北京)智能技术有限公司 一种跨模态检索方法、装置以及存储介质
CN115080880B (zh) * 2022-08-23 2022-11-08 山东建筑大学 一种基于鲁棒相似保持的跨模态检索方法及系统
CN115687571B (zh) * 2022-10-28 2024-01-26 重庆师范大学 一种基于模态融合重建哈希的深度无监督跨模态检索方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06168277A (ja) * 1992-11-30 1994-06-14 Canon Inc 画像検索装置及び方法
JP2016197375A (ja) * 2015-04-06 2016-11-24 日本電信電話株式会社 写像学習方法、情報圧縮方法、装置、及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5142705B2 (ja) 2007-12-29 2013-02-13 シャープ株式会社 画像検索装置
JP5458815B2 (ja) 2009-11-11 2014-04-02 株式会社デンソーアイティーラボラトリ マルチメディア検索システム
US10120879B2 (en) * 2013-11-29 2018-11-06 Canon Kabushiki Kaisha Scalable attribute-driven image retrieval and re-ranking
JP6397385B2 (ja) 2015-08-21 2018-09-26 日本電信電話株式会社 学習装置、探索装置、方法、及びプログラム
CN107256271B (zh) 2017-06-27 2020-04-03 鲁东大学 基于映射字典学习的跨模态哈希检索方法
CN110019652B (zh) * 2019-03-14 2022-06-03 九江学院 一种基于深度学习的跨模态哈希检索方法
US11604822B2 (en) * 2019-05-30 2023-03-14 Adobe Inc. Multi-modal differential search with real-time focus adaptation
CN110309331B (zh) * 2019-07-04 2021-07-27 哈尔滨工业大学(深圳) 一种基于自监督的跨模态深度哈希检索方法
CN110516085B (zh) * 2019-07-11 2022-05-17 西安电子科技大学 基于双向注意力的图像文本互检索方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06168277A (ja) * 1992-11-30 1994-06-14 Canon Inc 画像検索装置及び方法
JP2016197375A (ja) * 2015-04-06 2016-11-24 日本電信電話株式会社 写像学習方法、情報圧縮方法、装置、及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CAO, YUE ほか: "Deep Visual-Semantic Hashing for Cross-Modal Retrieval", PROCEEDINGS OF THE 22ND ACM SIGKDD INTERNATIONAL CONFERENCE ON KNOWLEDGE DISCOVERY AND DATA MINING, JPN7023001686, 13 August 2016 (2016-08-13), pages 1445 - 1454, XP058276940, ISSN: 0005054486, DOI: 10.1145/2939672.2939812 *

Also Published As

Publication number Publication date
JP7055187B2 (ja) 2022-04-15
JP7360497B2 (ja) 2023-10-12
US20210191990A1 (en) 2021-06-24
US11651037B2 (en) 2023-05-16
JP2021099803A (ja) 2021-07-01

Similar Documents

Publication Publication Date Title
JP7055187B2 (ja) ディープバイナリハッシュおよび量子化を介した効率的なクロスモーダル検索
CN105912611B (zh) 一种基于cnn的快速图像检索方法
Yue et al. Matching guided distillation
Vijayanarasimhan et al. Deep networks with large output spaces
CN108132968A (zh) 网络文本与图像中关联语义基元的弱监督学习方法
EP3166020A1 (en) Method and apparatus for image classification based on dictionary learning
CN104462196B (zh) 多特征联合哈希信息检索方法
CN112368697A (zh) 经由对偶分解评估损失函数或损失函数的梯度的系统和方法
US11023473B2 (en) Recurrent binary embedding for information retrieval
CN109902714B (zh) 一种基于多图正则化深度哈希的多模态医学图像检索方法
CN110990596B (zh) 一种基于自适应量化多模态哈希检索方法及系统
JP2016042359A (ja) 認識装置、実数行列分解方法、認識方法
CN113806582B (zh) 图像检索方法、装置、电子设备和存储介质
CN112395487A (zh) 信息推荐方法、装置、计算机可读存储介质及电子设备
Yu et al. Product quantization network for fast visual search
Ciaburro et al. Python Machine Learning Cookbook: Over 100 recipes to progress from smart data analytics to deep learning using real-world datasets
Almiman et al. Deep neural network approach for Arabic community question answering
Chen et al. Extensible Cross-Modal Hashing.
CN111026887B (zh) 一种跨媒体检索的方法及系统
CN111611395B (zh) 一种实体关系的识别方法及装置
Ngueilbaye et al. SDLER: stacked dedupe learning for entity resolution in big data era
CN111260074B (zh) 一种超参数确定的方法、相关装置、设备及存储介质
CN117435685A (zh) 文档检索方法、装置、计算机设备、存储介质和产品
CN116340635A (zh) 物品推荐方法、模型训练方法、装置及设备
CN115292533B (zh) 视觉定位驱动的跨模态行人检索方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220510

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230614

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: 20230926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230929

R150 Certificate of patent or registration of utility model

Ref document number: 7360497

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150