(57)【特許請求の範囲】
【請求項１】
対象とするデータをたたみ込み処理によってフィルタリング処理を行う第１のフィルタリング処理手段と、
前記第１のフィルタリング処理手段による処理結果を非線形関数で処理する第１の非線形関数処理手段と、
前記第１の非線形関数処理手段からの複数の出力の重み付け線形和を算出する第１の線形和算出手段と、
前記第１の線形和算出手段による算出結果を強調する強調手段と、
前記強調手段による強調結果を正規化する正規化手段と、
前記正規化手段による処理結果を用いて、前記第１のフィルタリング処理手段でのフィルタの係数、前記第１の線形和算出手段の重み付け係数を学習する学習手段
を具備しており、
対象データに対して、該対象データが各クラスである確率を求める必要はなく、対象データに対して、該対象データが属する可能性の一番高いクラスを求めるだけ、又は、該対象データが属する可能性の高いクラスの順序を求めるだけの場合にあって、
前記学習手段によって学習が行われた後は、前記正規化手段を除いた認識処理を行う
ことを特徴とする情報処理装置。
【請求項２】
前記学習手段によって学習が行われた後は、さらに、前記強調手段を除いた認識処理を行う
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１の非線形関数処理手段からの複数の出力をコンボリューション動作でフィルタリング処理を行う第２のフィルタリング処理手段と、
前記第２のフィルタリング処理手段による処理結果を非線形関数で処理する第２の非線形関数処理手段
をさらに具備し、
前記第１の線形和算出手段は、前記第２の非線形関数処理手段からの複数の出力の重み付け線形和を算出する
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第１の線形和算出手段からの複数の出力の重み付け線形和を算出する第２の線形和算出手段
をさらに具備し、
前記強調手段は、前記第２の線形和算出手段による算出結果を強調する
ことを特徴とする請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
前記学習手段は、前記正規化手段による処理結果を用いて、前記第１のフィルタリング処理手段でのフィルタの係数、前記第２のフィルタリング処理手段でのフィルタの係数、前記第１の線形和算出手段の重み付け係数を学習する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記学習手段は、前記正規化手段による処理結果を用いて、前記第１のフィルタリング処理手段でのフィルタの係数、前記第２のフィルタリング処理手段でのフィルタの係数、前記第１の線形和算出手段の重み付け係数、前記第２の線形和算出手段の重み付け係数を学習する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記第１の線形和算出手段内のユニット数、前記第２の線形和算出手段内のユニット数、若しくは前記強調手段内のユニット数は、前記正規化手段によって認識し得るクラス数に基づいて定められる、
又は、前記正規化手段によって認識し得るクラス数は、前記第１の線形和算出手段内のユニット数、前記第２の線形和算出手段内のユニット数、若しくは前記強調手段内のユニット数に基づいて定められる
ことを特徴とする請求項１から６のいずれか一項に記載の情報処理装置。
【請求項８】
前記強調手段は１次導関数がほとんど至るところ正であり、かつ、２次導関数がほとんど至るところ正の関数で実現される
ことを特徴とする請求項１から７のいずれか一項に記載の情報処理装置。
【請求項９】
前記学習手段は、フィルタ係数と重み付け係数の学習を教師データと出力データの２乗誤差を最小化するように行う
ことを特徴とする請求項１から８のいずれか一項に記載の情報処理装置。
【請求項１０】
前記学習手段は、フィルタ係数と重み付け係数の学習を教師データと出力データの交差エントロピ誤差を最小化するように行う
ことを特徴とする請求項１から８のいずれか一項に記載の情報処理装置。
【請求項１１】
コンピュータを、
対象とするデータをたたみ込み処理によってフィルタリング処理を行う第１のフィルタリング処理手段と、
前記第１のフィルタリング処理手段による処理結果を非線形関数で処理する第１の非線形関数処理手段と、
前記第１の非線形関数処理手段からの複数の出力の重み付け線形和を算出する第１の線形和算出手段と、
前記第１の線形和算出手段による算出結果を強調する強調手段と、
前記強調手段による強調結果を正規化する正規化手段と、
前記正規化手段による処理結果を用いて、前記第１のフィルタリング処理手段でのフィルタの係数、前記第１の線形和算出手段の重み付け係数を学習する学習手段
として機能させ、
対象データに対して、該対象データが各クラスである確率を求める必要はなく、対象データに対して、該対象データが属する可能性の一番高いクラスを求めるだけ、又は、該対象データが属する可能性の高いクラスの順序を求めるだけの場合にあって、
前記学習手段によって学習が行われた後は、前記正規化手段を除いた認識処理を行う
ことを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
手書き文字等を対象とした認識装置がある。
これに関連する技術として、例えば、特許文献１には、パターン認識を容易にするシステム及び方法を提供することを課題とし、特徴抽出層及び分類層を使用する、重畳型ニューラルネットワークを有するパターン認識システムであって、パターン認識システムは特徴抽出層は重畳層を含み、分類層は完全接続層を含み、パターン認識システムを、計算されたクロスエントロピ誤差を利用してトレーニングすることができ、計算されたクロスエントロピ誤差を利用して、パターン認識システムのトレーニング可能パラメータが更新されることが開示されている。
【０００３】
また、例えば、特許文献２には、モジュール構造を有する階層型神経回路網において被写体認識に必要な特徴クラスを自動的かつ効率的に学習するための技術を提供することを課題とし、所定のパターンをデータ入力層に提示することにより、未学習の特徴クラスを学習すべき受容野構造が不定な複数ニューロンからなる未学習処理モジュールにおいて新規な特徴クラスの検出に必要な学習を行うことが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２９６７３７号公報
【特許文献２】特開２００５−３５２９００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、対象とするデータの属する分類が不明となることを防止するようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、対象とするデータをたたみ込み処理によってフィルタリング処理を行う第１のフィルタリング処理手段と、前記第１のフィルタリング処理手段による処理結果を非線形関数で処理する第１の非線形関数処理手段と、前記第１の非線形関数処理手段からの複数の出力の重み付け線形和を算出する第１の線形和算出手段と、前記第１の線形和算出手段による算出結果を強調する強調手段と、前記強調手段による強調結果を正規化する正規化手段と、前記正規化手段による処理結果を用いて、前記第１のフィルタリング処理手段でのフィルタの係数、前記第１の線形和算出手段の重み付け係数を学習する学習手段を具備しており、対象データに対して、該対象データが各クラスである確率を求める必要はなく、対象データに対して、該対象データが属する可能性の一番高いクラスを求めるだけ、又は、該対象データが属する可能性の高いクラスの順序を求めるだけの場合にあって、前記学習手段によって学習が行われた後は、前記正規化手段を除いた認識処理を行うことを特徴とする情報処理装置である。
【０００７】
請求項２の発明は、前記学習手段によって学習が行われた後は、さらに、前記強調手段を除いた認識処理を行うことを特徴とする請求項１に記載の情報処理装置である。
【０００８】
請求項３の発明は、前記第１の非線形関数処理手段からの複数の出力をコンボリューション動作でフィルタリング処理を行う第２のフィルタリング処理手段と、前記第２のフィルタリング処理手段による処理結果を非線形関数で処理する第２の非線形関数処理手段をさらに具備し、前記第１の線形和算出手段は、前記第２の非線形関数処理手段からの複数の出力の重み付け線形和を算出することを特徴とする請求項１又は２に記載の情報処理装置である。
【０００９】
請求項４の発明は、前記第１の線形和算出手段からの複数の出力の重み付け線形和を算出する第２の線形和算出手段をさらに具備し、前記強調手段は、前記第２の線形和算出手段による算出結果を強調することを特徴とする請求項１から３のいずれか一項に記載の情報処理装置である。
【００１０】
請求項５の発明は、前記学習手段は、前記正規化手段による処理結果を用いて、前記第１のフィルタリング処理手段でのフィルタの係数、前記第２のフィルタリング処理手段でのフィルタの係数、前記第１の線形和算出手段の重み付け係数を学習することを特徴とする請求項３に記載の情報処理装置である。
【００１１】
請求項６の発明は、前記学習手段は、前記正規化手段による処理結果を用いて、前記第１のフィルタリング処理手段でのフィルタの係数、前記第２のフィルタリング処理手段でのフィルタの係数、前記第１の線形和算出手段の重み付け係数、前記第２の線形和算出手段の重み付け係数を学習することを特徴とする請求項４に記載の情報処理装置である。
【００１２】
請求項７の発明は、前記第１の線形和算出手段内のユニット数、前記第２の線形和算出手段内のユニット数、若しくは前記強調手段内のユニット数は、前記正規化手段によって認識し得るクラス数に基づいて定められる、又は、前記正規化手段によって認識し得るクラス数は、前記第１の線形和算出手段内のユニット数、前記第２の線形和算出手段内のユニット数、若しくは前記強調手段内のユニット数に基づいて定められることを特徴とする請求項１から６のいずれか一項に記載の情報処理装置である。
【００１３】
請求項８の発明は、前記強調手段は１次導関数がほとんど至るところ正であり、かつ、２次導関数がほとんど至るところ正の関数で実現されることを特徴とする請求項１から７のいずれか一項に記載の情報処理装置である。
【００１４】
請求項９の発明は、前記学習手段は、フィルタ係数と重み付け係数の学習を教師データと出力データの２乗誤差を最小化するように行うことを特徴とする請求項１から８のいずれか一項に記載の情報処理装置である。
【００１５】
請求項１０の発明は、前記学習手段は、フィルタ係数と重み付け係数の学習を教師データと出力データの交差エントロピ誤差を最小化するように行うことを特徴とする請求項１から８のいずれか一項に記載の情報処理装置である。
【００１６】
請求項１１の発明は、コンピュータを、対象とするデータをたたみ込み処理によってフィルタリング処理を行う第１のフィルタリング処理手段と、前記第１のフィルタリング処理手段による処理結果を非線形関数で処理する第１の非線形関数処理手段と、前記第１の非線形関数処理手段からの複数の出力の重み付け線形和を算出する第１の線形和算出手段と、前記第１の線形和算出手段による算出結果を強調する強調手段と、前記強調手段による強調結果を正規化する正規化手段と、前記正規化手段による処理結果を用いて、前記第１のフィルタリング処理手段でのフィルタの係数、前記第１の線形和算出手段の重み付け係数を学習する学習手段として機能させ、対象データに対して、該対象データが各クラスである確率を求める必要はなく、対象データに対して、該対象データが属する可能性の一番高いクラスを求めるだけ、又は、該対象データが属する可能性の高いクラスの順序を求めるだけの場合にあって、前記学習手段によって学習が行われた後は、前記正規化手段を除いた認識処理を行うことを特徴とする情報処理プログラムである。
【発明の効果】
【００１７】
請求項１の情報処理装置によれば、対象とするデータの属する分類が不明となることを防止することができる。
【００１８】
請求項２、３の情報処理装置によれば、本構成を有していない場合に比較して、より複雑な分類に対象とするデータを分類することができる。
【００１９】
請求項４の情報処理装置によれば、本構成を有していない場合に比較して、第１のフィルタリング処理手段でのフィルタの係数、第１の線形和算出手段の重み付け係数を学習させる速度を向上させることができる。
【００２０】
請求項５の情報処理装置によれば、本構成を有していない場合に比較して、第１のフィルタリング処理手段でのフィルタの係数、第２のフィルタリング処理手段でのフィルタの係数、第１の線形和算出手段の重み付け係数を学習させる速度を向上させることができる。
【００２１】
請求項６の情報処理装置によれば、本構成を有していない場合に比較して、第１のフィルタリング処理手段でのフィルタの係数、第２のフィルタリング処理手段でのフィルタの係数、第１の線形和算出手段の重み付け係数、第２の線形和算出手段の重み付け係数させる速度を向上させることができる。
【００２２】
請求項７の情報処理装置によれば、用意するユニット数はクラス数に基づいて定める、又はクラス数は用意されているユニット数に基づいて定められる。
【００２３】
請求項８の情報処理装置によれば、対象とするデータの属する分類が不明となることを防止することができる。
【００２４】
請求項９の情報処理装置によれば、対象とするデータの属する分類が不明となることを防止するように学習することができる。
【００２５】
請求項１０の情報処理装置によれば、対象とするデータの属する分類が不明となることを防止するように学習することができる。
【００２６】
請求項１１の情報処理プログラムによれば、対象とするデータの属する分類が不明となることを防止することができる。
【図面の簡単な説明】
【００２７】
【図１】一般的なパターン認識装置の構成例についての概念的なモジュール構成図である。
【図２】クラス判別の例を示す説明図である。
【図３】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図４】第１重畳層モジュール内の構成例についての概念的なモジュール構成図である。
【図５】第１完全接続層モジュール内の構成例についての概念的なモジュール構成図である。
【図６】最終接続層モジュール内の構成例についての概念的なモジュール構成図である。
【図７】非線形関数の例を示す説明図である。
【図８】第２の実施の形態の構成例についての概念的なモジュール構成図である。
【図９】第２重畳層モジュール内の構成例についての概念的なモジュール構成図である。
【図１０】第３の実施の形態の構成例についての概念的なモジュール構成図である。
【図１１】第２完全接続層モジュール内の構成例についての概念的なモジュール構成図である。
【図１２】最終接続層モジュール内の構成例についての概念的なモジュール構成図である。
【図１３】第４の実施の形態の構成例についての概念的なモジュール構成図である。
【図１４】本実施の形態におけるクラス判別の例を示す説明図である。
【図１５】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２８】
＜１．１＞
まず、実施の形態の説明の準備として、一般的なパターン認識装置について説明する。例えば、特許文献１に開示されているパターン認識装置がある。このパターン認識装置は図１のような構成をとる。このパターン認識装置は、第１重畳層モジュール１１０、第２重畳層モジュール１２０、第１完全接続層モジュール１３０、第２完全接続層モジュール１４０を有している。
対象データ１０５は２次元の画像データである。この画像データが第１重畳層モジュール１１０で画像フィルタリングされる。さらにその結果が第２重畳層モジュール１２０で画像フィルタリングされる。その出力が第１完全接続層モジュール１３０に渡され、さらに第２完全接続層モジュール１４０に渡され、分類結果１９５が出力される。
このパターン認識装置は、Ｍ種類のクラスへの分類を行う。分類結果は、Ｍ次元ベクトルである。第２完全接続層モジュール１４０はＭ個のユニットから構成されている。各ユニットは、分類を行いたいクラスにそれぞれ対応している。ここで、第２完全接続層モジュール１４０のユニットに、ユニット１からユニットＭの名称を付与する。ユニットｉの出力（分類結果１９５の一部）は、「対象データがクラスｉに属している確率」となる。
例えば、このパターン認識装置が０から９までの１０個の数字を認識する装置であるとする。この場合Ｍ＝１０である。また、対象データ１０５は数字が描かれた画像である。この画像を受け付け、分類結果１９５として、１０個の数値が出力される。１０個の数値はそれぞれ、対象データ１０５が「０」である確率、対象データ１０５が「１」である確率、…、対象データ１０５が「９」である確率に対応している。
また、このパターン認識装置がローマ字の大文字を認識する装置であるとする。その場合、Ｍ＝２６となる。また、同様に、対象データ１０５はローマ字の大文字が描かれた画像である。この画像を受け付け、分類結果１９５として、２６個の数値が出力される。２６個の数値はそれぞれ、対象データ１０５が「Ａ」である確率、対象データ１０５が「Ｂ」である確率、…、対象データ１０５が「Ｚ」である確率に対応している。
以上のように、第２完全接続層モジュール１４０は分離を行いたいクラス数分のユニットを保持する。
【００２９】
＜１．２＞
特許文献１に開示されている技術では、第２完全接続層モジュール１４０において、あるユニットｉと、他のユニットｊ（ｉ≠ｊ）は直接接続されてはいない。つまり、少なくとも、ユニットｉの出力がユニットｊに渡されることや、ユニットｊの出力がユニットｉに渡されることはない。このように、ユニット間の関係がない場合、あるユニットが出力する確率と、他のユニットが出力する確率との関係がなくなる。そうした場合、下記のような問題が発生する。
ここでは説明の簡単化のため、対象とするデータが１次元であり、クラス数が２であるとする。
図２の例では、太い線２００がユニット０の出力値、細い点線２０１がユニット１の出力値を表している。図２に例示するように、領域２３１はクラス０に属する領域であり、領域２３３はクラス１に属する領域であることが明確である。しかし、どちらのクラスにも属していることから、どちらのクラスに属するのか不明である領域２３２が発生してしまう。
【００３０】
＜２．１＞
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
図３は、第１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
【００３１】
以下、対象とするデータとして、画像を主に例示して説明する。画像としては、例えば、手書き文字の画像等であってもよい。この場合、第１の実施の形態は、手書き文字の認識装置となる。
以下に示す実施の形態では、完全接続層モジュールの後段に、さらに最終接続層モジュールを設けるものである。
この認識装置はＭクラスの分類装置であるとして、完全接続層モジュールは、Ｍ個のユニットを有し、最終接続層モジュールに対して、Ｍ次元ベクトルの出力を行うとする。同様に、最終接続層モジュールもＭ個のユニットを有し、Ｍ次元のベクトルを出力する。
【００３２】
本実施の形態である情報処理装置は、図３の例に示すように、第１重畳層モジュール３１０、第１完全接続層モジュール３２０、最終接続層モジュール３３０を有している。
【００３３】
＜２．１．１＞
第１重畳層モジュール３１０は、第１完全接続層モジュール３２０と接続されている。
図４は、第１重畳層モジュール３１０内の構成例についての概念的なモジュール構成図である。
第１重畳層モジュール３１０は、フィルタモジュール４０１、非線形関数モジュール４１０、縮小モジュール４３０、非線形関数モジュール４５０の組を複数（図４ではＰ組）有している。フィルタモジュール４０１は処理結果を非線形関数モジュール４１０へ渡し、非線形関数モジュール４１０は処理結果の画像４２０を縮小モジュール４３０に渡し、縮小モジュール４３０は処理結果の画像４４０を非線形関数モジュール４５０に渡し、非線形関数モジュール４５０は処理結果の画像４９０を第１完全接続層モジュール３２０に渡す。
【００３４】
第１重畳層モジュール３１０では、対象データ３０５に対して、Ｐ種類のフィルタリング処理（フィルタモジュール４０１−１からフィルタモジュール４０１−Ｐ）を行う。ここで、フィルタリング処理とは、一般の画像フィルタリング（２次元ＦＩＲフィルタ等）である。例えば、５×５の係数のフィルタカーネルをコンボリューション処理（たたみ込み処理）して出力する。ここで、フィルタモジュール４０１−１からフィルタモジュール４０１−Ｐのフィルタはそれぞれ異なる係数を持つ。フィルタリング処理の結果の各画素に対して、非線形関数モジュール４１０−１から非線形関数モジュール４１０−Ｐによって非線形関数で処理する。つまり、フィルタモジュール４０１によるフィルタリング処理及び非線形関数モジュール４１０による非線形関数処理の結果、Ｐ枚の画像（画像４２０−１から画像４２０−Ｐ）が出力される。
非線形関数としては、ロジスティック関数やハイパーボリックタンジェント（双曲線正接）関数等のシグモイド関数が利用される。その他、微分可能で、かつ、Ｓ字型で、かつ、無限大と無限小時に特定の値に漸近するような関数であればどのような関数であってもよい。非線形関数モジュール４１０が受け取るデータに、バイアスと呼ばれる値を加算してもよい。
【００３５】
Ｐ枚の各画像（画像４２０−１から画像４２０−Ｐ）は、それぞれ縮小モジュール４３０−１から縮小モジュール４３０−Ｐにおいて縮小される。縮小処理として、例えば、２×２にブロッキング（ブロック分割）し、ブロック内の画素値を平均化する。縮小結果は、それぞれ画像４４０−１から画像４４０−Ｐとなる。これらの画像４４０は、各画素値ごとに非線形関数モジュール４５０に渡される。非線形関数モジュール４５０における非線形関数としては、前述の非線形関数モジュール４１０と同等の性質をもつものであればよい。非線形関数モジュール４５０−１から非線形関数モジュール４５０−Ｐの出力結果がそれぞれ画像４９０−１から画像４９０−Ｐとなる。
前述の非線形関数のことを活性化関数と呼ぶことがある。また、活性化関数によって処理し、その出力を得る処理を活性化と呼ぶことがある。
【００３６】
結果として、第１重畳層モジュール３１０の出力は、Ｐ枚の画像（画像４９０−１から画像４９０−Ｐ）であり、各画像サイズは、対象データ３０５と比較すると縮小されているものとなる。
前述の説明では、画像４２０−ｉ、画像４４０−ｉ（ｉ＝１，２，…，Ｐ）が一旦保持されてから次の処理が行われるように説明している。この場合、画像４２０−ｉ、画像４４０−ｉの全体を一旦保持するメモリが必要となるが、実際の動作はそれに限らない。画像の部分ごとに処理を行うことによって、画像４２０−ｉ、画像４４０−ｉの全体を保持することなく、最終の画像４９０−ｉ（ｉ＝１，２，…，Ｐ）を得るようにしてもよい。
【００３７】
＜２．１．２＞
第１完全接続層モジュール３２０は、第１重畳層モジュール３１０、最終接続層モジュール３３０と接続されている。
図５は、第１完全接続層モジュール３２０内の構成例についての概念的なモジュール構成図である。
ここでは、Ｑ＝Ｐとする。
第１完全接続層モジュール３２０は、受付モジュール５１０、複数のユニット５３０（図５ではＳ個）を有している。
第１完全接続層モジュール３２０内の受付モジュール５１０が受け付けるデータは、第１重畳層モジュール３１０の出力であるＱ枚の画像５００（画像５００−１から画像５００−Ｑ）である。
ここで、第１重畳層モジュール３１０の出力画像１枚の画素数をＲとする。つまり、第１重畳層モジュール３１０の出力である画像４９０−ｉの縦画素数×横画素数がＲである。例えば、画像４９０−ｉの縦画素数が５、横画素数が５とする。このとき、Ｒ＝２５となる。
第１完全接続層モジュール３２０では、各画素位置を区別せずに扱う。すなわち、一枚あたりＲ個の画素がＱ枚あるため、全部でＱ×Ｒ個の画素値を受け付けるとする。
【００３８】
第１完全接続層モジュール３２０には、Ｓ個のユニット５３０（ユニット５３０−１からユニット５３０−Ｓ）がある。
各ユニット５３０は、第１重畳層モジュール３１０からの複数の出力を受け付けて、その受け付けた出力の重み付け線形和を算出する。より具体的には、各ユニット５３０は、受付モジュール５１０からＱＲ個の画素値を受け付ける。ここで、受け付ける画素値をＸ１−ｉ（ｉ＝１，２，…，ＱＲ）とする。ユニット５３０−ｊ（ｊ＝１，２，…，Ｓ）には、重みＷ１−ｊ−ｋ（ｋ＝１，２，…，ＱＲ）とバイアスｂ１−ｉが保持されている。具体例として、ユニット５３０−１の場合、重みとバイアスはそれぞれ×Ｗ１−１−１モジュール５４０−１−１−１から×Ｗ１−１−ＱＲモジュール５４０−１−１−ＱＲ、ｂ１−１モジュール５４５−１−１に保持されており、×Ｗ１−１−１モジュール５４０−１−１−１から×Ｗ１−１−ＱＲモジュール５４０−１−１−ＱＲによって受け付けた各画素の重み付けを行い（画素に重みを掛ける）、シグマモジュール５５０によってそれらの総和を算出し、さらに、ｂ１−１モジュール５４５−１−１に保持されているバイアスを加える。そして、その結果に対して非線形関数モジュール５６０によって非線形関数による演算を行う。つまり、ユニット５３０は、次の（１）式の演算を行う。
【数１】
0005445062.tif 000002
ここで、左辺のＸ２−ｊ（ｉ＝１，２，…，Ｓ）は、第１完全接続層モジュール３２０の出力（出力Ｘ２−１５９０−２−１から出力Ｘ２−Ｓ５９０−２−Ｓ）である。また、ｆ（）は、非線形関数を示す。非線形関数は、第１重畳層モジュール３１０の説明で前述したものと同等である。
非線形関数としては、線形なものを含んでもよい。したがって、係数１の場合はそのまま出力するので非線形関数モジュール５６０はなくてもよい場合がある（以下、同様）。
【００３９】
＜２．１．３＞
最終接続層モジュール３３０は、第１完全接続層モジュール３２０と接続されている。
図６は、最終接続層モジュール３３０内の構成例についての概念的なモジュール構成図である。
ここでは、Ｓ＝Ｍとする。
最終接続層モジュール３３０は、複数の強調関数モジュール６１０（図６ではＭ個）、正規化モジュール６３０を有している。
最終接続層モジュール３３０が受け付けるデータは、第１完全接続層モジュール３２０の出力であるＸ２−ｉ（ｉ＝１，２，…，Ｍ）（図６では、Ｘ２−１６００−２−１からＸ２−Ｍ６００−２−Ｍ）である。
最終接続層モジュール３３０の出力は、Ｙｊ（ｊ＝１，２，…，Ｍ）（図６では、出力Ｙ１６９０−１から出力ＹＭ６９０−Ｍ）である。ここでＭは最終的に分類したいクラス数と一致している。また、最終接続層モジュール３３０の出力は、本実施の形態である認識装置の出力となる。
【００４０】
ここで、図２を用いて説明した「どちらのクラスに属するのか不明である領域２３２が発生してしまう」ことに関して再考する。
これらは、同一の箇所で各ユニットの出力値がいずれも１となっていたことから発生するものである。今、これらのユニットの出力は、第１完全接続層モジュール３２０の出力であるとする。第１完全接続層モジュール３２０の出力はロジスティックシグモイド関数（あるいはそれに類似した関数）の出力値である（図７参照）。
本実施の形態における非線形関数は、図７に例示されるように、入力対象がマイナス無限大のときに０に漸近し、プラス無限大のときに１に漸近するような関数となっている（なお、マイナス無限大で−１に漸近し、プラス無限大で＋１に漸近するような関数を用いてもよい）。そのため、ユニットの出力が０になる場合や、１になる場合が多く、前記のような「どちらのクラスに属するのか不明である領域２３２が発生してしまう」ことが発生する。
ただし、このような場合、出力が完全に０あるいは完全に１になるようなことはない。この性質を利用して、ユニットの出力を差別化しようとするものである。
すなわち、図２の例では、ユニットの出力がどちらも１であるから、区別がつかなかったのであるが、実際には、どちらも１ということはない。精度を高くしてみると、どちらも１に近いが少しだけ１よりは小さい数となっている。これらの数値は実数であるから、精密に比べればその大小は比較できるはずである。
そこで、各ユニットの微小な差を増大させるような出力を得ればよい。強調関数モジュール６１０は、第１完全接続層モジュール３２０内のユニット５３０による算出結果を強調する。つまり、強調関数モジュール６１０内の強調関数はそのような「微小な差を増大させるような」関数である。
【００４１】
さらに、最終接続層モジュール３３０の出力としては、最大値があまりに小さな値やあまりに大きな値となっていないほうが都合がよい。あるいは、最終接続層モジュール３３０の出力としては、各クラスの確率を出力できるようになっていると都合がよい。あるいは、教師データの値が｛０，  １｝である場合には、最終接続層モジュール３３０の出力も０と１の間にあったほうが、比較のために好都合である。そのため、最終接続層モジュール３３０内の正規化モジュール６３０で、強調関数モジュール６１０による強調結果の正規化を行う。
【００４２】
最終接続層モジュール３３０の強調関数モジュール６１０における強調関数をｇ（）とすると、最終接続層モジュール３３０での動作は、次の（２）式で表すことができる。
【数２】
0005445062.tif 000003
（２）式の右辺の分母は、正規化モジュール６３０における正規化係数である。
強調関数ｇ（ｘ）としては、ｘの定義域内で、下記に示す性質を持つ必要がある。
・単調増加関数であること。すなわち「ほとんど至るところでｇ’（ｘ）＞０」である。
・強調を行うため、線形よりも増加率の大きな非線形関数であること。すなわち、「ほとんど至るところでｇ’’（ｘ）＞０」である。
ただし、前記でｇ’（ｘ）は、ｇ（ｘ）の１次導関数、ｇ’’（ｘ）はｇ（ｘ）の２次導関数を示している。
例えば、強調関数は、指数関数、２次以上の多項式関数等であってもよい。より具体的には、例えばこのような関数の例として、次のような関数を挙げることができる。ただし、ここでは、ｘの定義域を０≦ｘ≦１とする。
ｇ（ｘ）＝ｅｘｐ（ｘ）
ｇ（ｘ）＝ｘ２
ｇ（ｘ）＝ｘ３
他にも様々に存在する。
【００４３】
＜２．２＞
図８は、第２の実施の形態の構成例についての概念的なモジュール構成図である。
第２の実施の形態は、図８の例に示すように、第１重畳層モジュール８１０、第２重畳層モジュール８２０、第１完全接続層モジュール８３０、最終接続層モジュール８４０を有している。第１の実施の形態に第２重畳層モジュール８２０を加えたものである。第１重畳層モジュール８１０、第１完全接続層モジュール８３０、最終接続層モジュール８４０の構成、動作は、第１の実施の形態の第１重畳層モジュール３１０、第１完全接続層モジュール３２０、最終接続層モジュール３３０と同等のものである。ただし、Ｑ＝Ｐの限定がない点が異なる。
【００４４】
第２重畳層モジュール８２０は、第１重畳層モジュール８１０、第１完全接続層モジュール８３０と接続されている。
以下、図９を用いて第２重畳層モジュール８２０の構成と動作を説明する。
第２重畳層モジュール８２０は、複数のユニット９００（図９ではＱ個）を有している。各ユニット９００は、複数のフィルタモジュール９１０（図９ではＰ個）、加算モジュール９３０、非線形関数モジュール９４０、縮小モジュール９６０、非線形関数モジュール９８０を有している。
第２重畳層モジュール８２０は、Ｐ枚の画像を受け付ける。この受け付ける画像は、もちろんのことながら第１重畳層モジュール８１０（第１の実施の形態の第１重畳層モジュール３１０）の出力である画像４９０−１から画像４９０−Ｐである。図９に例示するように、各画像は、各ユニット９００内の各フィルタモジュール９１０によって受け付けられる。例えば、画像４９０−１は、ユニット９００−１内のフィルタモジュール９１０−２−１−１、ユニット９００−２内のフィルタモジュール９１０−２−２−１、ユニット９００−Ｑ内のフィルタモジュール９１０−２−Ｑ−１によって受け付けられる。各ユニット９００は、Ｐ枚の画像を受け付けることになる。
【００４５】
各フィルタモジュール９１０（フィルタモジュール９１０−２−ｉ−ｊ）は、第１重畳層モジュール８１０と同等のコンボリューション動作を行う。つまり、第１重畳層モジュール８１０からの複数の出力に対して、コンボリューション動作でフィルタリング処理を行う。フィルタモジュール９１０−２−ｉ−ｊの出力を画像９２０−２ｃ−ｉ−ｊとする。
加算モジュール９３０では、画像９２０−２ｃ−ｉ−ｊ（ｊ＝１，２，…，Ｐ）を受け付けて、同じ位置の画素値を加算する。
さらに、この加算の結果に対して、非線形関数モジュール９４０によって非線形関数による処理が行われる。つまり、非線形関数モジュール９４０は、各加算モジュール９３０による処理結果を非線形関数で処理する。加算モジュール９３０による加算処理及び非線形関数モジュール９４０による非線形関数による処理結果を画像９５０−２ａ−ｉとする。ただし、ｉ＝１，２，…，Ｑである。
前述では、Ｐ枚の出力画像（第１重畳層モジュール８１０の出力、各ユニット９００内のフィルタモジュール９１０の出力）を受け付けて、その全てのＰ枚の画像に対して処理を行っているように説明している。しかし、フィルタモジュール９１０又は加算モジュール９３０が対象とする画像に関しては、Ｐ枚の画像のうち一部の画像としてもよい。つまり、Ｐ枚よりも予め定められた数だけ少ない枚数の画像を対象としてもよい。
【００４６】
縮小モジュール９６０と非線形関数モジュール９８０は、第１重畳層モジュール８１０内のもの（第１の実施の形態の縮小モジュール４３０、非線形関数モジュール４５０）と同等の動作を行う。縮小モジュール９６０による縮小の結果、画像９７０−２ｂ−ｉ（ｉ＝１，２，…，Ｑ）が得られる。また、非線形関数処理結果として、Ｑ枚の画像（画像２−１から画像２−Ｑ）が得られる。ただし、第２重畳層モジュール８２０の出力画像（画像９９０−２−１から画像９９０−２−Ｑ）は、第２重畳層モジュール８２０が受け付ける画像よりも縮小されており、小さなものとなる。第２重畳層モジュール８２０の出力画像は、第１完全接続層モジュール８３０によって受け付けられて、第１の実施の形態の第１完全接続層モジュール３２０と同等の処理を行う。
前述の説明では、一旦画像９２０−２ｃ−ｉ−ｊを作成してから、画像９５０−２ａ−ｉを生成するような説明、画像９５０−２ａ−ｉを作成してから画像９７０−２ｂ−ｉを生成するような説明、あるいは、画像９７０−２ｂ−ｉを作成してから画像９９０−２−ｉを生成するような説明を行った。この場合、画像９２０−２ｃ−ｉ−ｊ、画像９５０−２ａ−ｉ、あるいは画像９７０−２ｂ−ｉ等を保持するメモリが必要となるが、最終的にＱ枚の画像出力が得られればよいので、演算の方法はこれに限らない。ある画素部分ごとに演算を行えば、画像９２０−２ｃ−ｉ−ｊ、画像９５０−２ａ−ｉ、あるいは画像９７０−２ｂ−ｉを保持するメモリは不要となる。
【００４７】
＜２．２．１＞  第２の実施の形態に関する解説
重畳層モジュール（第１重畳層モジュール８１０、第２重畳層モジュール８２０）は、一種のマッチドフィルタである。フィルタのカーネルの形状に近い形状が対象画像内に存在すれば、大きな値を出力し、そうでなければ小さな値を出力する層である。この出力が対象画像の特徴量に対応する。
例えば、文字の特徴量としては、直線、曲線、あるいは、括弧の形状の『「』や『」』等のような折れ線、あるいは、『＋』や『×』等のような交差形状がある。これらの形状を抽出するためには、その形状のフィルタカーネルを用意する必要がある。
第１の実施の形態では、重畳層（第１重畳層モジュール３１０）が１層のみであった。そのため、１層のみで、前述の形状を抽出するためには、形状の種類数分のフィルタが必要となる。形状種類数は膨大であるため、その分だけフィルタの枚数が多くなってしまう。
第２の実施の形態では、重畳層をもう１層増加させた形態（第１重畳層モジュール８１０、第２重畳層モジュール８２０）を採る。この形態を採ることによって、複数の単純な形状を組み合わせて、複雑な形状を形成することが可能となる。
例えば、第１の重畳層（第１重畳層モジュール８１０）では、直線や斜め線などの簡単な形状のみを抽出する。第２の重畳層（第２重畳層モジュール８２０）でそれらの組み合わせとして、『「』、『＋』、『×』等のような、より複雑な形状を抽出できるようになる。このように重畳層を２層に分割することによって、第１の重畳層（第１重畳層モジュール８１０）では単純な形状のみを抽出すればよくなるので、フィルタの枚数を減少させることが可能となる。それらの単純な形状の組み合わせ枚数（すなわち第２の重畳層（第２重畳層モジュール８２０）の演算量）を考慮しても、トータルでの演算量を、第１の実施の形態よりも小さくできる場合がある。
逆に言えば、単純な形状のみを抽出したい場合には、第１の実施の形態が望ましい場合がある。
【００４８】
＜２．３＞
図１０は、第３の実施の形態の構成例についての概念的なモジュール構成図である。
第３の実施の形態は、図１０の例に示すように、第１重畳層モジュール１０１０、第２重畳層モジュール１０２０、第１完全接続層モジュール１０３０、第２完全接続層モジュール１０４０、最終接続層モジュール１０５０を有している。第２の実施の形態に第２完全接続層モジュール１０４０を加えたものである。第１重畳層モジュール１０１０、第２重畳層モジュール１０２０、第１完全接続層モジュール１０３０の構成、動作は、第２の実施の形態の第１重畳層モジュール８１０、第２重畳層モジュール８２０、第１完全接続層モジュール８３０と同等のものである。ただし、Ｓ＝Ｍの限定がない点が異なる。以下に、第２完全接続層モジュール１０４０、最終接続層モジュール１０５０の構成、動作を説明する。
【００４９】
＜２．３．１＞
第２完全接続層モジュール１０４０は、第１完全接続層モジュール１０３０、最終接続層モジュール１０５０と接続されている。
図１１は、第２完全接続層モジュール１０４０内の構成例についての概念的なモジュール構成図である。第２完全接続層モジュール１０４０は、受付モジュール１１１０、複数のユニット１１３０（図１１ではＭ個）を有している。
第２完全接続層モジュール１０４０は、第１完全接続層モジュール１０３０の出力であるＸ２−ｉ（ｉ＝１，２，…，Ｓ）（図５の出力Ｘ２−１５９０−２−１から出力Ｘ２−Ｓ５９０−２−Ｓ、図１１のＸ２−１１０３０−２−１からＸ２−Ｓ１０３０−２−Ｓ）を受け付ける。第２完全接続層モジュール１０４０の出力は、Ｘ３−ｊ（ｊ＝１，２，…，Ｍ）（図１１の出力Ｘ３−１１１９０−３−１から出力Ｘ３−Ｍ１１９０−３−Ｍ）である。ここでＭは最終的に分類したいクラス数と一致している。Ｓ個のデータはそれぞれユニット１１３０−ｊ（ｊ＝１，２，…，Ｍ）で受け付けられる。ユニット１１３０−ｊの動作は、第１の実施の形態の第１完全接続層モジュール３２０のユニット５３０−ｊの動作と同等である。つまり、第１完全接続層モジュール１０３０からの複数の出力に対して、重み付け線形和を算出する。（３）式に出力値Ｘ３−ｊの算出式を示す。
【数３】
0005445062.tif 000004
なお、非線形関数として線形なものを含んでもよい。
【００５０】
＜２．３．２＞
最終接続層モジュール１０５０は、第２完全接続層モジュール１０４０と接続されている。
図１２は、最終接続層モジュール１０５０内の構成例についての概念的なモジュール構成図である。最終接続層モジュール１０５０は、複数の強調関数モジュール１２１０（図１２ではＭ個）、正規化モジュール１２３０を有している。
最終接続層モジュール１０５０は、第２完全接続層モジュール１０４０の出力Ｘ３−ｉ（ｉ＝１，２，…，Ｍ）（図１２のＸ３−１１２００−３−１からＸ３−Ｍ１２００−３−Ｍ、図１１の出力Ｘ３−１１１９０−３−１から出力Ｘ３−Ｍ１１９０−３−Ｍ）を受け付ける。最終接続層モジュール１０５０の出力はＹｊ（ｊ＝１，２，…，Ｍ）（図１２の出力Ｙ１１２９０−１から出力ＹＭ１２９０−Ｍ）である。ここでＭは最終的に分類したいクラス数と一致している。また、最終接続層モジュール１０５０の出力は、本実施の形態である認識装置の出力となる。
そして、強調関数モジュール１２１０、正規化モジュール１２３０の動作は、第１の実施の形態の強調関数モジュール６１０、正規化モジュール６３０と同等である。
なお、最終接続層モジュール１０５０の強調関数モジュール１２１０における強調関数をｇ（）とすると、最終接続層モジュール１０５０での動作は、次の（４）式で表すことができる。
【数４】
0005445062.tif 000005
なお、式（４）は前述の式（２）と同等の動作を示すものである。
【００５１】
＜２．３．３＞  第３の実施の形態に関する解説
第３の実施の形態では、完全接続層を１層増加させた（第２完全接続層モジュール１０４０を付加した）ことにより、第２の実施の形態よりも、より複雑な形状を抽出可能となっている。
第１完全接続層モジュール１０３０において、抽出した形状をさらに複雑にすることができる。第２の実施の形態において、同等の複雑度を持つ形状を抽出するためには、第１完全接続層モジュール８３０内のユニット数を増大させる必要がある。よって、抽出したいパターンの複雑度によっては、第３の実施の形態のように完全接続層を２層（第１完全接続層モジュール１０３０、第２完全接続層モジュール１０４０）設けたほうが好ましい場合がある。
【００５２】
＜２．４＞
図１３は、第４の実施の形態の構成例についての概念的なモジュール構成図である。
第４の実施の形態は、図１３の例に示すように、第１重畳層モジュール１３１０、第１完全接続層モジュール１３２０、第２完全接続層モジュール１３３０、最終接続層モジュール１３４０を有している。第１の実施の形態に第２完全接続層モジュール１３３０を加えたものである。第１重畳層モジュール１３１０、第１完全接続層モジュール１３２０、最終接続層モジュール１３４０の構成、動作は、第１の実施の形態の第１重畳層モジュール３１０、第１完全接続層モジュール３２０、最終接続層モジュール３３０と同等のものである。また、第２完全接続層モジュール１３３０の構成、動作は、第３の実施の形態の第２完全接続層モジュール１０４０と同等のものである。
【００５３】
＜２．５＞  パラメタ学習
第５の実施の形態は、前述の第１の実施の形態から第４の実施の形態を生成するための学習装置である。つまり、第１の実施の形態から第４の実施の形態に学習モジュールを加えたものである。
前述の第１の実施の形態から第４の実施の形態の一部は、線形演算結果を非線形関数で変形し、さらに、次の線形演算を行う形態を採っている。これは多層パーセプトロンの形態と同等であり、微分可能な非線形関数を採用すれば、一般のバックプロバゲーション法を用いた機械学習方法を用いることが可能である。学習させうるパラメタは、重畳層の各フィルタ係数、及び、完全接続層の各重み係数（バイアスを含む）である。第１の実施の形態では、第１重畳層モジュール３１０のフィルタモジュール４０１でのフィルタの係数、第１完全接続層モジュール３２０の×Ｗモジュール５４０、ｂモジュール５４５の重み付け係数、バイアスである。第２の実施の形態では、さらに第２重畳層モジュール８２０内のフィルタモジュール９１０でのフィルタの係数が加わる。第３の実施の形態では、さらに第２完全接続層モジュール１０４０内の×Ｗモジュール１１４０、ｂモジュール１１４５の重み付け係数、バイアスが加わる。第４の実施の形態では、第１の実施の形態の場合に第２完全接続層モジュール１３３０内の×Ｗモジュール１１４０、ｂモジュール１１４５の重み付け係数、バイアスが加わる。
つまり、第５の実施の形態においては、前述の第１の実施の形態から第４の実施の形態に対して、一般のバックプロバゲーション法のやり方に則り、誤差関数を最小化するようにパラメタを設定すればよい。つまり、学習モジュールが誤差関数を最小化するようにパラメタを設定する。
【００５４】
ただし、本実施の形態においては、誤差関数は以下のようなものである。
誤差関数は、教師データと出力データとの「差」を示すようなものであればよい。このような指標として、
・教師データと出力データの差分電力（例えば、教師データと出力データとの２乗誤差）
あるいは、
・教師データと出力データ分布の差（例えば、教師データと出力データの交差エントロピ誤差）
等を用いるようにしてもよい。
ここで、教師データと対象データのペアがＮ通り用意されているとする。このペアに番号ｉを付与する。ｉ＝１，２，…，Ｎである。ここで、ｉ番目、かつクラスｊに対応する教師データをＴｉｊとする。ただし、ｉ＝１，２，…，Ｍである。また、ｉ番目の対象データを本実施の形態の学習装置を受け付けて得られた、クラスｊの出力データをＹｉｊとする。
このとき、教師データと出力データとの２乗誤差Ｅは（５）式となる。
【数５】
0005445062.tif 000006
又は、教師データと出力データとの交差エントロピ誤差は（６）式となる。
【数６】
0005445062.tif 000007
このような、誤差関数を用いればよい。
又は、誤差関数としては、教師データと出力データとの「差」を示すようなものであれば基本的には何でもよい。
【００５５】
＜２．６＞
第６の実施の形態を説明する。
第５の実施の形態によって、第１の実施の形態から第４の実施の形態の認識装置のパラメタを学習させたとする。その結果として、図１４に例示するようなクラス分類ができるようになる。図１４では、どちらのクラスに属するか不明な領域は解消されている。つまり、図１４の例では、太い線１４００がユニット０の出力値、細い点線１４０１がユニット１の出力値を表している。図１４に例示するように、領域１４３１はクラス０に属する領域であり、領域１４３３はクラス１に属する領域であることが明確であり、どちらのクラスにも属している領域は存在しない。
ここで、以下の前提を考える。
「前提」
・認識を行う認識装置を学習させる学習装置として、第５の実施の形態における第１の実施の形態又は第２の実施の形態の形態を採るとする。
・さらに、対象データに対して、その対象データが各クラスである確率を求める必要はなくて、対象データに対して、その対象データが属する可能性の一番高いクラスを求めるだけ、又は、その対象データが属する可能性の高いクラスの順序を求めるだけの場合を考える。
なお、以下に第６の実施の形態の種々の形態を示すが、これは第５の実施の形態によって学習された後の第１の実施の形態から第４の実施の形態の変形例である。
【００５６】
＜２．６．１＞
前述した「前提」の場合、図６に例示した「正規化」の必要はなくなる。正規化してもしなくても、各クラスの出力値の大きさの順番に変化はないためである。すなわち、第６の実施の形態（１）は、認識を行う装置であって、第５の実施の形態によって学習された後の第１の実施の形態から第４の実施の形態から、図６に例示した正規化モジュール６３０を省いたものである。
【００５７】
＜２．６．２＞
前述した「前提」の場合、図６に例示した「正規化」に加えて、「強調関数」も不要とできる。なぜなら、「強調関数」として、単調増加関数を採用しているためである。単調増加関数は順序を変化させないため、順序を計測するためだけであれば、単調増加関数は不要である。すなわち、第６の実施の形態（２）は、認識を行う装置であって、第５の実施の形態によって学習された後の第１の実施の形態から第４の実施の形態から、最終接続層モジュール３３０を除いたものである。
【００５８】
＜２．６．３＞
さらに、第５の実施の形態によって学習された後の第４の実施の形態の場合、第２完全接続層モジュール１０４０の非線形関数も不要とできる。又は、第２完全接続層モジュール１０４０がない第５の実施の形態によって学習された後の第１の実施の形態、第２の実施の形態の場合、第１完全接続層モジュール３２０、第１完全接続層モジュール８３０の非線形関数も不要とできる。なぜなら、これら「非線形関数」としても、単調増加関数を採用しているためである。単調増加関数は順序を変化させないため、順序を計測するためだけであれば、単調増加関数は不要である。すなわち、第６の実施の形態（３）は、第５の実施の形態によって学習された後の第１の実施の形態から第４の実施の形態から、最終接続層の一段手前の完全接続層（第１完全接続層モジュール３２０、第１完全接続層モジュール８３０、第２完全接続層モジュール１０４０、第２完全接続層モジュール１３３０）の非線形関数（非線形関数モジュール５６０、非線形関数モジュール１１６０）を除いたものである。
【００５９】
＜２．７＞
その他の形態について説明する。
＜２．７．１＞
第１完全接続層と第２完全接続層（第１完全接続層モジュール１０３０、第２完全接続層モジュール１０４０等）では、「完全」にユニット間の接続がなされているように記載されているが、必ずしも全てのユニット間の接続がなされていなければならないわけではない。
学習の結果として、重みが０となる場合も存在する。
「完全」とは、「全てのユニット間の接続について可能性がある」という意味である。
【００６０】
＜２．７．２＞
第１完全接続層モジュール３２０のユニット数、第１完全接続層モジュール８３０のユニット数、第２完全接続層モジュール１０４０のユニット数、第２完全接続層モジュール１３３０のユニット数は、それぞれ最終接続層モジュール３３０、最終接続層モジュール８４０、最終接続層モジュール１０５０、最終接続層モジュール１３４０によって認識し得るクラス数に基づいて定められるようにしてもよい。
逆に、最終接続層モジュール３３０、最終接続層モジュール８４０、最終接続層モジュール１０５０、最終接続層モジュール１３４０によって認識し得るクラス数は、それぞれ第１完全接続層モジュール３２０のユニット数、第１完全接続層モジュール８３０のユニット数、第２完全接続層モジュール１０４０のユニット数、第２完全接続層モジュール１３３０のユニット数に基づいて定められるようにしてもよい。
例えば、最終接続層（最終接続層モジュール３３０、最終接続層モジュール８４０、最終接続層モジュール１０５０、最終接続層モジュール１３４０）の対象数（対象ベクトルの次元、つまり、第１完全接続層モジュール３２０のユニット数、第１完全接続層モジュール８３０のユニット数、第２完全接続層モジュール１０４０のユニット数、第２完全接続層モジュール１３３０のユニット数）と出力数（出力ベクトルの次元）は、クラス数Ｍに等しい場合を含む。さらに、各ユニット数はクラス数Ｍより予め定められた値だけ少なくするようにしてもよい。又は、クラス数Ｍより予め定められた数だけ多めにユニットを用意するようにしてもよい。
【００６１】
＜２．７．３＞
前述の実施の形態における縮小モジュールでの縮小処理は、平均値を求める処理ではなく、単なるサブサンプリング処理でもよい。また、メディアンや最頻値などの他の代表値を求める処理でもよい。
【００６２】
＜２．７．４＞
重畳層は前述の実施の形態のように１層（第１重畳層モジュール３１０等）や２層（第１重畳層モジュール８１０、第２重畳層モジュール８２０等）でもよいし、３層以上であってもよい。
【００６３】
＜２．７．５＞
前述の実施の形態の第１重畳層、第２重畳層（第１重畳層モジュール３１０、第１重畳層モジュール８１０、第２重畳層モジュール８２０等）では、縮小モジュールの前段と後段に非線形関数モジュールを設けた。これらの非線形関数モジュールの関数形態は、縮小モジュールの前段と後段で同じ関数を用いてもよいし、異なる関数を用いてもよい。さらに、縮小モジュールの前段と後段の非線形関数モジュールのうち、いずれかを省略してもよい。例えば、縮小モジュールの前段のみに、非線形関数モジュールを設ける。又は、縮小モジュールの後段のみに、非線形関数モジュールを設けようにしてもよい。
【００６４】
＜２．７．６＞
前述の実施の形態では、特に、パターン認識の対象を限定した説明は行っていない。例えば、教師用の画像とクラスのペアに対して、手書き文字画像と文字コードを与えれば、手書き文字認識となる。活字文字画像と文字コードを与えれば、活字文字認識となる。教師用の画像が顔画像の場合に出力値１、教師用の画像が非顔画像の場合に出力値０を与えれば、顔検知装置となる。特定の人物画像とその人物番号のペアを与えれば、顔認識装置となる。笑顔画像に１、非笑顔画像に０の教師用データペアを与えれば、笑顔検知装置となる。一般物体認識装置として、ある物体(例えば虎の画像)を検知したい場合に、虎であれば出力値１、非虎であれば出力値０の教師データ群を与えれば、虎認識装置として動作させることが可能である。このとき、「虎」を他の物体に変更することも可能である。
【００６５】
＜２．８＞
図１５を参照して、本実施の形態の認識装置、学習装置のハードウェア構成例について説明する。図１５に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部１５１７と、プリンタなどのデータ出力部１５１８を備えたハードウェア構成例を示している。
【００６６】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１５０１は、前述の実施の形態において説明した各種のモジュール、すなわち、第１重畳層モジュール３１０、第１完全接続層モジュール３２０、最終接続層モジュール３３０、第２重畳層モジュール８２０、第２完全接続層モジュール１０４０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００６７】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１５０２は、ＣＰＵ１５０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１５０３は、ＣＰＵ１５０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス１５０４により相互に接続されている。
【００６８】
ホストバス１５０４は、ブリッジ１５０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス１５０６に接続されている。
【００６９】
キーボード１５０８、マウス等のポインティングデバイス１５０９は、操作者により操作される入力デバイスである。ディスプレイ１５１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【００７０】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１５１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ１５０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、受け付けた対象データ３０５、最終接続層モジュール３３０の出力データ３９５等が格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００７１】
ドライブ１５１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体１５１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース１５０７、外部バス１５０６、ブリッジ１５０５、及びホストバス１５０４を介して接続されているＲＡＭ１５０３に供給する。リムーバブル記録媒体１５１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００７２】
接続ポート１５１４は、外部接続機器１５１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート１５１４は、インタフェース１５０７、及び外部バス１５０６、ブリッジ１５０５、ホストバス１５０４等を介してＣＰＵ１５０１等に接続されている。通信部１５１６は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部１５１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部１５１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００７３】
なお、図１５に示す認識装置、学習装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１５に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１５に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００７４】
なお、前述の各種の実施の形態を組み合わせてもよく（例えば、ある実施の形態内のモジュールを他の実施の形態内に適用する、入れ替えする等も含む）、各モジュールの処理内容として背景技術、＜１．１＞等で説明した技術を採用してもよい。
【００７５】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００７６】
１１０…第１重畳層モジュール
１２０…第２重畳層モジュール
１３０…第１完全接続層モジュール
１４０…第２完全接続層モジュール
３１０…第１重畳層モジュール
３２０…第１完全接続層モジュール
３３０…最終接続層モジュール
８１０…第１重畳層モジュール
８２０…第２重畳層モジュール
８３０…第１完全接続層モジュール
８４０…最終接続層モジュール
１０１０…第１重畳層モジュール
１０２０…第２重畳層モジュール
１０３０…第１完全接続層モジュール
１０４０…第２完全接続層モジュール
１０５０…最終接続層モジュール
１３１０…第１重畳層モジュール
１３２０…第１完全接続層モジュール
１３３０…第２完全接続層モジュール
１３４０…最終接続層モジュール
【図１】
0005445062.tif 000008
【図２】
0005445062.tif 000009
【図３】
0005445062.tif 000010
【図４】
0005445062.tif 000011
【図５】
0005445062.tif 000012
【図６】
0005445062.tif 000013
【図７】
0005445062.tif 000014
【図８】
0005445062.tif 000015
【図９】
0005445062.tif 000016
【図１０】
0005445062.tif 000017
【図１１】
0005445062.tif 000018
【図１２】
0005445062.tif 000019
【図１３】
0005445062.tif 000020
【図１４】
0005445062.tif 000021
【図１５】
0005445062.tif 000022