JP2010157118A - パターン識別装置及びパターン識別装置の学習方法ならびにコンピュータプログラム - Google Patents
パターン識別装置及びパターン識別装置の学習方法ならびにコンピュータプログラム Download PDFInfo
- Publication number
- JP2010157118A JP2010157118A JP2008335318A JP2008335318A JP2010157118A JP 2010157118 A JP2010157118 A JP 2010157118A JP 2008335318 A JP2008335318 A JP 2008335318A JP 2008335318 A JP2008335318 A JP 2008335318A JP 2010157118 A JP2010157118 A JP 2010157118A
- Authority
- JP
- Japan
- Prior art keywords
- learning
- feature
- pattern
- identification
- minimum distance
- 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.)
- Pending
Links
Images
Abstract
【課題】学習に必要な演算量を低減可能なパターン識別装置の学習方法を提供する。
【解決手段】特徴抽出用パラメータに従ってデータから識別用特徴量を抽出する特徴抽出器11と、識別用特徴量を入力としてそのデータに表されたパターンを識別する識別器12とを有するパターン識別装置1の学習方法は、(a)学習用データセットに含まれる同一のパターンが表された学習用データの組を特徴抽出器11に入力して得られる識別用特徴量のクラスタを決定するステップと、(b)クラスタ間の最小距離を求めるステップと、(c)最小距離の極大値が検出されたか否か判定するステップと、(d)極大値が検出されていないと判定した場合、特徴抽出用パラメータを変更して、ステップ(a)〜(c)を繰り返すステップと、(e)極大値が検出された場合、その極大値に対応する特徴抽出用パラメータが、パターン識別処理の実行時に使用されるものとするステップを含む。
【選択図】図1
【解決手段】特徴抽出用パラメータに従ってデータから識別用特徴量を抽出する特徴抽出器11と、識別用特徴量を入力としてそのデータに表されたパターンを識別する識別器12とを有するパターン識別装置1の学習方法は、(a)学習用データセットに含まれる同一のパターンが表された学習用データの組を特徴抽出器11に入力して得られる識別用特徴量のクラスタを決定するステップと、(b)クラスタ間の最小距離を求めるステップと、(c)最小距離の極大値が検出されたか否か判定するステップと、(d)極大値が検出されていないと判定した場合、特徴抽出用パラメータを変更して、ステップ(a)〜(c)を繰り返すステップと、(e)極大値が検出された場合、その極大値に対応する特徴抽出用パラメータが、パターン識別処理の実行時に使用されるものとするステップを含む。
【選択図】図1
Description
本発明は、パターン識別装置及びパターン識別装置の学習方法ならびにコンピュータプログラムに関し、特に、畳み込み演算により抽出された特徴量を用いてパターンを識別するパターン識別装置及びパターン識別装置の学習方法ならびにそのような学習方法をコンピュータに実行させるコンピュータプログラムに関する。
従来より、画像上に表示された文字、生体情報、音声データに含まれる言葉などのパターンを識別するための様々なパターン識別技術が研究されている。そのようなパターン識別技術の一つとして、畳み込みニューラルネットワーク(Convolutional Neural Network、以下では、CNNという)が提案されている(例えば、非特許文献1を参照)。CNNは、特徴抽出器と呼ばれる重み共有型のフィルタと、3層以上の層を持つパーセプトロンなどで構成される識別器とが階層的に接続された構成を持つ。そしてCNNは、特徴抽出器により、入力データの各部に対して同一の畳み込み演算を行って識別用の特徴量を抽出し、抽出された特徴量を識別器に入力することより、入力データに表されたパターンを識別する。このCNNは、例えば、入力データである画像上に表示されているパターンの位置、パターンの拡大縮小率またはパターンの局所的な歪みが入力データごとに異なっていても、識別精度に対する影響が小さいという特徴を有する。
このCNNを学習する際、識別器を構成するパーセプトロンの各層に含まれるユニット間の結合重みだけでなく、特徴抽出器が有するフィルタの重みを最適化するために、教師付き学習法の代表的な手法である誤差逆伝播法が用いられてきた(例えば、非特許文献2を参照)。適切な学習用データセットを使用して、誤差逆伝播法によりCNNを学習することで、CNNは、ロバスト性に優れた、高い識別能力を持つことができる。しかし、CNNは、データが入力される入力層から、識別結果を出力する最終層までの間に多数の層を有するため、誤差逆伝播法を用いてCNNを学習するためには、非常に長い時間が必要となる。
一方、特徴抽出器については教師無し学習手法を用いて特徴抽出器内のフィルタの重みを最適化するとともに、教師付き学習手法を用いて識別器を学習することにより、CNNを構築する方法が提案されている(例えば、非特許文献3を参照)。
リチャード.O.デューダ(Richard O.Duda)、ピーター.E.ハート(Peter E.Hart)、デイヴィッド.G.ストーク(David G.Stork)、「パターン識別(Pattern Classification)」、第2版、(米国)、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年
しかしながら、非特許文献3に開示された方法についても、どれだけ特徴抽出器の学習を繰り返せばCNNが十分な識別能力を有するかが不明であるため、特徴抽出器に対する学習を何時停止するかについては最適化されていない。そのため、非特許文献3に開示された方法に従ってCNNを学習する場合、特徴抽出器の学習を非常に多く繰り返す必要があった。
さらに、識別精度の高いCNN型のパターン識別装置を構築するためには、そのパターン識別装置を学習するための学習用データセットが、非常に多数の様々なテストデータを有することが望ましい。そして、そのような非常に多数のテストデータを有する学習用データセットを用いてCNN型のパターン識別装置を学習する場合、非常に膨大な演算量が必要となる。そのため、CNN型のパターン識別装置の学習には、大規模なハードウェアリソースまたは長い学習時間が必要であり、そのことが、CNN型のパターン識別装置の開発の阻害要因となっていた。したがって、CNN型のパターン識別装置の学習に必要な演算量を極力低減することが望ましい。
さらに、識別精度の高いCNN型のパターン識別装置を構築するためには、そのパターン識別装置を学習するための学習用データセットが、非常に多数の様々なテストデータを有することが望ましい。そして、そのような非常に多数のテストデータを有する学習用データセットを用いてCNN型のパターン識別装置を学習する場合、非常に膨大な演算量が必要となる。そのため、CNN型のパターン識別装置の学習には、大規模なハードウェアリソースまたは長い学習時間が必要であり、そのことが、CNN型のパターン識別装置の開発の阻害要因となっていた。したがって、CNN型のパターン識別装置の学習に必要な演算量を極力低減することが望ましい。
そこで、本発明の目的は、学習に必要な演算量を低減可能なパターン識別装置及びパターン識別装置の学習方法及びそのような学習方法をコンピュータに実行させるコンピュータプログラムを提供することにある。
また本発明の他の目的は、高い識別能力を有するパターン識別装置を提供することにある。
請求項1の記載によれば、本発明の一つの形態として、識別用特徴量を抽出するための特徴抽出用パラメータに従って、入力データから識別用特徴量を抽出する特徴抽出器(11)と、抽出された識別用特徴量が入力されることにより入力データに表されたパターンを識別する識別器(12)とを有するパターン識別装置(1)の学習方法が提供される。係る学習方法は、(a)予め準備された学習用データセットに含まれる各学習用データを特徴抽出器(11)に入力して、同一のパターンが表された学習用データの組に対する識別用特徴量のクラスタをそれぞれ決定するステップと、(b)クラスタ間の距離のうちの最小距離を求めるステップと、(c)最小距離の極大値が検出されたか否か判定するステップと、(d)最小距離の極大値が検出されていないと判定した場合、最小距離を、その最小距離の算出のために使用された特徴抽出用パラメータとを関連付けて記憶部(3)に記憶し、かつ特徴抽出用パラメータを変更して、ステップ(a)〜ステップ(c)を繰り返すステップと、(e)最小距離の極大値が検出されたと判定した場合、最小距離の極大値に関連付けられて記憶部(3)に記憶されている特徴抽出用パラメータを、パターン識別装置(1)がパターン識別処理を実行する際に特徴抽出器(11)が使用する特徴抽出用パラメータとして決定するステップとを含む。
このパターン識別装置の学習方法は、識別器とは別個の学習手法に従って、特徴抽出器で使用される特徴抽出用パラメータを最適化できる。そのため、このパターン識別装置の学習方法は、特徴抽出用パラメータを最適化するための特徴抽出器の学習において、誤差逆伝播法を必要としないので、学習に必要な演算量を低減することができるという効果を奏する。さらに、このパターン識別装置の学習方法は、学習用データセットに関して、互いに異なるパターンが表された学習用データの組から求められた識別用特徴量のクラスタ間の最小距離が極大値となったところで学習を停止する。そのため、このパターン識別装置の学習方法は、それ以上学習を繰り返しても、パターン識別装置の識別能力の向上があまり望めなくなる適切な繰り返し回数で学習を停止できるので、学習に必要な演算量をさらに低減することができるという効果を奏する。さらにこのパターン識別装置の学習方法は、識別器に入力される識別用特徴量のパターンごとの差異を大きくし、パターンの識別を容易にすることができるので、パターン識別装置に高い識別能力を与えることができるという効果を奏する。
また請求項2の記載によれば、本発明に係るパターン識別装置の学習方法において、ステップ(c)は、最小距離が、記憶部(3)に記憶されている、前回算出されたクラスタ間の最小距離である過去最小距離以上である場合、最小距離の極大値は検出されていないと判定し、一方、最小距離が過去最小距離未満である場合、過去最小距離が最小距離の極大値であると判定し、ステップ(d)は、過去最小距離に関連付けられて記憶部(3)に記憶されている特徴抽出用パラメータを、パターン識別装置(1)がパターン識別処理を実行する際に特徴抽出器(11)が使用する特徴抽出用パラメータとして決定することが好ましい。
これにより、このパターン識別装置の学習方法は、学習の繰り返し回数を不適切に増やすことなく、クラスタ間の最小距離の極大値を検出できる。
これにより、このパターン識別装置の学習方法は、学習の繰り返し回数を不適切に増やすことなく、クラスタ間の最小距離の極大値を検出できる。
また請求項3の記載によれば、本発明に係るパターン識別装置の学習方法において、ステップ(d)は、制約付きボルツマンマシンの学習則に従って特徴抽出用パラメータを変更することが好ましい。
また請求項4の記載によれば、本発明の他の形態として、識別用特徴量を抽出するための特徴抽出用パラメータに従って、入力データから識別用特徴量を抽出する特徴抽出器(11)と、抽出された識別用特徴量が入力されることにより入力データに含まれるパターンを識別する識別器(12)とを有するパターン認識装置(1)の学習方法をコンピュータに実行させるコンピュータプログラムが提供される。そのコンピュータプログラムがコンピュータに実行させる学習方法は、(a)予め準備された学習用データセットに含まれる各学習用データを特徴抽出器(11)に入力して、同一のパターンが表された学習用データの組に対する識別用特徴量のクラスタをそれぞれ決定するステップと、(b)クラスタ間の距離のうちの最小距離を求めるステップと、(c)最小距離の極大値が検出されたか否か判定するステップと、(d)最小距離の極大値が検出されていないと判定した場合、最小距離を、その最小距離の算出のために使用された特徴抽出用パラメータとを関連付けてコンピュータの記憶部(3)に記憶し、かつ特徴抽出用パラメータを変更して、ステップ(a)〜ステップ(c)を繰り返すステップと、(e)最小距離の極大値が検出されたと判定した場合、最小距離の極大値に関連付けられて記憶部(3)に記憶されている特徴抽出用パラメータを、パターン識別装置(1)がパターン識別処理を実行する際に特徴抽出器(11)が使用する特徴抽出用パラメータとして決定するステップとを含む。
このパターン識別装置の学習方法をコンピュータに実行させるコンピュータプログラムは、識別器とは別個の学習手法に従って、特徴抽出器で使用される特徴抽出用パラメータを最適化できる。そのため、このコンピュータプログラムは、特徴抽出用パラメータを最適化するための特徴抽出器の学習において、誤差逆伝播法を必要としないので、学習に必要な演算量を低減することができるという効果を奏する。さらに、このコンピュータプログラムは、学習用データセットに関して、互いに異なるパターンが表された学習用データの組から求められた識別用特徴量のクラスタ間の最小距離が極大値となったところで学習を停止する。そのため、このコンピュータプログラムは、それ以上学習を繰り返しても、パターン識別装置の識別能力の向上があまり望めなくなる適切な繰り返し回数で学習を停止できるので、学習に必要な演算量をさらに低減することができるという効果を奏する。さらにこのコンピュータプログラムは、識別器に入力される識別用特徴量のパターンごとの差異を大きくし、パターンの識別を容易にすることができるので、パターン識別装置に高い識別能力を与えることができるという効果を奏する。
また請求項5の記載によれば、本発明のさらに他の形態として、識別対象となるパターンが表された入力データを取得するデータ入力部(2)と、入力データに表されたパターンを識別する識別部(5)とを有するパターン識別装置が提供される。係るパターン識別装置の識別部(5)は、入力データから識別用特徴量を抽出する特徴抽出器(11)と、識別用特徴量が入力されることにより入力データに表されたパターンを識別する識別器(12)とを有する。そして特徴抽出器(11)が識別用特徴量を抽出するために使用する特徴抽出用パラメータが、予め準備された学習用データセットに含まれる各学習用データを特徴抽出器(11)に入力することにより、同一のパターンが表された学習用データの組に対する識別用特徴量のクラスタ間の最小距離が極大値となるように設定されている。
このパターン識別装置は、学習用データセットに関して、互いに異なるパターンが表された学習用データの組から求められた識別用特徴量のクラスタ間の最小距離が極大値となるように特徴抽出用パラメータが設定されている。そのため、このパターン識別装置は、識別器に入力される識別用特徴量のパターンごとの差異が大きく、識別が容易となるので、高い識別能力を有することができるという効果を奏する。
上記各部に付した括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示す一例である。
以下、本発明の一つの実施形態に係るパターン識別装置及びその学習方法について説明する。
本発明の一つの実施形態に係るパターン識別装置は、識別対象となるパターンが表された入力データから識別用の特徴量を抽出する特徴抽出器と、特徴抽出器により抽出された識別用特徴量を入力として、入力データに表されたパターンを識別する識別器とを有するCNN型のパターン識別装置である。そしてこのパターン識別装置は、学習の際、特徴抽出器については、教師無し学習手法を用いて特徴抽出器内の各層のフィルタが使用する重み係数行列を最適化することにより、誤差逆伝播法が適用される層数を減らして、学習に要する演算量を低減する。特にこのパターン識別装置は、特徴抽出器の各層のフィルタに対する学習停止条件を、学習用データセットに含まれる各パターンごとに求められる特徴マップまたは識別用特徴量のクラスタ間の距離が極大値となったこととして、識別精度の向上と学習に要する演算量のさらなる低減を図る。
本発明の一つの実施形態に係るパターン識別装置は、識別対象となるパターンが表された入力データから識別用の特徴量を抽出する特徴抽出器と、特徴抽出器により抽出された識別用特徴量を入力として、入力データに表されたパターンを識別する識別器とを有するCNN型のパターン識別装置である。そしてこのパターン識別装置は、学習の際、特徴抽出器については、教師無し学習手法を用いて特徴抽出器内の各層のフィルタが使用する重み係数行列を最適化することにより、誤差逆伝播法が適用される層数を減らして、学習に要する演算量を低減する。特にこのパターン識別装置は、特徴抽出器の各層のフィルタに対する学習停止条件を、学習用データセットに含まれる各パターンごとに求められる特徴マップまたは識別用特徴量のクラスタ間の距離が極大値となったこととして、識別精度の向上と学習に要する演算量のさらなる低減を図る。
図1は、本発明の一つの実施形態に係るパターン識別装置1の全体構成を示す。図1に示すように、パターン識別装置1は、データ入力部2と、記憶部3と、出力部4と、識別部5とを有する。
データ入力部2は、識別対象となるパターンが表された入力データを取得する。例えば、識別対象となるパターンが文字、歩行者、あるいは車などの2次元のパターンであり、そのパターンが入力データである画像上に表される場合、データ入力部2は、識別対象となるパターンを含む情報をデジタル画像として取得する。そのために、データ入力部2は、例えば、CCDカメラ、C-MOSカメラ、またはスキャナの何れかを有する。
また、識別対象となるパターンが言葉などの時系列的に連続した1次元のデータであり、そのパターンが入力データである時系列信号に含まれる場合、データ入力部2は、識別対象となるパターンを含む情報を1次元のデジタル信号として取得する。そのために、データ入力部2は、例えば、マイクロホン及びアナログ−デジタル変換器を有する。
また、識別対象となるパターンが言葉などの時系列的に連続した1次元のデータであり、そのパターンが入力データである時系列信号に含まれる場合、データ入力部2は、識別対象となるパターンを含む情報を1次元のデジタル信号として取得する。そのために、データ入力部2は、例えば、マイクロホン及びアナログ−デジタル変換器を有する。
あるいはまた、パターン識別装置1が、識別対象となるパターンが表された入力データを取得する他の装置と通信ネットワーク(図示せず)を介して接続されている場合、データ入力部2は、その通信ネットワークにパターン識別装置1を接続するための通信インターフェース及びその制御回路を有してもよい。
データ入力部2は、取得した入力データを識別部5へ出力する。
データ入力部2は、取得した入力データを識別部5へ出力する。
記憶部3は、ROM、RAMあるいはフラッシュメモリなどの半導体メモリ、あるいは磁気記録媒体及びそのアクセス装置若しくは光記録媒体及びそのアクセス装置などを有する。そして記憶部3は、パターン識別装置1を制御するためのコンピュータプログラム及び各種のデータを記憶する。そのようなデータには、例えば、識別部5が識別用特徴量の抽出あるいはパターンの識別に利用する重み係数などのパラメータ、パターン識別装置1が入力データに対してパターン識別処理を実行しているときの中間計算結果、あるいは、パターン識別装置1が学習されているときの中間計算結果などが含まれる。そして記憶部3は、識別部5からの読み出し要求命令に応じて、記憶部3に記憶されている各種のデータあるいはプログラムのうち、要求されたデータあるいはプログラムを識別部5へ出力する。あるいは記憶部3は、識別部5からの書き込み要求に応じて、書き込み要求されたデータを保持する。
出力部4は、識別対象となった入力データの識別情報と、識別部5により識別された、その入力データに表されたパターンの識別結果を出力する。そのために、出力部4は、例えば、液晶ディスプレイ、有機ELディスプレイなどの表示装置を有する。あるいは、パターン識別装置1が、その識別結果を利用する他の装置と通信するための通信ネットワーク(図示せず)に接続されている場合、出力部4は、その通信ネットワークにパターン識別装置1を接続するための通信インターフェース及びその制御回路を有してもよい。さらに、識別対象となるパターンが表された入力データを取得する装置と、その入力データに対する識別結果を利用する装置も同一の通信ネットワークに接続されている場合、データ入力部2と出力部4は、その通信ネットワークにパターン識別装置1を接続するための通信インターフェース及びその制御回路として、一体的に構成されてもよい。
なお、パターン識別装置1が、パターンの識別結果を利用する他の装置と一体となって構成されている場合には、パターン識別装置1は、その識別結果を識別部5から他の装置へ直接出力することができるため、出力部4は省略されてもよい。パターン識別装置1が、他の装置と一体となって構成されている場合とは、例えば、識別部5の機能を実現するプログラムモジュールが実行されるプロセッサ上で、他の装置の機能を実現するプログラムモジュールも実行される場合である。
識別部5は、1個または複数個のプロセッサ及びその周辺回路を有する。そして識別部5は、データ取得部2により取得された入力データに表されたパターンを識別し、その識別結果を出力部4へ出力する。そのために、識別部5は、特徴抽出器11と、識別器12と、重み決定部13と、識別器学習部14とを有する。このうち、重み決定部13及び識別器学習部14は、パターン識別装置1を学習する際に使用されるが、パターン識別装置1がパターン識別処理を実行する際には使用されない。一方、特徴抽出器11及び識別器12は、パターン識別装置1がパターン識別処理を実行する際に、それぞれ、重み決定部13及び識別器学習部14により決定されたパラメータとともに使用される。
識別部5が有するこれらの各部は、識別部5が有するプロセッサ上で実行されるコンピュータプログラムによって実装される機能モジュールである。
識別部5が有するこれらの各部は、識別部5が有するプロセッサ上で実行されるコンピュータプログラムによって実装される機能モジュールである。
特徴抽出器11は、識別対象となるパターンが表された入力データに対する畳み込み演算を実行することにより、識別用特徴量を抽出する。
図2に、特徴抽出器11の概略構成図を示す。図2に示されるように、特徴抽出器11は、2層構成の重み共有型フィルタで構成される。そして特徴抽出器11は、入力データIに対する畳み込み演算処理を実行する第1フィルタ部21と、第1フィルタ部21から出力された複数の特徴マップFP1、FP2、...、FPNf(ただし、Nfは2以上の整数)に対して畳み込み演算処理を実行して、複数の識別用特徴量IF1、IF2、...、IFNg(ただし、Ngは2以上の整数)を抽出する第2フィルタ部22とを有する。各フィルタ部は、それぞれ複数個のフィルタを有する。例えば、入力データIが画像のような2次元データである場合、第1フィルタ部21が有する各フィルタは、入力データIに対して、次式で表される畳み込み演算処理を実行する。
ここでxijは、入力データIに含まれる、水平座標i、垂直座標jの画素の画素値である。またyf mnは、畳み込み演算の結果として得られる特徴マップFPf(ただし、1≦f≦Nf)に含まれる、水平座標m、垂直座標nの画素の画素値である。また、wf uvは、特徴マップFPfを求めるためのフィルタが持つ重み係数行列の要素値を表す。さらにθfはバイアスである。また関数σ()は、シグモイド関数である。そしてRmn(i,j)は、特徴マップFPfの座標(m,n)の画素に対して行われる畳み込み演算の対象となる範囲を表す。(1)式から明らかなように、フィルタの重み係数行列は、入力データIの各部に対して共有して使用される。
なお、入力データIが音声信号のような1次元信号である場合、(1)式において入力データIに含まれる要素xijの垂直座標jの取り得る範囲、及びフィルタが持つ重み係数行列の要素wf uvの垂直座標vの取り得る範囲を1に限定すればよい。
図2に、特徴抽出器11の概略構成図を示す。図2に示されるように、特徴抽出器11は、2層構成の重み共有型フィルタで構成される。そして特徴抽出器11は、入力データIに対する畳み込み演算処理を実行する第1フィルタ部21と、第1フィルタ部21から出力された複数の特徴マップFP1、FP2、...、FPNf(ただし、Nfは2以上の整数)に対して畳み込み演算処理を実行して、複数の識別用特徴量IF1、IF2、...、IFNg(ただし、Ngは2以上の整数)を抽出する第2フィルタ部22とを有する。各フィルタ部は、それぞれ複数個のフィルタを有する。例えば、入力データIが画像のような2次元データである場合、第1フィルタ部21が有する各フィルタは、入力データIに対して、次式で表される畳み込み演算処理を実行する。
なお、入力データIが音声信号のような1次元信号である場合、(1)式において入力データIに含まれる要素xijの垂直座標jの取り得る範囲、及びフィルタが持つ重み係数行列の要素wf uvの垂直座標vの取り得る範囲を1に限定すればよい。
同様に、第2フィルタ部22が持つ各フィルタも、次式で表される畳み込み演算処理を各特徴マップFP1、FP2、...、FPNfに対して実行して、識別用特徴量IF1、IF2、...、IFNgを求める。
ここでyf mnは、何れかの特徴マップFPf(ただし、1≦f≦Nf)に含まれる、水平座標m、垂直座標nの画素の画素値である。そしてzg pqは、畳み込み演算の結果として得られる識別用特徴量IFg(ただし、1≦g≦Ng)に含まれる、水平座標p、垂直座標qの画素の画素値である。また、wgf uvは、識別用特徴量IFgを求めるためのフィルタが持つ重み係数行列の要素値を表す。さらにθgはバイアスである。また関数σ()は、シグモイド関数である。そしてRpq(m,n)は、識別用特徴量IFgの座標(p,q)の画素に対して行われる畳み込み演算の対象となる範囲を表す。(2)式から明らかなように、フィルタの重み係数行列は、特徴マップFPfの各部に対して共有して使用され、また、各特徴マップFPfに対するフィルタ演算の結果は、対応する識別用特徴量IFgの画素ごとに加算される。そのため、第2フィルタ部22では、一つの識別用特徴量IFgを求めるために、Nf個の特徴マップのそれぞれに対してフィルタ演算が実行され、従って、Ng個の識別用特徴量IFgを求めるために、Nf×Ng回のフィルタ処理が実行される。
ここで、第1フィルタ部21及び第2フィルタ部22の各フィルタを表すパラメータである重み係数wf uv、wgf uv及びバイアスθf、θgは、後述する重み決定部13により決定され、パターン識別装置1がパターン識別処理を行う前に、予め記憶部3に記憶される。そしてパターン識別装置1がパターン識別処理を行う際、識別部5は、記憶部3から各フィルタのwf uv、θf、wgf uv及びθgを読み込み、特徴抽出器11に渡す。そして特徴抽出器11は、記憶部3から読み込まれた各フィルタのwf uvとθf、wgf uvとθgを使用して、識別用特徴量を抽出する。
特徴抽出器11は、抽出した識別用特徴量を識別器12へ渡す。
特徴抽出器11は、抽出した識別用特徴量を識別器12へ渡す。
識別器12は、特徴抽出器11により抽出された識別用特徴量を入力として、入力データに表されたパターンを識別する。本実施形態では、識別器12は、3層以上の層を持つ多層型パーセプトロンにより構成される。
図3に、識別器12で使用される多層型パーセプトロンの概略構成図を示す。図3に示されるように、識別器12が有する多層型パーセプトロン30は、入力層31と、隠れ層32と、出力層33とを有する。各層は、それぞれ複数のユニットを有する。入力層31に含まれる各ユニットには、特徴抽出器11により抽出された識別用特徴量が入力される。そして入力層31に含まれる各ユニットの出力は、それぞれ、隠れ層32に含まれる各ユニットに線形結合される。また隠れ層32に含まれる各ユニットの出力は、それぞれ、出力層33に含まれる各ユニットに線形結合される。そして、隠れ層32の各ユニットは、入力層31に含まれる各ユニットからの出力に所定の重み係数を乗じた重み付け和を求め、その重み付け和に所定のバイアスを加えた値を所定の関数(例えば、シグモイド関数)に入力して出力結果を得る。また出力層33の各ユニットは、隠れ層32に含まれる各ユニットからの出力に所定の重み係数を乗じた重み付け和を求め、その重み付け和に所定のバイアスを加えた値を所定の関数(例えば、線形関数)に入力して出力結果を得る。そして、出力層33では、例えば、識別されたパターンに対応する何れかのユニットが1を出力し、その他のユニットが0を出力する。したがって、識別器12は、1を出力したユニットに対応する識別結果を得る。
図3に、識別器12で使用される多層型パーセプトロンの概略構成図を示す。図3に示されるように、識別器12が有する多層型パーセプトロン30は、入力層31と、隠れ層32と、出力層33とを有する。各層は、それぞれ複数のユニットを有する。入力層31に含まれる各ユニットには、特徴抽出器11により抽出された識別用特徴量が入力される。そして入力層31に含まれる各ユニットの出力は、それぞれ、隠れ層32に含まれる各ユニットに線形結合される。また隠れ層32に含まれる各ユニットの出力は、それぞれ、出力層33に含まれる各ユニットに線形結合される。そして、隠れ層32の各ユニットは、入力層31に含まれる各ユニットからの出力に所定の重み係数を乗じた重み付け和を求め、その重み付け和に所定のバイアスを加えた値を所定の関数(例えば、シグモイド関数)に入力して出力結果を得る。また出力層33の各ユニットは、隠れ層32に含まれる各ユニットからの出力に所定の重み係数を乗じた重み付け和を求め、その重み付け和に所定のバイアスを加えた値を所定の関数(例えば、線形関数)に入力して出力結果を得る。そして、出力層33では、例えば、識別されたパターンに対応する何れかのユニットが1を出力し、その他のユニットが0を出力する。したがって、識別器12は、1を出力したユニットに対応する識別結果を得る。
本実施形態では、隠れ層32の各ユニット及び出力層33の各ユニットが使用するそれぞれの重み係数及びバイアスは、識別器学習部14により最適化され、記憶部3に記憶される。そこで識別器12は、パターン識別処理を実行する際、記憶部3からそれら重み係数及びバイアスを読み込んで使用する。
識別部5は、識別対象となった入力データに識別情報を付す。そして識別部5は、その入力データの識別情報に、識別器12により得られた、その入力データに表されたパターンの識別結果を関連付ける。そして識別部5は、入力データの識別情報と対応する識別結果とを出力部4へ出力する。
識別部5は、識別対象となった入力データに識別情報を付す。そして識別部5は、その入力データの識別情報に、識別器12により得られた、その入力データに表されたパターンの識別結果を関連付ける。そして識別部5は、入力データの識別情報と対応する識別結果とを出力部4へ出力する。
重み決定部13は、特徴抽出器11において使用される、識別用特徴量を抽出するための特徴抽出用パラメータを最適化する。本実施形態では、上記のように、特徴抽出器11は、2層構成の重み共有型フィルタで構成される。そこで重み決定部13は、特徴抽出用パラメータである、第1フィルタ部21及び第2フィルタ部22のフィルタが有する重み係数行列を、学習用データセットを用いた教師無し学習手法により決定する。
なお、学習用データセットは、例えば、識別対象となるパターンの全ての種類について、それぞれ、複数の学習用データを含む。例えば、識別対象となるパターンがアルファベット文字であれば、学習用データセットは、a〜zまでの各アルファベット文字のそれぞれについて、少しずつ大きさ、形状またはコントラストなどを変えた一つのアルファベット文字が表された画像を複数含む。
なお、学習用データセットは、例えば、識別対象となるパターンの全ての種類について、それぞれ、複数の学習用データを含む。例えば、識別対象となるパターンがアルファベット文字であれば、学習用データセットは、a〜zまでの各アルファベット文字のそれぞれについて、少しずつ大きさ、形状またはコントラストなどを変えた一つのアルファベット文字が表された画像を複数含む。
図4に、重み決定部13の機能を示した機能ブロック図を示す。図4に示されるように、重み決定部13は、第1フィルタ学習部41と、第1学習停止判定部42と、第2フィルタ学習部43と、第2学習停止判定部44とを有する。そして第1フィルタ学習部41は、特徴抽出器11の第1フィルタ部21に含まれるフィルタの重み係数行列を最適化する。一方、第2フィルタ学習部43は、特徴抽出器11の第2フィルタ部22に含まれるフィルタの重み係数行列を最適化する。また、第1学習停止判定部42及び第2学習停止判定部44は、それぞれ、第1フィルタ学習部41及び第2フィルタ学習部43が重み係数行列を最適化するための学習処理の実行中に、学習停止条件を満たすか否か判定し、学習停止条件が満たされたと判定すると、学習処理を停止する。なお、第2フィルタ学習部43により行われる処理は、第1フィルタ学習部41により行われる処理と同様である。また、第2学習停止判定部44により行われる処理は、第1学習停止判定部42により行われる処理と同様である。そこで以下では、第1フィルタ学習部41及び第1学習停止判定部42についてのみ説明する。
第1フィルタ学習部41は、特徴抽出器11の第1フィルタ部21が有する各フィルタの重み係数行列を、制約付きボルツマンマシン(Restricted Boltzmann Machine、以下ではRBMという)の学習則に従って学習する。そこで、第1フィルタ学習部41は、次式により、RBMにより表されるネットワークのエネルギーE(x,y)を規定する。そして、第1フィルタ学習部41は、学習用データセットを用いて、このエネルギーE(x,y)により表される、特徴マップyが与えられたときに入力データがxである生起確率p(x)=(Σyexp(-E(x,y)/Σu,gexp(-E(u,g))が増加するように教師無し学習を行って、特徴マップFPfを求めるためのフィルタが持つ重み係数行列の各要素wf ijを少しずつ変化させる。
ここでxijは、学習用データセットに含まれる学習用データにおける、水平座標i、垂直座標jの画素の画素値である。またyf mnは、畳み込み演算の結果として得られる特徴マップFPf(ただし、1≦f≦Nf)に含まれる、水平座標m、垂直座標nの画素の画素値である。そしてRmn(i,j)は、特徴マップFPfの座標(m,n)の画素に対して行われる畳み込み演算の対象となる範囲を表す。さらにθxは、閾値である。
第1フィルタ学習部41は、次式にしたがって、学習データセットに含まれる各パターンに対する重み係数行列の各要素wf ijの更新量Δwf ij、バイアスθfの更新量Δθf及び閾値θxの更新量Δθxをそれぞれ決定する。
そして第1フィルタ学習部41は、(4)式により得られた各パターンに対する更新量の和ΣΔwf ij、ΣΔθf、Σθxをそれぞれ求め、それらを1回の学習における更新量とする。
ここでηは学習係数であり、実験的に適切な値、例えば、学習データセットに含まれるパターン数の逆数に0.01を乗じた値に設定される。また、<u>は、変数uの期待値を表す。さらに、x'ijは、各パターンごとに得られる再現データの要素(i,j)の値である。さらにy'f mnは、x'ijに基づいて得られる、各パターンごとに得られる再現データに対応する特徴マップの各要素(m,n)の値である。
ここでηは学習係数であり、実験的に適切な値、例えば、学習データセットに含まれるパターン数の逆数に0.01を乗じた値に設定される。また、<u>は、変数uの期待値を表す。さらに、x'ijは、各パターンごとに得られる再現データの要素(i,j)の値である。さらにy'f mnは、x'ijに基づいて得られる、各パターンごとに得られる再現データに対応する特徴マップの各要素(m,n)の値である。
ここでx'ijを求めるために、第1フィルタ学習部41は、まず、着目するパターンに対応する学習データセットに含まれる学習用データをそれぞれ(1)式に入力して、対応する各特徴マップの要素値yf mnを計算する。ここで特徴マップの要素値yf mnは、(1)式から明らかなように、0〜1の範囲内に含まれる何れかの値を持つ。そこで第1フィルタ学習部41は、0〜1の範囲内でランダムに決定された閾値と各要素値yf mnを比較し、yf mnがその閾値以上であれば、yf mn=1、その閾値未満であればyf mn=0とする。そして第1フィルタ学習部41は、0または1に二値化された各要素値yf mnを次式に入力することにより、着目するパターンに対する再現データの要素(i,j)の値x'ijを計算する。
なお(5)式において、関数div(a,b)は、床関数floor(a/b)と等しい。また関数min()、関数max()は、それぞれ、最小値及び最大値を出力する関数である。
x'ijが計算されると、第1フィルタ学習部41は、そのx'ijを再度(1)式に入力することにより、着目するパターンについての再現データに対応する各特徴マップの要素y'f mnを計算する。
x'ijが計算されると、第1フィルタ学習部41は、そのx'ijを再度(1)式に入力することにより、着目するパターンについての再現データに対応する各特徴マップの要素y'f mnを計算する。
第1フィルタ学習部41は、重み係数行列を変更する度に、その重み係数行列を用いた第1フィルタ部21により、学習用データセットに含まれる同一のパターンが表された学習用データの組の特徴マップを求める。そして第1フィルタ学習部41は、それら特徴マップが全て含まれるものとして、その学習用データの組に対するクラスタを決定する。
第1学習停止判定部42は、各パターンに対応するクラスタ間の距離の最小値を求める。そして第1学習停止判定部42は、重み係数行列の変化によって変動するクラスタ間の最小距離が極大値となったところで、第1フィルタ学習部41による学習を停止する。
そこで、第1学習停止判定部42は、第1フィルタ学習部41が1回重み係数行列を変更する度に、次式に従ってクラスタ間の最小距離Δt(a,b)を求める。
ここでa及びbは、それぞれ、学習用データセットTDsに含まれる学習用データが表すパターンである。例えば、識別対象となるパターンがアルファベット文字であれば、a及びbは、それぞれ一つのアルファベット文字である。また、a∪bは、aとbの和集合を表す。さらに、yi f mn(i∈α)は、同一のパターンが表された学習用データの組αに含まれる学習用データiから求められた特徴マップFPf(ただし、1≦f≦Nf)の水平座標m、垂直座標nの画素の画素値である。さらに、avyα f mnは、同一のパターンが表された学習用データの組αに含まれる全ての学習用データから求められたyi f mnの平均値である。またtは、重み係数行列を変更した試行回数を表す。さらに、関数min()は、最小値を出力する関数である。なお、第2学習停止判定部44では、上記のyi f mn及びavyα f mnは、それぞれ、識別用特徴量の水平座標m、垂直座標nの画素の画素値及びその平均値となる。
そこで、第1学習停止判定部42は、第1フィルタ学習部41が1回重み係数行列を変更する度に、次式に従ってクラスタ間の最小距離Δt(a,b)を求める。
第1学習停止判定部42は、第1フィルタ学習部41が重み係数行列を変更する度に、クラスタ間の最小距離Δt(a,b)を求めて、対応する重み係数行列と関連付ける。そして第1学習停止判定部42は、クラスタ間の最小距離Δt(a,b)と、対応する重み係数行列を記憶部3に記憶する。さらに、第1学習停止判定部42は、いわゆる山登り法に従い、最新のクラスタ間の最小距離Δt(a,b)を、前回更新された重み係数行列に対応するクラスタ間の最小距離Δt-1(a,b)と比較する。そして、第1学習停止判定部42は、Δt(a,b)がΔt-1(a,b)よりも小さくなったとき、Δt-1(a,b)がクラスタ間の最小距離の極大値であると判定し、第1フィルタ学習部41による学習を停止する。そして第1学習停止判定部42は、Δt-1(a,b)に対応する重み係数行列を、第1フィルタ部21の各フィルタが使用する重み係数行列とする。
識別器学習部14は、学習用データセットを用いた教師付き学習手法により、識別器12で使用されるパラメータを最適化する。本実施形態では、上記のように、識別器12は多層型パーセプトロンで構成される。そこで、識別器学習部14は、重み係数決定部13により決定された重み係数行列を用いた特徴抽出器11により、学習用データセットに含まれる各学習用データから抽出された識別用特徴量と、その学習用データに表されたパターンを教師データとして、誤差逆伝播法により識別器12の各層に含まれるそれぞれのユニットが使用する重み係数を最適化する。なお、誤差逆伝播法自体は周知であるため、その詳細な説明は省略する。
識別器学習部14は、学習が終了すると、決定された識別器12の各層に含まれるそれぞれのユニットが使用する重み係数を記憶部3に記憶する。
識別器学習部14は、学習が終了すると、決定された識別器12の各層に含まれるそれぞれのユニットが使用する重み係数を記憶部3に記憶する。
以下、図5に示したフローチャートを参照しつつ、本発明の一つの実施形態に係るパターン識別装置1の学習処理の動作を説明する。なお、以下に説明する動作のフローは、上記の識別部5において実行されるコンピュータプログラムにより制御される。
学習が開始されると、重み決定部13の第1フィルタ学習部41は、現在設定されている重み係数行列を用いた、特徴抽出器11の第1フィルタ部21により、学習用データセットに含まれる各学習用データに対する特徴マップを作成することにより、同一のパターンが表された学習用データの組に対する特徴マップのクラスタを決定する(ステップS101)。次に、重み決定部13の第1学習停止判定部42は、各パターンのクラスタ間の最小距離Δtを算出する(ステップS102)。
次に、第1学習停止判定部42は、クラスタ間の最小距離の極大値が検出されたか否か判定する。具体的には、第1学習停止判定部42は、クラスタ間の最小距離Δtが、前回の試行時(t-1)において求められたクラスタ間の最小距離Δt-1よりも小さいか否か判定する(ステップS103)。ステップS103において、ΔtがΔt-1以上である場合、第1学習停止判定部42は、クラスタ間の最小距離の極大値は検出されていないと判定する。そして第1学習停止判定部42は、クラスタ間の最小距離Δtに、そのΔtの算出に利用された、第1フィルタ部21の各フィルタの重み係数行列を関連付けた上で記憶部3に記憶する。そして、第1学習停止判定部42は、試行回数tを1インクリメントする(ステップS104)。また、第1フィルタ学習部41は、第1フィルタ部21の各フィルタの重み係数行列を、RBMの学習則に従って修正する(ステップS105)。その後、識別部5は、制御をステップS101に戻す。
一方、ステップS103において、ΔtがΔt-1よりも小さい場合、第1学習停止判定部42は、Δt-1がクラスタ間の最小距離の極大値であると判定する。そして第1学習停止判定部42は、記憶部3に記憶されている、Δt-1に関連付けられた重み係数行列を、第1フィルタ部21が使用する重み係数行列として決定する(ステップS106)。
次に、重み決定部13の第2フィルタ学習部43は、学習用データセットに含まれる各学習用データを第1フィルタ部21に入力することにより作成された各特徴マップを、特徴抽出器11の第2フィルタ部22に入力することにより、各学習用データに対する識別用特徴量を作成して、同一のパターンが表された学習用データの組に対する識別用特徴量のクラスタを決定する(ステップS107)。このとき、第1フィルタ部21は、第2フィルタ部22に入力するための各特徴マップを作成するために、第1学習停止判定部41により決定された重み係数行列を使用する。また、第2フィルタ部22は、第2フィルタ部22に含まれる各フィルタに対する現在の重み係数行列を用いて、識別用特徴量を作成する。次に、重み決定部13の第2学習停止判定部44は、各パターンのクラスタ間の最小距離Δtを算出する(ステップS108)。
次に、第2学習停止判定部44は、クラスタ間の最小距離の極大値が検出されたか否か判定する。具体的には、第2学習停止判定部44は、クラスタ間の最小距離Δtが、前回の試行時(t-1)において求められたクラスタ間の最小距離Δt-1よりも小さいか否か判定する(ステップS109)。ステップS109において、ΔtがΔt-1以上である場合、第2学習停止判定部44は、クラスタ間の最小距離の極大値は検出されていないと判定する。そして第2学習停止判定部44は、クラスタ間の最小距離Δtに、そのΔtの算出に利用された、第2フィルタ部22の各フィルタの重み係数行列を関連付けた上で記憶部3に記憶する。そして、第2学習停止判定部44は、試行回数tを1インクリメントする(ステップS110)。また、第2フィルタ学習部43は、第2フィルタ部22で使用される重み係数行列を、RBMの学習則に従って修正する(ステップS111)。その後、識別部5は、制御をステップS107に戻す。
一方、ステップS109において、ΔtがΔt-1よりも小さい場合、第2学習停止判定部44は、Δt-1がクラスタ間の最小距離の極大値であると判定する。そして第2学習停止判定部44は、記憶部3に記憶されている、Δt-1に関連付けられた重み係数行列を、第2フィルタ部22が使用する重み係数行列として決定する(ステップS112)。
その後、識別部5の識別器学習部14は、学習用データセットに含まれる各学習用データを特徴抽出器11に入力することにより求められた識別用特徴量を入力とし、各学習用データに表されたパターンの種別を出力とする教師付き学習により、識別器12を学習する(ステップS113)。例えば、識別器学習部14は、誤差逆伝播法により、識別器12を構成するパーセプトロンが有する各ユニットの重み係数を決定する。そして識別器学習部14は、決定された重み係数を記憶部3に記憶する。
なお、識別用特徴量を算出する際、特徴抽出器11の第1フィルタ部21及び第2フィルタ部22は、それぞれ、ステップS106及びステップS112で求められた重み係数を使用する。
ステップS113で、識別器12で使用される各ユニットの重み係数が決定された後、識別部5は、学習処理の動作を終了する。
なお、識別用特徴量を算出する際、特徴抽出器11の第1フィルタ部21及び第2フィルタ部22は、それぞれ、ステップS106及びステップS112で求められた重み係数を使用する。
ステップS113で、識別器12で使用される各ユニットの重み係数が決定された後、識別部5は、学習処理の動作を終了する。
次に、図6に示したフローチャートを参照しつつ、本発明の一つの実施形態に係るパターン識別装置1のパターン識別処理の動作を説明する。なお、以下に説明する動作のフローは、識別部5において実行されるコンピュータプログラムにより制御される。
最初に、パターン識別処理が開始される前に、識別部5は、重み決定部13及び識別器学習部14により決定された、各フィルタの重み係数行列などのパラメータを記憶部3から読み込み、特徴抽出器11及び識別器12に設定する。
最初に、パターン識別処理が開始される前に、識別部5は、重み決定部13及び識別器学習部14により決定された、各フィルタの重み係数行列などのパラメータを記憶部3から読み込み、特徴抽出器11及び識別器12に設定する。
パターン識別動作が開始されると、データ入力部2は、識別対象となるパターンを表したデータを取得する(ステップS201)。そしてデータ入力部2は、取得したデータを識別部5へ渡す。識別部5は、受け取ったデータに対して、そのデータを他のデータを区別するための識別情報を付する。
次に、識別部5の特徴抽出器11は、第1フィルタ部21に取得されたデータを入力することにより、そのデータに対する特徴マップを作成する(ステップS202)。また、特徴抽出器11は、第2フィルタ部22に、作成された各特徴マップを入力することにより、取得されたデータに対する識別用特徴量を作成する(ステップS203)。
その後、識別部5は、特徴抽出器11により得られた識別用特徴量を識別部5の識別器12に入力することにより、取得されたデータに表されたパターンを識別する(ステップS204)。最後に、識別部5は、識別器12により得られた識別結果を、取得されたデータの識別情報とともに、出力部4を介して出力する(ステップS205)。その後、識別部5は、パターン識別処理の動作を終了する。
その後、識別部5は、特徴抽出器11により得られた識別用特徴量を識別部5の識別器12に入力することにより、取得されたデータに表されたパターンを識別する(ステップS204)。最後に、識別部5は、識別器12により得られた識別結果を、取得されたデータの識別情報とともに、出力部4を介して出力する(ステップS205)。その後、識別部5は、パターン識別処理の動作を終了する。
以下、本発明の一つの実施形態に係るパターン識別装置1の学習処理の演算量について、従来技術による5層CNNの学習処理の演算量と比較しつつ説明する。なお、従来技術による5層CNNについては、誤差逆伝播法により各層のユニットまたはフィルタの重み係数が決定されるものとする。
図7は、従来技術による5層CNN70の概略構成図を示す。図7に示すように、5層CNN70は、データが入力される方から順に、入力層71、第2層72、第3層73、第4層74、出力層75を有する。このうち、入力層71及び第2層72は、それぞれ、パターン識別装置1の特徴抽出部11に含まれる第1フィルタ部21及び第2フィルタ部22に相当し、それぞれ、入力されたデータあるいは特徴マップに対して畳み込み演算処理を行う複数のフィルタを有する。そして第2層72の出力は、識別用特徴量となる。また、第3層73、第4層74及び出力層75は、パターン識別装置1の識別器12に相当する。そして第2層72により出力された識別用特徴量が第3層73に入力されると、出力層75が、入力されたデータに表されたパターンの識別結果を出力する。
入力層71は、要素数S1を持つデータに対してサイズk2のL2個のフィルタを用いて畳み込み演算を行い、要素数S2を持つL2個の特徴マップを作成するものとする。同様に、第2層72は、L2個の特徴マップのそれぞれに対してサイズk2のL3個のフィルタを用いて畳み込み演算を行い、要素数S3を持つL3個の識別用特徴量を抽出するものとする。さらに、第3層73は、L3個の識別用特徴量に対応するユニットを持ち、隠れ層である第4層74は、L4個のユニットを持つとする。そして出力層75は、L5個のユニットを持つとする。
この場合、1回の学習における、フィードフォワード演算に含まれる積和演算とシグモイド関数演算の合計NSffは次式で表される。
なお、上記の式において、右辺の各項は、第1項から順に、それぞれ、入力層71−第2層72間、第2層72−第3層73間、第3層73−第4層74間、第4層74−出力層75間の積和演算数及びシグモイド演算数を表す。
また、1回の学習における、誤差逆伝播演算に含まれる積和演算の合計NSbpは次式で表される。
なお、上記の式において、右辺の各項は、第1項から順に、それぞれ、入力層71−第2層72間、第2層72−第3層73間、第3層73−第4層74間、第4層74−出力層75間の積和演算数を表す。
また、1回の学習における、誤差逆伝播演算に含まれる積和演算の合計NSbpは次式で表される。
一方、パターン識別装置1を、5層CNN70と同規模のシステムと仮定する。すなわち、特徴抽出部11の第1フィルタ部21は要素数S1を持つデータに対してサイズk2のL2個のフィルタを用いて畳み込み演算を行い、要素数S2を持つL2個の特徴マップを作成するものとする。同様に、第2フィルタ部52は、L2個の特徴マップのそれぞれに対してサイズk2のL3個のフィルタを用いて畳み込み演算を行い、要素数S3を持つL3個の識別用特徴量を抽出するものとする。さらに、識別部12は3層を持つパーセプトロンで構成されるものとし、そのパーセプトロンの入力層は、L3個の識別用特徴量に対応する数のユニットを持つものとする。さらに、パーセプトロンの隠れ層及び出力層は、それぞれ、L4個及びL5個のユニットを持つとする。
この場合、1回の学習における、第1フィルタ部21の積和演算数NSf1及び第2フィルタ部22の積和演算数NSf2は、それぞれ、次式で表される。
また、識別器12が誤差逆伝播法で学習される場合、1回の学習における、識別器12の積和演算とシグモイド関数演算の合計NSidは次式で表される。
従って、例えば、k=5、L2=5、L3=50、L4=100、L5=10、S1=292、S2=132、S3=52としたとき、5層CNN70について1回の学習に必要な積和演算とシグモイド関数演算の合計Ncnn(=NSff+NSbp)は、約2×106となる。これに対し、パターン識別装置1について1回の学習に必要な積和演算とシグモイド関数演算の合計Npi(=NSf1+NSf2+NSid)は、約3.8×105となる。
このように、本発明の一つの実施形態に係るパターン識別装置1の1回の学習に必要な演算量は、従来技術による5層CNN70の1回の学習に必要な演算量の約1/5で済む。なお、パターン識別装置1は、第1学習停止判定部42及び第2学習停止判定部44による、学習停止判定のための演算をさらに必要とする。しかし、この演算は、学習用データセットに含まれる全ての学習用データが入力された後に行われるので、学習停止判定のために必要とされる演算量は、上記の(9)式及び(10)式で算出される積和演算量及びシグモイド演算量の合計と比べて無視できる程度である。
このように、本発明の一つの実施形態に係るパターン識別装置1の1回の学習に必要な演算量は、従来技術による5層CNN70の1回の学習に必要な演算量の約1/5で済む。なお、パターン識別装置1は、第1学習停止判定部42及び第2学習停止判定部44による、学習停止判定のための演算をさらに必要とする。しかし、この演算は、学習用データセットに含まれる全ての学習用データが入力された後に行われるので、学習停止判定のために必要とされる演算量は、上記の(9)式及び(10)式で算出される積和演算量及びシグモイド演算量の合計と比べて無視できる程度である。
図8は、パターン識別装置1及び5層CNN70のそれぞれについて、標準数字画像の著名なデータベースの一つであるMNISTデータベース(学習用データ数60000個、テスト用データ数10000個)を用いて、識別成功率91.1%を得るまでに必要となった1学習用データあたりの学習処理の積和演算の演算量を表すグラフである。左側の棒グラフ810は、パターン識別装置1に対する積和演算の演算量を表す、一方、右側の棒グラフ820は、誤差逆伝播法により各層の重み係数を決定したときの5層CNN70に対する積和演算の演算量を表す。またグラフの縦軸は演算量(単位GFLOP)を表す。図8に示すように、5層CNN70は、識別成功率91.1%を得るまでに約100GFLOPの積和演算を必要としたのに対し、パターン識別装置1は、識別成功率91.1%を得るまでに約12GFLOPの積和演算しか必要としなかった。このように、本発明の一実施形態に係るパターン識別装置1は、5層CNN70の各層の重み係数を全て誤差逆伝播法により決定する場合と比較して、約1/10程度の演算量で同程度の識別性能を得た。
以上説明してきたように、本発明の一つの実施形態に係るパターン識別装置は、学習の際、特徴抽出器については、制約付きボルツマンマシンに従った教師無し学習手法を用いて特徴抽出器内の各層のフィルタが使用する重み係数行列を最適化する。これにより、このパターン識別装置は、誤差逆伝播法が適用される層数を減らして、学習に要する演算量を低減することができる。特にこのパターン識別装置は、特徴抽出器の各層のフィルタに対する学習停止条件を、学習用データセットに含まれる、同一のパターンが表された学習用データの組ごとに求められる特徴マップあるいは識別用特徴量のクラスタ間の最小距離が極大値となったこととした。そのため、このパターン識別装置は、学習を繰り返すことによる、識別精度の向上が望めなくなる前に学習を停止することがでるので、学習の試行回数を適切に抑制することができる。さらに、このパターン識別装置は、各パターンについて求められる識別用特徴量同士の差異を大きくできるので、識別精度を向上することができる。
なお、本発明は上記の実施形態に限定されるものではない。例えば、識別部が有する識別器は、多層型のパーセプトロンに限定されない。識別器は、非線形識別器であればよく、例えば、識別器をサポートベクトルマシンにより構成することもできる。この場合、識別部が有する識別器学習部は、識別器に応じた教師付き学習手法を用いて、識別器で使用されるパラメータを最適化する。例えば、上記のように、識別器がサポートベクトルマシンにより構成される場合、識別器学習部は、学習用データセットから特徴量抽出器により抽出された識別用特徴量のうち、識別対象となるパターンのうちの異なるもの同士の境界となる識別用特徴量をサポートベクトルとして決定する。その際、識別器学習部は、例えば、カーネル関数を利用して、学習用データセットに含まれる各学習用データから抽出された識別用特徴量の組を高次元に写像した上で、隣接するパターンに対応するクラスタ同士のサポートベクトル間の距離を最大化するようにサポートベクトルを決定する。なお、サポートベクトルマシンの学習手法は周知であるため、その詳細な説明は省略する。
識別器学習部は、各パターンについて求められたサポートベクトルを、そのパターンと関連付けて記憶部に記憶する。
識別器学習部は、各パターンについて求められたサポートベクトルを、そのパターンと関連付けて記憶部に記憶する。
また、特徴量抽出器は、2層構成に限られない。特徴抽出器は、例えば、3層以上のフィルタ部を有していてもよい。この場合も、入力側の第1層で行われる演算は、上記の第1フィルタ部について説明したのと同様の畳み込み演算とすることができ、第2層以降で行われる演算は、上記の第2フィルタ部について説明したのと同様の畳み込み演算とすることができる。さらに、重み決定部は、特徴抽出器が有する各層のフィルタ部ごとに、対応するフィルタ学習部と学習停止判定部を有する。そしてこの場合も、各フィルタ学習部は、上述した第1フィルタ学習部と同様の処理を実行する。また、各学習停止判定部は、上述した第1学習停止判定部と同様の処理を実行する。
また、重み決定部の第1学習停止判定部または第2学習停止判定部の何れか一方あるいは両方は、各パターンに対応するクラスタ間の最小距離Δt(a,b)を上記の(6)式を用いて求める代わりに、そのクラスタ間の最小距離Δt(a,b)を、隣接する二つのクラスタ内に含まれる各特徴マップまたは各識別用特徴量間の最短距離としてもよい。
また、重み決定部の第1学習停止判定部または第2学習停止判定部の何れか一方あるいは両方は、各パターンに対応するクラスタ間の最小距離Δt(a,b)を上記の(6)式を用いて求める代わりに、そのクラスタ間の最小距離Δt(a,b)を、隣接する二つのクラスタ内に含まれる各特徴マップまたは各識別用特徴量間の最短距離としてもよい。
さらに、事前学習された特徴抽出器の重み係数行列などのパラメータを用いて、識別処理のみが行われる場合、上記の実施形態に係るパターン識別装置において、重み決定部及び識別器学習部は省略されてもよい。逆に、特徴抽出器のフィルタの重み係数行列など、識別に使用されるパラメータの学習のみが行われる場合、上記の実施形態に係るパターン識別装置において、データ入力部は省略されてもよい。この場合、学習用データセットは、予め記憶部に記憶され、特徴抽出器、重み決定部及び識別器学習部は、記憶部から直接学習用データセットに含まれる学習用データ及びそのデータに対応するパターンの種別を示す情報を取得すればよい。
上記のように、当業者は、本発明の範囲内で様々な修正を行うことが可能である。
1 パターン識別装置
2 データ入力部
3 記憶部
4 出力部
5 識別部
11 特徴抽出器
12 識別器
13 重み決定部
14 識別器学習部
21 第1フィルタ部
22 第2フィルタ部
41 第1フィルタ学習部
42 第1学習停止判定部
43 第2フィルタ学習部
44 第2学習停止判定部
2 データ入力部
3 記憶部
4 出力部
5 識別部
11 特徴抽出器
12 識別器
13 重み決定部
14 識別器学習部
21 第1フィルタ部
22 第2フィルタ部
41 第1フィルタ学習部
42 第1学習停止判定部
43 第2フィルタ学習部
44 第2学習停止判定部
Claims (5)
- 識別用特徴量を抽出するための特徴抽出用パラメータに従って、入力データから識別用特徴量を抽出する特徴抽出器(11)と、該識別用特徴量が入力されることにより入力データに表されたパターンを識別する識別器(12)とを有するパターン識別装置(1)の学習方法であって、
(a)予め準備された学習用データセットに含まれる各学習用データを前記特徴抽出器(11)に入力して、同一のパターンが表された前記学習用データの組に対する前記識別用特徴量のクラスタをそれぞれ決定するステップと、
(b)前記クラスタ間の距離のうちの最小距離を求めるステップと、
(c)前記最小距離の極大値が検出されたか否か判定するステップと、
(d)前記最小距離の極大値が検出されていないと判定した場合、前記最小距離を、該最小距離の算出のために使用された前記特徴抽出用パラメータとを関連付けて記憶部(3)に記憶し、かつ前記特徴抽出用パラメータを変更して、前記ステップ(a)〜前記ステップ(c)を繰り返すステップと、
(e)前記最小距離の極大値が検出されたと判定した場合、前記最小距離の極大値に関連付けられて前記記憶部(3)に記憶されている特徴抽出用パラメータを、前記パターン識別装置(1)がパターン識別処理を実行する際に前記特徴抽出器(11)が使用する特徴抽出用パラメータとして決定するステップと、
を含むことを特徴とする学習方法。 - 前記ステップ(c)は、前記最小距離が、前記記憶部(3)に記憶されている、前回算出された前記クラスタ間の最小距離である過去最小距離以上である場合、前記最小距離の極大値は検出されていないと判定し、一方、前記最小距離が前記過去最小距離未満である場合、前記過去最小距離が前記最小距離の極大値であると判定し、
前記ステップ(d)は、前記過去最小距離に関連付けられて前記記憶部(3)に記憶されている特徴抽出用パラメータを、前記パターン識別装置(1)がパターン識別処理を実行する際に前記特徴抽出器(11)が使用する特徴抽出用パラメータとして決定する、請求項1に記載の学習方法。 - 前記ステップ(d)は、制約付きボルツマンマシンの学習則に従って前記特徴抽出用パラメータを変更する、請求項1または2に記載の学習方法。
- 識別用特徴量を抽出するための特徴抽出用パラメータに従って、入力データから識別用特徴量を抽出する特徴抽出器(11)と、該識別用特徴量が入力されることにより入力データに含まれるパターンを識別する識別器(12)とを有するパターン認識装置(1)の学習方法をコンピュータに実行させるコンピュータプログラムであって、当該学習方法が、
(a)予め準備された学習用データセットに含まれる各学習用データを前記特徴抽出器(11)に入力して、同一のパターンが表された前記学習用データの組に対する前記識別用特徴量のクラスタをそれぞれ決定するステップと、
(b)前記クラスタ間の距離のうちの最小距離を求めるステップと、
(c)前記最小距離の極大値が検出されたか否か判定するステップと、
(d)前記最小距離の極大値が検出されていないと判定した場合、前記最小距離を、該最小距離の算出のために使用された前記特徴抽出用パラメータとを関連付けて前記コンピュータの記憶部(3)に記憶し、かつ前記特徴抽出用パラメータを変更して、前記ステップ(a)〜前記ステップ(c)を繰り返すステップと、
(e)前記最小距離の極大値が検出されたと判定した場合、前記最小距離の極大値に関連付けられて前記記憶部(3)に記憶されている特徴抽出用パラメータを、前記パターン識別装置(1)がパターン識別処理を実行する際に前記特徴抽出器(11)が使用する特徴抽出用パラメータとして決定するステップと、
を含むことを特徴とするコンピュータプログラム。 - 識別対象となるパターンが表された入力データを取得するデータ入力部(2)と、
前記入力データに表されたパターンを識別する識別部(5)とを有し、
前記識別部(5)は、
前記入力データから識別用特徴量を抽出する特徴抽出器(11)と、
前記識別用特徴量が入力されることにより入力データに表されたパターンを識別する識別器(12)とを有し、
前記特徴抽出器(11)が前記識別用特徴量を抽出するために使用する特徴抽出用パラメータが、予め準備された学習用データセットに含まれる各学習用データを前記特徴抽出器(11)に入力することにより、同一のパターンが表された前記学習用データの組に対する前記識別用特徴量のクラスタ間の最小距離が極大値となるように設定されていることを特徴とするパターン識別装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008335318A JP2010157118A (ja) | 2008-12-26 | 2008-12-26 | パターン識別装置及びパターン識別装置の学習方法ならびにコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008335318A JP2010157118A (ja) | 2008-12-26 | 2008-12-26 | パターン識別装置及びパターン識別装置の学習方法ならびにコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010157118A true JP2010157118A (ja) | 2010-07-15 |
Family
ID=42575005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008335318A Pending JP2010157118A (ja) | 2008-12-26 | 2008-12-26 | パターン識別装置及びパターン識別装置の学習方法ならびにコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010157118A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015001878A1 (ja) * | 2013-07-03 | 2015-01-08 | クラリオン株式会社 | 接近物検出システム、及び車両 |
CN106570454A (zh) * | 2016-10-10 | 2017-04-19 | 同济大学 | 基于移动激光扫描的行人交通参数提取方法 |
JP2017538999A (ja) * | 2014-12-17 | 2017-12-28 | ノキア テクノロジーズ オーユー | ニューラルネットワークによるオブジェクト検出 |
JP2018532441A (ja) * | 2015-08-04 | 2018-11-08 | シーメンス アクティエンゲゼルシャフト | 脳腫瘍を分類するための視覚表現学習 |
KR20190001608A (ko) * | 2016-05-25 | 2019-01-04 | 케이엘에이-텐코 코포레이션 | 반도체 애플리케이션을 위한 입력 이미지로부터의 시뮬레이션된 이미지 생성 |
JP2019095862A (ja) * | 2017-11-17 | 2019-06-20 | 株式会社東芝 | 演算処理装置 |
CN115208755A (zh) * | 2022-07-13 | 2022-10-18 | 北京交通大学 | 面向物联网设备资源友好的特征提取器部署方法及系统 |
US11604717B2 (en) | 2020-03-10 | 2023-03-14 | Kabushiki Kaisha Toshiba | Processor performance measurement apparatus and processor performance measurement method |
CN116758578A (zh) * | 2023-08-18 | 2023-09-15 | 上海楷领科技有限公司 | 机械制图信息提取方法、装置、系统及存储介质 |
CN117369246A (zh) * | 2023-12-07 | 2024-01-09 | 济南大学 | 一种基于电子阻力高位下拉器的最优鲁棒控制方法 |
-
2008
- 2008-12-26 JP JP2008335318A patent/JP2010157118A/ja active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015001878A1 (ja) * | 2013-07-03 | 2015-01-08 | クラリオン株式会社 | 接近物検出システム、及び車両 |
JP2015014819A (ja) * | 2013-07-03 | 2015-01-22 | クラリオン株式会社 | 接近物検出システム、及び車両 |
US9811745B2 (en) | 2013-07-03 | 2017-11-07 | Clarion Co., Ltd. | Approaching-object detection system and vehicle |
JP2017538999A (ja) * | 2014-12-17 | 2017-12-28 | ノキア テクノロジーズ オーユー | ニューラルネットワークによるオブジェクト検出 |
US10275688B2 (en) | 2014-12-17 | 2019-04-30 | Nokia Technologies Oy | Object detection with neural network |
JP2018532441A (ja) * | 2015-08-04 | 2018-11-08 | シーメンス アクティエンゲゼルシャフト | 脳腫瘍を分類するための視覚表現学習 |
KR102229081B1 (ko) * | 2016-05-25 | 2021-03-16 | 케이엘에이 코포레이션 | 반도체 애플리케이션을 위한 입력 이미지로부터의 시뮬레이션된 이미지 생성 |
KR20190001608A (ko) * | 2016-05-25 | 2019-01-04 | 케이엘에이-텐코 코포레이션 | 반도체 애플리케이션을 위한 입력 이미지로부터의 시뮬레이션된 이미지 생성 |
CN106570454B (zh) * | 2016-10-10 | 2019-06-11 | 同济大学 | 基于移动激光扫描的行人交通参数提取方法 |
CN106570454A (zh) * | 2016-10-10 | 2017-04-19 | 同济大学 | 基于移动激光扫描的行人交通参数提取方法 |
JP2019095862A (ja) * | 2017-11-17 | 2019-06-20 | 株式会社東芝 | 演算処理装置 |
US11604717B2 (en) | 2020-03-10 | 2023-03-14 | Kabushiki Kaisha Toshiba | Processor performance measurement apparatus and processor performance measurement method |
CN115208755A (zh) * | 2022-07-13 | 2022-10-18 | 北京交通大学 | 面向物联网设备资源友好的特征提取器部署方法及系统 |
CN116758578A (zh) * | 2023-08-18 | 2023-09-15 | 上海楷领科技有限公司 | 机械制图信息提取方法、装置、系统及存储介质 |
CN116758578B (zh) * | 2023-08-18 | 2023-11-07 | 上海楷领科技有限公司 | 机械制图信息提取方法、装置、系统及存储介质 |
CN117369246A (zh) * | 2023-12-07 | 2024-01-09 | 济南大学 | 一种基于电子阻力高位下拉器的最优鲁棒控制方法 |
CN117369246B (zh) * | 2023-12-07 | 2024-02-13 | 济南大学 | 一种基于电子阻力高位下拉器的最优鲁棒控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010157118A (ja) | パターン識別装置及びパターン識別装置の学習方法ならびにコンピュータプログラム | |
CN110097130B (zh) | 分类任务模型的训练方法、装置、设备及存储介质 | |
CN106845487B (zh) | 一种端到端的车牌识别方法 | |
US11443536B2 (en) | System and methods for efficiently implementing a convolutional neural network incorporating binarized filter and convolution operation for performing image classification | |
CN109478239B (zh) | 检测图像中的对象的方法和对象检测系统 | |
WO2022017245A1 (zh) | 一种文本识别网络、神经网络训练的方法以及相关设备 | |
CN109840531B (zh) | 训练多标签分类模型的方法和装置 | |
US9633282B2 (en) | Cross-trained convolutional neural networks using multimodal images | |
CN108734210B (zh) | 一种基于跨模态多尺度特征融合的对象检测方法 | |
JP2017062781A (ja) | 深層cnnプーリング層を特徴として用いる、類似度に基づく重要な対象の検知 | |
Farag | Recognition of traffic signs by convolutional neural nets for self-driving vehicles | |
Seo et al. | Progressive attention networks for visual attribute prediction | |
CN110222718B (zh) | 图像处理的方法及装置 | |
CN112634296A (zh) | 门机制引导边缘信息蒸馏的rgb-d图像语义分割方法及终端 | |
JP6107531B2 (ja) | 特徴抽出プログラム及び情報処理装置 | |
CN114677412B (zh) | 一种光流估计的方法、装置以及设备 | |
US11410327B2 (en) | Location determination apparatus, location determination method and computer program | |
CN111292377B (zh) | 目标检测方法、装置、计算机设备和存储介质 | |
CN111179270A (zh) | 基于注意力机制的图像共分割方法和装置 | |
CN111178363B (zh) | 文字识别方法、装置、电子设备以及可读存储介质 | |
CN112749737A (zh) | 图像分类方法及装置、电子设备、存储介质 | |
CN116310563A (zh) | 一种贵金属库存的管理方法及系统 | |
CN116740384A (zh) | 洗地机的智能控制方法及系统 | |
JP5445062B2 (ja) | 情報処理装置及び情報処理プログラム | |
US20230134508A1 (en) | Electronic device and method with machine learning training |