(57)【要約】【課題】低記憶容量かつ高速な次元削減を実現可能な次元削減装置、方法及びプログラムを提供する。【解決手段】実施形態の次元削減装置は、取得部と、生成部と、第１写像部と、第２写像部と、出力部と、を備える。取得部は、複数の要素で構成される第１ベクトルを取得する。生成部は、それぞれが複数の要素のうちの１以上の要素で構成される複数の第１部分ベクトルを生成する。第１写像部は、第１部分ベクトルそれぞれを、当該第１部分ベクトルに対応する第１写像を用いて当該第１部分ベクトルを構成する要素の数を削減した第２部分ベクトルに変換し、変換後の複数の第２部分ベクトルを連結して、第１ベクトルの次元数を削減した第２ベクトルを生成する。第２写像部は、第２ベクトルに対し、当該第２ベクトルの次元数以下の空間への第２写像を適用し、当該第２ベクトルの次元数を削減した第３ベクトルを生成する。出力部は、第３ベクトルを出力する。【選択図】図１
2015184775.tif 000002
【特許請求の範囲】
【請求項１】
複数の要素で構成される第１ベクトルを取得する取得部と、
それぞれが前記複数の要素のうちの１以上の要素で構成される複数の第１部分ベクトルを生成する生成部と、
前記第１部分ベクトルそれぞれを、当該第１部分ベクトルに対応する第１写像を用いて当該第１部分ベクトルを構成する要素の数を削減した第２部分ベクトルに変換し、変換後の前記複数の第２部分ベクトルを連結して、前記第１ベクトルの次元数を削減した第２ベクトルを生成する第１写像部と、
前記第２ベクトルに対し、当該第２ベクトルの次元数以下の空間への第２写像を適用し、当該第２ベクトルの次元数を当該次元数以下に削減した第３ベクトルを生成する第２写像部と、
前記第３ベクトルを出力する出力部と、
を備える次元削減装置。
【請求項２】
前記生成部は、前記複数の第１部分ベクトルをＮ−１（Ｎは２以上の自然数）回生成するまで、前記第１写像部により前記第２ベクトルが生成される毎に、当該第２ベクトルを前記第１ベクトルとして用いて前記複数の第１部分ベクトルを生成し、
前記第１写像部は、前記複数の第１部分ベクトルが生成される毎に、当該複数の第１部分ベクトルから前記第２ベクトルを生成し、
前記第２写像部は、前記第１写像部により最終的に生成された前記第２ベクトルから前記第３ベクトルを生成する請求項１に記載の次元削減装置。
【請求項３】
前記生成部は、所定の方式で、前記複数の要素それぞれを前記複数の第１部分ベクトルのうち１以上の第１部分ベクトルに選択し、前記複数の第１部分ベクトルを生成する請求項１に記載の次元削減装置。
【請求項４】
前記所定の方式はランダムである請求項３に記載の次元削減装置。
【請求項５】
前記第１写像及び前記第２写像は、アフィン写像である請求項１に記載の次元削減装置。
【請求項６】
前記第１写像は、アフィン写像及びスカラ関数での変換である請求項１に記載の次元削減装置。
【請求項７】
前記スカラ関数は、非線形関数又は線形関数である請求項６に記載の次元削減装置。
【請求項８】
前記非線形関数は、区分線形関数、シグモイド関数、及びｔａｎｈ関数の少なくともいずれかである請求項７に記載の次元削減装置。
【請求項９】
複数の要素で構成される第１ベクトルを取得する取得ステップと、
それぞれが前記複数の要素のうちの１以上の要素で構成される複数の第１部分ベクトルを生成する生成ステップと、
前記第１部分ベクトルそれぞれを、当該第１部分ベクトルに対応する第１写像を用いて当該第１部分ベクトルを構成する要素の数を削減した第２部分ベクトルに変換し、変換後の前記複数の第２部分ベクトルを連結して、前記第１ベクトルの次元数を削減した第２ベクトルを生成する第１写像ステップと、
前記第２ベクトルに対し、当該第２ベクトルの次元数以下の空間への第２写像を適用し、当該第２ベクトルの次元数を当該次元数以下に削減した第３ベクトルを生成する第２写像ステップと、
前記第３ベクトルを出力する出力ステップと、
を含む次元削減方法。
【請求項１０】
複数の要素で構成される第１ベクトルを取得する取得ステップと、
それぞれが前記複数の要素のうちの１以上の要素で構成される複数の第１部分ベクトルを生成する生成ステップと、
前記第１部分ベクトルそれぞれを、当該第１部分ベクトルに対応する第１写像を用いて当該第１部分ベクトルを構成する要素の数を削減した第２部分ベクトルに変換し、変換後の前記複数の第２部分ベクトルを連結して、前記第１ベクトルの次元数を削減した第２ベクトルを生成する第１写像ステップと、
前記第２ベクトルに対し、当該第２ベクトルの次元数以下の空間への第２写像を適用し、当該第２ベクトルの次元数を当該次元数以下に削減した第３ベクトルを生成する第２写像ステップと、
前記第３ベクトルを出力する出力ステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、次元削減装置、方法及びプログラムに関する。
【背景技術】
【０００２】
画像認識や音声認識などのパターン認識の分野では、認識に有効な情報を少しでも多く用いるため、数万次元から数十万次元といった非常に高次元の特徴ベクトルを用いることも珍しくない。このため、特徴ベクトルの次元数を削減した低次元特徴ベクトルを用いて認識処理を行うアプローチがある。
【０００３】
このようなアプローチにおける次元削減手法として、例えば、次元削減前後における平均二乗誤差が最小となるように次元削減を行う主成分分析を用いた手法がある。この手法では、Ｄｉｎ次元からＤｏｕｔ次元に削減する場合、Ｄｉｎ次元の高次元ベクトルにＤｏｕｔ×Ｄｉｎの行列を掛けることで、Ｄｏｕｔ次元の低次元ベクトルを算出する。
【０００４】
但し、この手法では、Ｄｉｎのデータ量が非常に大きな値となるので、Ｄｏｕｔ×Ｄｉｎの行列のデータ量も非常に大きな値となり、Ｄｏｕｔ×Ｄｉｎの行列を記憶するために非常に大きな記憶容量のメモリ等の記憶装置が必要となる。また、次元削減に伴う演算量も莫大なものとなり、次元削減に時間を要する。
【０００５】
このため、他の手法として、Ｄｏｕｔ×Ｄｉｎの行列の一部の要素が非零となるようにし、Ｄｏｕｔ×Ｄｉｎの行列を記憶するために必要な記憶容量を削減する技術がある。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ｈ．Ｚｏｕ，Ｔ．Ｈａｓｔｉｅ  ａｎｄ  Ｒ．Ｔｉｂｓｈｉｒａｎｉ，“Ｓｐａｒｓｅ  Ｐｒｉｎｃｉｐａｌ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ，”Ｊｏｕｒｎａｌ  ｏｆ  Ｃｏｍｐｕｔａｔｉｏｎａｌ  ａｎｄ  Ｇｒａｐｈｉｃａｌ  Ｓｔａｔｉｓｔｉｃｓ，Ｖｏｌ．１５，Ｎｏ．２，ｐｐ．２６５−２８６，２００６
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したような従来技術では、非零の要素がとびとびに存在するため、次元削減に伴う演算時の記憶領域へのアクセスもとびとびになり、演算の高速化が困難である。このため、次元削減に時間を要する。
【０００８】
本発明が解決しようとする課題は、低記憶容量かつ高速な次元削減を実現可能な次元削減装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００９】
実施形態の次元削減装置は、取得部と、生成部と、第１写像部と、第２写像部と、出力部と、を備える。取得部は、複数の要素で構成される第１ベクトルを取得する。生成部は、それぞれが前記複数の要素のうちの１以上の要素で構成される複数の第１部分ベクトルを生成する。第１写像部は、前記第１部分ベクトルそれぞれを、当該第１部分ベクトルに対応する第１写像を用いて当該第１部分ベクトルを構成する要素の数を削減した第２部分ベクトルに変換し、変換後の前記複数の第２部分ベクトルを連結して、前記第１ベクトルの次元数を削減した第２ベクトルを生成する。第２写像部は、前記第２ベクトルに対し、当該第２ベクトルの次元数以下の空間への第２写像を適用し、当該第２ベクトルの次元数を当該次元数以下に削減した第３ベクトルを生成する。出力部は、前記第３ベクトルを出力する。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の次元削減装置の例を示す構成図。
【図２】本実施形態のＮ＝２の場合の次元削減例の説明図。
【図３】本実施形態の要素の選択手法の例の説明図。
【図４】本実施形態の要素の選択手法の例の説明図。
【図５】本実施形態の第１写像の例の説明図。
【図６】本実施形態の第１写像の例の説明図。
【図７】本実施形態の要素の変換に適用するスカラ関数の例の説明図。
【図８】本実施形態の要素の変換に適用するスカラ関数の例の説明図。
【図９】本実施形態の要素の変換に適用するスカラ関数の例の説明図。
【図１０】本実施形態の要素の変換に適用するスカラ関数の例の説明図。
【図１１】本実施形態の次元削減処理例を示すフローチャート。
【図１２】本実施形態との比較例を示す図。
【図１３】本実施形態との比較例を示す図。
【図１４】本実施形態のＮ＝３の場合の次元削減例の説明図。
【図１５】本実施形態の次元削減装置をコンピュータで実現した場合のハードウェア構成例を示すブロック図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照しながら、実施形態を詳細に説明する。
【００１２】
図１は、本実施形態の次元削減装置１０の一例を示す構成図である。図１に示すように、次元削減装置１０は、取得部１１と、生成部１３と、第１写像部１５と、第２写像部１７と、出力部１９と、記憶部２１とを、備える。
【００１３】
本実施形態では、取得部１１、生成部１３、第１写像部１５、第２写像部１７、及び出力部１９をＩＣ（Integrated  Circuit）で実現することを想定しているが、これに限定されるものではない。例えば、取得部１１、生成部１３、第１写像部１５、第２写像部１７、及び出力部１９をＣＰＵ（Central  Processing  Unit）などの処理装置にプログラムを実行させること、即ち、ソフトウェアにより実現してもよいし、ソフトウェア及びハードウェアを併用して実現してもよい。
【００１４】
本実施形態では、記憶部２１をＤＲＡＭ（Dynamic  Random  Access  Memory）などのメモリで実現することを想定しているが、これに限定されるものではない。例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）などで実現してもよい。
【００１５】
本実施形態では、次元削減装置１０をＩＣチップ、ＬＳＩ（Large  Scale  Integration）チップ、及びＡＳＩＣ（Application  Specific  Integrated  Circuit）などのハードウェアで実現することを想定しているが、これに限定されるものではない。例えば、次元削減装置１０をコンピュータで実現してもよい。
【００１６】
取得部１１は、複数の要素で構成される第１ベクトルを取得する。ここで、第１ベクトルは、後述する第２ベクトルや第３ベクトルよりも高次元の特徴ベクトルであり、ベクトル表現可能な任意の高次元特徴量を用いることができる。
【００１７】
例えば、画像特徴量を例に取れば、画像ベクトル、輝度勾配方向ヒストグラム、輝度勾配方向共起ヒストグラム、カラーヒストグラム、カラー共起ヒストグラム、Ｈａａｒ−ｌｉｋｅ特徴、又はｂａｇ  ｏｆ  ｖｉｓｕａｌ  ｗｏｒｄｓなどを、第１ベクトルとすることができる。但し、第１ベクトルは、これに限定されず、音声認識やドキュメント認識など種々のパターン認識で使用される特徴量などであってもよい。
【００１８】
生成部１３は、取得部１１により取得された第１ベクトルから、複数の第１部分ベクトルを生成する。具体的には、生成部１３は、それぞれの第１部分ベクトルが、第１ベクトルを構成する複数の要素のうちの１以上の要素で構成される複数の第１部分ベクトルを生成する。そして生成部１３は、生成した複数の第１部分ベクトルを記憶部２１に記憶する。
【００１９】
特に本実施形態では、生成部１３は、複数の第１部分ベクトルをＮ−１（Ｎは２以上の自然数）回生成するまで、第１写像部１５により第２ベクトルが生成される毎に、当該第２ベクトルを第１ベクトルとして用いて複数の第１部分ベクトルを生成し、記憶部２１に記憶する。第２ベクトルは、第１ベクトルの次元数を削減したベクトルであるが、詳細は後述する。
【００２０】
ここで、Ｎは、次元削減の階層数（回数）を表す。次元削減は、生成部１３及び第１写像部１５によりＮ−１回行われ、第２写像部１７により１回行われるので、合計Ｎ回行われる。なお本実施形態では、Ｎ＝２の場合を例に取り説明するが、これに限定されるものではなく、３以上の自然数であってもよい。
【００２１】
図２は、本実施形態のＮ＝２の場合の次元削減の一例の説明図である。図２に示す例では、ｘ１（ｘｉｎ）が第１ベクトルを示し、ｙ１ｊが第１部分ベクトルを示し、ｂ１ｊ及びＷ１ｊが第１写像で用いられるベクトル及び行列を示し、ｘ２ｊが第２部分ベクトルを示し、ｘ２が第２ベクトルを示し、ｂ２及びＷ２が第２写像で用いられるベクトル及び行列を示し、ｘｏｕｔが第３ベクトルを示す。
【００２２】
ここで、ｊは１〜第１部分ベクトル数までの自然数である。図２に示す例では、第１部分ベクトルの数が５なのでｊは１〜５の自然数である。第２部分ベクトルは、第１部分ベクトルの次元数を削減したベクトルであり、第１写像は、第１部分ベクトルから第２部分ベクトルを生成するための写像であり、第３ベクトルは、第２ベクトルの次元数を削減したベクトルであり、第２写像は、第２ベクトルから第３ベクトルを生成するための写像であるが、詳細は後述する。
【００２３】
図２に示す例では、生成部１３及び第１写像部１５により次元削減が１回行われることで、第１ベクトルから第２ベクトルが生成され、第２写像部１７により次元削減が１回行われることで、第２ベクトルから第３ベクトルが生成される。つまり、図２に示す例では、階層数２の次元削減が行われている。
【００２４】
なお生成部１３は、所定の方式で、複数の要素それぞれを複数の第１部分ベクトルのうち１以上の第１部分ベクトルに選択し、複数の第１部分ベクトルを生成する。つまり、生成部１３は、複数の要素を全て使用して、複数の第１部分ベクトルを生成する。実際には、複数の要素それぞれにインデックスが振られているので、生成部１３は、インデックスを選択することで要素を選択する。
【００２５】
なお生成部１３は、図３に示すように、第１ベクトル（ｘｉ）を構成する複数の要素それぞれを、複数の第１部分ベクトル（ｙｉｊ）のうちのいずれか１つに選択してもよい。この場合、複数の第１部分ベクトルを構成する要素の総数は、第１ベクトルを構成する複数の要素の総数と等しくなる。
【００２６】
また生成部１３は、図４に示すように、第１ベクトル（ｘｉ）を構成する複数の要素それぞれを、複数の第１部分ベクトル（ｙｉｊ）のうちの１以上の第１部分ベクトルに選択してもよい。この場合、複数の第１部分ベクトルを構成する要素の総数は、第１ベクトルを構成する複数の要素の総数以上となる。つまり、生成部１３は、複数の要素を全て使用すれば、同一の要素を重複して選択してもよい。
【００２７】
また、上述した所定の方式は、ランダム選択であってもよいし、誤差最小化などの評価規準に基づく機械学習を用いた選択であってもよいし、決め打ちでの選択であってもよい。
【００２８】
また、複数の第１部分ベクトルそれぞれにおいて、要素の総数は略同数であることが好ましいが、そうでなくてもよい。特に、決め打ちでの選択の場合、複数の第１部分ベクトルそれぞれにおける要素の総数は、一様であってもよいし、偏っていてもよい。
【００２９】
なお本実施形態では、Ｎ＝２を想定しているので、図３及び図４に示す例においてｉ＝１である。
【００３０】
第１写像部１５は、生成部１３により生成された第１部分ベクトルそれぞれを、当該第１部分ベクトルに対応する第１写像を用いて当該第１部分ベクトルを構成する要素の数を削減した第２部分ベクトルに変換し、変換後の複数の第２部分ベクトルを連結して、第１ベクトルの次元数を削減した第２ベクトルを生成し、記憶部２１に記憶する。
【００３１】
特に本実施形態では、第１写像部１５は、生成部１３により複数の第１部分ベクトルが生成される毎に、当該複数の第１部分ベクトルから上述した手法で第２ベクトルを生成し、記憶部２１に記憶する。なお、第１写像で用いられるパラメータである第１部分ベクトルｙ１ｊ、ベクトルｂ１ｊ及び行列Ｗ１ｊは、記憶部２１に記憶されている。
【００３２】
ここで、第１写像で用いられるパラメータ（ベクトルｂ１ｊ及び行列Ｗ１ｊ）は、種々の機械学習手法を用いて決めることができる。例えば、砂時計型ニューラルネットワークの枠組みを用いて、入力ベクトルと出力ベクトルの誤差が小さくなるように学習することができる。または、良く知られたａｕｔｏｅｎｃｏｄｅｒネットワークのように１層ずつ学習していき、最後にＮ階層全体でパラメータチューニングを行ってもよい。または、特徴ベクトルとクラスラベルが組となったサンプルを用いた教師あり学習を用いてもよい。教師あり学習として、例えば、“Ｅｆｆｉｃｉｅｎｔ  Ｏｂｊｅｃｔ  Ｃａｔｅｇｏｒｙ  Ｒｅｃｏｇｎｉｔｉｏｎ  Ｕｓｉｎｇ  Ｃｌａｓｓｅｍｅｓ，”Ｌ．Ｔｏｒｒｅｓａｎｉ  ｅｔ  ａｌ．，ＥＣＣＶ２０１０の枠組みや、“Ｒａｎｄｏｍ  Ｅｎｓｅｍｂｌｅ  Ｍｅｔｒｉｃｓ  ｆｏｒ  Ｏｂｊｅｃｔ  Ｒｅｃｏｇｎｉｔｉｏｎ，”Ｔ．Ｋｏｚａｋａｙａ  ｅｔ  ａｌ．，ＩＣＣＶ２０１１の枠組みを用いることができる。ここで挙げた以外にも、種々の次元削減の学習手法の枠組みを適用することができる。
【００３３】
具体的に説明すると、第１写像部１５は、生成部１３により生成された第１部分ベクトルに対し、当該第１部分ベクトルに対応する第１写像用のベクトル及び行列を用いて第１写像を行うことで、第１部分ベクトルを第２部分ベクトルに変換する。ここで、第１写像は、図５及び（数１）に示すように、アフィン写像であることが好ましいが、これに限定されず、図６及び（数２）に示すように、アフィン写像と要素の変換ｇｉｊを組み合わせたものであってもよいし、パターン認識分野で一般によく知られている、カーネル関数を用いたカーネル空間への写像であってもよい。
【００３４】
【数１】
2015184775.tif 000003
【００３５】
【数２】
2015184775.tif 000004
【００３６】
ここで、第１写像で用いられるＷｉｊは行列を示し、第１写像で用いられるｂｉｊはベクトルを示す。但し、ｂｉｊは省略可能であり、この場合、（数１）は線形写像となり、（数２）は、線形写像と要素の変換とを組み合わせたものとなる。
【００３７】
また、要素の変換ｇｉｊは、第１部分ベクトルを構成する各要素をそれぞれ独立に変換する。ここで、各要素に適用する変換には、線形関数や非線形関数など任意のスカラ関数を用いることができ、例えば、図７に示すような恒等写像、図８に示すような区分線形関数、図９に示すようなシグモイド関数、及び図１０に示すようなｔａｎｈ関数を用いることができる。
【００３８】
例えば、シグモイド関数は閾値処理のような動作をするため、量的な値を質的な値に変換するような効果がある。また、第１部分ベクトル（第１ベクトル）が画像特徴量である場合、量的な値（例えば、画像上のエッジの強度）よりも質的な値（例えば、エッジの有無）の方が、認識に有効な情報であることが多い。このため、変換ｇｉｊを用いて要素を変換すること、即ち、変換ｇｉｊを用いて第１部分ベクトルを第２部分ベクトルに変換することで、第２部分ベクトルをより認識に有効な情報とすることができる。
【００３９】
但し、任意のスカラ関数は、これらに限定されず、多項式関数、三角関数、指数関数、及び対数関数などを用いることもできる。
【００４０】
なお本実施形態では、Ｎ＝２を想定しているので、図５、図６、数式（１）、及び数式（２）に示す例においてｉ＝１である。
【００４１】
第２写像部１７は、第１写像部１５により生成された第２ベクトルに対し、当該第２ベクトルの次元数以下の空間への第２写像を適用し、当該第２ベクトルの次元数を当該次元数以下に削減した第３ベクトルを生成する。特に本実施形態では、第２写像部１７は、第１写像部１５により最終的に生成された第２ベクトルから第３ベクトルを生成する。なお、第２写像で用いられるパラメータである第２ベクトルｘ２、ベクトルｂ２及び行列Ｗ２は、記憶部２１に記憶されている。ここで、第２写像で用いられるパラメータ（ベクトルｂ２及び行列Ｗ２）は、第１写像同様、種々の機械学習手法を用いて決めることができる。
【００４２】
具体的に説明すると、第２写像部１７は、第１写像部１５により生成された第２ベクトルに対し、第２写像用のベクトルｂ２及び行列Ｗ２を用いて第２写像を行うことで、第２ベクトルを第３ベクトルに変換する。ここで、第２写像は、第１写像同様、アフィン写像であることが好ましいが、これに限定されず、アフィン写像と要素の変換ｇ２を組み合わせたものであってもよいし、カーネル関数を用いたカーネル空間への写像であってもよい。
【００４３】
出力部１９は、第２写像部１７により生成された第３ベクトルを出力する。
【００４４】
図１１は、本実施形態の次元削減装置１０で行われる次元削減処理の手順の流れの一例を示すフローチャートである。
【００４５】
まず、取得部１１は、次元削減の対象である第１ベクトルｘｉｎを取得し（ステップＳ１０１）、ｘ１をｘｉｎで初期化するとともに、変数ｉを１で初期化する（ステップＳ１０３）。
【００４６】
続いて、生成部１３は、変数ｊを０で初期化した後、更に、変数ｊをｊ＋１で更新する（ステップＳ１０５、Ｓ１０７）。
【００４７】
続いて、生成部１３は、関数ｐｉｊを用いて第１ベクトルｘｉから要素を選択して、第１部分ベクトルｙｉｊを生成する（ステップＳ１０９）。関数ｐｉｊは、上述した所定の方式の一例である。
【００４８】
続いて、第１写像部１５は、第１部分ベクトルｙｉｊに対し、第１写像ｆｉｊを適用して、第２部分ベクトルｘｉ＋１，ｊを生成する（ステップＳ１１１）。
【００４９】
そして、ｊ＜Ｍｉの間（ステップＳ１１３でＹｅｓ）、ステップＳ１０７〜Ｓ１１１が繰り返される。Ｍｉは、２以上の自然数であり、第１ベクトルから生成される第１部分ベクトルの数を表す。
【００５０】
続いて、ｊ≧Ｍｉとなると（ステップＳ１１３でＮｏ）、第１写像部１５は、生成したＭｉ個の第２部分ベクトルｘｉ＋１，１〜第２部分ベクトルｘｉ＋１，Ｍｉを連結して、第２ベクトルｘｉ＋１を生成する（ステップＳ１１５）。
【００５１】
続いて、第１写像部１５は、変数ｉをｉ＋１で更新する（ステップＳ１１７）。
【００５２】
そして、ｉ＜Ｎの間（ステップＳ１１９でＹｅｓ）、ステップＳ１０５〜Ｓ１１７が繰り返される。Ｎは、前述の通り、次元削減の階層数（回数）を表す。
【００５３】
続いて、ｉ≧Ｎとなると（ステップＳ１１９でＮｏ）、第２写像部１７は、第１写像部１５により最終的に生成された第２ベクトルｘＮに対し、第２写像ｆＮを適用して、第３ベクトルｘｏｕｔを生成する（ステップＳ１２１）。
【００５４】
続いて、出力部１９は、第３ベクトルｘｏｕｔを出力する（ステップＳ１２３）。
【００５５】
以上が本実施形態の次元削減装置１０の構成及び動作である。以下では、次元削減装置１０が低記憶容量かつ高速な次元削減を実現可能である点について説明する。
【００５６】
ここでは、例として、入力となる第１ベクトルの次元数を５０，０００、出力となる第３ベクトルの次元数を５００とする。また、階層数Ｎ＝２（階層数２の次元削減）とし、第１写像及び第２写像はアフィン写像とする。また、第１部分ベクトルの個数Ｍ１は５０とし、要素選択における選択数は、重複選択を許さずに同数とする。つまり、第１部分ベクトル１つあたりの次元数は５０，０００／５０＝１，０００となる。また、第１写像は、全てのｊにおいて、５００／Ｍ１＝１０次元ベクトルに変換するものとする。従って、第２ベクトルｘ２の次元数は５００となり、第２写像は５００次元から５００次元へのアフィン写像ということになる。
【００５７】
まず、従来技術である次元削減前後における平均二乗誤差が最小となるように次元削減を行う主成分分析を用いた手法や非特許文献１の手法は、それぞれ、図１２、図１３に示すように、高次元の特徴ベクトルに対して行列演算を１回行うだけなので、階層数１の次元削減であると言える。なお、図１２及び図１３は、本実施形態との比較例を示す図である。このため、従来技術である主成分分析を用いた手法（図１２参照）では、写像に用いるパラメータの数は、５００＋５００×５０，０００≒２５Ｍとなる。
【００５８】
これに対し本実施形態の手法では、第１写像に用いるパラメータの数は、５０×（１０＋１０×１，０００）≒０．５Ｍ、第２写像に用いるパラメータの数は、５００＋５００×５００≒０．２５Ｍとなり、合計０．７５Ｍ個のパラメータを保持するだけでよい。
【００５９】
従って、本実施形態の手法では、従来技術に対して１００分の３のメモリ量で済み、低記憶容量を実現可能であることが分かる。また本実施形態の手法では、発生する乗算の回数も同様に１００分の３となり、かつ、本実施形態の手法の各アフィン写像は連続メモリに配置することができるため、従来技術に対して高速な次元削減を実現可能であることが分かる。
【００６０】
このように本実施形態では、写像に用いるパラメータの数を大幅に削減できるため、メモリ量及び乗算回数を削減でき、低記憶容量かつ高速な次元削減が実現可能である。
【００６１】
また本実施形態の手法では、生成部１３が、第１ベクトルを構成する複数の要素を全て使用して、複数の第１部分ベクトルを生成するので、複数の第１部分ベクトルは、第１ベクトルが有する情報を全て含むこととなる。このため本実施形態の手法によれば、次元削減に伴い、認識に有効な情報が落ちてしまうことを防止できる。即ち、認識に有効な情報を残しつつ、次元削減することができる。
【００６２】
なお前述したとおり、本実施形態では、階層数２の次元削減を例に取り説明したが、次元削減の階層数は３以上であってもよい。例えば、階層数３の次元削減の場合、図１４に示すように次元削減が行われる。
【００６３】
（ハードウェア構成）
図１５は、本実施形態の次元削減装置１０をコンピュータで実現した場合のハードウェア構成の一例を示すブロック図である。この場合、次元削減装置１０は、図１５に示すように、ＣＰＵなどの制御装置９０１と、ＲＯＭやＲＡＭなどの記憶装置９０２と、ＨＤＤやＳＳＤなどの外部記憶装置９０３と、ディスプレイなどの表示装置９０４と、マウスやキーボードなどの入力装置９０５と、通信Ｉ／Ｆ９０６とを、備えており、通常のコンピュータを利用したハードウェア構成で実現できる。
【００６４】
この場合、次元削減装置１０で実行されるプログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されて提供する。
【００６５】
また、この場合、次元削減装置１０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、この場合、次元削減装置１０で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。
【００６６】
また、この場合、次元削減装置１０で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供してもよい。
【００６７】
この場合、次元削減装置１０で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、例えば、制御装置９０１が外部記憶装置９０３からプログラムを記憶装置９０２上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。
【００６８】
以上説明したとおり、上記実施形態によれば、低記憶容量かつ高速な次元削減を実現可能である。
【００６９】
なお本発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【００７０】
例えば、上記実施形態のフローチャートにおける各ステップを、その性質に反しない限り、実行順序を変更し、複数同時に実施し、あるいは実施毎に異なった順序で実施してもよい。
【符号の説明】
【００７１】
１０  次元削減装置
１１  取得部
１３  生成部
１５  第１写像部
１７  第２写像部
１９  出力部
２１  記憶部
【図１】
2015184775.tif 000005
【図２】
2015184775.tif 000006
【図３】
2015184775.tif 000007
【図４】
2015184775.tif 000008
【図５】
2015184775.tif 000009
【図６】
2015184775.tif 000010
【図７】
2015184775.tif 000011
【図８】
2015184775.tif 000012
【図９】
2015184775.tif 000013
【図１０】
2015184775.tif 000014
【図１１】
2015184775.tif 000015
【図１２】
2015184775.tif 000016
【図１３】
2015184775.tif 000017
【図１４】
2015184775.tif 000018
【図１５】
2015184775.tif 000019