【文献】
堀田創,外1名,文字デザインを例とした感性情報からのファジールール自動抽出法,電子情報通信学会論文誌 情報・システム,日本,社団法人電子情報通信学会,2006年10月 1日,第10号,pp.2361-2369
【文献】
福田拓也,外1名,モンテカルロ法を用いた隠れマルコフモデルに基づく分かち書き,Journal of the DBSJ,日本,日本データベース学会,2008年 6月27日,第7巻,第1号,pp.73-78
(58)【調査した分野】(Int.Cl.,DB名)
前記データ拡張部は、前記識別モデルを生成する際に訓練データに対して行ったデータ拡張と同じ方法で前記未知データに対してデータ拡張を行うことを特徴とする請求項1に記載の識別器。
【背景技術】
【0002】
教師あり学習に基づく識別器を構築するには、ターゲット値を伴った訓練データ(教師データともいう)を収取して、それらの入出力関係を機械学習の枠組みによって学習する必要がある。ターゲット値とは、訓練データの出力のことであり、学習時においてはある訓練データを入力させたときに識別器の出力がその訓練データに対応するターゲット値に近づくように学習パラメタの探索が行われる。
【0003】
このような学習を経て得られた識別器は、その運用時において、学習データには含まれないもののパターンの似ている未知のデータに対して識別を行うことになる。このような識別の対象となる未知のデータ(以下、単に「未知データ」という。)に対する識別能力を汎化能力という。識別器は、高い汎化能力を有することが望まれる。
【0004】
一般に、訓練データは多ければ多いほど、そのような訓練データを用いて学習された識別器の汎化能力は高くなる。しかし、訓練データの収集には人的コストが発生するため、少ない量の訓練データで高い汎化能力を持たせたいという要求がある。つまり訓練データの分布の密度の低さに対する対処が必要となる。
【0005】
そこで、P. Y. Simard, D. Steinkraus, J. C. Platt, "Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis", ICDAR 2003.(非特許文献1)やCiresan et al., "Deep Big Simple Neural Nets Excel on Handwritten Digit Recognition", Neural Computation 2010.(非特許文献2)に記載されているようなデータ拡張と呼ばれる発見的方法が提案されてきた。データ拡張とは、サンプルとして与えられているデータに対し、パラメトリックな変形を施すことにより、データの種類を増幅することである。ただし、これらの変形は、元となるデータの所属するクラスに特有の特徴を損なうものであってはならない。
【0006】
非特許文献1には、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を使った手書き数字認識の研究が記載されている。非特許文献1では、訓練データに対し「弾性歪み」という変換を施すことにより人為的に大量のデータを生成し(データ拡張)、それを学習する。非特許文献1には、このような学習により、データ拡張のない場合と比較して飛躍的に高い識別性能が得られることが記載されている。
【0007】
また、非特許文献2には、ニューラルネットワークを使った手書き数字認識の研究が記載されている。非特許文献2では、弾性歪みに加え、回転やスケールの変換を施すことによりデータ拡張を行うことで、非常に高い認識性能を持つことが記載されている。
【0008】
このように、非特許文献1や非特許文献2では、手書き数字認識の問題において、局所的な弾性歪み、微小回転、微小スケール変化といった変形を適用することにより、数字の特徴を失わないデータ拡張を可能とし、拡張のない場合と比べて高い汎化能力を持たせることに成功している。なお、データ拡張による学習をした上で未知データの識別を行うことは、特に画像認識の分野において慣用されている手法である。
【発明の概要】
【発明が解決しようとする課題】
【0010】
本発明は、訓練データを拡張して学習をした上で、未知の入力データの識別をするに際して、入力データをどのクラスに割り当てるかに関するルール(決定則)を改良して、識別性能を向上することを目的とする。
【課題を解決するための手段】
【0011】
従来、データ拡張を行った場合においても、データ拡張を行わない場合においても、決定則そのものは同一のものを使用してきた。本発明では、データ拡張を行った場合とデータ拡張を行わない場合とでは、理論的に最適な決定則が異なるとの知見に基づき、データ拡張時の改良された識別手法を提供する。
【0012】
本発明の第1の態様は、教師あり学習に基づく識別器であって、未知データに対してデータ拡張を行うデータ拡張部と、前記データ拡張部にて拡張された未知データを識別モデルに適用し、それらの結果を統合してクラス分類を行う識別部とを備えたことを特徴とする。
【0013】
この構成により、未知データが拡張されて複数の疑似未知データが生成され、それらの識別結果が統合されてクラス分類がされるので、未知データそのものを識別する場合と比較して、識別能力が向上する。
【0014】
本発明の第2の態様の識別器は、第1の態様の識別器において、前記データ拡張部は、前記識別モデルを生成する際に訓練データに対して行ったデータ拡張と同じ方法で前記未知データに対してデータ拡張を行うことを特徴とする。
【0015】
この構成により、識別モデルを生成する際の訓練データの拡張と同じ方法で未知データの拡張が行われるので、その分布がクラスの事後分布に重なる可能性が高まり、識別モデルを生成する際に訓練データについてデータ拡張を行った場合における識別能力が向上する。
【0016】
本発明の第3の態様の識別器は、第1又は第2の態様の識別器において、前記識別部は、前記拡張された未知データを前記識別モデルに適用した結果の期待値に基づいてクラス分類を行うことを特徴とする。
【0017】
この構成により、識別モデルを生成する際の目的関数を最小にすることを決定則としてクラス分類が行われるので、識別モデルを生成する際に訓練データについてデータ拡張を行った場合における識別能力が向上する。
【0018】
本発明の第4の態様の識別器は、第1ないし第3のいずれかの態様の識別器において、前記識別部は、前記未知データを前記識別モデルに適用することなく、前記クラス分類を行うことを特徴とする。
【0019】
この構成により、未知データ自体は識別に用いられることなく、当該未知データのクラス分類が行われる。
【0020】
本発明の第5の態様の識別器は、第1ないし第4のいずれかの態様の識別器において、前記データ拡張部は、乱数を用いて前記未知データに対してデータ拡張を行うことを特徴とする。
【0021】
この構成により、未知データが乱数を用いてデータ拡張されるので、その分布がクラスの事後分布に重なる可能性が高まり、識別モデルを生成する際に訓練データについてデータ拡張を行った場合における識別能力が向上する。
【0022】
本発明の第6の実施の形態は、識別プログラムであって、コンピュータを、教師あり学習に基づく識別器であって、未知データに対してデータ拡張を行うデータ拡張部と、前記データ拡張部にて拡張された未知データを識別モデルに適用し、それらの結果を統合してクラス分類を行う識別部とを備えた識別器として機能させることを特徴とする。
【0023】
この構成によっても、未知データが拡張されて複数の疑似未知データが生成され、それらの識別結果が統合されてクラス分類がされるので、未知データそのものを識別する場合と比較して、識別能力が向上する。
【0024】
本発明の第7の実施の形態は、教師あり学習に基づく識別方法であって、未知データに対してデータ拡張を行うデータ拡張ステップと、前記データ拡張部にて拡張された未知データを識別モデルに適用し、それらの結果を統合してクラス分類を行う識別ステップとを含むことを特徴とする。
【0025】
この構成によっても、未知データが拡張されて複数の疑似未知データが生成され、それらの識別結果が統合されてクラス分類がされるので、未知データそのものを識別する場合と比較して、識別能力が向上する。
【発明の効果】
【0026】
本発明によれば、未知データが拡張されて、それらの識別結果が統合されてクラス分類がされるので、未知データそのものを識別する場合と比較して、識別能力を向上できる。
【発明を実施するための形態】
【0028】
以下、本発明の実施の形態の学習装置及び識別器について、図面を参照しながら説明する。なお、以下に説明する実施の形態は、本発明を実施する場合の一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明の実施にあたっては、実施の形態に応じた具体的構成が適宜採用されてよい。
【0029】
以下では、画像データ等の未知データに対してクラス分類を行うパターン識別器、及びそのパターン識別器にて用いる識別モデルを学習するための学習装置を例に挙げて本発明の実施の形態を説明する。また、識別モデルとして、フィードフォワード型の多層ニューラルネットワークを採用する場合を説明する。なお、識別モデルとしては、畳み込みニューラルネットワーク等の他のモデルを採用してもよい。
【0030】
(学習装置)
図1は、本発明の実施の形態の学習装置の構成を示すブロック図である。学習装置100は、訓練データ記憶部11と、データ拡張部12と、変換パラメタ生成部13と、学習部14とを備えている。学習装置100は、コンピュータによって実現される。このコンピュータは、補助記憶部、一時記憶部、演算処理部、入出力部等を備えており、訓練データ記憶部11は、例えば補助記憶部によって実現される。また、データ拡張部12、変換パラメタ生成部13、及び学習部14は、演算処理部が学習プログラムを実行することで実現される。
【0031】
訓練データ記憶部11には、ターゲット値を伴った訓練データ(以下、「データサンプル」ともいう。)が記憶されている。変換パラメタ生成部13は、データ拡張部12にて訓練データ記憶部11に記憶された訓練データを拡張するための変換パラメタを生成する。データ拡張部12は、変換パラメタ生成部13にて生成された変換パラメタを用いて訓練データ記憶部11に記憶された訓練データに対してパナメトリックな変換を施してデータ拡張を行う。
【0032】
学習部14は、データ拡張部13にて拡張された訓練データを用いて学習を行い、識別器において用いる識別モデルを生成する。学習部14は、多層ニューラルネットワークのパラメタである各層の重みWを決定する。
【0033】
データ拡張部12におけるデータ拡張について説明する。
図2は、ある多様体上における、あるクラスのデータ分布(確率密度)を示す図である。実際のデータサンプルはこの分布に従う確率変数であり、確率的に生成されることとなる。
【0034】
図3は、
図2に示すデータ分布に対する訓練データを示す図である。
図3では、
図2に示すデータ分布に対して、訓練データ記憶部11に記憶された訓練データtd1〜td7が示されている。訓練データの個数が無限に近づけば、その確率密度は
図2の分布に漸近するが、現実的には限られた数の訓練データしか得られないため、分布の近似精度は荒くならざるを得ない。
【0035】
データ拡張部12は、訓練データを変換することでデータ数を増大させる。この変換は、データの多様体上におけるデータ点近傍へのパラメトリックな変換である。この変換には、例えば、画像の局所的な歪み、局所的な輝度変化、アフィン変換、ノイズの重畳等が含まれる。
図4は、識別モデルが画像による手書き数字認識を行うものである場合の手書き数字の訓練データ(オリジナルデータ)及びその訓練データを拡張して得られた新たなデータ(疑似データ)の例を示す図である。
【0036】
図5は、疑似データの分布を示す図である。
図5において、疑似データの分布は実線で示されている。与えられている訓練データに対して、クラスの特徴を失わない程度に少し変形を加えたとき、それによって生成される疑似データは、もとの訓練データの近傍に位置することになる。
【0037】
変換パラメタをまとめたものをθとし、変換式をu(x
0;θ)とすると、1つの訓練データから無数に疑似データを生成した場合、疑似データは、下式で表される分布を持つことになる。
【数1】
ここで、Dはデータの次元であり、
図2に示すデータ分布の空間の次元に対応している。
【0038】
学習部14は、拡張された訓練データを学習する。上述のように、本実施の形態では、学習部14は、識別モデルとして、フィードフォワード型の多層ニューラルネットワークを学習する。
【0039】
学習部14は、出力値とターゲット値が近づくほど低い値をとる目的関数を用いて、この目的関数を最小化する識別モデルのパラメタを探索することで、汎化能力の高い識別モデルを決定する。本実施の形態では、目的関数として、クロスエントロピーを採用する。
【0040】
まず、記号の諸定義を
図6に示す。
図6において、a
l及びx
lは以下のとおり定義される。
【数2】
【数3】
なお、f
lは、(劣)微分可能な単調非減少/非増加関数である。
【0041】
また、出力の次元数はクラス数とする。このときターゲット値は、出力の要素のうちの1つが値1を持ち、その他の要素は0を持つものとする。2クラス分類の場合は、出力を1次元としてもよく、このときターゲット値は0または1をとる。
【0042】
以下では、まず、データ拡張をしない場合の学習について説明し、それとの比較において、本実施の形態のデータ拡張をする場合の学習について説明する。
【0043】
データ拡張を行わない場合の目的関数を下式(1)と(1’)に記す。
【数4】
【数5】
【数6】
ここで、iは訓練データのインデクスであり、Cはクラスレベルである。
【0044】
このように、ニューラルネットワークの出力にソフトマックス関数を施すことにより、ベクトルが正規化されるとともに正の値に変換される。このベクトルに対し、式(1’)で定義されるクロスエントロピーを施すことで、ある訓練サンプルの分類の悪さが定量化される。なお、1次元の出力y(x
0i;W)の場合は、y
1(x
0i;W)=y(x
0i;W)、y
2(x
0i;W)=1−y(x
0i;W)、t
1=t、t
2=1−tと変数を置き換えることで式(1)と(1’)を適用できる。
【0045】
この目的関数の勾配
【数7】
を計算し、複数のデータサンプルの和を取った勾配を使用して、確率的勾配降下法(SGD:Stochastic Gradient Descent)によってWの要素を下式(2)のとおりに更新する。
【数8】
この更新は、重みWの各要素(各層の重み)が収束するまで繰り返される。ここで、式(2)のRPEは、Randomly Picked Exampleの略であり、データサンプルを反復ごとにランダムに選ぶことを意味している。
【0046】
次に、データ拡張を行う本実施の形態の場合について説明する。本実施の形態の目的関数は、下式(3)、(3’)のとおりとなる。
【数9】
【数10】
【数11】
【数12】
【0047】
式(3’)では、式(1’)のように訓練データそのものを学習部14に入力するのではなく、訓練データから変換によって派生した人為的データである疑似データをデータ拡張部12で生成して、それらを学習部14に入力する。また、式(3’)では、式(1’)と異なり、変換パラメタに対するクロスエントロピーの期待値が取られている。学習部14は、この目的関数の最適化方法として、確率的勾配降下法を採用する。
【0048】
具体的手順は次の通りである。データ拡張部12は、訓練データ記憶部11に記憶された訓練データを1つ選択し、また、変換パラメタ生成部14から変換パラメタを複数個分、適当な確率分布に従う乱数によりサンプリングする。データ拡張部12は、これらのパラメタを使って訓練データに対して変換を施すことにより、この1つの訓練データを複数個に拡張する。学習部14は、これら複数個の疑似データを使って勾配
【数13】
を計算し、複数のデータサンプルの和を取った勾配を使用して、確率的勾配降下法によってWの要素を下式(4)のとおりに更新する。
【数14】
この更新は、重みWの各要素(各層の重み)が収束するまで繰り返される。ここで、式(4)のRPERDは、Randomly Picked Example with Random Distortionの略であり、乱数によって変形されたデータサンプルの中からデータサンプルを選ぶことを意味する。
【0049】
なお、通常、多層ニューラルネットワークの重みパラメタの更新には勾配法を出力層側から入力層側へ順番に適用する誤差逆伝搬法が使われる。誤差逆伝搬法も勾配法の一種であるので、確率的勾配降下法が適用可能である。誤差逆伝搬法については、C.M.ビショップ,“パターン認識と機械学習”,シュプリンガー・ジャパンに詳しく記載されている。
【0050】
図7は、以上のようにしてデータ拡張部12にて生成された疑似データを学習した結果得られるクラスの事後分布を示す図である。
図7において、クラスの事後分布は実線で示されている。識別器では、このクラスの事後分布を識別モデルとして使用して識別を行うことになる。このデータ拡張により、
図2に示す本来の分布に対する網羅性を高めることができる。
【0051】
(識別器)
次に、本実施の形態の識別器について説明する。
図8は、本実施の形態の識別器の構成を示すブロック図である。識別器200は、データ入力部21と、データ拡張部22と、変換パラメタ生成部23と、識別部24とを備えている。識別器200は、コンピュータによって実現される。このコンピュータは、補助記憶部、一時記憶部、演算処理部、入出力部等を備えており、データ入力部21は、例えば入出力部によって実現される。また、データ拡張部22、変換パラメタ生成部23、及び識別部24は、演算処理部が本発明の実施の形態の識別プログラムを実行することで実現される。
【0052】
データ入力部21には、学習に使用していないデータであって、未知データが入力される。
図9は、未知データud1〜ud5の例を示す図である。
図9のような未知データが入力されたとき、データ拡張によって網羅性を高めたことによって正答できる場合も多いが、未知データud5のように、もとの分布の近似精度の限界から誤答する点もあり得る。
【0053】
そこで、本実施の形態の識別器200では、識別時においても、学習時に行ったものと同様の方法でデータ拡張し、それらに対しての識別結果を適切に統合する。このように、識別時においても乱数を用いてデータを拡張することで、その分布がクラスの事後分布に重なる可能性が高まることから、従来正答できなかった点が正答できる可能性が高くなる。この理由について、以下に詳しく説明する。
【0054】
データ拡張を行っていない場合には、あるデータが入力されたとき、最も適切なクラス分類方法は、下式(5)を満たすクラスcを選択することである。
【数15】
この決定則は、データ拡張を行っていない場合の目的関数(1’)を最小化しており、理論上最適である。
【0055】
従来、データ拡張を行った場合においても、データ拡張を行わない場合と同じ決定則が使用されてきた。即ち、学習の際には式(3’)によって学習をしたとしても、識別の際には、データ拡張を行っていない場合に理論上最適となる式(5)の決定則を用いて識別(クラス分類)が行われてきた。しかしながら、データ拡張を行った場合と行わない場合とでは、理論的に最適な決定則が異なっている。即ち、上式(5)の決定則は、データ拡張をしていない場合の目的関数(1’)を最小化しているが、データ拡張をした場合の目的関数(3’)を最小化するものではない。
【0056】
データ拡張が行われた場合に、最も適切なクラス分類方法は、下式(6)を満たすクラスcを選択することである。
【数16】
この決定則は目的関数(3’)を最小化しており、理論上最適である。
【0057】
以上のように、従来法では、データ拡張用の目的関数を学習時に最小化しているにも関わらず、式(5)の決定則を適用しているため、理論上最適なクラス分類が行えていない。これに対して、本実施の形態の識別器200は、識別時においても変換パラメタに対する出力の対数の期待値をとって識別を行う。
【0058】
具体的には、データ拡張部22は、変換パラメタ生成部23にて生成された変換パラメタを用いてデータ入力部21に入力された未知データを変換して、複数の疑似未知データを生成する。このときデータ拡張部22で用いる変換パラメタは、識別モデルを生成するための学習の際に使用した分布p(θ
j)から確率的に生成する。
図10は、未知データqd5から生成された疑似未知データの標本分布を示す図である。
図10において、未知データqd5の標本分布は実線で示されている。
【0059】
識別部24は、式(6)の勾配計算を行って、変換パラメタに対する出力の対数の期待値が最大となるクラスレベルを選択する。このように、データ拡張時の最適な決定則を用いることにより、データ収取量が同じ場合で、かつ同じ要領でデータ拡張をした場合であっても、従来よりも高い識別能力を獲得することが可能となる。
【0060】
上記の実施の形態では、目的関数として、クロスエントロピーを採用したが、目的関数はクロスエントロピーに限られない。以下では、目的関数を誤差の二乗の総和とした場合の決定則について説明する。データの拡張がない場合の目的関数は、下式(7)及び(7’)によって表される。
【数17】
【数18】
【数19】
【0061】
この目的関数の勾配
【数20】
を計算し、複数のデータサンプルの和を取った勾配を使用して、確率的勾配降下法によってWの要素を下式(8)のとおりに更新する。この更新は、Wの各要素が収束するまで繰り返される。
【数21】
【0062】
次に、上記の例においてデータ拡張を行う本実施の形態の場合について説明する。本実施の形態の目的関数は、下式(9)、(9’)のとおりとなる。
【数22】
【数23】
【数24】
【数25】
【0063】
このように、式(9’)では、式(7’)と異なり、変換パラメタに対する誤差の二乗の総和の期待値が取られている。
【0064】
従来は、決定則として、下式(10)が用いられていた。
【数26】
しかしながら、この決定則は、データ拡張なしの目的関数(7’)を最小化しているが、データ拡張をした場合の目的関数(9’)を最小化するものではない。そこで、データ拡張をした場合には、下式(11)のように、変換パラメタに対する誤差の二乗の総和の期待値を最小化する決定則を採用する。
【数27】
【0065】
データ拡張を行った場合に、式(11)の決定則を用いることにより、上記の実施の形態と同様に、従来よりも高い識別能力を獲得することが可能となる。
【0066】
以上のように、本実施の形態の識別器200において、データ拡張部22は、未知データに対して、学習時のデータ拡張と同様の方法でデータ拡張を行って疑似未知データを生成し、識別部24は、疑似未知データの期待値に基づいてクラス分類を行う。換言すれば、識別器200は、未知データそのものについてクラス分類を行うのではなく、未知データを拡張してそれらのクラス分類の結果を統合して、クラス分類を行う。即ち、識別器200は、学習を行う際に用いた目的関数を最小化するという決定則によってクラス分類を行う。これにより、与えられた訓練データに対してデータ拡張を行って学習をして識別モデルを生成した場合に、訓練データの収取量が同じであり、かつ同じ要領で訓練データをデータ拡張をした場合の従来法よりも高い識別能力を実現できる。
【0067】
(実験例)
以下、本実施の形態の学習装置及び識別器を用いて行った実験を説明する。この実験では、以下のように条件を設定した。データセットとして、手書き数字データセット(MNIST、http://yann.lecun.com/exdb/mnist/、
図4参照)を用いた。訓練データとしてMNISTの訓練データセット(60,000セット)のうちの6,000セットを用い、テストデータとしてMNISTのテストデータセット(10,000セット)のうちの1,000セットを用いた。識別モデルとしては、フィードフォワード・全結合型6層ニューラルネットワークを用いた。評価基準として、誤識別率を評価した。
【0068】
学習装置における学習条件として、従来法による識別を行う場合についても、本発明の実施の形態の識別を行う場合にも同一のデータ拡張を適用した。また、生成されたサンプルからは1度しか微分を計算せず、オリジナルサンプルからは一切微分を計算しないこととした。識別器における識別条件として、従来法では、オリジナルサンプルのみを識別し、本発明の実施の形態の識別器では、複数生成されたサンプルより期待値を評価した。なお、本発明の実施の形態の識別器では、オリジナルサンプルそのものは期待値に使用しなかった。
【0069】
実験結果を
図11に示す。
図11では、横軸に変換パラメタの種類の数Mをとり、縦軸に誤識別率をとり、従来法を用いた場合の誤識別率も合わせて示している。なお、上述のように、変換パラメタの種類の数Mについては、下式が成り立つ。
【数28】
【0070】
図11の結果から、変換パラメタの種類がM=16以上では、従来法でオリジナルサンプルのみを識別した場合よりも誤識別率が低くなっており、本発明の実施の形態の識別時における期待値演算が有効であることがわかる。