(57)【要約】【課題】ニューラルネットワークにおける追加学習の処理時間を短縮する。【解決手段】本発明に係るパターン認識装置は、ニューラルネットワークに複数の第１のパターン群を入力し、複数の第１のパターン群に対応する複数の第１の識別関数を学習する学習部と、複数の第１のパターン群とは異なる第２のパターン群に属する第２のパターンを第１のパターン群に属すると識別する第１の識別関数を複数の第１の識別関数から選択し、選択した第１の識別関数を学習部に再学習させるとともに、第２のパターン群に対応する第２の識別関数を学習部に学習させる制御部とを備える。【選択図】図１
2019128623.tif 000002
【特許請求の範囲】
【請求項１】
ニューラルネットワークに複数の第１のパターン群を入力し、前記複数の第１のパターン群に対応する複数の第１の識別関数を学習する学習部と、
前記複数の第１のパターン群とは異なる第２のパターン群に属する第２のパターンを前記第１のパターン群に属すると識別する前記第１の識別関数を前記複数の第１の識別関数から選択し、選択した前記第１の識別関数を前記学習部に再学習させるとともに、前記第２のパターン群に対応する第２の識別関数を前記学習部に学習させる制御部とを備えることを特徴とするパターン認識装置。
【請求項２】
前記複数の第１の識別関数に基づいて前記第２のパターンを識別する識別部を備え、
前記制御部は、前記識別部における識別結果に基づいて前記第１の識別関数を選択することを特徴とする請求項１に記載のパターン認識装置。
【請求項３】
前記学習部は、前記ニューラルネットワークにおけるニューロンの活性値を示す高次元式に基づいて前記第１の識別関数及び前記第２の識別関数を学習することを特徴とする請求項１又は２に記載のパターン認識装置。
【請求項４】
前記学習部は、前記高次元式から出力された前記活性値を所定の活性化関数に基づいて前記ニューロンの出力値に変換し、前記出力値と前記第１のパターン群及び前記第２のパターン群に対応する正解データとの誤差が所定の基準値以下になるまで、前記高次元式における結合係数及び閾値の更新を繰り返すことを特徴とする請求項３に記載のパターン認識装置。
【請求項５】
前記制御部は、
前記複数の第１の識別関数のすべてを前記学習部の学習対象とする第１の学習モードと、
前記選択した前記第１の識別関数及び前記第２の識別関数のみを前記学習対象とする第２の学習モードとを切り替えることを特徴とする請求項１乃至４のいずれか一項に記載のパターン認識装置。
【請求項６】
ニューラルネットワークに複数の第１のパターン群を入力し、前記複数の第１のパターン群に対応する複数の第１の識別関数を学習するステップと、
前記複数の第１のパターン群とは異なる第２のパターン群に属する第２のパターンを前記第１のパターン群に属すると識別する前記第１の識別関数を前記複数の第１の識別関数から選択するステップと、
選択した前記第１の識別関数を再学習するとともに、前記第２のパターン群に対応する第２の識別関数を学習するステップとを備えることを特徴とするパターン認識方法。
【請求項７】
コンピュータに、
ニューラルネットワークに複数の第１のパターン群を入力し、前記複数の第１のパターン群に対応する複数の第１の識別関数を学習するステップと、
前記複数の第１のパターン群とは異なる第２のパターン群に属する第２のパターンを前記第１のパターン群に属すると識別する前記第１の識別関数を前記複数の第１の識別関数から選択するステップと、
選択した前記第１の識別関数を再学習するとともに、前記第２のパターン群に対応する第２の識別関数を学習するステップとを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パターン認識装置、方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、入力層、出力層及び中間層から構成された多層ニューラルネットワークにおいて、被写体のパターン認識に必要な学習パターン群（特徴クラス）をバックプロパゲーションにより学習するパターン認識装置が開示されている。
ニューラルネットワークには、ニューロン同士のつながりの強さを示す重みが設定される。また、バックプロパゲーションでは、学習パターン群に係る入力データが入力層へ入力されたときに出力層から出力される出力データと、所定の正解データとの誤差が小さくなるように、出力層側から逆方向に順次計算を行って重みを変化させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３５２９００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１のバックプロパゲーションによる学習方法において、学習パターン群に関する情報は、ニューラルネットワーク内の重みに分散して保存される。このため、学習が一度完了した後は、ネットワーク状態を簡単に変更することはできない。従って、新たな学習パターン群を追加学習する場合には、学習時間が膨大になってしまう問題があった。
【０００５】
そこで、本発明は、上述の課題に鑑み、ニューラルネットワークにおける追加学習の処理時間を短縮できるパターン認識装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一つの観点によれば、ニューラルネットワークに複数の第１のパターン群を入力し、前記複数の第１のパターン群に対応する複数の第１の識別関数を学習する学習部と、前記複数の第１のパターン群とは異なる第２のパターン群に属する第２のパターンを前記第１のパターン群に属すると識別する前記第１の識別関数を前記複数の第１の識別関数から選択し、選択した前記第１の識別関数を前記学習部に再学習させるとともに、前記第２のパターン群に対応する第２の識別関数を前記学習部に学習させる制御部とを備えることを特徴とするパターン認識装置が提供される。
【０００７】
本発明の他の観点によれば、ニューラルネットワークに複数の第１のパターン群を入力し、前記複数の第１のパターン群に対応する複数の第１の識別関数を学習するステップと、前記複数の第１のパターン群とは異なる第２のパターン群に属する第２のパターンを前記第１のパターン群に属すると識別する前記第１の識別関数を前記複数の第１の識別関数から選択するステップと、選択した前記第１の識別関数を再学習するとともに、前記第２のパターン群に対応する第２の識別関数を学習するステップとを備えることを特徴とするパターン認識方法が提供される。
【０００８】
本発明のさらに他の観点によれば、コンピュータに、ニューラルネットワークに複数の第１のパターン群を入力し、前記複数の第１のパターン群に対応する複数の第１の識別関数を学習するステップと、前記複数の第１のパターン群とは異なる第２のパターン群に属する第２のパターンを前記第１のパターン群に属すると識別する前記第１の識別関数を前記複数の第１の識別関数から選択するステップと、選択した前記第１の識別関数を再学習するとともに、前記第２のパターン群に対応する第２の識別関数を学習するステップとを実行させることを特徴とするプログラムが提供される。
【発明の効果】
【０００９】
本発明によれば、ニューラルネットワークにおける追加学習の処理時間を短縮できるパターン認識装置、方法及びプログラムを提供できる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係るパターン認識装置の機能を示すブロック図である。
【図２】第１の実施形態において学習パターン群を分離する識別曲線を示す模式図である。
【図３】第１の実施形態における識別曲線に基づく未知パターンの識別例を示す模式図である。
【図４】第１の実施形態に係るパターン認識装置のハードウェア構成を示すブロック図である。
【図５】第１の実施形態に係るパターン認識装置の学習処理の具体例を示すフローチャートである。
【図６】第１の実施形態において学習パターン群を分離する識別曲線を示す模式図である。
【図７】第１の実施形態に係るパターン認識装置の認識処理の具体例を示すフローチャートである。
【図８】第１の実施形態における識別曲線に基づく未知パターンの識別例を示す模式図である。
【図９】第１の実施形態に係るパターン認識装置の追加学習処理の具体例を示すフローチャートである。
【図１０】第１の実施形態における学習済みの識別曲線に基づく新規パターン群の識別例を示す模式図である。
【図１１】第１の実施形態における追加学習後の識別曲線を示す模式図である。
【図１２】第２の実施形態に係るパターン認識装置の機能を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の実施形態を説明する。なお、以下で説明する図面においては、同一の機能又は対応する機能を有する要素には同一の符号を付し、その繰り返しの説明を省略する。
【００１２】
［第１の実施形態］
本実施形態に係るパターン認識装置１００は、人間の顔や商品などの画像認識、音声認識、テキスト認識など各種のパターン認識を行う情報処理装置である。図１は、パターン認識装置１００の機能を示すブロック図である。パターン認識装置１００は、入力部１１０、制御部１２０、出力部１３０、及び記憶部１４０を備える。
【００１３】
入力部１１０は、制御部１２０において学習処理や認識処理の対象となる入力データを受け取る。入力部１１０は、入力データを制御部１２０へ出力する。入力データは、必要に応じて各種パラメータなどのその他のデータを含んでよい。入力データは、パターン認識装置１００の外部又は内部（記憶部１４０）から取得される。
【００１４】
制御部１２０は、パターン学習部１２１及びパターン認識部１２２を備える。パターン学習部１２１は、ニューラルネットワークに複数の学習パターン群を入力することで、複数の学習パターン群にそれぞれ対応する複数の識別関数を学習する。識別関数は、複数のパターンからなる一つの学習パターン群を他の学習パターン群から分離する。分離された領域に存在するパターンは、当該学習パターン群に属するパターンとみなされる。
【００１５】
本実施形態では、識別関数が２次関数である場合を例示する。識別関数が与える識別境界は、２次元平面上で楕円状の曲線（以下、「識別曲線」）で表される。このため、本実施形態では、識別関数と識別曲線の語句を同義として用いるものとする。なお、対象パターンがｎ（ｎ≧３）次元で表される場合には、識別関数が与える識別境界は、識別ｎ次平面（識別高次平面）である。
【００１６】
図２は、学習パターン群を分離する識別曲線を示す模式図である。ここでは、学習済みの３つの学習パターン群Ａ（図中、三角形“△”）、学習パターン群Ｂ（図中、バツ印“×”）、学習パターン群Ｃ（図中、丸印“○”）は、２次元平面上に配置されている。学習パターン群Ａ、Ｂ、Ｃは、対応する識別曲線によって他の学習パターン群から分離されている。すなわち、識別曲線の内側の領域には、同一の学習パターン群に属するパターンのみが存在する。
【００１７】
パターン認識部１２２は、パターン学習部１２１における学習で得られた識別関数に基づいて、未知パターン（入力パターン）が属する学習パターン群を識別（パターン認識）する。すなわち、パターン認識の対象である未知パターンを示す入力データが入力部１１０より入力されたとき、パターン認識部１２２は、未知パターンがパターン空間上で学習パターン群に対応する所定の領域内に存在するか否かを判定する。パターン認識部１２２は、未知パターンが当該領域内に存在する場合には、未知パターンを当該領域に係る学習パターン群に属するパターンとして識別する。逆に、パターン認識部１２２は、未知パターンが当該領域内に存在しない場合には、未知パターンを当該領域に係る学習パターン群に属さないパターンとして識別する。
【００１８】
図３は、識別曲線に基づく未知パターンＵの識別例を示す模式図である。ここでは、図２に示した２次元平面に対して、新たに入力された未知パターンＵ（図中、黒塗り三角形“▲”）が配置されている。未知パターンＵは、学習パターン群Ａの識別曲線の領域内に存在している。このため、パターン認識部１２２は、学習パターン群Ａに属する学習パターンとして未知パターンＵを識別する。
【００１９】
また、制御部１２０は、パターン学習部１２１における学習モードとして、全体学習モード（第１の学習モード）と追加学習モード（第２の学習モード）の二つを有する。制御部１２０は、例えばユーザの操作に応じて学習モードを切り替えることができる。全体学習モードでは、複数の学習パターン群（第１のパターン群）にそれぞれ対応する複数の識別関数（第１の識別関数）のすべてを学習対象とする。追加学習モードでは、例えば全体学習モードでの学習完了後に、新規パターン群（第２のパターン群）に対応する識別関数（第２の識別関数）をさらに学習する。なお、追加学習モードでの学習完了後に、さらに追加学習モードを選択することで、パターン認識に用いる識別関数の数を任意に増やすことができる。
【００２０】
追加学習モードにおいて、パターン認識部１２２は、制御部１２０に従って、パターン学習部１２１で学習済みの複数の識別関数（第１の識別関数）に対して新規パターン群（第２のパターン群）に属するパターンをそれぞれ入力する。制御部１２０は、当該パターンに対する複数の識別関数（第１の識別関数）における識別結果を制御部１２０へ出力する。制御部１２０は、複数の学習パターン群（第１のパターン群）とは異なる新規パターン群（第２のパターン群）に属するパターンを学習パターン群（第１のパターン群）に属するパターンとして識別する学習済みの識別関数（第１の識別関数）を複数の識別関数の中から選択する。そして、制御部１２０は、選択した識別関数（第１の識別関数）をパターン学習部１２１に再学習させるとともに、新規パターン群（第２のパターン群）に対応する第２の識別関数をパターン学習部１２１に学習させる。すなわち、追加学習モードにおいて学習対象となる識別関数の数は、全体学習モードの場合よりも絞り込まれる。なお、本実施形態におけるパターン学習部１２１は、識別曲線の追加学習時に、既存の学習パターン群及び新規パターン群の全パターンを用いることで、識別曲線を高精度で学習できる。
【００２１】
出力部１３０は、制御部１２０における学習結果又は認識結果を出力する。出力部１３０は、記憶部１４０に出力データを記憶する。また、出力部１３０は、パターン認識装置１００に接続された液晶ディスプレイなどの表示装置１５０に出力データを出力する。
【００２２】
記憶部１４０は、入力部１１０から入力されるデータ及び出力部１３０から出力されるデータをそれぞれ記憶する。また、記憶部１４０は、パターン学習部１２１における学習処理に用いられる学習パターン、ニューラルネットワークにおけるニューロンの結合係数、閾値、ニューロンの活性値、出力データ（ニューロン出力値）、及び学習パターンに対応する所定の正解データ（教師信号）などの各種データを記憶する。
【００２３】
続いて、本実施形態におけるパターン学習部１２１の学習処理を具体的に説明する。なお、本実施形態では、パターン学習部１２１は、各学習パターン群を分離する識別関数を、単層のニューラルネットワークである高次セプトロンを用いて学習するものとする。
【００２４】
Ｃ個の学習パターン群に属するＮ個の学習パターンＩｎ（ｎ＝１…Ｎ）を、学習パターン群毎に分離する課題を例として、高次パーセプトロンの動作を説明する。ここで、学習パターンは、下記の式（１）のようなＤ次元のベクトルとする。
【００２５】
【数１】
2019128623.tif 000003
【００２６】
また、学習パターン群ｃを分離する識別関数を下記の式（２）、（３）により示す。式中で、ｃは学習パターン群の識別番号、ｎは学習パターンの識別番号、Ｔは転置、ｖ（ｃ）、ｗ（ｃ）はニューラルネットワークにおけるニューロン同士の結合係数、ｖ（ｃ）２Ｔは、ニューロンの結合係数ｖ（ｃ）の各要素を２乗したＤ次元ベクトル（ｖ（ｃ）２＝(ｖ１(ｃ)２, ｖ２(ｃ)２, ｖ３(ｃ)２,…, ｖＤ(ｃ)２)Ｔ）の転置、Ｉｎ２は、学習パターンＩｎの各要素を２乗したＤ次元ベクトル（Ｉn２＝(ｉ１２, ｉ２２, ｉ３２,…, ｉＤ２)Ｔ）、θ（ｃ）は閾値、ｕｎ（ｃ）はニューロン活性値、ｒｎ（ｃ）はニューロン出力値、μは活性化関数であるシグモイド関数の傾き、をそれぞれ表す。
高次パーセプトロンは、学習パターンＩｎに対して、式（２）、（３）によってニューロン出力値ｒｎ（ｃ）を計算する。
【００２７】
【数２】
2019128623.tif 000004
【００２８】
【数３】
2019128623.tif 000005
【００２９】
次に、パターン学習部１２１は、最急降下法により、下記の式（４）、（５）、（６）に従ってｖ（ｃ）、ｗ（ｃ）、θ（ｃ）の更新を繰り返すことで、下記の式（７）の誤差関数で表される誤差Ｅを最小化する。ここで、εは、結合係数ｖ（ｃ）、ｗ（ｃ）及び閾値θ（ｃ）の更新量を調整する係数である。式中の結合係数ｖ（ｃ）’、ｗ（ｃ）’及び閾値θ（ｃ）’は、更新後の結合係数ｖ（ｃ）、ｗ（ｃ）及び閾値θ（ｃ）、をそれぞれ表す。ｔｎ（ｃ）は、正解データを表す。ｔｎ（ｃ）は、学習パターンＩｎが学習パターン群ｃに属する場合には１となり、学習パターンＩｎが学習パターン群ｃに属さない場合には０となる。
【００３０】
【数４】
2019128623.tif 000006
【００３１】
【数５】
2019128623.tif 000007
【００３２】
【数６】
2019128623.tif 000008
【００３３】
【数７】
2019128623.tif 000009
【００３４】
計算処理の流れを説明すると、すべての学習パターン群を学習するには、まず、各学習パターン群に対して、式（２）の識別関数によってニューロン活性値ｕｎ（ｃ）を計算し、式（３）によってニューロン出力値ｒｎ（ｃ）を計算する。
【００３５】
そして、式（４）、（５）、（６）によって結合係数ｖ（ｃ）、ｗ（ｃ）及び閾値θ（ｃ）を更新する。そして、ニューロン出力値ｒｎ（ｃ）の計算、ならびに結合係数ｖ（ｃ）、ｗ（ｃ）及び閾値θ（ｃ）の更新を、式（７）の誤差関数によって計算される誤差Ｅの値が十分小さくなるまで繰り返す。これにより、学習対象として入力された学習パターン群が２次元平面（２次識別平面）において互いに分離され、学習が完了する。
【００３６】
続いて、本実施形態におけるパターン認識部１２２の認識処理を具体的に説明する。パターン認識部１２２は、入力された未知パターンについて、式（２）によってニューロン活性値ｕｎ（ｃ）を計算する。その後、パターン認識部１２２は、式（３）によって各ニューロンのニューロン出力値ｒｎ（ｃ）を計算する。
【００３７】
次に、パターン認識部１２２は、すべてのニューロンの中で最大のニューロン出力値ｒｎ（ｃ）を有するニューロンに対応する学習パターン群を特定する。そして、パターン認識部１２２は、特定された学習パターン群を未知パターンの属する学習パターン群とみなす。ただし、ニューロン出力値ｒｎ（ｃ）が所定の基準値に満たない場合には、パターン認識部１２２は、入力された未知パターンはいずれの学習パターン群にも属さないパターンとみなす。
【００３８】
図４は、パターン認識装置１００のハードウェア構成を示すブロック図である。パターン認識装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、メモリ１０２、記憶装置１０３、インターフェース１０４、及び入力装置１０５を備える。
【００３９】
ＣＰＵ１０１は、記憶装置１０３に記録されたプログラムをメモリ１０２上に展開して実行することにより、パターン認識装置１００の全体の制御及び演算処理を行うプロセッサである。また、ＣＰＵ１０１は、記憶装置１０３に処理結果のデータを記録するとともに、インターフェース１０４を介して処理結果のデータを外部に送信する。
【００４０】
メモリ１０２は、ＣＰＵ１０１が処理中のデータや記憶装置１０３から読み出されたデータを一時的に記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを含む。
【００４１】
記憶装置１０３は、ＣＰＵ１０１が実行するプログラムや、プログラムによる処理結果のデータなどを記憶する。記憶装置１０３は、読み取り専用のＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）や、読み書き可能のハードディスクドライブ又はフラッシュメモリなどを含む。また、記憶装置１０３は、ＣＤ−ＲＯＭなどのコンピュータ読取可能な可搬記憶媒体を含んでもよい。
【００４２】
インターフェース１０４は、データの送受信を行う通信部であり、有線通信及び無線通信の少なくとも一方の通信方式を実行可能に構成される。インターフェース１０４は、該通信方式に必要なプロセッサ、電気回路、アンテナ、接続端子などを含む。インターフェース１０４は、ＣＰＵ１０１からの信号に従って、該通信方式を用いて通信を行う。
【００４３】
入力装置１０５は、ユーザからの入力を受け付けるキーボードやマウスなどを含み、入力された内容を信号としてＣＰＵ１０１に送信する。
【００４４】
なお、パターン認識装置１００は、図４に示すハードウェア構成に限定されない。パターン認識装置１００は、その他の機器をさらに備えてもよい。パターン認識装置１００は一つ又は複数の装置から構成されてもよい。また、パターン認識装置１００は他の装置と一体的に構成されてもよい。また、パターン認識装置１００が別の装置に接続される場合に、本実施形態においてパターン認識装置１００によって行われる処理の少なくとも一部は、別の装置によって行われてもよい。
【００４５】
以下、パターン認識装置１００における学習処理、認識処理、及び追加学習処理の３つの動作例を図面に基づいて詳細に説明する。
【００４６】
＜学習処理＞
図５は、パターン認識装置１００の学習処理の具体例を示すフローチャートである。この処理は、例えばユーザがパターン認識装置１００に対して全体学習モードの選択操作を行うことで開始される。
【００４７】
まず、入力部１１０は、学習対象の学習パターン群を示す入力データを受け取る（ステップＳ１０１）。このとき、入力部１１０は、入力データを制御部１２０へ出力する。また、入力された学習パターン群は、記憶部１４０に記憶される。
【００４８】
パターン学習部１２１は、式（２）の結合係数ｖ（ｃ）、ｗ（ｃ）及び閾値θ（ｃ）を初期化する（ステップＳ１０２）。次に、パターン学習部１２１は、ステップＳ１０１で入力された学習パターン群を用いて、式（２）によってニューロン活性値ｕｎ（ｃ）を計算する。そして、パターン学習部１２１は、式（３）によってニューロン出力値ｒｎ（ｃ）を計算する（ステップＳ１０３）。
【００４９】
パターン学習部１２１は、ステップＳ１０３で算出されたニューロン出力値ｒｎ（ｃ）を用いて、式（４）〜（６）によって結合係数ｖ（ｃ）、ｗ（ｃ）及び閾値θ（ｃ）を更新する（ステップＳ１０４）。次に、パターン学習部１２１は、ステップＳ１０３で算出されたニューロン出力値ｒｎ（ｃ）を用いて、式（７）によって誤差Ｅを算出する（ステップＳ１０５）。
【００５０】
ステップＳ１０５で算出された誤差Ｅが所定の基準値より大きい場合（ステップＳ１０６：ＮＯ）には、ステップＳ１０３〜Ｓ１０５の処理を繰り返す。ステップＳ１０５で算出された誤差Ｅが所定の基準値以下である場合（ステップＳ１０６：ＹＥＳ）には、学習処理を終了する。そして、学習により得られた識別関数は、記憶部１４０に記憶される。
【００５１】
図６は、学習パターン群を分離する識別曲線を示す模式図である。ここでは、学習済みの４つの学習パターン群Ａ（図中、三角形“△”）、学習パターン群Ｂ（図中、バツ印“×”）、学習パターン群Ｃ（図中、丸印“○”）、学習パターン群Ｄ（図中、四角形“□”）が、２次元平面で表されたパターン空間に配置されている。学習パターン群Ａ、Ｂ、Ｃ、Ｄは、それぞれの識別曲線によって他の学習パターン群から分離されている。
【００５２】
＜認識処理＞
図７は、パターン認識装置１００の認識処理の具体例を示すフローチャートである。この処理は、例えばユーザがパターン認識装置１００に対してパターン認識を実行するために所定の操作を行うことで開始される。
【００５３】
まず、入力部１１０は、認識対象の未知パターンを示す入力データを受け取る（ステップＳ２０１）。このとき、入力部１１０は、入力データをパターン認識部１２２へ出力する。入力データは、記憶部１４０にも記憶される。
【００５４】
パターン認識部１２２は、ステップＳ２０１で入力された未知パターン及び式（２）によってニューロン活性値ｕｎ（ｃ）を計算する。そして、パターン認識部１２２は、式（３）によってニューロン出力値ｒｎ（ｃ）を計算する（ステップＳ２０２）。ニューロン出力値ｒｎ（ｃ）は、各ニューロンについて算出される。
【００５５】
次に、パターン認識部１２２は、ステップＳ２０２で算出されたニューロン出力値ｒｎ（ｃ）を用いて、すべてのニューロンの中で最大のニューロン出力値ｒｎ（ｃ）を有するニューロンを特定する。そして、パターン認識部１２２は、当該ニューロンに対応する学習パターン群を選択する（ステップＳ２０３）。これにより、パターン認識部１２２は、ステップＳ２０３で選択された学習パターン群を、未知パターンの属する学習パターン群として決定する（ステップＳ２０４）。
【００５６】
図８は、識別曲線に基づく未知パターンＵ１、Ｕ２の識別例を示す模式図である。ここでは、図６に示した２次元平面に対し、未知パターンＵ１（図中、星印“☆”）及び未知パターンＵ２（図中、黒塗り星印“★”）が、新たに配置されている。未知パターンＵ１は、学習パターン群Ａの識別曲線の領域内に存在している。また、未知パターンＵ２は、学習パターン群Ｄの識別曲線の領域内に存在している。このため、パターン認識部１２２は、未知パターンＵ１が学習パターン群Ａに、未知パターンＵ２が学習パターン群Ｄにそれぞれ属するものとみなす。
【００５７】
＜追加学習処理＞
図９は、パターン認識装置１００の追加学習処理の具体例を示すフローチャートである。この処理は、例えばユーザがパターン認識装置１００に対して追加学習モードの選択操作を行うことで開始される。
【００５８】
まず、入力部１１０は、新規パターン群を示す入力データを受け取る（ステップＳ３０１）。このとき、入力部１１０は、入力データをパターン認識部１２２に出力する。また、入力データは、記憶部１４０に記憶される。そして、パターン認識部１２２は、新規パターン群のすべてのパターンを学習済みの識別関数に入力することで認識処理を実行する。その後、パターン認識部１２２は、認識処理の結果を制御部１２０へ出力する。この処理により、学習済みの識別関数において、新規パターン群に属するパターンを既存の学習パターン群として誤って識別するか否かを確認できる。なお、ステップＳ３０１の処理内容は、図７に示すフローチャートと同様であるが、全体学習モードの場合とは入力データが異なり、新規パターン群に属するパターンのみである。
【００５９】
次に、制御部１２０は、パターン認識部１２２における処理結果を取得すると、既存（学習済み）の学習パターン群に対応する識別関数の中に、新規パターン群に属するパターンを誤って識別した既存の識別関数が有るか否かを判定する（ステップＳ３０２）。ここで、制御部１２０は、誤って識別した既存の識別関数が有ると判定した場合（ステップＳ３０２：ＹＥＳ）には、新規パターン群に属するパターンを誤って識別した既存の識別関数を選択する（ステップＳ３０３）。
【００６０】
次に、制御部１２０は、新規パターン群に対応する識別関数と、新規パターン群に属するパターンを誤って識別した既存の識別関数とをパターン学習部１２１における学習対象として選択する（ステップＳ３０４）。
【００６１】
制御部１２０は、新規パターン群に属するパターンを誤って識別した既存の識別関数は無いと判定した場合（ステップＳ３０２：ＮＯ）には、新規パターン群に対応する識別関数のみをパターン学習部１２１における学習対象として選択する（ステップＳ３０５）。
【００６２】
ステップＳ３０６において、パターン学習部１２１は、学習対象の識別関数を学習する。なお、ステップＳ３０６の処理内容は、図７に示すフローチャートと同様であるが、学習対象の識別関数はステップＳ３０２の判定結果によって変動する。
【００６３】
図１０は、学習済みの識別曲線に基づく新規パターン群の識別例を示す模式図である。ここでは、図６に示した２次元平面に対して、未学習の新規パターン群Ｘ（図中、黒塗り丸印“●”）が配置されている。新規パターン群Ｘに属するすべてのパターンは、本来、学習済みの学習パターン群のいずれにも属さない。しかし、新規パターン群Ｘに対応する識別関数を未学習の場合には、既存の識別関数が新規パターン群Ｘのいずれかのパターンを誤って識別する場合がある。
【００６４】
例えば、図１０では、新規パターン群Ｘに属する新規パターンＸ１、Ｘ２は、学習パターン群Ａの識別曲線の領域内に存在している。このため、パターン認識部１２２は、学習パターン群Ａに属するパターンとして新規パターンＸ１、Ｘ２を誤って識別する。同様に、新規パターンＸ３は、学習パターン群Ｃの識別曲線の領域内に存在している。このため、パターン認識部１２２は、学習パターン群Ｃに属するパターンとして新規パターンＸ３を誤って識別する。
【００６５】
このような状態を解消するためには、パターン認識装置１００は、学習パターン群Ａ、学習パターン群Ｃ、及び新規パターン群Ｘに対応する識別曲線を更新する必要がある。一方、学習パターン群Ｂ及び学習パターン群Ｄについては、新規パターン群Ｘに属する全パターンを正確に識別できるため、識別曲線を変更する必要はない。
【００６６】
例えば、図１０では、学習パターン群Ａ、学習パターン群Ｃ、及び新規パターン群Ｘにそれぞれ対応する識別曲線のみが学習対象として選択される。学習パターン群Ｂ及び学習パターン群Ｄにそれぞれ対応する識別曲線の学習は不要である。ただし、本実施形態では、学習パターン群Ａ、学習パターン群Ｃ、及び新規パターン群Ｘにそれぞれ対応する識別曲線は、既存の学習パターン群Ａ〜Ｄと新規パターン群Ｘに属するすべてのパターンを考慮して学習するものとする。例えば、学習パターン群Ａの識別曲線は、学習パターン群Ａに属するすべてのパターン（図中、“△”）が識別曲線の内側の領域に存在し、かつ、学習パターン群Ａ以外に属するすべてのパターン（図中、“□”、“×”、“○”、“●”）が当該領域に存在しないように設定される。なお、既存の学習パターン群に対応する識別曲線が新規パターン群に属するすべての新規パターンを正確に識別できる場合には、新規パターン群に対応する識別曲線のみを学習対象とする。
【００６７】
図１１は、追加学習後の識別曲線を示す模式図である。ここでは、追加学習処理が実行されたことにより、学習パターン群Ａ及び学習パターン群Ｃの識別曲線が更新されている。図中の破線Ｌ１及び破線Ｌ２は、追加学習前における学習パターン群Ａ及び学習パターン群Ｃの識別曲線をそれぞれ示している。また、新規パターン群Ｘに対応する識別曲線が新たに追加されている。図１１では、図１０において誤って識別されていた新規パターンＸ１、Ｘ２、Ｘ３は、いずれも新規パターン群Ｘの識別曲線の内側の領域に存在している。また、学習パターン群Ａ及び学習パターン群Ｃにそれぞれ属する学習パターンは、追加学習後（更新後）の識別曲線の内側の領域に存在している。すなわち、学習パターン群Ａ及び学習パターン群Ｃに対応する識別曲線は、新規パターン群Ｘに属するすべてのパターンを正確に識別できる。
【００６８】
以上のように、本実施形態に係るパターン認識装置１００は、学習を完了した高次パーセプトロンに対して、新規パターン群に属する新規パターンを入力することで、新規パターンを既存の学習パターン群のパターンとして誤って識別するか否かを予め確認する。そして、パターン認識装置１００は、新規パターンを誤って識別した既存学習パターン群に対応する識別曲線と新規パターン群にそれぞれ対応する識別曲線のみを追加学習モードでの学習対象とする。これにより、学習対象の識別関数を少なくできるため、ニューラルネットワークにおける追加学習の処理時間を短縮できる。
【００６９】
また、パターン学習部１２１は、ニューラルネットワークにおけるニューロンの活性値を示す高次元式に学習パターン群を適用することで、学習パターン群に対応する識別関数を学習する。学習パターン群を非線形な識別線又は識別面によって分離できるため、未知パターン群に対する汎化能力が向上する。
【００７０】
［第２の実施形態］
図１２は、パターン認識装置２００の機能を示すブロック図である。パターン認識装置２００は、学習部２１０及び制御部２２０を備える。学習部２１０は、ニューラルネットワークに複数の第１のパターン群を入力し、複数の第１のパターン群に対応する複数の第１の識別関数を学習する。制御部２２０は、複数の第１のパターン群とは異なる第２のパターン群に属する第２のパターンを第１のパターン群に属すると識別する第１の識別関数を複数の第１の識別関数から選択し、選択した第１の識別関数を学習部２１０に再学習させるとともに、第２のパターン群に対応する第２の識別関数を学習部２１０に学習させる。
【００７１】
第２の実施形態に係るパターン認識装置２００によれば、ニューラルネットワークにおける追加学習の処理時間を短縮できる。
【００７２】
［変形実施形態］
以上、実施形態を参照して本発明を説明したが、本発明は上述の実施形態に限定されるものではない。本願発明の構成及び詳細には本発明の要旨を逸脱しない範囲で、当業者が理解し得る様々な変形をできる。例えば、いずれかの実施形態の一部の構成を、他の実施形態に追加した実施形態、あるいは他の実施形態の一部の構成と置換した実施形態も本発明を適用し得る実施形態であると理解されるべきである。
【００７３】
例えば、上述の第１の実施形態では、ニューラルネットワークの一種である高次パーセプトロンを用いて識別関数を学習する構成を示したが、本発明の学習手法はニューロンの活性値を一次式で示す単純パーセプトロンにも適用できる。第１の実施形態と同様に、追加学習の効率化及び高速化を図ることができる。
【００７４】
また、上述の第１の実施形態では、追加学習処理において、新規パターン群及び学習済みの学習パターン群のすべてのパターンを入力するものとしたが、入力するパターンを限定することもできる。例えば、新規パターン群の全パターンと、新規パターン群のパターンについて誤って識別する学習パターン群の全パターンのみを入力し、各群に対応する識別関数を学習してもよい。この場合、追加学習をさらに高速化することができる利点がある。
【００７５】
また、上述の各実施形態の機能を実現するように該実施形態の構成を動作させるプログラムを記録媒体に記録させ、該記録媒体に記録されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記録媒体も各実施形態の範囲に含まれる。また、上述のコンピュータプログラムが記録された記録媒体はもちろん、そのコンピュータプログラム自体も各実施形態に含まれる。
【００７６】
該記録媒体としては、例えばフロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、磁気テープ、不揮発性メモリカード、ＲＯＭを用いることができる。また該記録媒体に記録されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）上で動作するものも各実施形態の範疇に含まれる。
【００７７】
また、パターン認識装置１００の少なくとも一部がＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）形式で提供されてもよい。すなわち、パターン認識装置１００を実現するための機能の少なくとも一部が、ネットワーク経由で実行されるソフトウェアによって実行されてもよい。
【００７８】
上述の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下の内容に限定されない。
【００７９】
（付記１）
ニューラルネットワークに複数の第１のパターン群を入力し、前記複数の第１のパターン群に対応する複数の第１の識別関数を学習する学習部と、
前記複数の第１のパターン群とは異なる第２のパターン群に属する第２のパターンを前記第１のパターン群に属すると識別する前記第１の識別関数を前記複数の第１の識別関数から選択し、選択した前記第１の識別関数を前記学習部に再学習させるとともに、前記第２のパターン群に対応する第２の識別関数を前記学習部に学習させる制御部とを備えることを特徴とするパターン認識装置。
【００８０】
（付記２）
前記複数の第１の識別関数に基づいて前記第２のパターンを識別する識別部を備え、
前記制御部は、前記識別部における識別結果に基づいて前記第１の識別関数を選択することを特徴とする付記１に記載のパターン認識装置。
【００８１】
（付記３）
前記学習部は、前記ニューラルネットワークにおけるニューロンの活性値を示す高次元式に基づいて前記第１の識別関数及び前記第２の識別関数を学習することを特徴とする付記１又は２に記載のパターン認識装置。
【００８２】
（付記４）
前記学習部は、前記高次元式から出力された前記活性値を所定の活性化関数に基づいて前記ニューロンの出力値に変換し、前記出力値と前記第１のパターン群及び前記第２のパターン群に対応する正解データとの誤差が所定の基準値以下になるまで、前記高次元式における結合係数及び閾値の更新を繰り返すことを特徴とする付記３に記載のパターン認識装置。
【００８３】
（付記５）
前記制御部は、
前記複数の第１の識別関数のすべてを前記学習部の学習対象とする第１の学習モードと、
前記選択した前記第１の識別関数及び前記第２の識別関数のみを前記学習対象とする第２の学習モードとを切り替えることを特徴とする付記１乃至４のいずれかに記載のパターン認識装置。
【００８４】
（付記６）
ニューラルネットワークに複数の第１のパターン群を入力し、前記複数の第１のパターン群に対応する複数の第１の識別関数を学習するステップと、
前記複数の第１のパターン群とは異なる第２のパターン群に属する第２のパターンを前記第１のパターン群に属すると識別する前記第１の識別関数を前記複数の第１の識別関数から選択するステップと、
選択した前記第１の識別関数を再学習するとともに、前記第２のパターン群に対応する第２の識別関数を学習するステップとを備えることを特徴とするパターン認識方法。
【００８５】
（付記７）
コンピュータに、
ニューラルネットワークに複数の第１のパターン群を入力し、前記複数の第１のパターン群に対応する複数の第１の識別関数を学習するステップと、
前記複数の第１のパターン群とは異なる第２のパターン群に属する第２のパターンを前記第１のパターン群に属すると識別する前記第１の識別関数を前記複数の第１の識別関数から選択するステップと、
選択した前記第１の識別関数を再学習するとともに、前記第２のパターン群に対応する第２の識別関数を学習するステップとを実行させることを特徴とするプログラム。
【符号の説明】
【００８６】
１００・・・パターン認識装置
１０１・・・ＣＰＵ
１０２・・・メモリ
１０３・・・記憶装置
１０４・・・インターフェース
１０５・・・入力装置
１１０・・・入力部
１２０・・・制御部
１２１・・・パターン学習部
１２２・・・パターン認識部（識別部）
１３０・・・出力部
１４０・・・記憶部
２００・・・パターン認識装置
２１０・・・学習部
２２０・・・制御部
【図１】
2019128623.tif 000010
【図２】
2019128623.tif 000011
【図３】
2019128623.tif 000012
【図４】
2019128623.tif 000013
【図５】
2019128623.tif 000014
【図６】
2019128623.tif 000015
【図７】
2019128623.tif 000016
【図８】
2019128623.tif 000017
【図９】
2019128623.tif 000018
【図１０】
2019128623.tif 000019
【図１１】
2019128623.tif 000020
【図１２】
2019128623.tif 000021