JP6004014B2 - 学習方法、情報変換装置および学習プログラム - Google Patents

学習方法、情報変換装置および学習プログラム Download PDF

Info

Publication number
JP6004014B2
JP6004014B2 JP2014559463A JP2014559463A JP6004014B2 JP 6004014 B2 JP6004014 B2 JP 6004014B2 JP 2014559463 A JP2014559463 A JP 2014559463A JP 2014559463 A JP2014559463 A JP 2014559463A JP 6004014 B2 JP6004014 B2 JP 6004014B2
Authority
JP
Japan
Prior art keywords
data
learning
feature
vector
feature vector
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.)
Expired - Fee Related
Application number
JP2014559463A
Other languages
English (en)
Other versions
JPWO2014118976A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of JP6004014B2 publication Critical patent/JP6004014B2/ja
Publication of JPWO2014118976A1 publication Critical patent/JPWO2014118976A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • G06N7/06Simulation on general purpose computers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)

Description

本発明は、学習方法、情報変換装置および学習プログラムに関する。
従来、指紋、画像、音声などのデータの特徴を示す特徴量ベクトルを用いて類似するデータを検索する際に、厳密性を緩和することで、検索処理を高速化する技術が知られている。このような技術の一例として、特徴量ベクトル間の距離関係を保持したまま特徴量ベクトルをバイナリ列に変換し、バイナリ列同士のハミング距離を計算することで、計算コストを削減する方法が知られている。
また、特徴量ベクトル間の距離関係を保持しつつ特徴量ベクトルをバイナリ列に変換する手法の一例として、LSH(Locality-Sensitive Hashing)の技術が知られている。例えば、情報処理装置は、特徴量ベクトル空間を分割する複数の超平面を設定し、各超平面の法線ベクトルと特徴量ベクトルとの内積がそれぞれ正であるか負であるかを示すバイナリ列に特徴量ベクトルを変換する。すなわち、情報処理装置は、超平面を用いて特徴量ベクトル空間を複数の領域に分割し、分割された領域のうちどの領域に特徴量ベクトルが属するかを示すバイナリ列に特徴量ベクトルを変換する。
ここで、データの登録を行った個人を特定するID等、各データに類似性を示すラベルが付与される場合は、新たに登録されるデータの分類を容易にするため、各データをラベルごとに分類する超平面を設定するのが望ましい。このため、所定の手法を用いて、ラベルが付与された特徴量ベクトルから学習用のデータペアを選択し、選択した学習用のデータペアを用いて、各データをラベルごとに分類する超平面を学習する技術が複数知られている。
例えば、情報処理装置は、分類対象となる特徴量ベクトルから、同じラベルが付与された2つの特徴量ベクトル(以下、正例ペアと記載する)と、異なるラベルが付与された2つの特徴量ベクトル(以下、負例ペアと記載する)とをランダムに選択する。そして、情報処理装置は、正例ペア間のハミング距離が近くなり、負例ペア間のハミング距離が遠くなるように超平面を繰り返し最適化することで、各データをラベルごとに分類する超平面を学習する。
また、他の手法では、情報処理装置は、1つの基準ベクトルを無作為に選択する。そして、情報処理装置は、基準ベクトルと同じラベルの特徴量ベクトルのうち基準ベクトルに最も類似する特徴量ベクトルと基準ベクトルとを正例ペアとする。また、情報処理装置は、基準ベクトルと異なるラベルの特徴量ベクトルのうち基準ベクトルに最も類似する特徴量ベクトルと基準ベクトルとを負例ペアとする。そして、情報処理装置は、正例ペア間のハミング距離が近くなり、負例ペア間のハミング距離が遠くなるように超平面を繰り返し最適化する。
M. Datar, N. Immorlica, P. Indyk, V. S. Mirrokni: Locality-Sensitive Hashing Scheme Based on p-Stable Distributions, Proceedings of the twentieth annual symposium on Computational geometry (SCG 2004) M. Norouzi and D. Fleet: Minimal Loss hashing for compact binary codes, Proceedings of the 28th International Conference on Machine Learning (ICML '11) Ran Gilad-Bachrachy, Amir Navotz Naftali Tishbyy: Margin Based Feature Selection - Theory and Algorithms (ICML 2004)
しかしながら、上述した超平面を学習する技術では、データの集合が有する統計的性質にかかわらず、所定の手法を用いて学習用のデータペアを選択するので、超平面が各データを分類する精度が劣化するという問題がある。
すなわち、分類対象となるデータ集合は、データの数、データの分布、付与されるラベルの数等に応じて、それぞれ異なる統計的性質を有する。このため、分類対象となるデータ集合の統計的性質によって、適切な学習用のデータペアを選択する方法が異なる。しかしながら、データ集合の統計的性質によらず所定の方法で学習用のデータペアを選択する技術では、適切ではないデータペアを選択する場合がある。このように、適切ではないデータペアを用いて、超平面を学習した場合には、超平面が各データを分類する精度が劣化してしまう。
1つの側面では、精度良くデータを分類する超平面を学習するためのデータペアを選択することを目的とする。
1つの側面では、情報処理装置は、学習用のデータセットに含まれる各特徴量ベクトルに付与されたラベルの数、ラベルの種類の数、同一ラベルが付与された特徴量ベクトルの数、超平面を学習する際に用いるデータペアの数のいずれか1つ又は複数を計数する。そして、情報処理装置は、計数結果に応じて、超平面を学習するためのデータペアを生成する1以上の生成方法を選択する。また、情報処理装置は、選択した生成方法を用いて、学習用のデータセットに含まれる特徴量ベクトルからデータペアを生成する。そして、情報処理装置は、生成したデータペアを用いて、特徴量ベクトル空間を分割する超平面を学習する。
1つの側面では、精度良くデータを分類する超平面を学習するためのデータペアを選択することができる。
図1は、実施例1に係る検索システムを説明するための図である。 図2は、生体認証の一例を説明するための図である。 図3は、特徴量ベクトルの統計的性質と最適な生成方法との関係を説明するための図である。 図4は、情報変換装置が用いる割合の算出方法を説明するための図である。 図5は、学習データ記憶部が記憶するデータの一例を説明するための図である。 図6は、情報変換装置が実行する処理の流れを説明するためのフローチャートである。 図7は、乱数によるデータペアの選択処理の流れを説明するためのフローチャートである。 図8は、特徴量ベクトルが唯一のラベルを持つ場合のデータペア選択処理の流れを説明するためのフローチャートである。 図9は、特徴量ベクトルが複数のラベルを持ちうる場合のデータペア選択処理の流れを説明するためのフローチャートである。 図10は、情報変換装置が実行する処理のバリエーションを説明するためのフローチャートである。 図11は、データペアの選択処理の流れを説明するためのフローチャートである。 図12は、特徴量ベクトルが唯一のラベルを持つ場合のデータペア選択処理のバリエーションを説明するためのフローチャートである。 図13は、特徴量ベクトルが複数のラベルを持ちうる場合のデータペア選択処理のバリエーションを説明するためのフローチャートである。 図14は、学習プログラムを実行するコンピュータの一例を説明するための図である。
以下に添付図面を参照して本願に係る学習方法、情報変換装置および学習プログラムについて説明する。
以下の実施例1では、図1を用いて、情報変換装置を有する検索システムの一例を説明する。図1は、実施例1に係る検索システムを説明するための図である。図1に示すように、検索システム1は、クライアント装置2、情報変換装置10、情報検索装置20を有する。
また、情報変換装置10は、複数の生成部12a〜12c、データ対選択部13、超平面学習部14を有する。また、情報検索装置20は、検索対象データベース記憶部21、バイナリ変換部23、バイナリデータベース記憶部22、検索処理部24を有する。
図1に示す検索システム1は、クライアント装置2からクエリデータを受信すると、検索対象データベース記憶部21から、クエリデータの近傍データを検索する。そして、検索システム1は、クエリデータの近傍に類似するデータが登録されているか否かをクライアント装置2へ通知するシステムである。具体的には、検索システム1は、情報変換装置10が生成した変換行列を用いて、情報検索装置20が検索対象となるデータをバイナリ列に変換し、変換後のバイナリ列を用いて、クエリデータの近傍データを検索する。
ここで、検索システム1が検索対象とするデータは、例えば、画像や音声などのデータであり、指紋のパターンや静脈のパターンを用いた生体認証における生体データである。すなわち、検索システム1は、クライアント装置2に入力された利用者の生体データをクエリデータとして受信すると、利用者の生体データが登録されているか否かを判別するシステムである。
なお、画像や音声の特徴量は様々なものが提案されているが、検索システム1は、特定の特徴量に依存するものではないため、任意の特徴量を用いることができる。例えば、画像の特徴量として一般的に用いられているSIFT特徴量やSURF特徴量などを用いることもできる。これらの特徴量は画像中の局所的な情報を特徴量ベクトルとして用いることで、隠れや変動に対してロバストな特徴量であることが知られているが、このような特徴量を示す任意の形式の特徴量ベクトルを用いてよい。
図2は、生体認証の一例を説明するための図である。なお、図2に示す例では、利用者のID(Identification)等の情報が入力されず、利用者のIDを用いた生体データの絞込みを行わないIDレスの1:N認証における処理を示す。図2に示すように、検索システム1は、複数の利用者が登録した登録生体データを複数記憶する。
そして、検索システム1は、クライアント装置2からクエリデータとして、生体データを受信すると、入力された生体データの特徴量を示す特徴量ベクトルを抽出し、抽出した特徴量ベクトルと類似する特徴量ベクトルを有する登録生体データを検索する。すなわち、検索システム1は、クエリデータを入力した利用者の登録生体データが登録されているか否かを判別する。
また、検索システム1は、特徴量ベクトルを所定のビット長のバイナリ列に変換する変換行列を生成し、生成した変換行列を用いて、登録生体データの特徴量ベクトルをバイナリ列に変換する。また、検索システム1は、クエリデータとして入力された生体データにおける特徴量ベクトルを所定のビット長のバイナリ列に変換し、登録生体データの特徴量ベクトルを変換したバイナリ列とのハミング距離を算出する。
そして、検索システム1は、ハミング距離が所定の閾値以下となる登録生体データを検索対象の候補として抽出する。その後、情報検索装置1は、検索した登録生体データとクエリデータとして入力された生体データとの厳密なマッチング処理を実行し、実行結果をクライアント装置2に出力する。
なお、入力された生体データや登録生体データが画像である場合には、特徴量ベクトルは、例えば、画像中の特定領域における隆線の方向や長さ、勾配、隆線の終端や分岐などの特徴的な点の密度や座標の数値をベクトル化したものとなる。また、入力された生体データや登録生体データが音声である場合には、特徴量ベクトルは、例えば、周波数成分の分布、強度、ピーク値などの数値をベクトル化したものとなる。
以下、情報変換装置10が実行する処理、および情報検索装置20が実行する処理について説明する。図1に戻り、情報変換装置10は、学習データ記憶部11が記憶する学習データを用いて、特徴量ベクトルを所定のビット長のバイナリ列に変換する変換行列を生成し、生成した変換行列を情報検索装置20に通知する。
ここで、変換行列とは、特徴量ベクトル空間を複数の領域に分割する超平面の法線ベクトルを行成分として有する行列であり、情報検索装置20が特徴量ベクトルをバイナリ列に変換する際に用いる行列である。例えば、情報検索装置20は、変換行列と特徴量ベクトルとの積を算出する。そして、情報検索装置20は、算出した積の各成分について、値が正であるか負であるかを判別し、正の値である場合は「1」、負の値である場合は「0」としたバイナリ列を生成する。つまり、情報検索装置20は、変換行列を用いて、各特徴量ベクトルが、超平面によって複数の領域に分割された特徴量ベクトル空間のうち、どの領域に属しているかを示すバイナリ列に特徴量ベクトルを変換する。
ここで、新たに登録されるデータの分類を容易にするため、各データをラベルごとに分類する超平面を設定するのが望ましい。このため、情報変換装置10は、学習データ記憶部11が記憶する特徴量ベクトルから、同じラベルが付与された特徴量ベクトルの組である正例ペアと、異なるラベルが付与された特徴量ベクトルの組である負例ペアとを生成する。そして、情報変換装置10は、生成した正例ペアと負例ペアとを用いて、設定した複数の超平面を同時に評価することで、超平面を最適化する。
ここで、超平面を最適化する正例ペアと負例ペアとを選択する手法としては、様々な技術が知られている。以下、正例ペアと負例ペアとを選択する方法として、Randomhit−Randommiss(RR)法、Farhit−Nearmiss(FN)法、Randomhit−Nearmiss(RN)法について説明する。また、正例ペアと負例ペアとを選択する方法として、Randomhit−Boundarymiss(RB)法、Nearhit−Nearmiss(NN)法を説明する。
Randomhit−Randommiss法とは、同じラベルが付与された特徴量ベクトルをランダムに2つ選択して正例ペアとし、異なるラベルが付与された特徴量ベクトルをランダムに2つ選択して選択した負例ペアとする生成方法である。
また、Farhit−Nearmiss法では、基準となる特徴量ベクトルを選択し、基準となる特徴量ベクトルと同じラベルの特徴量ベクトルのうち距離関係が最も遠い特徴量ベクトルと基準となる特徴量ベクトルとのペアを正例ペアとする。そして、基準となる特徴量ベクトルと異なるラベルの特徴量ベクトルのうち距離関係が最も近い特徴量ベクトルと基準となる特徴量ベクトルとのペアを負例ペアとする生成方法である。
また、Randomhit−Nearmiss法では、同じラベルが付与された特徴量ベクトルをランダムに選択したペアを正例ペアとする。そして、基準となる特徴量ベクトルを選択し、基準となる特徴量ベクトルと異なるラベルの特徴量ベクトルのうち距離関係が最も近い特徴量ベクトルと基準となる特徴量ベクトルとのペアを負例ペアとする生成方法である。
また、Randomhit−Boundarymiss法とは、同じラベルが付与された特徴量ベクトルをランダムに選択したペアを正例ペアとする。また、1つの特徴量ベクトルをサンプルとしてランダムに選択する。続いて、サンプルの特徴量ベクトルに付与されたラベルが付与されていない特徴量ベクトルのうち、サンプルの各特徴量ベクトルとの距離が最小となる特徴量ベクトルを基準ベクトルとして選択する。そして、基準ベクトルとは異なるラベルが付与された特徴量ベクトルのうち、基準ベクトルに最も近い特徴量ベクトルと、基準ベクトルとのペアを負例ペアとして選択する生成方法である。
また、Nearhit−Nearmiss法とは、基準となる特徴量ベクトルを選択し、基準となる特徴量ベクトルと同じラベルの特徴量ベクトルのうち距離関係が最も近い特徴量ベクトルと基準となる特徴量ベクトルとを正例ペアとする。そして、基準となる特徴量ベクトルと異なるラベルの特徴量ベクトルのうち距離関係が最も近い特徴量ベクトルと基準となる特徴量ベクトルとのペアを負例ペアとする生成方法である。
ここで、超平面が分類する特徴量ベクトルは、その種類によりそれぞれ異なる統計的性質を有する。例えば、音声や画像、生体情報等、特徴量ベクトルの元となるデータの種類によって、特徴量ベクトルの統計的性質は異なる。詳細な例を挙げると、1つの特徴量ベクトルに付与されるラベルの数、全特徴量ベクトルに付与されたラベルの種類の数、同一のラベルが付与された特徴量ベクトルの数、超平面を学習する際に用いるデータペアの数等がデータの種類によって異なる。
また、生成方法により超平面を学習する際に用いるデータペアは、異なるデータペアとなる。このため、超平面が特徴量ベクトルを分類する精度や、超平面の法線ベクトルを用いて生成したバイナリ列による近傍検索の性能は、特徴量ベクトルの統計的性質と、超平面を学習する際に用いるデータペアの生成方法によって変化する。そこで、情報変換装置10は、特徴量ベクトルの統計的性質に応じて、あらかじめ記憶する複数の生成方法の中から1つ以上の生成方法を選択し、選択した生成方法によって生成したデータペアを用いて超平面の学習を行う。
また、例えば、統計的性質に閾値を設定し、閾値よりも多いか否かに応じて、1つの生成方法を選択する手法では、特徴量ベクトルの性質を正確に切り分ける閾値を設定しなければならず、実現が困難となる。また、学習時に用いた特徴量ベクトルとは別に追加された特徴量ベクトルが、学習時に用いた特徴量ベクトルとは異なる性質を有する場合は、超平面が特徴量ベクトルを分類する精度を劣化させてしまう。そこで、情報変換装置10は、閾値を設けず、計数した統計的性質の数に応じた割合で、各生成方法により選択したデータペアを選択し、選択したデータペアを用いて、超平面を学習する。
以下、図3を用いて情報変換装置10が特徴量ベクトルの統計的性質に応じて選択するデータペアの生成方法について説明する。図3は、特徴量ベクトルの統計的性質と最適な生成方法との関係を説明するための図である。例えば、情報変換装置10は、各特徴量ベクトルに付与されたラベルの数、全特徴量ベクトルに付与されたラベルの種類の数、同一のラベルが付与された特徴量ベクトルの個数、超平面を学習する際に用いるデータペアの数を計数する。そして、情報変換装置10は、全ラベルの種類の数に応じた割合と、同一ラベルが付与されたデータの個数に応じた割合と、学習データペアの数に応じた割合とに応じて、データペアを生成する生成方法をあらかじめ記憶した生成方法から選択する。
詳細には、情報変換装置10は、各特徴量ベクトルに1つのラベルが付与されており、全ラベルの種類の数が少なく、同一ラベルが付与されたデータの個数が多いほど、RR法、またはFN法により生成したデータペアの数を増やす。また、情報変換装置10は、各特徴量ベクトルに1つのラベルが付与されており、全ラベルの種類の数が多く、同一ラベルが付与されたデータの個数が少ないほど、RN法により生成したデータペアの数を増やす。
また、情報変換装置10は、各特徴量ベクトルに複数のラベルが付与されており、全ラベルの種類の数が多く、同一ラベルが付与されたデータの個数が少なく、学習時に使用するデータペアの数が多いほど、RB法により生成したデータペアの数を増やす。また、情報変換装置10は、RR法またはFN法、RN法、RM法によって生成したデータペアの数の割合を1から減算した割合で、NN法により生成したデータペアを使用する。
次に、図4を用いて、情報変換装置10が各生成方法により生成したデータペアを使用する割合の算出方法について説明する。図4は、情報変換装置が用いる割合の算出方法を説明するための図である。なお、図4に示す例では、情報変換装置10が用いる関数f(x)の値を縦軸にとり、引数xの値を横軸にとって関数f(x)の値をプロットした。
例えば、情報変換装置10は、第1引数と第2引数により値が定まる所定の関数を用いて割合を算出する。ここで情報変換装置10が用いる関数は、第1引数に対する値が単調非減少であり、第1引数が負の無限大で値が零となり、第1引数が正の無限大で値が1となる関数である。また、情報変換装置10が用いる関数は、値が2分の1以上となる第1引数の下限が第2引数となる関数である。つまり、図4に示す例では、f(x)の値が1/2となる第1引数の値xを第2引数とする関数である。このような条件を満たす関数の一例としては、f(x)=1/(1+e−ax)であらわされるシグモイド関数であり、引数xが第1引数と第2引数の差となるものである。なお、aはゲインと呼ばれる値であり、パラメータの1つとして設定される値である。
以下、図4を用いて、情報変換装置10がラベルの種類の数に応じた割合を算出する例について説明する。なお、以下の説明で算出する割合は、各生成方法によって生成したデータペアを使用する割合のうち、ラベルの種類の数に応じて算出される割合であり、実際に使用するデータペアの数の割合とは異なる。すなわち、情報変換装置10は、同様の手法により算出した他の統計的性質に基づく割合のそれぞれを考慮して、超平面を学習するためのデータペアを選択する割合を算出する。
例えば、情報変換装置10は、ラベルの種類の数がXとなる際、図4中(A)で示す割合をRN法でデータペアを選択する割合とし、図4中(B)で示す割合をRR法、またはFN法でデータペアを選択する割合とする。また、他の第2引数により定まる関数において、図4中(A)で示す割合をNN法でデータペアを選択する割合とし、図4中(B)で示す割合をRB法でデータペアを選択する割合とする。同様に、情報変換装置10は、計数した各統計的性質の数値ごとに算出される割合に応じて、各生成方法により生成されたデータペアを選択する。
その後、情報変換装置10は、各生成方法で生成したデータペアを用いて、超平面を学習し、学習した超平面の法線ベクトルからなる変換行列を情報検索装置20に通知する。なお、情報変換装置10は、例えばヘヴィサイドの階段関数を用いることにより、閾値による生成方法の選択を行っても良い。
次に、図1に戻って、情報変換装置10が有する学習データ記憶部11、各生成部12a〜12c、データ対選択部13、超平面学習部14が実行する処理について説明する。学習データ記憶部11は、情報変換装置10が超平面を学習するための学習データを記憶する。
具体的には、学習データ記憶部11は、学習データとして、利用者ごとに、複数の特徴量ベクトルを記憶する。ここで、学習データ記憶部11が記憶する特徴量ベクトルは、後述する検索対象データベース記憶部21が記憶する特徴量ベクトルの一部であり、クライアント装置2から登録された特徴量ベクトルである。すなわち、学習データ記憶部11は、検索システム1に登録された登録生体データの特徴量ベクトルの一部を記憶する。
ここで、図5は、学習データ記憶部が記憶するデータの一例を説明するための図である。図5に示すように、学習データ記憶部11は、データID(Identification)と特徴量ベクトルとラベルとを対応付けて記憶する。ここで、データIDとは、各データに付与されるデータの識別子である。また、ラベルとは、各特徴量ベクトルの類似性を示す情報であり、例えば、各特徴量ベクトルの元となる生体データ等を登録した利用者を示す情報である。
例えば、図5に示す例では、学習データ記憶部11は、データID「1」で示される特徴量ベクトルであって、ラベル「A」が付与された4000次元の浮動小数点データ「a、b、c…」を記憶する。また、学習データ記憶部11は、データID「2」で示される特徴量ベクトルであって、ラベル「B」が付与された4000次元の浮動小数点データ「d、e、f…」を記憶する。
図1に戻り、各生成部12a〜12cは、それぞれ異なる生成方法で、学習データ記憶部11が記憶する特徴量ベクトルから学習用のデータペアを生成する。例えば、生成部12aは、学習データ記憶部11からRR法を用いてデータペアを生成し、生成したデータペアを超平面学習部14に出力する。
また、生成部12bは、FN法を用いて生成したデータペアを超平面学習部14に出力する。また、生成部12cは、学習データ記憶部11からRN法を用いて生成したデータペアを超平面学習部14に出力する。
なお、図1では記載を省略したが、情報変換装置10は、生成部12a〜12cの他にも、RB法を用いてデータペアを生成する生成部やNN法を用いてデータペアを生成する生成部を有するものとする。また、各生成部12a〜12cは、データ対選択部13からデータペアを生成するよう指示されると、正例ペアと負例ペアとを1つずつ含むデータペアの組を生成し、生成したデータペアの組を超平面学習部14に出力するものとする。
データ対選択部13は、学習データ記憶部11を分析し、各統計的性質を計数する。そして、データ対選択部13は、計数した統計的性質に基づいて、各生成部12a〜12cが生成するデータペアの数を算出する。以下、データ対選択部13が実行する処理の詳細を説明する。
まず、データ対選択部13は、学習データ記憶部11が記憶する特徴量ベクトルに付与されたラベルの種類の個数「L」を計数する。また、データ対選択部13は、各ラベルが付与された特徴量ベクトルの個数「N1」〜「NL」をラベルごとに計数する。また、データ対選択部13は、学習データ記憶部11が記憶する特徴量ベクトルの総数Nallを計数する。次に、データ対選択部13は、クライアント装置2から、3つのパラメータ「TH1」、「TH2」、「TH3」および3つのゲイン「gain1」、「gain2」、「gain3」、および超平面を学習する際に用いるデータペアの数Npairの値を取得する。
そして、データ対選択部13は、3つのシグモイド関数「f_1」、「f_2」、「f_3」を準備し、取得した「gain1」、「gain2」、「gain3」の値を各シグモイド関数「f_1」、「f_2」、「f_3」のゲインの値とする。なお、各パラメータの値、および各ゲインの値から、各生成方法によって生成されたデータペアを使用する割合を算出する際の第2引数が定まる。また、以下の説明では、各シグモイド関数「f_1」、「f_2」、「f_3」の第1引数をxと記載する。
また、データ対選択部13は、計数した「N1」〜「NL」の標準偏差std(Ni)を算出する。また、データ対選択部13は、シグモイド関数「f_1」の値が0.1以上となる第1引数xの下限を「y_i」とし、シグモイド関数「f_1」の値が0.9以上となる第1引数xの下限を「z_i」と仮定する。そして、データ対選択部13は、シグモイド関数「f_1」が「z_i−y_1=std(Ni)/Nall」を満たすように、シグモイド関数「f_1」のゲインを変更する。
次に、データ対選択部13は、[0,1]上一様分布から3つの値「a1」、「a2」、「a3」をサンプリングする。そして、データ対選択部13は、学習データ記憶部11が記憶する各特徴量ベクトルに1つのラベルのみが付与されているか否かを判定する。そして、データ対選択部13は、各特徴量ベクトルに1つのラベルのみが付与されている場合は、以下の処理を実行する。
まず、データ対選択部13は、「L/Nall」を第1引数とし、「TH1」を第2引数とするシグモイド関数「f_1」の値と、「L」を第1引数とし、「TH2」を第2引数とするシグモイド関数「f_2」の値とを算出する。そして、データ対選択部13は、シグモイド関数「f_1」が「a1」より大きく、かつ、「a2」の値が「f_2」の値以上であるか否かを判定する。
また、データ対選択部13は、シグモイド関数「f_1」が「a1」より大きく、かつ、「a2」の値が「f_2」の値以上である場合は、RR法により生成したデータペアを採用する。詳細には、データ対選択部13は、RR法よりデータペアを生成する生成部12aにデータペアの組を1つ生成させ、生成させたデータペアを超平面学習部14に出力させる。
また、データ対選択部13は、シグモイド関数「f_1」が「a1」より大きく、かつ、「a2」の値が「f_2」の値以上ではない場合、「a1」がシグモイド関数「f_1」の値以上であり、かつ、「a2」の値が「f_2」の値より小さいか判定する。そして、データ対選択部13は、「a1」がシグモイド関数「f_1」の値以上であり、かつ、「a2」の値が「f_2」の値より小さい場合は、RN法により生成したデータペアを採用する。詳細には、データ対選択部13は、RN法によりデータペアを生成する生成部12cにデータペアの組を1つ生成させ、生成させたデータペアを超平面学習部14に出力させる。
また、データ対選択部13は、「a1」がシグモイド関数「f_1」の値以上であり、かつ、「a2」の値が「f_2」の値より小さいという条件を満たさない場合は、FN法により生成したデータペアを採用する。詳細には、データ対選択部13は、FN法によりデータペアを生成する生成部12bにデータペアの組を1つ生成させ、生成させたデータペアを超平面学習部14に出力させる。
一方、データ対選択部13は、各特徴量ベクトルに複数のラベルが付与されている場合は、以下の処理を実行する。
まず、データ対選択部13は、「L/Nall」を第1引数とし、「TH1」を第2引数とするシグモイド関数「f_1」の値と、「L」を第1引数とし、「TH2」を第2引数とするシグモイド関数「f_2」の値とを算出する。また、データ対選択部13は、「Npair/Nall」を第1引数とし、「TH3」を第2引数とするシグモイド関数「f_3」の値を算出する。そして、データ対選択部13は、「a1」の値がシグモイド関数「f_1」の値以上であり、かつ、「a2」の値が「f_2」の値よりも小さく、かつ「a3」の値がシグモイド関数「f_3」の値以下であるか否かを判定する。
そして、データ対選択部13は、「a1」の値がシグモイド関数「f_1」の値以上であり、かつ、「a2」の値が「f_2」の値よりも小さく、かつ「a3」の値がシグモイド関数「f_3」の値以下である場合は、RB法により生成したデータペアを採用する。つまり、データ対選択部13は、RB法によりデータペアを生成する生成部にデータペアの組を1つ生成させ、生成させたデータペアの組を超平面学習部14に出力させる。
また、データ対選択部13は、「a1」の値がシグモイド関数「f_1」より少なく、または「a2」の値が「f_2」の値以上であり、または「a3」の値がシグモイド関数「f_3」の値より大きい場合は、NN法により生成したデータペアを採用する。つまり、データ対選択部13は、NN法によりデータペアを生成する生成部にデータペアの組を1つ生成させ、生成させたデータペアの組を超平面学習部14に出力させる。
また、データ対選択部13は、上述した処理をNpairの数だけ繰り返し実行する。この結果、データ対選択部13は、学習データ記憶部11が記憶する各種統計的性質の数に応じた割合で、各生成方法により生成したデータペアを選択し、選択したデータペアを超平面学習部14に出力できる。
超平面学習部14は、各生成部12a〜12cから受信したデータペアを用いて、最適化された超平面を学習する。例えば、超平面学習部14は、各生成部12a〜12cから正例ペア、および負例ペアの組を受信する。また、超平面学習部14は、受信したデータペアの数が所定の数、すなわち「Napir」となった場合は、受信したデータペアを用いて、最適化された超平面を学習する。
例えば、超平面学習部14は、ランダムに設定した超平面によって異なる領域に分割されなかった正例ペアの数と、超平面によって異なる領域に分割された負例ペアの数との和を評価値とする。そして、超平面学習部14は、所定のアルゴリズム、たとえば超平面の位置をランダムに変更して評価値の値を再度算出する。
このような処理を所定の回数だけ繰り返し実行した後、超平面学習部14は、最も評価値の値が高かった超平面を最適化された超平面とする。その後、超平面学習部14は、最適化された超平面の法線ベクトルを各行ベクトルとする行列、すなわち変換行列を生成し、生成した変換行列をバイナリ変換部23に通知する。
次に、情報検索装置20が実行する処理について説明する。検索対象データベース記憶部21は、検索対象となるデータ、すなわち、登録生体データの特徴量ベクトルを記憶する。具体的には、検索対象データベース記憶部21は、学習データ記憶部11と同様のデータを記憶する。なお、検索対象データベース記憶部21は、学習データ記憶部11が記憶するデータを含む、より多くのデータを記憶しても良い。
また、バイナリデータベース記憶部22は、所定の変換行列を用いて特徴量ベクトルを変換したバイナリ記号と、変換前のデータIDとを対応付けて記憶する。
バイナリ変換部23は、情報変換装置10の超平面学習部14から変換行列を受信した場合は、受信した変換行列を用いて、検索対象データベース記憶部21が記憶する特徴量ベクトルをバイナリ列に変換する。そして、バイナリ変換部23は、変換後のバイナリ列を、変換元の特徴量ベクトルと対応付けられたデータIDと対応付けて、バイナリデータベース記憶部22に格納する。
検索処理部24は、クライアント装置2からクエリデータを受信すると、受信したクエリデータの特徴量を示す特徴量ベクトルを抽出し、抽出した特徴量ベクトルを所定の変換行列でバイナリ列に変換する。そして、検索処理部24は、バイナリデータベース記憶部22が記憶するバイナリ列のうち、ハミング距離が所定の値以下となるバイナリ列、すなわち、クエリデータの近傍候補となる特徴量ベクトルのバイナリ列を検索する。
その後、検索処理部24は、検索したバイナリ列の変換元である特徴量ベクトルを検索対象データベース記憶部21から取得する。そして、検索処理部24は、取得した特徴量ベクトルに、クエリデータから抽出した特徴量ベクトルと一致する特徴量ベクトルや、ユークリッド距離が所定の閾値以下となる特徴量ベクトルが存在する場合は、以下の処理を実行する。すなわち、検索処理部24は、クエリデータが登録生体データに一致する旨をクライアント装置2へ送信する。
一方、検索処理部24は、取得した特徴量ベクトルに、クエリデータから抽出した特徴量ベクトルと一致する特徴量ベクトルや、ユークリッド距離が所定の閾値以下となる特徴量ベクトルが存在しない場合は、以下の処理を実行する。すなわち、検索処理部24は、クエリデータが登録生体データに一致しない旨をクライアント装置2へ送信する。この結果、クライアント装置2は、クエリデータを入力した利用者の生体認証を行うことができる。
例えば、各生成部12a〜12c、データ対選択部13、超平面学習部14、バイナリ変換部23、検索処理部24は、電子回路である。ここで、電子回路の例として、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路、またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)などを適用する。
また、学習データ記憶部11、検索対象データベース記憶部21、バイナリデータベース記憶部22とは、RAM(Random Access Memory)、フラッシュメモリ(flash memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。
次に、図6〜9を用いて、情報変換装置10が実行する処理の流れについて説明する。まず、図6を用いて、情報変換装置10が実行する処理の内容を説明する。図6は、情報変換装置が実行する処理の流れを説明するためのフローチャートである。
まず、情報変換装置10は、学習データ記憶部11が記憶する特徴量ベクトルに付与されたラベルの種類の個数「L」、各ラベルが付与された特徴量ベクトルの個数「N1」〜「NL」特徴量ベクトルの総数「Nall」を計数する(ステップS101)。次に、情報変換装置10は、3つのパラメータ「TH1」、「TH2」、「TH3」および3つのゲイン「gain1」、「gain2」、「gain3」、データペアの数「Npair」の値を取得する(ステップS102)。
そして、情報変換装置10は、3つのシグモイド関数「f_1」、「f_2」、「f_3」を準備し、「gain1」、「gain2」、「gain3」の値を各シグモイド関数「f_1」、「f_2」、「f_3」のゲインの値とする(ステップS103)。また、情報変換装置10は、計数した「N1」〜「NL」の標準偏差を「std(Ni)」とし、シグモイド関数「f_1」が「z_i−y_1=std(Ni)/Nall」を満たすように、シグモイド関数「f_1」のゲインを変更する(ステップS104)。
次に、情報変換装置10は、学習用のデータペアを「Npair」個得たか否かを判定し(ステップS105)、得ていない場合は(ステップS105否定)、乱数によるデータペアの選択処理を実行する(ステップS106)。一方、情報変換装置10は、学習用のデータペアを「Npair」個得た場合は(ステップS105肯定)、データペアを用いて超平面を学習し(ステップS107)、処理を終了する。
次に、図7を用いて、図6中ステップS106に示した乱数によるデータペアの選択処理について説明する。図7は、乱数によるデータペアの選択処理の流れを説明するためのフローチャートである。まず、情報変換装置10は、[0,1]上一様分布から3つの値「a1」、「a2」、「a3」をサンプリングする(ステップS201)。そして、情報変換装置10は、学習データ記憶部11が記憶する各特徴量ベクトルに1つのラベルのみが付与されているか否かを判定する(ステップS202)。
また、情報変換装置10は、各特徴量ベクトルに1つのラベルのみが付与されている場合は(ステップS202肯定)、特徴量ベクトルが唯一のラベルを持つ場合のデータペア選択処理を実行する(ステップS203)。一方、情報変換装置10は、各特徴量ベクトルに複数のラベルが付与されている場合は(ステップS202否定)、特徴量ベクトルが複数のラベルを持ちうる場合のデータペア選択処理を実行する(ステップS204)。そして、情報変換装置10は、各選択処理を実行した後に、乱数によるデータペアの選択処理を終了する。
次に、図8を用いて、図7中ステップS203に示した特徴量ベクトルが唯一のラベルを持つ場合のデータペア選択処理の流れについて説明する。図8は、特徴量ベクトルが唯一のラベルを持つ場合のデータペア選択処理の流れを説明するためのフローチャートである。
まず、情報変換装置10は、「L/Nall」を第1引数とし、「TH1」を第2引数とするシグモイド関数「f_1」の値と、「L」を第1引数とし、「TH2」を第2引数とするシグモイド関数「f_2」の値とを算出する。そして、情報変換装置10は、シグモイド関数「f_1」が「a1」より大きく、かつ、「a2」の値が「f_2」の値以上であるか否かを判定する(ステップS301)。
また、情報変換装置10は、シグモイド関数「f_1」が「a1」より大きく、かつ、「a2」の値が「f_2」の値以上である場合は(ステップS301肯定)、RR法により生成したデータペアを採用する(ステップS302)。一方、情報変換装置10は、シグモイド関数「f_1」が「a1」より大きく、かつ、「a2」の値が「f_2」の値以上ではない場合は(ステップS301否定)、以下の処理を実行する。
すなわち、情報変換装置10は、「a1」がシグモイド関数「f_1」の値以上であり、かつ、「a2」の値が「f_2」の値より小さいか判定する(ステップS303)。そして、情報変換装置10は、「a1」がシグモイド関数「f_1」の値以上であり、かつ、「a2」の値が「f_2」の値より小さい場合(ステップS303肯定)は、RN法により生成したデータペアを採用する(ステップS304)。
また、そして、情報変換装置10は、「a1」がシグモイド関数「f_1」の値以上であり、かつ、「a2」の値が「f_2」の値より小さいという条件を満たさない場合(ステップS303否定)は、以下の処理を実行する。すなわち、情報変換装置10は、FN法により生成したデータペアを採用する(ステップS305)。また、情報変換装置10は、ステップS302、ステップS304、ステップS305により、データペアを採用した場合は、特徴量ベクトルが唯一のラベルを持つ場合のデータペア選択処理を終了する。
次に、図9を用いて、図7中ステップS204に示した特徴量ベクトルが複数のラベルを持ちうる場合のデータペア選択処理の流れについて説明する。図9は、特徴量ベクトルが複数のラベルを持ちうる場合のデータペア選択処理の流れを説明するためのフローチャートである。
まず、情報変換装置10は、「L/Nall」を第1引数とし、「TH1」を第2引数とするシグモイド関数「f_1」の値と、「L」を第1引数とし、「TH2」を第2引数とするシグモイド関数「f_2」の値とを算出する。また、情報変換装置10は、「Npair/Nall」を第1引数とし、「TH3」を第2引数とするシグモイド関数「f_3」の値を算出する。そして、情報変換装置10は、「a1」の値がシグモイド関数「f_1」の値以上であり、かつ、「a2」の値が「f_2」の値よりも小さく、かつ「a3」の値がシグモイド関数「f_3」の値以下であるか否かを判定する(ステップS401)。
そして、情報変換装置10は、「a1」の値がシグモイド関数「f_1」の値以上であり、「a2」の値が「f_2」の値よりも小さく、かつ「a3」の値がシグモイド関数「f_3」の値以下である場合(ステップS401肯定)は、以下の処理を実行する。すなわち、情報変換装置10は、RB法により生成したデータペアを採用する(ステップS402)。
一方、情報変換装置10は、「a1」の値がシグモイド関数「f_1」より少なく、または「a2」の値が「f_2」の値以上であり、または「a3」の値がシグモイド関数「f_3」の値より大きい場合(ステップS401否定)は、以下の処理を実行する。すなわち、情報変換装置10は、NN法により生成したデータペアを採用する(ステップS403)。その後、情報変換装置10は、ステップS402、およびステップS403の処理実行後、特徴量ベクトルが複数のラベルを持ちうる場合のデータペア選択処理を終了する。
[情報変換装置10の効果]
上述したように、情報変換装置10は、各特徴量ベクトルに付与されたラベルの数、全特徴量ベクトルに付与されたラベルの種類の数、同一ラベルが付与された特徴量ベクトルの数、超平面を学習する際に用いるデータペアの数を計数する。そして、情報変換装置10は、計数結果に応じて、学習用のデータペアを生成する複数の生成方法から1以上の生成方法を選択する。そして、情報変換装置10は、選択した生成方法を用いて、データペアを生成し、生成したデータペアを用いて、超平面を学習する。
このため、情報変換装置10は、特徴量ベクトルが有する統計的性質に応じて、精度よくデータを分類する超平面を学習するためのデータペアを選択することができる。この結果、情報変換装置10は、特徴量ベクトルが有する統計的性質に応じて、最適な生成方法により生成されたデータペアを用いて最適な超平面を学習することができる。
また、情報変換装置10は、計数結果に応じた割合で、各生成方法により生成されたデータペアを選択し、選択したデータペアを用いて、超平面を学習する。このため、情報変換装置10は、学習時に用いた特徴量ベクトルとは異なる性質を有する特徴量ベクトルが追加された場合にも、分類精度が劣化しない超平面を学習できる。
また、情報変換装置10は、計数した各統計的性質のそれぞれに基づく割合に応じて、データペアを生成する生成方法を選択し、選択した生成方法を用いてデータペアを生成する。ここで、各統計的性質のそれぞれに基づく割合とは、各特徴量ベクトルに付与されたラベルの数に基づく割合、ラベルの種類の数に基づく割合、同一ラベルが付与された特徴量ベクトルの数に基づく割合、学習用のデータペアの数に基づく割合である。このため、情報変換装置10は、適切な割合で選択した生成方法によるデータペアを用いて、変換行列を生成することができる。
また、情報変換装置10は、所定の関数を用いて、各生成方法により生成されたデータペアの割合を算出する。ここで、所定の関数とは、第1引数と第2引数により値が定まる所定の関数であって、第1引数に対する値が単調非減少であり、かつ第1引数が負の無限大で値が零となる関数である。また、所定の関数とは、第1引数が正の無限大で値が1となり、値が2分の1以上となる第1引数の下限が第2引数となる関数である。そして、情報変換装置10は、計数した各統計的性質の値を第1引数として入力し、各生成方法により生成されたデータペアを使用する割合を算出する。
このため、情報変換装置10は、学習時に使用した特徴量ベクトルとは異なる性質を有する特徴量ベクトルが追加された場合にも、分類精度がロバストな超平面をあらかじめ設定することができる。
また、情報変換装置10は、RR法、FN法、RN法、RB法、もしくはNN法を用いて学習用のデータペアを生成する。このため、情報変換装置10は、様々な統計的性質を有する特徴量ベクトルをラベルごとに分類する超平面を設定することができる。
また、情報変換装置10は、各特徴量ベクトルに1つのラベルが付与ており、同一ラベルが付与された特徴量ベクトルの数が少なく、同一ラベルが付与された特徴量ベクトルの数が多いほど、RR法、またはFN法によって生成されたデータペアを多く選択する。また、情報変換装置10は、各特徴量ベクトルに1つのラベルが付与されており、同一ラベルが付与された特徴量ベクトルの数が多く、同一ラベルが付与された特徴量ベクトルの数が少ないほど、RN法によって生成されたデータペアを多く選択する。また、情報変換装置10は、複数のラベルが各特徴量ベクトルに付与され、同一ラベルが付与された特徴量ベクトルの数が多く、同一ラベルが付与された特徴量ベクトルの数が少なく、学習用データペアの数が多いほど、RN法によるデータペアを多く選択する。また、情報変換装置10は、残りのデータペアをNN法によるデータペアとする。
このため、情報変換装置10は、特徴量ベクトルの統計的性質に応じた最適な割合で、各生成方法により生成されたデータペアを生成することができる。この結果、情報変換装置10は、特徴量ベクトルの統計的性質に応じた超平面を設定することができるので、超平面が各特徴量ベクトルをラベルごとに分類する精度を向上させることができる。
これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例2として本発明に含まれる他の実施例を説明する。
(1)割合を算出する関数について
上述した情報変換装置10は、所定の用件を満たす関数として、シグモイド関数を用いて、各生成方法がデータペアを生成する割合を算出した。しかし、実施例はこれに限定されるものではない。例えば、情報変換装置10は、ヘヴィサイドの階段関数(以下、単に階段関数と記載する)を用いて算出した割合に応じてデータペアを生成する生成方法を選択してもよい。
以下、情報変換装置10が実行する処理のバリエーションとして、階段関数を用いて、各生成方法がデータペアを生成する割合を算出する処理について、フローチャートを用いて説明する。なお、以下の処理は、情報変換装置10が有するデータ対選択部13、及び超平面学習部14によって実行される処理である。
まず、図10を用いて、情報変換装置10が実行する処理のバリエーションを説明する。図10は、情報変換装置が実行する処理のバリエーションを説明するためのフローチャートである。
まず、情報変換装置10は、学習データ記憶部11が記憶する特徴量ベクトルに付与されたラベルの種類の個数「L」、各ラベルが付与された特徴量ベクトルの個数「N1」〜「NL」特徴量ベクトルの総数「Nall」を計数する(ステップS501)。次に、情報変換装置10は、3つのパラメータ「TH1」、「TH2」、「TH3」、データペアの数「Npair」の値を取得する(ステップS502)。
そして、情報変換装置10は、学習用のデータペアを「Npair」個得たか否かを判定し(ステップS503)、得ていない場合は(ステップS503否定)、データペアの選択処理を実行する(ステップS504)。一方、情報変換装置10は、学習用のデータペアを「Npair」個得た場合は(ステップS503肯定)、データペアを用いて超平面を学習し(ステップS505)、処理を終了する。
次に、図11を用いて、図10中ステップS504に示したデータペアの選択処理について説明する。図11は、データペアの選択処理の流れを説明するためのフローチャートである。まず、情報変換装置10は、学習データ記憶部11が記憶する各特徴量ベクトルに1つのラベルのみが付与されているか否かを判定する(ステップS601)。
また、情報変換装置10は、各特徴量ベクトルに1つのラベルのみが付与されている場合は(ステップS601肯定)、特徴量ベクトルが唯一のラベルを持つ場合のデータペア選択処理を実行する(ステップS602)。一方、情報変換装置10は、各特徴量ベクトルに複数のラベルが付与されている場合は(ステップS601否定)、特徴量ベクトルが複数のラベルを持ちうる場合のデータペア選択処理を実行する(ステップS603)。そして、情報変換装置10は、各選択処理を実行した後に、乱数によるデータペアの選択処理を終了する。
次に、図12を用いて、図11中ステップS602に示した特徴量ベクトルが唯一のラベルを持つ場合のデータペア選択処理の流れについて説明する。図12は、特徴量ベクトルが唯一のラベルを持つ場合のデータペア選択処理のバリエーションを説明するためのフローチャートである。
まず、情報変換装置10は、「L/Nall」を第1引数とし、「TH1」を第2引数とする階段関数「f_1」の値と、「L」を第1引数とし、「TH2」を第2引数とする階段関数「f_2」の値とを算出する。そして、情報変換装置10は、階段関数「f_1」の値が正であり、かつ、「f_2」の値が「0」であるか否かを判定する(ステップS701)。
また、情報変換装置10は、階段関数「f_1」の値が正であり、かつ、「f_2」の値が「0」である場合は(ステップS701肯定)、RR法により生成したデータペアを採用する(ステップS702)。一方、情報変換装置10は、階段関数「f_1」の値が正であり、かつ、「f_2」の値が「0」ではない場合は(ステップS701否定)、以下の処理を実行する。
すなわち、情報変換装置10は、階段関数「f_1」の値が「0」であり、かつ、「f_2」の値が正であるか判定する(ステップS703)。そして、情報変換装置10は、階段関数「f_1」の値が「0」であり、かつ、「f_2」の値が正である場合は(ステップS703肯定)、RN法により生成したデータペアを採用する(ステップS704)。
また、情報変換装置10は、階段関数「f_1」の値が「0」ではない、または、「f_2」の値が正ではない場合(ステップS703否定)は、以下の処理を実行する。すなわち、情報変換装置10は、FN法により生成したデータペアを採用する(ステップS705)。また、情報変換装置10は、ステップS702、ステップS704、ステップS705により、データペアを採用した場合は、特徴量ベクトルが唯一のラベルを持つ場合のデータペア選択処理を終了する。
次に、図13を用いて、図11中ステップS603に示した特徴量ベクトルが複数のラベルを持ちうる場合のデータペア選択処理の流れについて説明する。図13は、特徴量ベクトルが複数のラベルを持ちうる場合のデータペア選択処理のバリエーションを説明するためのフローチャートである。
まず、情報変換装置10は、「L/Nall」を第1引数とし、「TH1」を第2引数とする階段関数「f_1」の値と、「L」を第1引数とし、「TH2」を第2引数とする階段関数「f_2」の値とを算出する。また、情報変換装置10は、「Npair/Nall」を第1引数とし、「TH3」を第2引数とする階段関数「f_3」の値を算出する。そして、情報変換装置10は、階段関数「f_1」の値が「0」であり、かつ、階段関数「f_2」の値が正であり、かつ階段関数「f_3」の値が「0」であるか否かを判定する(ステップS801)。
そして、情報変換装置10は、階段関数「f_1」の値が「0」であり、かつ、階段関数「f_2」の値が正であり、かつ階段関数「f_3」の値が「0」である場合(ステップS801肯定)は、以下の処理を実行する。すなわち、情報変換装置10は、RB法により生成したデータペアを採用する(ステップS802)。
一方、情報変換装置10は、階段関数「f_1」の値が「0」ではない、または階段関数「f_2」の値が正ではない、または階段関数「f_3」の値が「0」ではない場合は(ステップS801否定)、以下の処理を実行する。すなわち、情報変換装置10は、NN法により生成したデータペアを採用する(ステップS803)。その後、情報変換装置10は、ステップS802、およびステップS803の処理実行後、特徴量ベクトルが複数のラベルを持ちうる場合のデータペア選択処理を終了する。
情報変換装置10は、階段関数を用いた場合は、各生成方法のいずれか1つにより生成されたデータペアを用いて超平面を学習することとなる。このような場合にも、情報変換装置10は、適切な閾値を算出せずとも、特徴量ベクトルの統計的性質に応じて、生成方法を選択することができる。この結果、情報変換装置10は、超平面が特徴量ベクトルを分類する精度を向上させることができる。
(2)特徴量ベクトルの選択について
上述した情報変換装置10は、任意の数の特徴量ベクトルを含む正例ペア、および負例ペアを選択することができる。また、情報変換装置10は、3以上の特徴量ベクトルを含むデータセットを学習データ記憶部11から取得する。そして、情報変換装置10は、取得したデータセットから正例ペアおよび負例ペアを生成し、生成した正例ペアおよび負例ペアを用いて評価関数の値を算出してもよい。
また、上述した情報変換装置10は、超平面を評価するたびに、正例ペアと負例ペアとを選択しなおしてもよい。また、上述した情報変換装置10は、各特徴量ベクトルに1つのラベルが付与されているか、または複数のラベルが付与されているかに応じて、データペアの生成方法を変えた。しかしながら、実施例はこれに限定されるものではない。例えば、情報変換装置10は、1つのラベルが付与された特徴量ベクトルや複数のラベルが付与された特徴量ベクトルの数に応じた割合を算出し、算出した割合に応じて、データペアの生成方法を選択してもよい。
(3)実施形態について
上述した情報変換装置10は、情報検索装置20とは独立した装置である。しかし、実施例はこれに限定されるものではなく、例えば、情報検索装置20に情報変換装置10の機能を含めることとしてもよい。また、情報変換装置10は、情報検索装置20のバイナリ変換部23が実行する機能を有し、稼働中の情報検索装置20が記憶する特徴量ベクトルについて、変換行列を生成し、生成した変換行列を用いてバイナリ列を生成する処理を実行してもよい。また、情報変換装置10が発揮する機能は、いわゆるクラウドシステムによって発揮されてもよい。
(4)プログラム
ところで、実施例1に係る情報変換装置10は、ハードウェアを利用して各種の処理を実現する場合を説明した。しかし、実施例はこれに限定されるものではなく、あらかじめ用意されたプログラムを情報変換装置10が有するコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図14を用いて、実施例1に示した情報変換装置10と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図14は、学習プログラムを実行するコンピュータの一例を説明するための図である。
図14に例示されたコンピュータ100は、ROM(Read Only Memory)110、HDD(Hard Disk Drive)120、RAM(Random Access Memory)130、CPU(Central Processing Unit)140がバス160で接続される。また、図14に例示されたコンピュータ100は、パケットを送受信するためのI/O(Input Output)150を有する。
HDD120は、学習データ記憶部11と同様のデータが格納された特徴量ベクトルテーブル121を記憶する。また、RAM130には、学習プログラム131があらかじめ保持される。CPU140が学習プログラム131をRAM130から読み出して実行することによって、図14に示す例では、学習プログラム131は、学習プロセス141として機能するようになる。なお、学習プロセス141は、図1に示した核生成部12a〜12c、データ対選択部13、超平面学習部14と同様の機能を発揮する。
なお、本実施例で説明した学習プログラムは、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM(Compact Disc Read Only Memory)、MO(Magneto Optical Disc)、DVD(Digital Versatile Disc)などのコンピュータで読取可能な記録媒体に記録される。また、このプログラムは、コンピュータによって記録媒体から読み出されることによって実行することもできる。
1 検索システム
2 クライアント装置
10 情報変換装置
11 学習データ記憶部
12a〜12c 生成部
13 データ対選択部
14 超平面学習部
20 情報検索装置
21 検索対象データベース記憶部
22 バイナリデータベース記憶部
23 バイナリ変換部
24 検索処理部

Claims (8)

  1. 学習用のデータセットに含まれる各特徴量ベクトルに付与されたラベルの数、前記ラベルの種類の数、同一ラベルが付与された特徴量ベクトルの数、超平面を学習する際に用いるデータペアの数のいずれか1つ又は複数を計数し、
    前記計数結果に応じて、前記学習用のデータセットからデータペアを生成する複数の生成方法であって、あらかじめ記憶した生成方法の中から1以上の生成方法を選択し、
    前記選択した生成方法を用いて、前記学習用のデータセットに含まれる特徴量ベクトルからデータペアを生成し、
    前記生成したデータペアを用いて、特徴量ベクトル空間を分割する超平面を学習する
    処理を情報処理装置が実行することを特徴とする学習方法。
  2. 前記計数結果を用いて、各生成方法を用いてデータペアを生成する割合を算出し、
    各生成方法により生成したデータペアを前記算出した割合で選択し、
    前記選択したデータペアを用いて、前記超平面を学習することを特徴とする請求項1に記載の学習方法。
  3. 1つのラベルが付与された特徴量ベクトルの割合と、前記ラベルの種類の数に応じた割合と、同一ラベルが付与された特徴量ベクトルの数に応じた割合と、超平面を学習する際に用いるデータペアの数に応じた割合とに応じて、データペアを生成する生成方法を選択することを特徴とする請求項2に記載の学習方法。
  4. 第1の引数と第2の引数により値が定まる所定の関数であって、前記第1の引数に対する前記値が単調非減少であり、前記第1の引数が負の無限大で前記値が零となり、前記第1の引数が正の無限大で前記値が1となり、かつ前記値が2分の1以上となる前記第1の引数の下限が第2の引数となる関数に対し、前記計数結果、および所定の閾値を前記第1の引数、または前記第2の引数として入力することで、各生成方法を用いて生成したデータペアを選択する割合を算出し、
    各生成方法で生成したデータペアを前記算出した割合で選択し、
    前記選択したデータペアを用いて、前記超平面を学習することを特徴とする請求項1〜3のいずれか1つに記載の学習方法。
  5. 同じラベルが付与された特徴量ベクトルをランダムに選択したペア、および異なるラベルが付与された特徴量ベクトルをランダムに選択したペアを生成する第1の生成方法、又は、基準となる特徴量ベクトルを選択し、当該基準となる特徴量ベクトルと同じラベルの特徴量ベクトルのうち距離関係が最も遠い特徴量ベクトルと前記基準となる特徴量ベクトルとのペア、および前記基準となる特徴量ベクトルと異なるラベルの特徴量ベクトルのうち距離関係が最も近い特徴量ベクトルと前記基準となる特徴量ベクトルとのペアを生成する第2の生成方法、又は、同じラベルが付与された特徴量ベクトルをランダムに選択したペア、および基準となる特徴量ベクトルを選択し、当該基準となる特徴量ベクトルと異なるラベルの特徴量ベクトルのうち距離関係が最も近い特徴量ベクトルと前記基準となる特徴量ベクトルとのペアを生成する第3の生成方法、又は、同じラベルが付与された特徴量ベクトルをランダムに選択したペア、および1つ以上の特徴量ベクトルをサンプル組としてランダムに選択し、当該サンプル組に含まれる特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルであって、当該サンプル組に含まれる各特徴量ベクトルとの距離の一般化平均が最小となる特徴量ベクトルを基準ベクトルとして選択し、当該基準ベクトルとは異なるラベルが付与された特徴量ベクトルと、前記基準ベクトルとのペアを選択する第4の生成方法、又は、基準となる特徴量ベクトルを選択し、当該基準となる特徴量ベクトルと同じラベルの特徴量ベクトルのうち距離関係が最も近い特徴量ベクトルと前記基準となる特徴量ベクトルとのペア、および前記基準となる特徴量ベクトルと異なるラベルの特徴量ベクトルのうち距離関係が最も近い特徴量ベクトルと前記基準となる特徴量ベクトルとのペアを生成する第5の生成方法の中から前記超平面を学習するためのデータペアを生成する1以上の生成方法を選択することを特徴とする請求項1〜3のいずれか1つに記載の学習方法。
  6. 各特徴量ベクトルに1つのラベルが付与されており、同一ラベルが付与された特徴量ベクトルの数が少なく、同一ラベルが付与された特徴量ベクトルの数が多いほど、前記第1の生成方法、または前記第2の生成方法によって生成されたデータペアを多く選択し、各特徴量ベクトルに1つのラベルが付与されており、同一ラベルが付与された特徴量ベクトルの数が多く、同一ラベルが付与された特徴量ベクトルの数が少ないほど、前記第3の生成方法によって生成されたデータペアを多く選択し、各特徴量ベクトルに複数のラベルが付与されており、同一ラベルが付与された特徴量ベクトルの数が多く、同一ラベルが付与された特徴量ベクトルの数が少なく、前記超平面を学習するためのデータペアの数が多いほど、前記第4の生成方法によって生成されたデータペアを多く選択し、前記第5の生成方法によって生成されたデータペアを残りのデータペアとすることを特徴とする請求項5に記載の学習方法。
  7. それぞれ異なる生成方法を用いて、学習用のデータセットに含まれる特徴量ベクトルからデータペアを生成する複数の生成部と、
    前記学習用のデータセットに含まれる各特徴量ベクトルに付与されたラベルの数、前記ラベルの種類の数、同一ラベルが付与された特徴量ベクトルの数、超平面を学習する際に用いるデータペアの数のいずれか1つ又は複数を計数する計数部と、
    前記計数部の計数結果に応じて、前記学習用のデータセットからデータペアを生成する1以上の生成部を選択する選択部と、
    前記選択部が選択した生成部が生成したデータペアを用いて、特徴量ベクトル空間を分割する超平面を学習する学習部と
    を有することを特徴とする情報変換装置。
  8. コンピュータに、
    学習用のデータセットに含まれる各特徴量ベクトルに付与されたラベルの数、前記ラベルの種類の数、同一ラベルが付与された特徴量ベクトルの数、超平面を学習する際に用いるデータペアの数のいずれか1つ又は複数を計数し、
    前記計数結果に応じて、前記学習用のデータセットからデータペアを生成する複数の生成方法であって、あらかじめ記憶した生成方法の中から1以上の生成方法を選択し、
    前記選択した生成方法を用いて、前記学習用のデータセットに含まれる特徴量ベクトルからデータペアを生成し、
    前記生成したデータペアを用いて、特徴量ベクトル空間を分割する超平面を学習する
    処理を実行させることを特徴とする学習プログラム。
JP2014559463A 2013-02-01 2013-02-01 学習方法、情報変換装置および学習プログラム Expired - Fee Related JP6004014B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/052397 WO2014118976A1 (ja) 2013-02-01 2013-02-01 学習方法、情報変換装置および学習プログラム

Publications (2)

Publication Number Publication Date
JP6004014B2 true JP6004014B2 (ja) 2016-10-05
JPWO2014118976A1 JPWO2014118976A1 (ja) 2017-01-26

Family

ID=51261718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014559463A Expired - Fee Related JP6004014B2 (ja) 2013-02-01 2013-02-01 学習方法、情報変換装置および学習プログラム

Country Status (4)

Country Link
US (1) US9792561B2 (ja)
EP (1) EP2953063A4 (ja)
JP (1) JP6004014B2 (ja)
WO (1) WO2014118976A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6638484B2 (ja) * 2016-03-10 2020-01-29 富士通株式会社 情報処理装置、類似検索プログラム、及び類似検索方法
US10979430B1 (en) * 2017-05-17 2021-04-13 Adnazon Technologies, Inc. Service-initiated user authentication via delegated methods
CN113496277A (zh) * 2020-04-03 2021-10-12 三星电子株式会社 用于检索图像的神经网络装置及其操作方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011221689A (ja) * 2010-04-07 2011-11-04 Sony Corp 学習装置、学習方法、認識装置、認識方法、およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252333A (ja) 2005-03-11 2006-09-21 Nara Institute Of Science & Technology データ処理方法、データ処理装置およびそのプログラム
JP4565106B2 (ja) 2005-06-23 2010-10-20 独立行政法人情報通信研究機構 二項関係抽出装置,二項関係抽出処理を用いた情報検索装置,二項関係抽出処理方法,二項関係抽出処理を用いた情報検索処理方法,二項関係抽出処理プログラム,および二項関係抽出処理を用いた情報検索処理プログラム
US7617231B2 (en) * 2005-12-07 2009-11-10 Electronics And Telecommunications Research Institute Data hashing method, data processing method, and data processing system using similarity-based hashing algorithm
JP2010061176A (ja) 2006-11-22 2010-03-18 Nec Corp テキストマイニング装置、テキストマイニング方法、および、テキストマイニングプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011221689A (ja) * 2010-04-07 2011-11-04 Sony Corp 学習装置、学習方法、認識装置、認識方法、およびプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6013011641; 此島 真喜子: '特徴選択に基づくLocality-Sensitive Hashingによる高次元データの高速類似検索方法' 電子情報通信学会技術研究報告 Vol.112, No.83, 20120612, p.41-47, 一般社団法人電子情報通信学会 *
JPN6013011644; Makiko Konoshima, et al.: 'Locality-Sensitive Hashing with Margin Based Feature Selection' [online] , 20121011, p.1-9 *
JPN7013000938; Ran Gilad-Bachrach, et al.: 'Margin Based Feature Selection - Theory and Algorithms' ICML '04 Proceedings of the twenty-first international conference on Machine learning , 2004 *

Also Published As

Publication number Publication date
EP2953063A1 (en) 2015-12-09
US20150332173A1 (en) 2015-11-19
EP2953063A4 (en) 2017-04-05
WO2014118976A1 (ja) 2014-08-07
US9792561B2 (en) 2017-10-17
JPWO2014118976A1 (ja) 2017-01-26

Similar Documents

Publication Publication Date Title
JP6004016B2 (ja) 情報変換方法、情報変換装置および情報変換プログラム
TWI677852B (zh) 一種圖像特徵獲取方法及裝置、電子設備、電腦可讀存儲介質
US9400918B2 (en) Compact face representation
JP5521881B2 (ja) 画像識別情報付与プログラム及び画像識別情報付与装置
JP6004015B2 (ja) 学習方法、情報処理装置および学習プログラム
JP5862413B2 (ja) 情報変換規則生成プログラム、情報変換規則生成装置および情報変換規則生成方法
JP2013206187A (ja) 情報変換装置、情報検索装置、情報変換方法、情報検索方法、情報変換プログラム、情報検索プログラム
US10373028B2 (en) Pattern recognition device, pattern recognition method, and computer program product
CN110019779B (zh) 一种文本分类方法、模型训练方法及装置
JP6004014B2 (ja) 学習方法、情報変換装置および学習プログラム
Elgeldawi et al. Hyperparameter Tuning for Machine Learning Algorithms Used for Arabic Sentiment Analysis. Informatics 2021, 8, 79
JP4967705B2 (ja) クラスタ生成装置およびクラスタ生成プログラム
Da San Martino et al. QCRI at SemEval-2016 Task 4: Probabilistic methods for binary and ordinal quantification
JP2012155394A (ja) 文書分類学習制御装置、文書分類装置およびコンピュータプログラム
CN111783088A (zh) 一种恶意代码家族聚类方法、装置和计算机设备
Sivakumar et al. A hybrid text classification approach using KNN and SVM
JP5633424B2 (ja) プログラム及び情報処理システム
JP6659120B2 (ja) 情報処理装置、情報処理方法、およびプログラム
Zheng et al. An Improved k-Nearest Neighbor Classification Algorithm Using Shared Nearest Neighbor Similarity.
JP6973733B2 (ja) 特許情報処理装置、特許情報処理方法およびプログラム
JP7268069B2 (ja) 学習装置、学習方法、学習プログラム、評価装置、評価方法、および評価プログラム
CN107798113B (zh) 一种基于聚类分析的文档数据分类方法
Paladugu et al. Augmenting Document Classification Accuracy Through the Integration of Deep Contextual Embeddings
Biçer et al. Enhancing Fake News Detection through Clustering with Convolutional Neural Networks
Ougiaroglou¹ et al. Check for updates

Legal Events

Date Code Title Description
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: 20160809

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160822

R150 Certificate of patent or registration of utility model

Ref document number: 6004014

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees