(57)【要約】【課題】学習に必要な演算量を低減可能なパターン識別装置の学習方法を提供する。【解決手段】特徴抽出用パラメータに従ってデータから識別用特徴量を抽出する特徴抽出器１１と、識別用特徴量を入力としてそのデータに表されたパターンを識別する識別器１２とを有するパターン識別装置１の学習方法は、（ａ）学習用データセットに含まれる同一のパターンが表された学習用データの組を特徴抽出器１１に入力して得られる識別用特徴量のクラスタを決定するステップと、（ｂ）クラスタ間の最小距離を求めるステップと、（ｃ）最小距離の極大値が検出されたか否か判定するステップと、（ｄ）極大値が検出されていないと判定した場合、特徴抽出用パラメータを変更して、ステップ（ａ）〜（ｃ）を繰り返すステップと、（ｅ）極大値が検出された場合、その極大値に対応する特徴抽出用パラメータが、パターン識別処理の実行時に使用されるものとするステップを含む。【選択図】図１
2010157118.tif 000002
【特許請求の範囲】
【請求項１】
識別用特徴量を抽出するための特徴抽出用パラメータに従って、入力データから識別用特徴量を抽出する特徴抽出器（１１）と、該識別用特徴量が入力されることにより入力データに表されたパターンを識別する識別器（１２）とを有するパターン識別装置（１）の学習方法であって、
（ａ）予め準備された学習用データセットに含まれる各学習用データを前記特徴抽出器（１１）に入力して、同一のパターンが表された前記学習用データの組に対する前記識別用特徴量のクラスタをそれぞれ決定するステップと、
（ｂ）前記クラスタ間の距離のうちの最小距離を求めるステップと、
（ｃ）前記最小距離の極大値が検出されたか否か判定するステップと、
（ｄ）前記最小距離の極大値が検出されていないと判定した場合、前記最小距離を、該最小距離の算出のために使用された前記特徴抽出用パラメータとを関連付けて記憶部（３）に記憶し、かつ前記特徴抽出用パラメータを変更して、前記ステップ（ａ）〜前記ステップ（ｃ）を繰り返すステップと、
（ｅ）前記最小距離の極大値が検出されたと判定した場合、前記最小距離の極大値に関連付けられて前記記憶部（３）に記憶されている特徴抽出用パラメータを、前記パターン識別装置（１）がパターン識別処理を実行する際に前記特徴抽出器（１１）が使用する特徴抽出用パラメータとして決定するステップと、
を含むことを特徴とする学習方法。
【請求項２】
前記ステップ（ｃ）は、前記最小距離が、前記記憶部（３）に記憶されている、前回算出された前記クラスタ間の最小距離である過去最小距離以上である場合、前記最小距離の極大値は検出されていないと判定し、一方、前記最小距離が前記過去最小距離未満である場合、前記過去最小距離が前記最小距離の極大値であると判定し、
前記ステップ（ｄ）は、前記過去最小距離に関連付けられて前記記憶部（３）に記憶されている特徴抽出用パラメータを、前記パターン識別装置（１）がパターン識別処理を実行する際に前記特徴抽出器（１１）が使用する特徴抽出用パラメータとして決定する、請求項１に記載の学習方法。
【請求項３】
前記ステップ（ｄ）は、制約付きボルツマンマシンの学習則に従って前記特徴抽出用パラメータを変更する、請求項１または２に記載の学習方法。
【請求項４】
識別用特徴量を抽出するための特徴抽出用パラメータに従って、入力データから識別用特徴量を抽出する特徴抽出器（１１）と、該識別用特徴量が入力されることにより入力データに含まれるパターンを識別する識別器（１２）とを有するパターン認識装置（１）の学習方法をコンピュータに実行させるコンピュータプログラムであって、当該学習方法が、
（ａ）予め準備された学習用データセットに含まれる各学習用データを前記特徴抽出器（１１）に入力して、同一のパターンが表された前記学習用データの組に対する前記識別用特徴量のクラスタをそれぞれ決定するステップと、
（ｂ）前記クラスタ間の距離のうちの最小距離を求めるステップと、
（ｃ）前記最小距離の極大値が検出されたか否か判定するステップと、
（ｄ）前記最小距離の極大値が検出されていないと判定した場合、前記最小距離を、該最小距離の算出のために使用された前記特徴抽出用パラメータとを関連付けて前記コンピュータの記憶部（３）に記憶し、かつ前記特徴抽出用パラメータを変更して、前記ステップ（ａ）〜前記ステップ（ｃ）を繰り返すステップと、
（ｅ）前記最小距離の極大値が検出されたと判定した場合、前記最小距離の極大値に関連付けられて前記記憶部（３）に記憶されている特徴抽出用パラメータを、前記パターン識別装置（１）がパターン識別処理を実行する際に前記特徴抽出器（１１）が使用する特徴抽出用パラメータとして決定するステップと、
を含むことを特徴とするコンピュータプログラム。
【請求項５】
識別対象となるパターンが表された入力データを取得するデータ入力部（２）と、
前記入力データに表されたパターンを識別する識別部（５）とを有し、
前記識別部（５）は、
前記入力データから識別用特徴量を抽出する特徴抽出器（１１）と、
前記識別用特徴量が入力されることにより入力データに表されたパターンを識別する識別器（１２）とを有し、
前記特徴抽出器（１１）が前記識別用特徴量を抽出するために使用する特徴抽出用パラメータが、予め準備された学習用データセットに含まれる各学習用データを前記特徴抽出器（１１）に入力することにより、同一のパターンが表された前記学習用データの組に対する前記識別用特徴量のクラスタ間の最小距離が極大値となるように設定されていることを特徴とするパターン識別装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パターン識別装置及びパターン識別装置の学習方法ならびにコンピュータプログラムに関し、特に、畳み込み演算により抽出された特徴量を用いてパターンを識別するパターン識別装置及びパターン識別装置の学習方法ならびにそのような学習方法をコンピュータに実行させるコンピュータプログラムに関する。
【背景技術】
【０００２】
従来より、画像上に表示された文字、生体情報、音声データに含まれる言葉などのパターンを識別するための様々なパターン識別技術が研究されている。そのようなパターン識別技術の一つとして、畳み込みニューラルネットワーク（Convolutional Neural Network、以下では、CNNという）が提案されている（例えば、非特許文献１を参照）。CNNは、特徴抽出器と呼ばれる重み共有型のフィルタと、３層以上の層を持つパーセプトロンなどで構成される識別器とが階層的に接続された構成を持つ。そしてCNNは、特徴抽出器により、入力データの各部に対して同一の畳み込み演算を行って識別用の特徴量を抽出し、抽出された特徴量を識別器に入力することより、入力データに表されたパターンを識別する。このCNNは、例えば、入力データである画像上に表示されているパターンの位置、パターンの拡大縮小率またはパターンの局所的な歪みが入力データごとに異なっていても、識別精度に対する影響が小さいという特徴を有する。
【０００３】
このCNNを学習する際、識別器を構成するパーセプトロンの各層に含まれるユニット間の結合重みだけでなく、特徴抽出器が有するフィルタの重みを最適化するために、教師付き学習法の代表的な手法である誤差逆伝播法が用いられてきた（例えば、非特許文献２を参照）。適切な学習用データセットを使用して、誤差逆伝播法によりCNNを学習することで、CNNは、ロバスト性に優れた、高い識別能力を持つことができる。しかし、CNNは、データが入力される入力層から、識別結果を出力する最終層までの間に多数の層を有するため、誤差逆伝播法を用いてCNNを学習するためには、非常に長い時間が必要となる。
【０００４】
一方、特徴抽出器については教師無し学習手法を用いて特徴抽出器内のフィルタの重みを最適化するとともに、教師付き学習手法を用いて識別器を学習することにより、CNNを構築する方法が提案されている（例えば、非特許文献３を参照）。
【０００５】
【非特許文献１】リチャード.O.デューダ（Richard O.Duda）、ピーター.E.ハート（Peter E.Hart）、デイヴィッド.G.ストーク（David G.Stork）、「パターン識別（Pattern Classification）」、第２版、（米国）、John Wiley & Sons, Inc.、2001年、p.326-328
【非特許文献２】G.E.ヒントン（G.E.Hinton）、R.R.サラクフディノフ（R.R.Salakhutdinov）、「ニューラルネットワークを用いたデータ次元の低減（Reducing the Dimensionality of Date with Neural Network）」、サイエンス（Science）、（米国）、アメリカ科学振興協会、2006年6月、Vol.313、p.504-507
【非特許文献３】M.ランザト（M.Ranzato）、F.ホアン（F.Huang）、Y.ボウラウ（Y.Boureau）、Y.レキュン（Y.LeCun）、「認識対象物に対するアプリケーションを用いた印バリアント特徴階層の教師無し学習（Unsupervised Learning of Invariant Feature Hierarchies with Applications to Object Recognition）」、コンピュータビジョン＆パターン認識カンファレンス（CVPR'07）、IEEE Press、2007年
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、非特許文献３に開示された方法についても、どれだけ特徴抽出器の学習を繰り返せばCNNが十分な識別能力を有するかが不明であるため、特徴抽出器に対する学習を何時停止するかについては最適化されていない。そのため、非特許文献３に開示された方法に従ってCNNを学習する場合、特徴抽出器の学習を非常に多く繰り返す必要があった。
さらに、識別精度の高いCNN型のパターン識別装置を構築するためには、そのパターン識別装置を学習するための学習用データセットが、非常に多数の様々なテストデータを有することが望ましい。そして、そのような非常に多数のテストデータを有する学習用データセットを用いてCNN型のパターン識別装置を学習する場合、非常に膨大な演算量が必要となる。そのため、CNN型のパターン識別装置の学習には、大規模なハードウェアリソースまたは長い学習時間が必要であり、そのことが、CNN型のパターン識別装置の開発の阻害要因となっていた。したがって、CNN型のパターン識別装置の学習に必要な演算量を極力低減することが望ましい。
【０００７】
そこで、本発明の目的は、学習に必要な演算量を低減可能なパターン識別装置及びパターン識別装置の学習方法及びそのような学習方法をコンピュータに実行させるコンピュータプログラムを提供することにある。
【０００８】
また本発明の他の目的は、高い識別能力を有するパターン識別装置を提供することにある。
【課題を解決するための手段】
【０００９】
請求項１の記載によれば、本発明の一つの形態として、識別用特徴量を抽出するための特徴抽出用パラメータに従って、入力データから識別用特徴量を抽出する特徴抽出器（１１）と、抽出された識別用特徴量が入力されることにより入力データに表されたパターンを識別する識別器（１２）とを有するパターン識別装置（１）の学習方法が提供される。係る学習方法は、（ａ）予め準備された学習用データセットに含まれる各学習用データを特徴抽出器（１１）に入力して、同一のパターンが表された学習用データの組に対する識別用特徴量のクラスタをそれぞれ決定するステップと、（ｂ）クラスタ間の距離のうちの最小距離を求めるステップと、（ｃ）最小距離の極大値が検出されたか否か判定するステップと、（ｄ）最小距離の極大値が検出されていないと判定した場合、最小距離を、その最小距離の算出のために使用された特徴抽出用パラメータとを関連付けて記憶部（３）に記憶し、かつ特徴抽出用パラメータを変更して、ステップ（ａ）〜ステップ（ｃ）を繰り返すステップと、（ｅ）最小距離の極大値が検出されたと判定した場合、最小距離の極大値に関連付けられて記憶部（３）に記憶されている特徴抽出用パラメータを、パターン識別装置（１）がパターン識別処理を実行する際に特徴抽出器（１１）が使用する特徴抽出用パラメータとして決定するステップとを含む。
【００１０】
このパターン識別装置の学習方法は、識別器とは別個の学習手法に従って、特徴抽出器で使用される特徴抽出用パラメータを最適化できる。そのため、このパターン識別装置の学習方法は、特徴抽出用パラメータを最適化するための特徴抽出器の学習において、誤差逆伝播法を必要としないので、学習に必要な演算量を低減することができるという効果を奏する。さらに、このパターン識別装置の学習方法は、学習用データセットに関して、互いに異なるパターンが表された学習用データの組から求められた識別用特徴量のクラスタ間の最小距離が極大値となったところで学習を停止する。そのため、このパターン識別装置の学習方法は、それ以上学習を繰り返しても、パターン識別装置の識別能力の向上があまり望めなくなる適切な繰り返し回数で学習を停止できるので、学習に必要な演算量をさらに低減することができるという効果を奏する。さらにこのパターン識別装置の学習方法は、識別器に入力される識別用特徴量のパターンごとの差異を大きくし、パターンの識別を容易にすることができるので、パターン識別装置に高い識別能力を与えることができるという効果を奏する。
【００１１】
また請求項２の記載によれば、本発明に係るパターン識別装置の学習方法において、ステップ（ｃ）は、最小距離が、記憶部（３）に記憶されている、前回算出されたクラスタ間の最小距離である過去最小距離以上である場合、最小距離の極大値は検出されていないと判定し、一方、最小距離が過去最小距離未満である場合、過去最小距離が最小距離の極大値であると判定し、ステップ（ｄ）は、過去最小距離に関連付けられて記憶部（３）に記憶されている特徴抽出用パラメータを、パターン識別装置（１）がパターン識別処理を実行する際に特徴抽出器（１１）が使用する特徴抽出用パラメータとして決定することが好ましい。
これにより、このパターン識別装置の学習方法は、学習の繰り返し回数を不適切に増やすことなく、クラスタ間の最小距離の極大値を検出できる。
【００１２】
また請求項３の記載によれば、本発明に係るパターン識別装置の学習方法において、ステップ（ｄ）は、制約付きボルツマンマシンの学習則に従って特徴抽出用パラメータを変更することが好ましい。
【００１３】
また請求項４の記載によれば、本発明の他の形態として、識別用特徴量を抽出するための特徴抽出用パラメータに従って、入力データから識別用特徴量を抽出する特徴抽出器（１１）と、抽出された識別用特徴量が入力されることにより入力データに含まれるパターンを識別する識別器（１２）とを有するパターン認識装置（１）の学習方法をコンピュータに実行させるコンピュータプログラムが提供される。そのコンピュータプログラムがコンピュータに実行させる学習方法は、（ａ）予め準備された学習用データセットに含まれる各学習用データを特徴抽出器（１１）に入力して、同一のパターンが表された学習用データの組に対する識別用特徴量のクラスタをそれぞれ決定するステップと、（ｂ）クラスタ間の距離のうちの最小距離を求めるステップと、（ｃ）最小距離の極大値が検出されたか否か判定するステップと、（ｄ）最小距離の極大値が検出されていないと判定した場合、最小距離を、その最小距離の算出のために使用された特徴抽出用パラメータとを関連付けてコンピュータの記憶部（３）に記憶し、かつ特徴抽出用パラメータを変更して、ステップ（ａ）〜ステップ（ｃ）を繰り返すステップと、（ｅ）最小距離の極大値が検出されたと判定した場合、最小距離の極大値に関連付けられて記憶部（３）に記憶されている特徴抽出用パラメータを、パターン識別装置（１）がパターン識別処理を実行する際に特徴抽出器（１１）が使用する特徴抽出用パラメータとして決定するステップとを含む。
【００１４】
このパターン識別装置の学習方法をコンピュータに実行させるコンピュータプログラムは、識別器とは別個の学習手法に従って、特徴抽出器で使用される特徴抽出用パラメータを最適化できる。そのため、このコンピュータプログラムは、特徴抽出用パラメータを最適化するための特徴抽出器の学習において、誤差逆伝播法を必要としないので、学習に必要な演算量を低減することができるという効果を奏する。さらに、このコンピュータプログラムは、学習用データセットに関して、互いに異なるパターンが表された学習用データの組から求められた識別用特徴量のクラスタ間の最小距離が極大値となったところで学習を停止する。そのため、このコンピュータプログラムは、それ以上学習を繰り返しても、パターン識別装置の識別能力の向上があまり望めなくなる適切な繰り返し回数で学習を停止できるので、学習に必要な演算量をさらに低減することができるという効果を奏する。さらにこのコンピュータプログラムは、識別器に入力される識別用特徴量のパターンごとの差異を大きくし、パターンの識別を容易にすることができるので、パターン識別装置に高い識別能力を与えることができるという効果を奏する。
【００１５】
また請求項５の記載によれば、本発明のさらに他の形態として、識別対象となるパターンが表された入力データを取得するデータ入力部（２）と、入力データに表されたパターンを識別する識別部（５）とを有するパターン識別装置が提供される。係るパターン識別装置の識別部（５）は、入力データから識別用特徴量を抽出する特徴抽出器（１１）と、識別用特徴量が入力されることにより入力データに表されたパターンを識別する識別器（１２）とを有する。そして特徴抽出器（１１）が識別用特徴量を抽出するために使用する特徴抽出用パラメータが、予め準備された学習用データセットに含まれる各学習用データを特徴抽出器（１１）に入力することにより、同一のパターンが表された学習用データの組に対する識別用特徴量のクラスタ間の最小距離が極大値となるように設定されている。
【００１６】
このパターン識別装置は、学習用データセットに関して、互いに異なるパターンが表された学習用データの組から求められた識別用特徴量のクラスタ間の最小距離が極大値となるように特徴抽出用パラメータが設定されている。そのため、このパターン識別装置は、識別器に入力される識別用特徴量のパターンごとの差異が大きく、識別が容易となるので、高い識別能力を有することができるという効果を奏する。
【００１７】
上記各部に付した括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示す一例である。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の一つの実施形態に係るパターン識別装置及びその学習方法について説明する。
本発明の一つの実施形態に係るパターン識別装置は、識別対象となるパターンが表された入力データから識別用の特徴量を抽出する特徴抽出器と、特徴抽出器により抽出された識別用特徴量を入力として、入力データに表されたパターンを識別する識別器とを有するCNN型のパターン識別装置である。そしてこのパターン識別装置は、学習の際、特徴抽出器については、教師無し学習手法を用いて特徴抽出器内の各層のフィルタが使用する重み係数行列を最適化することにより、誤差逆伝播法が適用される層数を減らして、学習に要する演算量を低減する。特にこのパターン識別装置は、特徴抽出器の各層のフィルタに対する学習停止条件を、学習用データセットに含まれる各パターンごとに求められる特徴マップまたは識別用特徴量のクラスタ間の距離が極大値となったこととして、識別精度の向上と学習に要する演算量のさらなる低減を図る。
【００１９】
図１は、本発明の一つの実施形態に係るパターン識別装置１の全体構成を示す。図１に示すように、パターン識別装置１は、データ入力部２と、記憶部３と、出力部４と、識別部５とを有する。
【００２０】
データ入力部２は、識別対象となるパターンが表された入力データを取得する。例えば、識別対象となるパターンが文字、歩行者、あるいは車などの２次元のパターンであり、そのパターンが入力データである画像上に表される場合、データ入力部２は、識別対象となるパターンを含む情報をデジタル画像として取得する。そのために、データ入力部２は、例えば、CCDカメラ、C-MOSカメラ、またはスキャナの何れかを有する。
また、識別対象となるパターンが言葉などの時系列的に連続した１次元のデータであり、そのパターンが入力データである時系列信号に含まれる場合、データ入力部２は、識別対象となるパターンを含む情報を１次元のデジタル信号として取得する。そのために、データ入力部２は、例えば、マイクロホン及びアナログ−デジタル変換器を有する。
【００２１】
あるいはまた、パターン識別装置１が、識別対象となるパターンが表された入力データを取得する他の装置と通信ネットワーク（図示せず）を介して接続されている場合、データ入力部２は、その通信ネットワークにパターン識別装置１を接続するための通信インターフェース及びその制御回路を有してもよい。
データ入力部２は、取得した入力データを識別部５へ出力する。
【００２２】
記憶部３は、ＲＯＭ、ＲＡＭあるいはフラッシュメモリなどの半導体メモリ、あるいは磁気記録媒体及びそのアクセス装置若しくは光記録媒体及びそのアクセス装置などを有する。そして記憶部３は、パターン識別装置１を制御するためのコンピュータプログラム及び各種のデータを記憶する。そのようなデータには、例えば、識別部５が識別用特徴量の抽出あるいはパターンの識別に利用する重み係数などのパラメータ、パターン識別装置１が入力データに対してパターン識別処理を実行しているときの中間計算結果、あるいは、パターン識別装置１が学習されているときの中間計算結果などが含まれる。そして記憶部３は、識別部５からの読み出し要求命令に応じて、記憶部３に記憶されている各種のデータあるいはプログラムのうち、要求されたデータあるいはプログラムを識別部５へ出力する。あるいは記憶部３は、識別部５からの書き込み要求に応じて、書き込み要求されたデータを保持する。
【００２３】
出力部４は、識別対象となった入力データの識別情報と、識別部５により識別された、その入力データに表されたパターンの識別結果を出力する。そのために、出力部４は、例えば、液晶ディスプレイ、有機ＥＬディスプレイなどの表示装置を有する。あるいは、パターン識別装置１が、その識別結果を利用する他の装置と通信するための通信ネットワーク（図示せず）に接続されている場合、出力部４は、その通信ネットワークにパターン識別装置１を接続するための通信インターフェース及びその制御回路を有してもよい。さらに、識別対象となるパターンが表された入力データを取得する装置と、その入力データに対する識別結果を利用する装置も同一の通信ネットワークに接続されている場合、データ入力部２と出力部４は、その通信ネットワークにパターン識別装置１を接続するための通信インターフェース及びその制御回路として、一体的に構成されてもよい。
【００２４】
なお、パターン識別装置１が、パターンの識別結果を利用する他の装置と一体となって構成されている場合には、パターン識別装置１は、その識別結果を識別部５から他の装置へ直接出力することができるため、出力部４は省略されてもよい。パターン識別装置１が、他の装置と一体となって構成されている場合とは、例えば、識別部５の機能を実現するプログラムモジュールが実行されるプロセッサ上で、他の装置の機能を実現するプログラムモジュールも実行される場合である。
【００２５】
識別部５は、１個または複数個のプロセッサ及びその周辺回路を有する。そして識別部５は、データ取得部２により取得された入力データに表されたパターンを識別し、その識別結果を出力部４へ出力する。そのために、識別部５は、特徴抽出器１１と、識別器１２と、重み決定部１３と、識別器学習部１４とを有する。このうち、重み決定部１３及び識別器学習部１４は、パターン識別装置１を学習する際に使用されるが、パターン識別装置１がパターン識別処理を実行する際には使用されない。一方、特徴抽出器１１及び識別器１２は、パターン識別装置１がパターン識別処理を実行する際に、それぞれ、重み決定部１３及び識別器学習部１４により決定されたパラメータとともに使用される。
識別部５が有するこれらの各部は、識別部５が有するプロセッサ上で実行されるコンピュータプログラムによって実装される機能モジュールである。
【００２６】
特徴抽出器１１は、識別対象となるパターンが表された入力データに対する畳み込み演算を実行することにより、識別用特徴量を抽出する。
図２に、特徴抽出器１１の概略構成図を示す。図２に示されるように、特徴抽出器１１は、２層構成の重み共有型フィルタで構成される。そして特徴抽出器１１は、入力データIに対する畳み込み演算処理を実行する第１フィルタ部２１と、第１フィルタ部２１から出力された複数の特徴マップFP1、FP2、．．．、FPNf（ただし、Nfは２以上の整数）に対して畳み込み演算処理を実行して、複数の識別用特徴量IF1、IF2、．．．、IFNg（ただし、Ngは２以上の整数）を抽出する第２フィルタ部２２とを有する。各フィルタ部は、それぞれ複数個のフィルタを有する。例えば、入力データIが画像のような２次元データである場合、第１フィルタ部２１が有する各フィルタは、入力データIに対して、次式で表される畳み込み演算処理を実行する。
【数１】
2010157118.tif 000003
ここでxijは、入力データIに含まれる、水平座標i、垂直座標jの画素の画素値である。またyfmnは、畳み込み演算の結果として得られる特徴マップFPf（ただし、1≦f≦Nf）に含まれる、水平座標m、垂直座標nの画素の画素値である。また、wfuvは、特徴マップFPfを求めるためのフィルタが持つ重み係数行列の要素値を表す。さらにθfはバイアスである。また関数σ()は、シグモイド関数である。そしてRmn(i,j)は、特徴マップFPfの座標(m,n)の画素に対して行われる畳み込み演算の対象となる範囲を表す。（１）式から明らかなように、フィルタの重み係数行列は、入力データIの各部に対して共有して使用される。
なお、入力データIが音声信号のような１次元信号である場合、（１）式において入力データIに含まれる要素xijの垂直座標jの取り得る範囲、及びフィルタが持つ重み係数行列の要素wfuvの垂直座標vの取り得る範囲を1に限定すればよい。
【００２７】
同様に、第２フィルタ部２２が持つ各フィルタも、次式で表される畳み込み演算処理を各特徴マップFP1、FP2、．．．、FPNfに対して実行して、識別用特徴量IF1、IF2、．．．、IFNgを求める。
【数２】
2010157118.tif 000004
ここでyfmnは、何れかの特徴マップFPf（ただし、1≦f≦Nf）に含まれる、水平座標m、垂直座標nの画素の画素値である。そしてzgpqは、畳み込み演算の結果として得られる識別用特徴量IFg（ただし、1≦g≦Ng）に含まれる、水平座標p、垂直座標qの画素の画素値である。また、wgfuvは、識別用特徴量IFgを求めるためのフィルタが持つ重み係数行列の要素値を表す。さらにθgはバイアスである。また関数σ()は、シグモイド関数である。そしてRpq(m,n)は、識別用特徴量IFgの座標(p,q)の画素に対して行われる畳み込み演算の対象となる範囲を表す。（２）式から明らかなように、フィルタの重み係数行列は、特徴マップFPfの各部に対して共有して使用され、また、各特徴マップFPfに対するフィルタ演算の結果は、対応する識別用特徴量IFgの画素ごとに加算される。そのため、第２フィルタ部２２では、一つの識別用特徴量IFgを求めるために、Nf個の特徴マップのそれぞれに対してフィルタ演算が実行され、従って、Ng個の識別用特徴量IFgを求めるために、Nf×Ng回のフィルタ処理が実行される。
【００２８】
ここで、第１フィルタ部２１及び第２フィルタ部２２の各フィルタを表すパラメータである重み係数wfuv、wgfuv及びバイアスθf、θgは、後述する重み決定部１３により決定され、パターン識別装置１がパターン識別処理を行う前に、予め記憶部３に記憶される。そしてパターン識別装置１がパターン識別処理を行う際、識別部５は、記憶部３から各フィルタのwfuv、θf、wgfuv及びθgを読み込み、特徴抽出器１１に渡す。そして特徴抽出器１１は、記憶部３から読み込まれた各フィルタのwfuvとθf、wgfuvとθgを使用して、識別用特徴量を抽出する。
特徴抽出器１１は、抽出した識別用特徴量を識別器１２へ渡す。
【００２９】
識別器１２は、特徴抽出器１１により抽出された識別用特徴量を入力として、入力データに表されたパターンを識別する。本実施形態では、識別器１２は、３層以上の層を持つ多層型パーセプトロンにより構成される。
図３に、識別器１２で使用される多層型パーセプトロンの概略構成図を示す。図３に示されるように、識別器１２が有する多層型パーセプトロン３０は、入力層３１と、隠れ層３２と、出力層３３とを有する。各層は、それぞれ複数のユニットを有する。入力層３１に含まれる各ユニットには、特徴抽出器１１により抽出された識別用特徴量が入力される。そして入力層３１に含まれる各ユニットの出力は、それぞれ、隠れ層３２に含まれる各ユニットに線形結合される。また隠れ層３２に含まれる各ユニットの出力は、それぞれ、出力層３３に含まれる各ユニットに線形結合される。そして、隠れ層３２の各ユニットは、入力層３１に含まれる各ユニットからの出力に所定の重み係数を乗じた重み付け和を求め、その重み付け和に所定のバイアスを加えた値を所定の関数（例えば、シグモイド関数）に入力して出力結果を得る。また出力層３３の各ユニットは、隠れ層３２に含まれる各ユニットからの出力に所定の重み係数を乗じた重み付け和を求め、その重み付け和に所定のバイアスを加えた値を所定の関数（例えば、線形関数）に入力して出力結果を得る。そして、出力層３３では、例えば、識別されたパターンに対応する何れかのユニットが１を出力し、その他のユニットが０を出力する。したがって、識別器１２は、１を出力したユニットに対応する識別結果を得る。
【００３０】
本実施形態では、隠れ層３２の各ユニット及び出力層３３の各ユニットが使用するそれぞれの重み係数及びバイアスは、識別器学習部１４により最適化され、記憶部３に記憶される。そこで識別器１２は、パターン識別処理を実行する際、記憶部３からそれら重み係数及びバイアスを読み込んで使用する。
識別部５は、識別対象となった入力データに識別情報を付す。そして識別部５は、その入力データの識別情報に、識別器１２により得られた、その入力データに表されたパターンの識別結果を関連付ける。そして識別部５は、入力データの識別情報と対応する識別結果とを出力部４へ出力する。
【００３１】
重み決定部１３は、特徴抽出器１１において使用される、識別用特徴量を抽出するための特徴抽出用パラメータを最適化する。本実施形態では、上記のように、特徴抽出器１１は、２層構成の重み共有型フィルタで構成される。そこで重み決定部１３は、特徴抽出用パラメータである、第１フィルタ部２１及び第２フィルタ部２２のフィルタが有する重み係数行列を、学習用データセットを用いた教師無し学習手法により決定する。
なお、学習用データセットは、例えば、識別対象となるパターンの全ての種類について、それぞれ、複数の学習用データを含む。例えば、識別対象となるパターンがアルファベット文字であれば、学習用データセットは、ａ〜ｚまでの各アルファベット文字のそれぞれについて、少しずつ大きさ、形状またはコントラストなどを変えた一つのアルファベット文字が表された画像を複数含む。
【００３２】
図４に、重み決定部１３の機能を示した機能ブロック図を示す。図４に示されるように、重み決定部１３は、第１フィルタ学習部４１と、第１学習停止判定部４２と、第２フィルタ学習部４３と、第２学習停止判定部４４とを有する。そして第１フィルタ学習部４１は、特徴抽出器１１の第１フィルタ部２１に含まれるフィルタの重み係数行列を最適化する。一方、第２フィルタ学習部４３は、特徴抽出器１１の第２フィルタ部２２に含まれるフィルタの重み係数行列を最適化する。また、第１学習停止判定部４２及び第２学習停止判定部４４は、それぞれ、第１フィルタ学習部４１及び第２フィルタ学習部４３が重み係数行列を最適化するための学習処理の実行中に、学習停止条件を満たすか否か判定し、学習停止条件が満たされたと判定すると、学習処理を停止する。なお、第２フィルタ学習部４３により行われる処理は、第１フィルタ学習部４１により行われる処理と同様である。また、第２学習停止判定部４４により行われる処理は、第１学習停止判定部４２により行われる処理と同様である。そこで以下では、第１フィルタ学習部４１及び第１学習停止判定部４２についてのみ説明する。
【００３３】
第１フィルタ学習部４１は、特徴抽出器１１の第１フィルタ部２１が有する各フィルタの重み係数行列を、制約付きボルツマンマシン（Restricted Boltzmann Machine、以下ではRBMという）の学習則に従って学習する。そこで、第１フィルタ学習部４１は、次式により、RBMにより表されるネットワークのエネルギーE(x,y)を規定する。そして、第１フィルタ学習部４１は、学習用データセットを用いて、このエネルギーE(x,y)により表される、特徴マップyが与えられたときに入力データがxである生起確率p(x)=(Σyexp(-E(x,y)/Σu,gexp(-E(u,g))が増加するように教師無し学習を行って、特徴マップFPfを求めるためのフィルタが持つ重み係数行列の各要素wfijを少しずつ変化させる。
【数３】
2010157118.tif 000005
ここでxijは、学習用データセットに含まれる学習用データにおける、水平座標i、垂直座標jの画素の画素値である。またyfmnは、畳み込み演算の結果として得られる特徴マップFPf（ただし、1≦f≦Nf）に含まれる、水平座標m、垂直座標nの画素の画素値である。そしてRmn(i,j)は、特徴マップFPfの座標(m,n)の画素に対して行われる畳み込み演算の対象となる範囲を表す。さらにθxは、閾値である。
【００３４】
第１フィルタ学習部４１は、次式にしたがって、学習データセットに含まれる各パターンに対する重み係数行列の各要素wfijの更新量Δwfij、バイアスθfの更新量Δθf及び閾値θxの更新量Δθxをそれぞれ決定する。
【数４】
2010157118.tif 000006
そして第１フィルタ学習部４１は、（４）式により得られた各パターンに対する更新量の和ΣΔwfij、ΣΔθf、Σθxをそれぞれ求め、それらを１回の学習における更新量とする。
ここでηは学習係数であり、実験的に適切な値、例えば、学習データセットに含まれるパターン数の逆数に0.01を乗じた値に設定される。また、<u>は、変数uの期待値を表す。さらに、x'ijは、各パターンごとに得られる再現データの要素(i,j)の値である。さらにy'fmnは、x'ijに基づいて得られる、各パターンごとに得られる再現データに対応する特徴マップの各要素(m,n)の値である。
【００３５】
ここでx'ijを求めるために、第１フィルタ学習部４１は、まず、着目するパターンに対応する学習データセットに含まれる学習用データをそれぞれ（１）式に入力して、対応する各特徴マップの要素値yfmnを計算する。ここで特徴マップの要素値yfmnは、（１）式から明らかなように、0〜1の範囲内に含まれる何れかの値を持つ。そこで第１フィルタ学習部４１は、0〜1の範囲内でランダムに決定された閾値と各要素値yfmnを比較し、yfmnがその閾値以上であれば、yfmn=1、その閾値未満であればyfmn=0とする。そして第１フィルタ学習部４１は、0または1に二値化された各要素値yfmnを次式に入力することにより、着目するパターンに対する再現データの要素(i,j)の値x'ijを計算する。
【数５】
2010157118.tif 000007
なお（５）式において、関数div(a,b)は、床関数floor(a/b)と等しい。また関数min()、関数max()は、それぞれ、最小値及び最大値を出力する関数である。
x'ijが計算されると、第１フィルタ学習部４１は、そのx'ijを再度（１）式に入力することにより、着目するパターンについての再現データに対応する各特徴マップの要素y'fmnを計算する。
【００３６】
第１フィルタ学習部４１は、重み係数行列を変更する度に、その重み係数行列を用いた第１フィルタ部２１により、学習用データセットに含まれる同一のパターンが表された学習用データの組の特徴マップを求める。そして第１フィルタ学習部４１は、それら特徴マップが全て含まれるものとして、その学習用データの組に対するクラスタを決定する。
【００３７】
第１学習停止判定部４２は、各パターンに対応するクラスタ間の距離の最小値を求める。そして第１学習停止判定部４２は、重み係数行列の変化によって変動するクラスタ間の最小距離が極大値となったところで、第１フィルタ学習部４１による学習を停止する。
そこで、第１学習停止判定部４２は、第１フィルタ学習部４１が１回重み係数行列を変更する度に、次式に従ってクラスタ間の最小距離Δt(a,b)を求める。
【数６】
2010157118.tif 000008
ここでa及びbは、それぞれ、学習用データセットTDsに含まれる学習用データが表すパターンである。例えば、識別対象となるパターンがアルファベット文字であれば、a及びbは、それぞれ一つのアルファベット文字である。また、a∪bは、aとbの和集合を表す。さらに、yifmn（i∈α）は、同一のパターンが表された学習用データの組αに含まれる学習用データiから求められた特徴マップFPf（ただし、1≦f≦Nf）の水平座標m、垂直座標nの画素の画素値である。さらに、avyαfmnは、同一のパターンが表された学習用データの組αに含まれる全ての学習用データから求められたyifmnの平均値である。またtは、重み係数行列を変更した試行回数を表す。さらに、関数min()は、最小値を出力する関数である。なお、第２学習停止判定部４４では、上記のyifmn及びavyαfmnは、それぞれ、識別用特徴量の水平座標m、垂直座標nの画素の画素値及びその平均値となる。
【００３８】
第１学習停止判定部４２は、第１フィルタ学習部４１が重み係数行列を変更する度に、クラスタ間の最小距離Δt(a,b)を求めて、対応する重み係数行列と関連付ける。そして第１学習停止判定部４２は、クラスタ間の最小距離Δt(a,b)と、対応する重み係数行列を記憶部３に記憶する。さらに、第１学習停止判定部４２は、いわゆる山登り法に従い、最新のクラスタ間の最小距離Δt(a,b)を、前回更新された重み係数行列に対応するクラスタ間の最小距離Δt-1(a,b)と比較する。そして、第１学習停止判定部４２は、Δt(a,b)がΔt-1(a,b)よりも小さくなったとき、Δt-1(a,b)がクラスタ間の最小距離の極大値であると判定し、第１フィルタ学習部４１による学習を停止する。そして第１学習停止判定部４２は、Δt-1(a,b)に対応する重み係数行列を、第１フィルタ部２１の各フィルタが使用する重み係数行列とする。
【００３９】
識別器学習部１４は、学習用データセットを用いた教師付き学習手法により、識別器１２で使用されるパラメータを最適化する。本実施形態では、上記のように、識別器１２は多層型パーセプトロンで構成される。そこで、識別器学習部１４は、重み係数決定部１３により決定された重み係数行列を用いた特徴抽出器１１により、学習用データセットに含まれる各学習用データから抽出された識別用特徴量と、その学習用データに表されたパターンを教師データとして、誤差逆伝播法により識別器１２の各層に含まれるそれぞれのユニットが使用する重み係数を最適化する。なお、誤差逆伝播法自体は周知であるため、その詳細な説明は省略する。
識別器学習部１４は、学習が終了すると、決定された識別器１２の各層に含まれるそれぞれのユニットが使用する重み係数を記憶部３に記憶する。
【００４０】
以下、図５に示したフローチャートを参照しつつ、本発明の一つの実施形態に係るパターン識別装置１の学習処理の動作を説明する。なお、以下に説明する動作のフローは、上記の識別部５において実行されるコンピュータプログラムにより制御される。
【００４１】
学習が開始されると、重み決定部１３の第１フィルタ学習部４１は、現在設定されている重み係数行列を用いた、特徴抽出器１１の第１フィルタ部２１により、学習用データセットに含まれる各学習用データに対する特徴マップを作成することにより、同一のパターンが表された学習用データの組に対する特徴マップのクラスタを決定する（ステップＳ１０１）。次に、重み決定部１３の第１学習停止判定部４２は、各パターンのクラスタ間の最小距離Δtを算出する（ステップＳ１０２）。
【００４２】
次に、第１学習停止判定部４２は、クラスタ間の最小距離の極大値が検出されたか否か判定する。具体的には、第１学習停止判定部４２は、クラスタ間の最小距離Δtが、前回の試行時(t-1)において求められたクラスタ間の最小距離Δt-1よりも小さいか否か判定する（ステップＳ１０３）。ステップＳ１０３において、ΔtがΔt-1以上である場合、第１学習停止判定部４２は、クラスタ間の最小距離の極大値は検出されていないと判定する。そして第１学習停止判定部４２は、クラスタ間の最小距離Δtに、そのΔtの算出に利用された、第１フィルタ部２１の各フィルタの重み係数行列を関連付けた上で記憶部３に記憶する。そして、第１学習停止判定部４２は、試行回数tを1インクリメントする（ステップＳ１０４）。また、第１フィルタ学習部４１は、第１フィルタ部２１の各フィルタの重み係数行列を、RBMの学習則に従って修正する（ステップＳ１０５）。その後、識別部５は、制御をステップＳ１０１に戻す。
【００４３】
一方、ステップＳ１０３において、ΔtがΔt-1よりも小さい場合、第１学習停止判定部４２は、Δt-1がクラスタ間の最小距離の極大値であると判定する。そして第１学習停止判定部４２は、記憶部３に記憶されている、Δt-1に関連付けられた重み係数行列を、第１フィルタ部２１が使用する重み係数行列として決定する（ステップＳ１０６）。
【００４４】
次に、重み決定部１３の第２フィルタ学習部４３は、学習用データセットに含まれる各学習用データを第１フィルタ部２１に入力することにより作成された各特徴マップを、特徴抽出器１１の第２フィルタ部２２に入力することにより、各学習用データに対する識別用特徴量を作成して、同一のパターンが表された学習用データの組に対する識別用特徴量のクラスタを決定する（ステップＳ１０７）。このとき、第１フィルタ部２１は、第２フィルタ部２２に入力するための各特徴マップを作成するために、第１学習停止判定部４１により決定された重み係数行列を使用する。また、第２フィルタ部２２は、第２フィルタ部２２に含まれる各フィルタに対する現在の重み係数行列を用いて、識別用特徴量を作成する。次に、重み決定部１３の第２学習停止判定部４４は、各パターンのクラスタ間の最小距離Δtを算出する（ステップＳ１０８）。
【００４５】
次に、第２学習停止判定部４４は、クラスタ間の最小距離の極大値が検出されたか否か判定する。具体的には、第２学習停止判定部４４は、クラスタ間の最小距離Δtが、前回の試行時(t-1)において求められたクラスタ間の最小距離Δt-1よりも小さいか否か判定する（ステップＳ１０９）。ステップＳ１０９において、ΔtがΔt-1以上である場合、第２学習停止判定部４４は、クラスタ間の最小距離の極大値は検出されていないと判定する。そして第２学習停止判定部４４は、クラスタ間の最小距離Δtに、そのΔtの算出に利用された、第２フィルタ部２２の各フィルタの重み係数行列を関連付けた上で記憶部３に記憶する。そして、第２学習停止判定部４４は、試行回数tを1インクリメントする（ステップＳ１１０）。また、第２フィルタ学習部４３は、第２フィルタ部２２で使用される重み係数行列を、RBMの学習則に従って修正する（ステップＳ１１１）。その後、識別部５は、制御をステップＳ１０７に戻す。
【００４６】
一方、ステップＳ１０９において、ΔtがΔt-1よりも小さい場合、第２学習停止判定部４４は、Δt-1がクラスタ間の最小距離の極大値であると判定する。そして第２学習停止判定部４４は、記憶部３に記憶されている、Δt-1に関連付けられた重み係数行列を、第２フィルタ部２２が使用する重み係数行列として決定する（ステップＳ１１２）。
【００４７】
その後、識別部５の識別器学習部１４は、学習用データセットに含まれる各学習用データを特徴抽出器１１に入力することにより求められた識別用特徴量を入力とし、各学習用データに表されたパターンの種別を出力とする教師付き学習により、識別器１２を学習する（ステップＳ１１３）。例えば、識別器学習部１４は、誤差逆伝播法により、識別器１２を構成するパーセプトロンが有する各ユニットの重み係数を決定する。そして識別器学習部１４は、決定された重み係数を記憶部３に記憶する。
なお、識別用特徴量を算出する際、特徴抽出器１１の第１フィルタ部２１及び第２フィルタ部２２は、それぞれ、ステップＳ１０６及びステップＳ１１２で求められた重み係数を使用する。
ステップＳ１１３で、識別器１２で使用される各ユニットの重み係数が決定された後、識別部５は、学習処理の動作を終了する。
【００４８】
次に、図６に示したフローチャートを参照しつつ、本発明の一つの実施形態に係るパターン識別装置１のパターン識別処理の動作を説明する。なお、以下に説明する動作のフローは、識別部５において実行されるコンピュータプログラムにより制御される。
最初に、パターン識別処理が開始される前に、識別部５は、重み決定部１３及び識別器学習部１４により決定された、各フィルタの重み係数行列などのパラメータを記憶部３から読み込み、特徴抽出器１１及び識別器１２に設定する。
【００４９】
パターン識別動作が開始されると、データ入力部２は、識別対象となるパターンを表したデータを取得する（ステップＳ２０１）。そしてデータ入力部２は、取得したデータを識別部５へ渡す。識別部５は、受け取ったデータに対して、そのデータを他のデータを区別するための識別情報を付する。
【００５０】
次に、識別部５の特徴抽出器１１は、第１フィルタ部２１に取得されたデータを入力することにより、そのデータに対する特徴マップを作成する（ステップＳ２０２）。また、特徴抽出器１１は、第２フィルタ部２２に、作成された各特徴マップを入力することにより、取得されたデータに対する識別用特徴量を作成する（ステップＳ２０３）。
その後、識別部５は、特徴抽出器１１により得られた識別用特徴量を識別部５の識別器１２に入力することにより、取得されたデータに表されたパターンを識別する（ステップＳ２０４）。最後に、識別部５は、識別器１２により得られた識別結果を、取得されたデータの識別情報とともに、出力部４を介して出力する（ステップＳ２０５）。その後、識別部５は、パターン識別処理の動作を終了する。
【００５１】
以下、本発明の一つの実施形態に係るパターン識別装置１の学習処理の演算量について、従来技術による５層CNNの学習処理の演算量と比較しつつ説明する。なお、従来技術による５層CNNについては、誤差逆伝播法により各層のユニットまたはフィルタの重み係数が決定されるものとする。
【００５２】
図７は、従来技術による５層CNN７０の概略構成図を示す。図７に示すように、５層CNN７０は、データが入力される方から順に、入力層７１、第２層７２、第３層７３、第４層７４、出力層７５を有する。このうち、入力層７１及び第２層７２は、それぞれ、パターン識別装置１の特徴抽出部１１に含まれる第１フィルタ部２１及び第２フィルタ部２２に相当し、それぞれ、入力されたデータあるいは特徴マップに対して畳み込み演算処理を行う複数のフィルタを有する。そして第２層７２の出力は、識別用特徴量となる。また、第３層７３、第４層７４及び出力層７５は、パターン識別装置１の識別器１２に相当する。そして第２層７２により出力された識別用特徴量が第３層７３に入力されると、出力層７５が、入力されたデータに表されたパターンの識別結果を出力する。
【００５３】
入力層７１は、要素数S1を持つデータに対してサイズk2のL2個のフィルタを用いて畳み込み演算を行い、要素数S2を持つL2個の特徴マップを作成するものとする。同様に、第２層７２は、L2個の特徴マップのそれぞれに対してサイズk2のL3個のフィルタを用いて畳み込み演算を行い、要素数S3を持つL3個の識別用特徴量を抽出するものとする。さらに、第３層７３は、L3個の識別用特徴量に対応するユニットを持ち、隠れ層である第４層７４は、L4個のユニットを持つとする。そして出力層７５は、L5個のユニットを持つとする。
【００５４】
この場合、１回の学習における、フィードフォワード演算に含まれる積和演算とシグモイド関数演算の合計NSffは次式で表される。
【数７】
2010157118.tif 000009
なお、上記の式において、右辺の各項は、第１項から順に、それぞれ、入力層７１−第２層７２間、第２層７２−第３層７３間、第３層７３−第４層７４間、第４層７４−出力層７５間の積和演算数及びシグモイド演算数を表す。
また、１回の学習における、誤差逆伝播演算に含まれる積和演算の合計NSbpは次式で表される。
【数８】
2010157118.tif 000010
なお、上記の式において、右辺の各項は、第１項から順に、それぞれ、入力層７１−第２層７２間、第２層７２−第３層７３間、第３層７３−第４層７４間、第４層７４−出力層７５間の積和演算数を表す。
【００５５】
一方、パターン識別装置１を、５層CNN７０と同規模のシステムと仮定する。すなわち、特徴抽出部１１の第１フィルタ部２１は要素数S1を持つデータに対してサイズk2のL2個のフィルタを用いて畳み込み演算を行い、要素数S2を持つL2個の特徴マップを作成するものとする。同様に、第２フィルタ部５２は、L2個の特徴マップのそれぞれに対してサイズk2のL3個のフィルタを用いて畳み込み演算を行い、要素数S3を持つL3個の識別用特徴量を抽出するものとする。さらに、識別部１２は３層を持つパーセプトロンで構成されるものとし、そのパーセプトロンの入力層は、L3個の識別用特徴量に対応する数のユニットを持つものとする。さらに、パーセプトロンの隠れ層及び出力層は、それぞれ、L4個及びL5個のユニットを持つとする。
【００５６】
この場合、１回の学習における、第１フィルタ部２１の積和演算数NSf1及び第２フィルタ部２２の積和演算数NSf2は、それぞれ、次式で表される。
【数９】
2010157118.tif 000011
また、識別器１２が誤差逆伝播法で学習される場合、１回の学習における、識別器１２の積和演算とシグモイド関数演算の合計NSidは次式で表される。
【数１０】
2010157118.tif 000012
【００５７】
従って、例えば、k=5、L2=5、L3=50、L4=100、L5=10、S1=292、S2=132、S3=52としたとき、５層CNN７０について１回の学習に必要な積和演算とシグモイド関数演算の合計Ncnn(=NSff+NSbp)は、約2×106となる。これに対し、パターン識別装置１について１回の学習に必要な積和演算とシグモイド関数演算の合計Npi(=NSf1+NSf2+NSid)は、約3.8×105となる。
このように、本発明の一つの実施形態に係るパターン識別装置１の１回の学習に必要な演算量は、従来技術による５層CNN７０の１回の学習に必要な演算量の約1/5で済む。なお、パターン識別装置１は、第１学習停止判定部４２及び第２学習停止判定部４４による、学習停止判定のための演算をさらに必要とする。しかし、この演算は、学習用データセットに含まれる全ての学習用データが入力された後に行われるので、学習停止判定のために必要とされる演算量は、上記の（９）式及び（１０）式で算出される積和演算量及びシグモイド演算量の合計と比べて無視できる程度である。
【００５８】
図８は、パターン識別装置１及び５層CNN７０のそれぞれについて、標準数字画像の著名なデータベースの一つであるMNISTデータベース（学習用データ数60000個、テスト用データ数10000個）を用いて、識別成功率91.1％を得るまでに必要となった１学習用データあたりの学習処理の積和演算の演算量を表すグラフである。左側の棒グラフ８１０は、パターン識別装置１に対する積和演算の演算量を表す、一方、右側の棒グラフ８２０は、誤差逆伝播法により各層の重み係数を決定したときの５層CNN７０に対する積和演算の演算量を表す。またグラフの縦軸は演算量（単位GFLOP）を表す。図８に示すように、５層CNN７０は、識別成功率91.1％を得るまでに約100GFLOPの積和演算を必要としたのに対し、パターン識別装置１は、識別成功率91.1％を得るまでに約12GFLOPの積和演算しか必要としなかった。このように、本発明の一実施形態に係るパターン識別装置１は、５層CNN７０の各層の重み係数を全て誤差逆伝播法により決定する場合と比較して、約1/10程度の演算量で同程度の識別性能を得た。
【００５９】
以上説明してきたように、本発明の一つの実施形態に係るパターン識別装置は、学習の際、特徴抽出器については、制約付きボルツマンマシンに従った教師無し学習手法を用いて特徴抽出器内の各層のフィルタが使用する重み係数行列を最適化する。これにより、このパターン識別装置は、誤差逆伝播法が適用される層数を減らして、学習に要する演算量を低減することができる。特にこのパターン識別装置は、特徴抽出器の各層のフィルタに対する学習停止条件を、学習用データセットに含まれる、同一のパターンが表された学習用データの組ごとに求められる特徴マップあるいは識別用特徴量のクラスタ間の最小距離が極大値となったこととした。そのため、このパターン識別装置は、学習を繰り返すことによる、識別精度の向上が望めなくなる前に学習を停止することがでるので、学習の試行回数を適切に抑制することができる。さらに、このパターン識別装置は、各パターンについて求められる識別用特徴量同士の差異を大きくできるので、識別精度を向上することができる。
【００６０】
なお、本発明は上記の実施形態に限定されるものではない。例えば、識別部が有する識別器は、多層型のパーセプトロンに限定されない。識別器は、非線形識別器であればよく、例えば、識別器をサポートベクトルマシンにより構成することもできる。この場合、識別部が有する識別器学習部は、識別器に応じた教師付き学習手法を用いて、識別器で使用されるパラメータを最適化する。例えば、上記のように、識別器がサポートベクトルマシンにより構成される場合、識別器学習部は、学習用データセットから特徴量抽出器により抽出された識別用特徴量のうち、識別対象となるパターンのうちの異なるもの同士の境界となる識別用特徴量をサポートベクトルとして決定する。その際、識別器学習部は、例えば、カーネル関数を利用して、学習用データセットに含まれる各学習用データから抽出された識別用特徴量の組を高次元に写像した上で、隣接するパターンに対応するクラスタ同士のサポートベクトル間の距離を最大化するようにサポートベクトルを決定する。なお、サポートベクトルマシンの学習手法は周知であるため、その詳細な説明は省略する。
識別器学習部は、各パターンについて求められたサポートベクトルを、そのパターンと関連付けて記憶部に記憶する。
【００６１】
また、特徴量抽出器は、２層構成に限られない。特徴抽出器は、例えば、３層以上のフィルタ部を有していてもよい。この場合も、入力側の第１層で行われる演算は、上記の第１フィルタ部について説明したのと同様の畳み込み演算とすることができ、第２層以降で行われる演算は、上記の第２フィルタ部について説明したのと同様の畳み込み演算とすることができる。さらに、重み決定部は、特徴抽出器が有する各層のフィルタ部ごとに、対応するフィルタ学習部と学習停止判定部を有する。そしてこの場合も、各フィルタ学習部は、上述した第１フィルタ学習部と同様の処理を実行する。また、各学習停止判定部は、上述した第１学習停止判定部と同様の処理を実行する。
また、重み決定部の第１学習停止判定部または第２学習停止判定部の何れか一方あるいは両方は、各パターンに対応するクラスタ間の最小距離Δt(a,b)を上記の（６）式を用いて求める代わりに、そのクラスタ間の最小距離Δt(a,b)を、隣接する二つのクラスタ内に含まれる各特徴マップまたは各識別用特徴量間の最短距離としてもよい。
【００６２】
さらに、事前学習された特徴抽出器の重み係数行列などのパラメータを用いて、識別処理のみが行われる場合、上記の実施形態に係るパターン識別装置において、重み決定部及び識別器学習部は省略されてもよい。逆に、特徴抽出器のフィルタの重み係数行列など、識別に使用されるパラメータの学習のみが行われる場合、上記の実施形態に係るパターン識別装置において、データ入力部は省略されてもよい。この場合、学習用データセットは、予め記憶部に記憶され、特徴抽出器、重み決定部及び識別器学習部は、記憶部から直接学習用データセットに含まれる学習用データ及びそのデータに対応するパターンの種別を示す情報を取得すればよい。
【００６３】
上記のように、当業者は、本発明の範囲内で様々な修正を行うことが可能である。
【図面の簡単な説明】
【００６４】
【図１】本発明の一つの実施形態に係るパターン識別装置の全体構成図である。
【図２】特徴抽出器の概略構成図である。
【図３】識別器で使用される多層型パーセプトロンの概略構成図である。
【図４】重み決定部の機能ブロック図である。
【図５】本発明の一つの実施形態に係るパターン識別装置の学習処理の動作フローチャートである。
【図６】本発明の一つの実施形態に係るパターン識別装置のパターン識別処理の動作フローチャートである。
【図７】従来技術による５層CNNの概略構成図である。
【図８】本発明の一つの実施形態に係るパターン識別装置及び従来技術による５層CNNのそれぞれについて、MNISTデータベースを用いて、識別成功率91.1％を得るまでに必要となった積和演算とシグモイド演算の合計演算量のグラフである。
【符号の説明】
【００６５】
１    パターン識別装置
２    データ入力部
３    記憶部
４    出力部
５    識別部
１１    特徴抽出器
１２    識別器
１３    重み決定部
１４    識別器学習部
２１    第１フィルタ部
２２    第２フィルタ部
４１    第１フィルタ学習部
４２    第１学習停止判定部
４３    第２フィルタ学習部
４４    第２学習停止判定部
【図１】
2010157118.tif 000013
【図２】
2010157118.tif 000014
【図３】
2010157118.tif 000015
【図４】
2010157118.tif 000016
【図５】
2010157118.tif 000017
【図６】
2010157118.tif 000018
【図７】
2010157118.tif 000019
【図８】
2010157118.tif 000020