(57)【特許請求の範囲】
【請求項１】
与えられた入力ベクトルを、変換モデルにより次元削減をした特徴ベクトルへ変換する変換装置であって、
複数の訓練ベクトルを、ランダムに、複数のグループに分割する分割部、
前記複数の訓練ベクトルから前記変換モデルによりそれぞれ変換された特徴ベクトルを、第1分類モデルにより、前記複数のグループのいずれかに分類する第1分類部、
前記複数の訓練ベクトルと、前記複数の訓練ベクトルがそれぞれ分割されたグループと、からなる第1教師データにより、前記変換モデルと、前記第1分類モデルと、を学習する第1学習部
を備えることにより、
前記特徴ベクトルのスパース性を高めることを特徴とする変換装置。
【請求項２】
前記変換装置は、オートエンコーダの前半のエンコード部により、前記次元削減をする
ことを特徴とする請求項1に記載の変換装置。
【請求項３】
前記複数の訓練ベクトルは、複数のクラスのいずれかにそれぞれ属し、
与えられたベクトルを、第2分類モデルにより、前記複数のクラスのいずれかに分類する第2分類部、
前記学習された変換モデルにより前記複数の訓練ベクトルがそれぞれ変換された特徴ベクトルと、前記複数の訓練ベクトルがそれぞれ属するクラスと、からなる第2教師データにより、前記第2分類モデルを学習する第2学習部
を備え、前記第2分類モデルが学習された後、新たな入力ベクトルが与えられると、
前記変換装置が、前記学習された変換モデルにより、前記新たな入力ベクトルを新たな特徴ベクトルに変換し、
前記第2分類部が、前記学習された第2分類モデルにより、前記新たな特徴ベクトルを、前記複数のクラスのいずれかに分類する
ことにより、前記新たな入力ベクトルを、前記新たな特徴ベクトルが分類されたクラスに分類する
ことを特徴とする請求項1または2に記載の変換装置。
【請求項４】
前記特徴ベクトルの次元は、前記複数のクラスの数より大きい
ことを特徴とする請求項3に記載の変換装置。
【請求項５】
前記特徴ベクトルの次元は、前記複数のグループの数より大きい
ことを特徴とする請求項4に記載の変換装置。
【請求項６】
前記第2分類モデルは、ロジスティック回帰、リッジ回帰、ラッソ回帰、SVM(Support Vector Machine)、ランダムフォレスト、もしくは、ニューラルネットワークにより前記特徴ベクトルを分類する
ことを特徴とする請求項3に記載の変換装置。
【請求項７】
前記分割部が前記複数の訓練ベクトルを複数のグループのそれぞれにランダムに分割する確率には、互いに等しくないものがある
ことを特徴とする請求項1から3のいずれか1項に記載の変換装置。
【請求項８】
前記変換装置は、出力レイヤー数8の第1畳み込みニューラルネットワークにより、前記次元削減をし、
前記第1分類部は、出力レイヤー数8の第2畳み込みニューラルネットワークにより、前記特徴ベクトルを分類する
ことを特徴とする請求項1に記載の変換装置。
【請求項９】
与えられた入力ベクトルを、変換モデルにより次元削減をした特徴ベクトルへ変換する変換装置が実行する変換方法であって、
複数の訓練ベクトルを、ランダムに、複数のグループに分割する分割工程、
前記複数の訓練ベクトルから前記変換モデルによりそれぞれ変換された特徴ベクトルを、第1分類モデルにより、前記複数のグループのいずれかに分類する第1分類工程、
前記複数の訓練ベクトルと、前記複数の訓練ベクトルがそれぞれ分割されたグループと、からなる第1教師データにより、前記変換モデルと、前記第1分類モデルと、を学習する第1学習工程
を備えることにより、
前記特徴ベクトルのスパース性を高めることを特徴とする変換方法。
【請求項１０】
与えられた入力ベクトルを、変換モデルにより次元削減をした特徴ベクトルへ変換するコンピュータを、
複数の訓練ベクトルを、ランダムに、複数のグループに分割する分割部、
前記複数の訓練ベクトルから前記変換モデルによりそれぞれ変換された特徴ベクトルを、第1分類モデルにより、前記複数のグループのいずれかに分類する第1分類部、
前記複数の訓練ベクトルと、前記複数の訓練ベクトルがそれぞれ分割されたグループと、からなる第1教師データにより、前記変換モデルと、前記第1分類モデルと、を学習する第1学習部
として機能させることにより、
前記特徴ベクトルのスパース性を高めることを特徴とするプログラム。
【請求項１１】
請求項10に記載のプログラムを記録した非一時的なコンピュータ読み取り可能な情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、与えられたベクトルを特徴ベクトルに変換する変換モデルを学習するのに好適な、変換装置、変換方法、プログラム、ならびに、情報記録媒体に関する。
【背景技術】
【０００２】
従来から、与えられた入力ベクトルを特徴ベクトルに変換する技術が提案されている。
【０００３】
たとえば、特許文献1に開示されるネットワーク学習装置は、大量の教師付きデータを用いることなくネットワークを安定して学習するため、
入力信号を第1信号に変換する第1ネットワークを学習し、
第1信号を第2信号に変換する第2ネットワークを学習し、
第2信号を出力信号に変換する第3ネットワークを学習し、
訓練用入力信号を訓練用第1信号にエンコードして訓練用入力信号にデコードする第1オートエンコーダのエンコード部分として第1ネットワークを学習し、
訓練用第1信号に対応する訓練用第2信号を教師データとしてバックプロパゲーションにより第2ネットワークを学習し、
訓練用第2信号は、訓練用第3信号を訓練用第2信号にエンコードして訓練用第3信号にデコードする第2オートエンコーダのエンコード部分により生成される。
【０００４】
特許文献1に開示される技術では、第1ネットワークは、入力信号からなる入力ベクトルを、第1信号からなる特徴ベクトルへ、と変換している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2018-156451号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記技術では、ネットワークの学習にあたって教師データが利用されている。すなわち、教師データの訓練ベクトルは、あらかじめ用意された複数のクラスのいずれかに属しており、各訓練ベクトルには、これに対する正解を表すラベルが付されている。すなわち、当該ラベルは、当該訓練ベクトルが属するクラスに付された識別名と考えることができる。
【０００７】
しかしながら、このようなラベルが存在せず、サンプルとなる訓練ベクトルのみが存在する状況もありうる。このような状況下では、いわゆる教師なし学習が必要となる。
【０００８】
そこで、訓練ベクトルがいずれの正解クラスに属するかの知識なしに、入力ベクトルを特徴ベクトルに変換するための変換モデルを学習するための技術が望まれている。
【０００９】
ここで得られた特徴ベクトルは、分類や分析等の後段処理における入力として利用されるが、後段処理の計算を高速かつ高精度に進めるには、特徴量のスパース性が高いこと、すなわち、特徴ベクトルにおいて、値がゼロの要素が含まれる割合が高いことが望ましい。
【００１０】
本発明は、上記の課題を解決するもので、与えられた入力ベクトルを特徴ベクトルに変換する変換モデルを学習するのに好適な、変換装置、変換方法、プログラム、ならびに、情報記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る変換装置は、与えられた入力ベクトルを、変換モデルにより、特徴ベクトルへ変換する変換装置であって、
複数の訓練ベクトルを、ランダムに、複数のグループに分割し、
前記複数の訓練ベクトルから前記変換モデルによりそれぞれ変換された特徴ベクトルを、第1分類モデルにより、前記複数のグループのいずれかに分類し、
前記複数の訓練ベクトルと、前記複数の訓練ベクトルがそれぞれ分割されたグループと、からなる第1教師データにより、前記変換モデルと、前記第1分類モデルと、を学習する。
【発明の効果】
【００１２】
本発明によれば、与えられた入力ベクトルを特徴ベクトルに変換する変換モデルを学習するのに好適な、変換装置、変換方法、プログラム、ならびに、情報記録媒体を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る変換装置の基本構成を示す説明図である。
【図２】本発明の実施形態に係る変換装置に付加的な要素を追加した構成を示す説明図である。
【図３】本発明の実施形態に係る変換装置の基本構成にて実行される処理を示すフローチャートである。
【図４】本発明の実施形態に係る変換装置のクラス分類を行う構成にて実行される処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下に、本発明の実施形態を説明する。なお、本実施形態は、説明のためのものであり、本発明の範囲を制限するものではない。したがって、当業者であれば、本実施形態の各要素もしくは全要素を、これと均等なものに置換した実施形態を採用することが可能である。また、各実施例にて説明する要素は、用途に応じて適宜省略することも可能である。このように、本発明の原理にしたがって構成された実施形態は、いずれも本発明の範囲に含まれる。
【００１５】
(構成)
本実施形態に係る変換装置は、典型的には、プログラムをコンピュータが実行することによって実現される。当該コンピュータは、各種の出力装置や入力装置に接続され、これらの機器と情報を送受する。
【００１６】
コンピュータにて実行されるプログラムは、当該コンピュータが通信可能に接続されたサーバにより配布、販売することができるほか、CD-ROM(Compact Disk Read Only Memory)やフラッシュメモリ、EEPROM(Electrically Erasable Programmable ROM)などの非一時的(non-transitory)な情報記録媒体に記録した上で、当該情報記録媒体を配布、販売等することも可能である。
【００１７】
プログラムは、コンピュータが有するハードディスク、ソリッドステートドライブ、フラッシュメモリ、EEPROM等などの非一時的な情報記録媒体にインストールされる。すると、当該コンピュータにより、本実施形態における情報処理装置が実現されることになる。一般的には、コンピュータのCPU(Central Processing Unit)は、コンピュータのOS(Operating System)による管理の下、情報記録媒体からRAM(Random Access Memory)へプログラムを読み出してから、当該プログラムに含まれるコードを解釈、実行する。ただし、CPUがアクセス可能なメモリ空間内に情報記録媒体をマッピングできるようなアーキテクチャでは、RAMへの明示的なプログラムのロードは不要なこともある。なお、プログラムの実行の過程で必要とされる各種情報は、RAM内に一時的(temporary)に記録しておくことができる。
【００１８】
さらに、上記のように、コンピュータは、GPU(Graphics Processing Unit)を備え、各種画像処理計算を高速に行うためのGPUを備えることが望ましい。GPUならびにTensorFlow等のライブラリを使うことで、CPUの制御の下、各種の人工知能処理における学習機能や分類機能を利用することができるようになる。
【００１９】
なお、汎用のコンピュータにより本実施形態の情報処理装置を実現するのではなく、専用の電子回路を用いて本実施形態の情報処理装置を構成することも可能である。この態様では、プログラムを電子回路の配線図やタイミングチャート等を生成するための素材として利用することもできる。このような態様では、プログラムに定められる仕様を満たすような電子回路がFPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)により構成され、当該電子回路は、当該プログラムに定められた機能を果たす専用機器として機能して、本実施形態の情報処理装置を実現する。
【００２０】
以下では、理解を容易にするため、変換装置は、コンピュータがプログラムを実行することによって実現される態様を想定して説明する。
【００２１】
(変換装置の基本構成)
図1は、本発明の実施形態に係る変換装置の基本構成を示す説明図である。図2は、本発明の実施形態に係る変換装置に付加的な要素を追加した構成を示す説明図である。以下、これらの図を参照して概要を説明する。
【００２２】
両図に示すように、変換装置1001は、分割部1002、第1分類部1003、第1学習部1004を備える。
【００２３】
また、両図を対比すればわかる通り、変換装置1001は、省略可能な構成に係る要素として、第2分類部1005、第2学習部1006を備えることができる。
【００２４】
本図に示す通り、変換装置1001は、入力与えられた入力ベクトルを、変換モデル1101により、特徴ベクトルへ変換する。
【００２５】
変換装置1001が使用する変換モデル1101については、あらかじめ学習を進める必要がある。図3は、本発明の実施形態に係る変換装置の基本構成にて実行される処理を示すフローチャートである。図4は、本発明の実施形態に係る変換装置のクラス分類を行う構成にて実行される処理を示すフローチャートである。以下、両図を参照して説明する。
【００２６】
両図に示すように、変換装置1001における処理は、変換モデル1101の学習段階(ステップS2001-S2004)、クラス分類(第2分類モデル1202)の学習段階(ステップS2005-S2006)、クラス分類の利用段階(ステップS2007-S2009)の3段階に分けることができ、それぞれ独立して実行することができる。ここで、変換モデル1101の学習段階は、図1、図2の両方で実行されるが、クラス分類(第2分類モデル1202)の学習段階ならびにクラス分類の利用段階(ステップS2009)は、図1では省略される。
【００２７】
まず、変換モデル1101の学習にあたって、変換装置1001は、入力ベクトルの典型例として、複数の訓練ベクトルv1, v2, …, vNを受け付ける(ステップS2001)。なお、省略可能な態様として、図2、図4に示すように、複数のクラスC1, C2, …, CLの中から、複数の訓練ベクトルv1, v2, …, vNがそれぞれ属すべき正解クラスCc(1), Cc(2), …, Cc(N)のクラスラベルc(1), c(2), …, c(N)を、合わせて受け付けることも可能である。一方、図1、図3に係る基本構成では、クラスラベルの受け付けは不要である。
【００２８】
ついで、変換装置1001の分割部1002は、複数の訓練ベクトルv1, v2, …, vNを、ランダムに複数のグループG1, G2, …, GMに分割する(ステップS2002)。この分割は、訓練ベクトルv1, v2, …, vNのそれぞれに、分割先のグループの添字に相当するランダムラベル(グループラベル)g(1), g(2), …, g(N)を付与することにより表現することができる。グループの数Mは2以上の任意である。
【００２９】
以下、理解を容易にするため、整数i=1, 2, …, Nのそれぞれについて、訓練ベクトルviがグループGg(i)に分類された(訓練ベクトルviには、ランダムラベルg(i)が付された)ものとする。すなわち、以下の関係が成立する。
v1∈Gg(1), v2∈Gg(2), …, vN∈Gg(N)
【００３０】
また、省略可能な構成下では、訓練ベクトルviは、クラスCc(i)に属する(訓練ベクトルviには、正解ラベルc(i)が付されている)ものとする。すなわち、以下の関係が成立する。
v1∈Cc(1), v2∈Cc(2), …, vN∈Cc(N)
【００３１】
変換装置1001は、変換モデル1101により、与えられた入力ベクトルxを、特徴ベクトルp(x)に変換する。変換モデル1101としては、CNN(Convolutional Neural Network)のほか、畳み込みを使用しない任意のニューラルネットワークなど、種々のモデルを採用することができる。
【００３２】
さて、第1分類部1003は、変換装置1001に与えられた入力ベクトルxから変換された特徴ベクトルp(x)を、第1分類モデル1201により、複数のグループG1, G2, …, GMのいずれかに分類するものである。実質的には、第1分類部1003は、与えられた特徴ベクトルp(x)に対して、当該特徴ベクトルp(x)が分類されるべきグループの添字(ラベル)を出力するものである。第1分類モデルとしては、一般的なロジスティック回帰のほか、リッジ回帰、ラッソ回帰、SVM(Support Vector Machine)、ランダムフォレスト、ニューラルネットワークなどを採用することができる。
【００３３】
そして、変換装置1001における第1学習部1004は、複数の訓練ベクトルと、複数の訓練ベクトルがそれぞれ分割されたグループと、からなる第1教師データ
(v1, g(1)), 
(v2, g(2)), 
…, 
(vN, g(N))
を生成する(ステップS2003)。第1教師データは、各訓練ベクトルをランダムラベル(グループラベル)に対応付けるものである。
【００３４】
そして、変換装置1001における第1学習部1004は、当該第1教師データにより、変換装置1001における変換モデル1101と、第1分類部1003における第1分類モデル1201と、を学習する(ステップS2004)。
【００３５】
このようにして、変換装置1001における変換モデル1101の学習が行われる。この後は、変換装置1001に入力ベクトルxを与えると、変換装置1001は特徴ベクトルp(x)を出力するようになる。
【００３６】
さて上記のように、以下は、図1では省略される構成である。そこで、適宜図2を参照しながら説明する。すなわち、この構成下では、複数の訓練ベクトルv1, v2, …, vNは、複数のクラスC1, C2, …, CLのいずれかにそれぞれ属する。
【００３７】
以下では、変換装置1001に与えられた入力ベクトルに対して、当該入力ベクトルが属すべきクラスを出力するクラス分類の学習段階について説明する。
【００３８】
ここで、第2分類部1005は、変換装置1001に与えられた入力ベクトルxから変換された特徴ベクトルp(x)を、第2分類モデル1202により、複数のクラスC1, C2, …, CLのいずれかに分類するものである。実質的には、第2分類部1005は、与えられた特徴ベクトルp(x)に対して、当該特徴ベクトルp(x)が分類されるべきクラスの添字(クラスラベル)を出力するものである。第2分類モデル1202としては、第1分類モデル1201と同様に、一般的なロジスティック回帰のほか、リッジ回帰、ラッソ回帰、SVM(Support Vector Machine)、ランダムフォレスト、ニューラルネットワークなどを採用することができる。このほか、第1分類モデル1201と第2分類モデル1202で、同じ構造のニューラルネットワークを採用することもできる。
【００３９】
ここで、変換装置1001の第2学習部1006は、第1学習部1004によって学習された変換モデル1101により、複数の訓練ベクトルが変換装置1001によってそれぞれ変換された特徴ベクトルと、複数の訓練ベクトルがそれぞれ属するクラスと、からなる第2教師データ
(p(v1), c(1)), 
(p(v2), c(2)), 
…, 
(p(vN), c(N))
を生成する(ステップS2005)。ステップS2004における変換モデル1101および第1分類モデル1201の学習においては、訓練ベクトルを特徴ベクトルに変換する。したがって、訓練ベクトルvi (i=1, 2, …, N)が学習済の変換モデル1101により変換される特徴ベクトルp(vi)は、ステップS2004における処理で計算済みである。ここでは、この計算済みの特徴ベクトルp(vi)と、元の訓練ベクトルviに対して付された正解ラベルc(i)と、を、第2教師データとして利用する。
【００４０】
そして、第2学習部1006は、第2分類部1005における第2分類モデル1202を学習する(ステップS2006)。
【００４１】
本実施形態に係る変換装置1001では、第2学習部1006における学習では、第2分類モデル1202は更新されるが、変換モデル1101は更新されない点に特徴がある。
【００４２】
なお、第2教師データとして、
(v1, c(1)), 
(v2, c(2)), 
…, 
(vN, c(N))
を採用することも可能である。この場合は、変換装置1001における学習済の変換モデル1101は更新せずに、第2分類モデル1202を更新すれば良い。
【００４３】
さて、第2分類モデル1202が学習された後は、クラス分類を利用する段階に移ることができる。すなわち、新たな入力ベクトルyが変換装置1001に与えられる(ステップS2007)と、
変換装置1001は、学習された変換モデル1101により、新たな入力ベクトルyを新たな特徴ベクトルp(y)に変換し(ステップS2008)、
第2分類部1005は、学習された第2分類モデル1202により、新たな特徴ベクトルp(y)に対するラベルを求めることにより、複数のクラスC1, C2, …, CLのいずれかに分類する(ステップS2009)。
すなわち、入力ベクトルyは、特徴ベクトルp(y)が分類されたクラスに分類されることになる。
【００４４】
なお、本図では、クラス分類の利用段階(ステップS2007-S2009)は1回だけ実行されているが、入力ベクトルが与えられるごとに、任意の回数実行することが可能である。
【００４５】
また、図3に示すように、ステップS2001-S2004により変換モデルを学習し、ステップS2007-S2008により入力ベクトルを特徴ベクトルに変換することとして、クラス分類の要素は省略することができる。この場合も、特徴ベクトルへの変換は、任意の回数実行することが可能である。
【００４６】
発明者の実験によれば、本実施形態の変換装置1001による分類は、従来のオートエンコーダを用いた分類において、教師データとして
(v1, c(1)), 
(v2, c(2)), 
…, 
(vN, c(N))
を利用した場合に比べて、精度ならびに得られる特徴ベクトルのスパース性が向上することがわかっている。
【００４７】
従来のオートエンコーダでは、教師データに対する過学習が生じてしまうのに対し、本実施形態の変換装置1001では、変換モデル1101の学習時には教師データを参照しないため、過学習が抑制されているものと考えられる。
【００４８】
以下では、変換モデル1101の態様について種々説明する。変換モデル1101は、入力ベクトルを特徴ベクトルに変換するものであり、情報を圧縮するものである。このため、入力ベクトルの次元は、特徴ベクトルの次元より低いものとするのが一般的であった。
【００４９】
本変換装置1001においても、これと同様に、入力ベクトルを次元削減することにより、特徴ベクトルに変換するような変換モデル1101を採用することができる。特徴ベクトルの次元は、ランダムラベルの種類数以上、すなわち、グループの数M以上とすることが望ましい。
【００５０】
また、入力ベクトルをクラスに分類する態様では、特徴ベクトルの次元は、正解ラベルの種類数以上、すなわち、クラスの数L以上とすることが望ましい。
【００５１】
なお、ランダムラベルの種類数Mと、正解ラベルの種類数Lと、の大小については、対象によって性能が異なる。この場合、事前実験によって好適なパラメータを求めることができる。
【００５２】
このほか、分割部1002が訓練ベクトルを複数のグループのそれぞれにランダムに分割する確率は、互いに等しくても良いし、一致しないものがあっても良い。すなわち、各グループに含まれる訓練ベクトルの数は、一致しても良いし、異なっていても良い。これらについても、事前実験によって好適な確率割り当てを求めることができる。
【００５３】
一方で、本変換装置1001では、特徴ベクトルのスパース性が良好であることがわかっている。したがって、入力ベクトルの次元を増大させることによって、特徴ベクトルへ変換することとしても良い。すなわち、特徴ベクトルの次元数は、入力ベクトルの次元数よりも多いことになる。
【００５４】
本実施形態に係る変換装置1001は、従来特徴ベクトルを得るために使われていたオートエンコーダに置き換わるものとして広く利用することができる。
【００５５】
なお、オートエンコーダでは、入力ベクトルを前半のエンコード部で次元削減して特徴ベクトルを得た後、当該特徴ベクトルを後半のデコード部で次元増大して出力ベクトルを得て、入力ベクトルと出力ベクトルとの差が小さくなるような学習を行う。このため、オートエンコーダのエンコード部により次元圧縮を行う用例に対して本実施形態に係る変換装置1001を適用する際には、エンコード部のフィルタ構成を、そのまま変換装置1001の変換モデル1101に利用することもできる。
【００５６】
(変換装置の実験例)
10種類の事物の写真を分類するCIFAR-10について、オートエンコーダと本実施形態に係る変換装置1001とを比較する実験をおこなった。
【００５７】
入力画像として、32ピクセル×32ピクセル×RGB 3層のカラー画像を利用しているため、入力ベクトルは3072次元となる。
【００５８】
変換装置1001のフィルタ構成は以下の通りである。
input_img = Input((x_train.shape[1], x_train.shape[2], x_train.shape[3]));
x1 = Conv2D(8, (2,2), strides=(2,2), activation='relu', padding='same')(input_img);
encoded = Flatten()(x1);
x2 = Reshape((16,16,8), input_shape=(2048,))(encoded);
x3 = Conv2D(8, (2,2), strides=(2,2), activation='relu', padding='same')(x2);
x4 = Flatten()(x3);
last = Dense(L, activation='softmax')(x4);
【００５９】
本実験における変換装置1001では、出力レイヤー数8、カーネルサイズおよびストライド2×2、活性化関数relu、プーリングなし、ドロップアウトなしの最もシンプルなCNNにより、入力ベクトルを2048次元に圧縮して(encoded)、特徴ベクトルを得ている。すなわち、上記のうち、encodedを得るまでが、変換モデルに相当する。
【００６０】
そして、得られた特徴ベクトルを2次元化して(x2)、出力レイヤー数8、カーネルサイズおよびストライド2×2、活性化関数relu、プーリングなし、ドロップアウトなしの最もシンプルなCNNを介した後(x3)、全結合してから、活性化関数softmaxを採用して、L種類のグループに分けている(last)。すなわち、encodedからx3, x4を経てlastに至るまでが、第1分類モデル1201に相当する。
【００６１】
また、本実験では、第2分類モデル1202として、一般的なロジスティック回帰を用いて、2048次元の特徴ベクトルを10種類のクラスに分類した。
【００６２】
従来例のオートエンコーダのエンコーダ部のフィルタ構成は、変換装置1001における変換モデルと同様であり、デコード部のフィルタ構成は、これを逆にしたものである。また、オートエンコーダの学習が済んだ後、特徴ベクトルを分類するために、ロジスティック回帰の学習をした。
【００６３】
また、教師データの数は5万とし、学習が終わったあとに与える入力データの数は1万として、特徴ベクトルの判定精度、スパース性、ならびに、特徴ベクトルを分類するためのロジスティック回帰の学習に要した時間(100試行平均)を調べた。
【００６４】
すると、オートエンコーダでは、以下のような結果が得られた。
判定精度 38.2%
特徴ベクトルにおけるゼロ要素割合 11.8%
ロジスティック回帰の学習時間 6745.6秒
【００６５】
ランダムラベルの種類数、すなわち、グループ数Mを2として、特徴ベクトルを同数(25000ずつ)のグループに2分割した場合の変換装置1001については、以下のような結果が得られた。
判定精度 44.8%
特徴ベクトルにおけるゼロ要素割合 55.1%
ロジスティック回帰の学習時間 643.1秒
【００６６】
グループ数Mを2として、特徴ベクトルを異なる要素数(1万と4万)のグループに2分割した場合の変換装置1001については、以下のような結果が得られた。
判定精度 44.7%
特徴ベクトルにおけるゼロ要素割合 59.7%
ロジスティック回帰の学習時間 378.8秒
【００６７】
グループ数Lを10として、特徴ベクトルを異なる要素数(2500, 3000, 3500, 4000, 4500, 5550, 6000, 6500, 7000, 7500)のグループに10分割した場合の変換装置1001については、以下のような結果が得られた。
判定精度 45.2%
特徴ベクトルにおけるゼロ要素割合 49.7%
ロジスティック回帰の学習時間 798.4秒
【００６８】
上記の結果からわかる通り、特徴ベクトルのスパース性、および、得られた特徴ベクトルに基づく判定精度は、本実施形態に係る変換装置1001の方が優れている。また、本実施形態に係る変換装置1001では、得られる特徴ベクトルがスパースであるため、ロジスティック回帰に要する学習時間も極めて短時間で済む。
【００６９】
このように、CIFAR-10にかかる実験によって、本実施形態に係る変換装置1001の性能を確認することができた。
【００７０】
(まとめ)
以上説明したように、本実施形態に係る変換装置は、与えられた入力ベクトルを、変換モデルにより、特徴ベクトルへ変換する変換装置であって、
複数の訓練ベクトルを、ランダムに、複数のグループに分割する分割部、
前記複数の訓練ベクトルから前記変換モデルによりそれぞれ変換された特徴ベクトルを、第1分類モデルにより、前記複数のグループのいずれかに分類する第1分類部、
前記複数の訓練ベクトルと、前記複数の訓練ベクトルがそれぞれ分割されたグループと、からなる第1教師データにより、前記変換モデルと、前記第1分類モデルと、を学習する第1学習部
を備える。
【００７１】
また、本実施形態に係る変換装置において、
前記複数の訓練ベクトルは、複数のクラスのいずれかにそれぞれ属し、
与えられたベクトルを、第2分類モデルにより、前記複数のクラスのいずれかに分類する第2分類部、
前記学習された変換モデルにより前記複数の訓練ベクトルがそれぞれ変換された特徴ベクトルと、前記複数の訓練ベクトルがそれぞれ属するクラスと、からなる第2教師データにより、前記第2分類モデルを学習する第2学習部
を備え、前記第2分類モデルが学習された後、新たな入力ベクトルが与えられると、
前記変換装置が、前記学習された変換モデルにより、前記新たな入力ベクトルを新たな特徴ベクトルに変換し、
前記第2分類部が、前記学習された第2分類モデルにより、前記新たな特徴ベクトルを、前記複数のクラスのいずれかに分類する
ことにより、前記新たな入力ベクトルを、前記新たな特徴ベクトルが分類されたクラスに分類する
ように構成することができる。
【００７２】
また、本実施形態に係る変換装置において、
前記変換装置は、前記与えられた入力ベクトルを次元削減することにより、前記特徴ベクトルへ変換し、
前記特徴ベクトルの次元は、前記複数のクラスの数より大きい
ように構成することができる。
【００７３】
また、本実施形態に係る変換装置において、
前記変換装置は、前記与えられた入力ベクトルを次元削減することにより、前記特徴ベクトルへ変換する
ように構成することができる。
【００７４】
また、本実施形態に係る変換装置において、
前記特徴ベクトルの次元は、前記複数のグループの数より大きい
ように構成することができる。
【００７５】
また、本実施形態に係る変換装置において、
前記変換装置は、前記与えられた入力ベクトルの次元を増大させることにより、前記特徴ベクトルへ変換する
ように構成することができる。
【００７６】
本実施形態に係る変換方法は、与えられた入力ベクトルを、変換モデルにより、特徴ベクトルへ変換する変換装置が実行する変換方法であって、
複数の訓練ベクトルを、ランダムに、複数のグループに分割する分割工程、
前記複数の訓練ベクトルから前記変換モデルによりそれぞれ変換された特徴ベクトルを、第1分類モデルにより、前記複数のグループのいずれかに分類する第1分類工程、
前記複数の訓練ベクトルと、前記複数の訓練ベクトルがそれぞれ分割されたグループと、からなる第1教師データにより、前記変換モデルと、前記第1分類モデルと、を学習する第1学習工程
を備える。
【００７７】
本実施形態に係るプログラムは、与えられた入力ベクトルを、変換モデルにより、特徴ベクトルへ変換するコンピュータを、
複数の訓練ベクトルを、ランダムに、複数のグループに分割する分割部、
前記複数の訓練ベクトルから前記変換モデルによりそれぞれ変換された特徴ベクトルを、第1分類モデルにより、前記複数のグループのいずれかに分類する第1分類部、
前記複数の訓練ベクトルと、前記複数の訓練ベクトルがそれぞれ分割されたグループと、からなる第1教師データにより、前記変換モデルと、前記第1分類モデルと、を学習する第1学習部
として機能させるように構成する。
【００７８】
当該プログラムは、非一時的なコンピュータ読取可能な情報記録媒体に記録して配布、販売することができる。また、コンピュータ通信網等の一時的な伝送媒体を介して配布、販売することができる。
【００７９】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【産業上の利用可能性】
【００８０】
本発明によれば、与えられた入力ベクトルを特徴ベクトルに変換する変換モデルを学習するのに好適な、変換装置、変換方法、プログラム、ならびに、情報記録媒体を提供することができる。
【符号の説明】
【００８１】
1001 変換装置
1002 分割部
1003 第1分類部
1004 第1学習部
1005 第2分類部
1006 第2学習部
1101 変換モデル
1201 第1分類モデル
1202 第2分類モデル
【図１】
0006856950.tif 000002
【図２】
0006856950.tif 000003
【図３】
0006856950.tif 000004
【図４】
0006856950.tif 000005