(57)【要約】【課題】連想記憶モデルに記憶させる画像パターンのスパース性を一部保持したまま画像のパターン間の相関を取り除き、干渉の発生や記憶容量の低下を防ぐことができる、画像認識装置、画像認識方法、および、プログラムを提供することを課題とする。【解決手段】本発明は、指定された複数の画像の元パターンに基づいて、二値のうち元パターンにおいて出現頻度が高いビットの反転を抑制する割当確率でランダムな二値パターンであるマスクパターンを生成し、元パターンとマスクパターンとの排他的論理和または否定排他的論理和を求めることにより、上記出現頻度が高い値のビット反転を抑制した被マスクパターンを生成する論理演算ステップと、マスクパターンに対応付けた被マスクパターンを連結パターンとして、ニューラルネットワークを用いた連想記憶モデルにて学習させることを特徴とする。【選択図】図１０
2015141541.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも記憶部と制御部を備えた画像認識装置であって、
上記制御部は、
指定された複数の画像の元パターンに基づいて、二値のうち上記元パターンにおいて出現頻度が高いビットの反転を抑制する割当確率でランダムな二値パターンであるマスクパターンを生成するマスク生成手段と、
上記元パターンと上記マスクパターンとの排他的論理和または否定排他的論理和を求めることにより、上記出現頻度が高い値のビット反転を抑制した被マスクパターンを生成する論理演算手段と、
上記マスクパターンに対応付けた上記被マスクパターンを連結パターンとして、ニューラルネットワークを用いた連想記憶モデルにて学習させる学習手段と、
を備えたことを特徴とする画像認識装置。
【請求項２】
請求項１に記載の画像認識装置において、
上記マスク生成手段は、
上記元パターンの発火率が０または１に近いほど上記割当確率を小さく設定すること、
を特徴とする画像認識装置。
【請求項３】
請求項２に記載の画像認識装置において、
上記マスク生成手段は、
以下の式に基づいて上記割当確率を求めること、
を特徴とする画像認識装置。
【数１】
2015141541.tif 000019
【請求項４】
請求項２または３に記載の画像認識装置において、
上記マスク生成手段は、
上記元パターンの発火率が０または１に近いほど、また、上記複数の元パターン間の相関が小さいほど、上記割当確率を小さく設定すること、
を特徴とする画像認識装置。
【請求項５】
請求項１乃至４のいずれか一つに記載の画像認識装置において、
上記論理演算手段は、
上記複数の画像のうち上記元パターン中の任意の数のビットごとに共通した上記マスクパターンを設定して、上記被マスクパターンを作成すること、
を特徴とする画像認識装置。
【請求項６】
請求項５に記載の画像認識装置において、
上記論理演算手段は、
上記複数の画像による長さＮの上記元パターンを、先頭からＬ−１個ずつのブロック単位に区切り、ブロック毎に値が異なる上記マスクパターンを設定して、ＬＮ／（Ｌ−１）の長さの上記連結パターンを生成すること、
を特徴とする画像認識装置。
【請求項７】
請求項６に記載の画像認識装置において、
上記マスク生成手段は、
上記ブロック毎に値が異なる上記マスクパターンを設定するために、上記割当確率ｐから、以下の式に基づいて、上記ブロック内のビット列を反転させる振り分け確率ｇを求めること、
を特徴とする画像認識装置。
【数２】
2015141541.tif 000020
【請求項８】
請求項１乃至７のいずれか一つに記載の画像認識装置において、
上記論理演算手段は、
上記画像の一次元二値データを上記元パターンとして、同じまたは短い長さの上記元パターンに基づく上記割当確率の上記ランダムな二値データを上記マスクパターンとして、両データの対応する値同士の排他的論理和または否定排他的論理和を求めることにより上記被マスクパターンを生成すること、
を特徴とする画像認識装置。
【請求項９】
請求項１乃至８のいずれか一つに記載の画像認識装置において、
上記学習手段は、
上記マスクパターンを上記記憶部に格納し、
上記論理演算手段は、
指定された、手がかり画像である照合パターンに対して、上記記憶部に記憶された複数の上記マスクパターンの一つを用いて上記排他的論理和または上記否定排他的論理和を求めることにより、マスク化照合パターンを生成し、
上記制御部は、
上記マスク化照合パターンを上記連想記憶モデルに導入して収束するまで状態更新を繰り返し、収束状態のエネルギー関数の値が閾値以下の結果を得られない場合は、別の上記マスクパターンによるマスク化照合パターンを試行することにより、元パターンを探索する想起手段、
を更に備えたことを特徴とする画像認識装置。
【請求項１０】
少なくとも記憶部と制御部を備えたコンピュータにおいて実行される画像認識方法であって、
上記制御部において、
指定された複数の画像の元パターンに基づいて、二値のうち上記元パターンにおいて出現頻度が高いビットの反転を抑制する割当確率でランダムな二値パターンであるマスクパターンを生成するマスク生成ステップと、
上記元パターンと上記マスクパターンとの排他的論理和または否定排他的論理和を求めることにより、上記出現頻度が高い値のビット反転を抑制した被マスクパターンを生成する論理演算ステップと、
上記マスクパターンに対応付けた上記被マスクパターンを連結パターンとして、ニューラルネットワークを用いた連想記憶モデルにて学習させる学習ステップと、
を含むことを特徴とする画像認識方法。
【請求項１１】
少なくとも記憶部と制御部を備えたコンピュータに実行させるためのプログラムであって、
上記制御部において、
指定された複数の画像の元パターンに基づいて、二値のうち上記元パターンにおいて出現頻度が高いビットの反転を抑制する割当確率でランダムな二値パターンであるマスクパターンを生成するマスク生成ステップと、
上記元パターンと上記マスクパターンとの排他的論理和または否定排他的論理和を求めることにより、上記出現頻度が高い値のビット反転を抑制した被マスクパターンを生成する論理演算ステップと、
上記マスクパターンに対応付けた上記被マスクパターンを連結パターンとして、ニューラルネットワークを用いた連想記憶モデルにて学習させる学習ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像認識装置、画像認識方法、および、プログラムに関する。
【背景技術】
【０００２】
従来、ニューラルネットワークにおける連想記憶モデルとして、自己連想記憶モデルや系列連想記憶モデル等が開発されている。
【０００３】
例えば、特許文献１では、記憶層で、自己増殖型ニューラルネットワークを用いて、入力ベクトルのパターンに対応するノードを接続したサブネットワークを構成して、入力ベクトルのサブクラスとして学習し、連想層で、記憶層にて保持された連想のキーとなるキーベクトルのキークラスと、そのキーベクトルから想起される連想クラスとの間に関連を張り、入力されたキーベクトルから、そのキークラス又は連想クラスに対応するノードの重みを想起結果として出力することが開示されている。
【０００４】
また、非特許文献１には、カラー画像を二値データに変換し、あるビットを反転させてリバーシブル符号を生成し、ニューラルネットワークに記憶させることにより、復号化した際に、あるビット表現と反転表現が同じ整数値となるよう調整することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−８６１３２号公報
【非特許文献】
【０００６】
【非特許文献１】Ｏｋｕ，  Ｍａｋｉｔｏ，  Ａｉｈａｒａ，  Ｋａｚｕｙｕｋｉ，  “Ａｓｓｏｃｉａｔｉｖｅ  ｄｙｎａｍｉｃｓ  ｏｆ  ｃｏｌｏｒ  ｉｍａｇｅｓ  ｉｎ  ａ  ｌａｒｇｅ−ｓｃａｌｅ  ｃｈａｏｔｉｃ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ”，  Ｎｏｎｌｉｎｅａｒ  Ｔｈｅｏｒｙ  ａｎｄ  Ｉｔｓ  Ａｐｐｌｉｃａｔｉｏｎｓ，  ＩＥＩＣＥ，  Ｖｏｌｕｍｅ  ２，  Ｉｓｓｕｅ  ４，  ｐｐ．  ５０８−５２１  （２０１１）．
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の連想記憶モデルにおいては、マスクパターンによって元画像パターンを乱雑化し、連想記憶モデルに記憶させる際に、乱雑化されたパターンがスパース性を失うため、連想記憶モデルが本来有する、スパース性による記憶容量増加の効果を得られないという問題点を有していた。
【０００８】
本発明は、上記問題点に鑑みてなされたもので、連想記憶モデルに記憶させる画像パターンのスパース性を一部保持したまま画像のパターン間の相関を取り除き、干渉の発生や記憶容量の低下を防ぐことができる、画像認識装置、画像認識方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
このような目的を達成するため、本発明の画像認識装置は、少なくとも記憶部と制御部を備えた画像認識装置であって、上記制御部は、指定された複数の画像の元パターンに基づいて、二値のうち上記元パターンにおいて出現頻度が高いビットの反転を抑制する割当確率でランダムな二値パターンであるマスクパターンを生成するマスク生成手段と、上記元パターンと上記マスクパターンとの排他的論理和または否定排他的論理和を求めることにより、上記出現頻度が高い値のビット反転を抑制した被マスクパターンを生成する論理演算手段と、上記マスクパターンに対応付けた上記被マスクパターンを連結パターンとして、ニューラルネットワークを用いた連想記憶モデルにて学習させる学習手段と、を備えたことを特徴とする。
【００１０】
また、本発明の画像認識装置は、上記記載の画像認識装置において、上記マスク生成手段は、上記元パターンの発火率が０または１に近いほど上記割当確率を小さく設定すること、を特徴とする。
【００１１】
また、本発明の画像認識装置は、上記記載の画像認識装置において、上記マスク生成手段は、以下の式に基づいて上記割当確率を求めること、を特徴とする。
【数１】
2015141541.tif 000003
【００１２】
また、本発明の画像認識装置は、上記記載の画像認識装置において、上記マスク生成手段は、上記元パターンの発火率が０または１に近いほど、また、上記複数の元パターン間の相関が小さいほど、上記割当確率を小さく設定すること、を特徴とする。
【００１３】
また、本発明の画像認識装置は、上記記載の画像認識装置において、上記論理演算手段は、上記複数の画像のうち上記元パターン中の任意の数のビットごとに共通した上記マスクパターンを設定して、上記被マスクパターンを作成すること、を特徴とする。
【００１４】
また、本発明の画像認識装置は、上記記載の画像認識装置において、上記論理演算手段は、上記複数の画像による長さＮの上記元パターンを、先頭からＬ−１個ずつのブロック単位に区切り、ブロック毎に値が異なる上記マスクパターンを設定して、ＬＮ／（Ｌ−１）の長さの上記連結パターンを生成すること、を特徴とする。
【００１５】
また、本発明の画像認識装置は、上記記載の画像認識装置において、上記マスク生成手段は、上記ブロック毎に値が異なる上記マスクパターンを設定するために、上記割当確率ｐから、以下の式に基づいて、上記ブロック内のビット列を反転させる振り分け確率ｇを求めること、を特徴とする。
【数２】
2015141541.tif 000004
【００１６】
また、本発明の画像認識装置は、上記記載の画像認識装置において、上記論理演算手段は、上記画像の一次元二値データを上記元パターンとして、同じまたは短い長さの上記元パターンに基づく上記割当確率の上記ランダムな二値データを上記マスクパターンとして、両データの対応する値同士の排他的論理和または否定排他的論理和を求めることにより上記被マスクパターンを生成すること、を特徴とする。
【００１７】
また、本発明の画像認識装置は、上記記載の画像認識装置において、上記学習手段は、上記マスクパターンを上記記憶部に格納し、上記論理演算手段は、指定された、手がかり画像である照合パターンに対して、上記記憶部に記憶された複数の上記マスクパターンの一つを用いて上記排他的論理和または上記否定排他的論理和を求めることにより、マスク化照合パターンを生成し、上記制御部は、上記マスク化照合パターンを上記連想記憶モデルに導入して収束するまで状態更新を繰り返し、収束状態のエネルギー関数の値が閾値以下の結果を得られない場合は、別の上記マスクパターンによるマスク化照合パターンを試行することにより、元パターンを探索する想起手段、を更に備えたことを特徴とする。
【００１８】
また、本発明は画像認識方法に関するものであり、本発明の画像認識方法は、少なくとも記憶部と制御部を備えたコンピュータにおいて実行される画像認識方法であって、上記制御部において、指定された複数の画像の元パターンに基づいて、二値のうち上記元パターンにおいて出現頻度が高いビットの反転を抑制する割当確率でランダムな二値パターンであるマスクパターンを生成するマスク生成ステップと、上記元パターンと上記マスクパターンとの排他的論理和または否定排他的論理和を求めることにより、上記出現頻度が高い値のビット反転を抑制した被マスクパターンを生成する論理演算ステップと、上記マスクパターンに対応付けた上記被マスクパターンを連結パターンとして、ニューラルネットワークを用いた連想記憶モデルにて学習させる学習ステップと、を含むことを特徴とする。
【００１９】
また、本発明はプログラムに関するものであり、本発明のプログラムは、少なくとも記憶部と制御部を備えたコンピュータに実行させるためのプログラムであって、上記制御部において、指定された複数の画像の元パターンに基づいて、二値のうち上記元パターンにおいて出現頻度が高いビットの反転を抑制する割当確率でランダムな二値パターンであるマスクパターンを生成するマスク生成ステップと、上記元パターンと上記マスクパターンとの排他的論理和または否定排他的論理和を求めることにより、上記出現頻度が高い値のビット反転を抑制した被マスクパターンを生成する論理演算ステップと、上記マスクパターンに対応付けた上記被マスクパターンを連結パターンとして、ニューラルネットワークを用いた連想記憶モデルにて学習させる学習ステップと、を実行させることを特徴とする。
【００２０】
また、本発明は記録媒体に関するものであり、上記記載のプログラムを記録したことを特徴とする。
【発明の効果】
【００２１】
この発明によれば、指定された複数の画像の元パターンに基づいて、二値のうち上記元パターンにおいて出現頻度が高いビットの反転を抑制する割当確率でランダムな二値パターンであるマスクパターンを生成し、元パターンとマスクパターンとの排他的論理和または否定排他的論理和を求めることにより、出現頻度が高い値のビット反転を抑制した被マスクパターンを生成し、マスクパターンに対応付けた被マスクパターンを連結パターンとして、ニューラルネットワークを用いた連想記憶モデルにて学習させる。これにより、元の画像はマスクパターンによって乱雑化され、画像のパターン間の相関が小さくなるので、干渉の発生を防ぎ記憶容量の低下を抑えることができるという効果を奏する。また、上記の乱雑化を行うとともに、マスクパターンを元パターンに基づいて作成する際に、元パターンが有するスパース性を一部保持するようにランダムなマスクパターンを作成するので、連想記憶モデルが本来有する、スパース性による記憶容量増加の効果が得られる。また、重みが極端な値を取らないのでハードウェアの実装に都合がよい。
【００２２】
また、本発明によれば、マスクパターンを元パターンに基づいて作成する際に、元パターンの発火率が０または１に近いほど割当確率を小さく設定するので、スパース性が大きいほど乱雑化を抑えることにより、乱雑化によるパターン間の相関低下という効果を得つつ、適切にスパース性を保持することができるという効果を奏する。
【００２３】
また、本発明によれば、マスクパターンを元パターンに基づいて作成する際に、以下の式に基づいて割当確率を求めるので、元パターンの発火率に基づいて簡単な計算で適切な割当確率を算出することができるという効果を奏する。
【数３】
2015141541.tif 000005
【００２４】
また、本発明によれば、マスクパターンを元パターンに基づいて作成する際に、元パターンの発火率が０または１に近いほど、また、複数の元パターン間の相関が小さいほど、割当確率を小さく設定するので、パターン間の相関が大きく、スパース性が小さい場合には、乱雑化による記憶容量の増加を優先しつつ、パターン間の相関が小さく、スパース性が大きい場合には、スパース性の維持による記憶容量の増加を優先することで、記憶容量の増加を図ることができるという効果を奏する。
【００２５】
また、本発明によれば、複数の画像の元パターン中の任意の数のビットごとに共通したマスクパターンを設定して、被マスクパターンを作成するので、マスクパターンの部分が増えることによる連結パターンの延長を抑えることができ、記憶容量の低下を抑えることができるという効果を奏する。
【００２６】
また、本発明によれば、複数の画像による長さＮの元パターンを、先頭からＬ−１個ずつのブロック単位に区切り、ブロック毎に値が異なるマスクパターンを設定して、ＬＮ／（Ｌ−１）の長さの連結パターンを生成する。これにより、本発明は、マスクパターンをブロック単位で設定して、連結パターンの延長を抑えることができ、記憶容量の低下を抑えることができるという効果を奏する。
【００２７】
また、本発明によれば、ブロック毎に値が異なるマスクパターンを設定するために、割当確率ｐから、以下の式に基づいて、ブロック内のビット列を反転させる振り分け確率ｇを求めることにより、ビットを反転させるブロックを割当確率から適切に求めることができるという効果を奏する。
【数４】
2015141541.tif 000006
【００２８】
また、本発明によれば、画像の一次元二値データを元パターンとして、同じまたは短い長さの元パターンに基づく割当確率のランダムな二値データをマスクパターンとして、両データの対応する値同士の排他的論理和または否定排他的論理和を求めることにより被マスクパターンを生成するので、簡単な計算で元画像間の相関を小さくすることができるという効果を奏する。
【００２９】
また、本発明によれば、指定された、手がかり画像である照合パターンに対して、記憶部に記憶された複数のマスクパターンの一つを用いて排他的論理和または否定排他的論理和を求めることにより、マスク化照合パターンを生成し、マスク化照合パターンを連想記憶モデルに導入して収束するまで状態更新を繰り返し、収束状態のエネルギー関数の値が閾値以下の結果を得られるまで、別のマスクパターンによるマスク化照合パターンを試行して、元パターンを探索する。これにより、本発明は、マスクパターンが分からない場合であっても、照合パターンから対応する正解パターン候補を探し出すことができるという効果を奏する。
【図面の簡単な説明】
【００３０】
【図１】図１は、連想記憶モデルの記銘段階を模式的に示した図である。
【図２】図２は、連想記憶モデルの想起段階を模式的に示す図である。
【図３】図３は、互いに相関が小さいパターンを記憶させる場合を模式的に示した図である。
【図４】図４は、互いに相関が大きいパターンを記憶させる場合を模式的に示した図である。
【図５】図５は、元パターンとマスクパターンと被マスクパターンと連結パターンの関係を示す図である。
【図６】図６は、ＸＮＯＲ演算およびＸＯＲ演算の一例を示す図である。
【図７】図７は、連結パターンの一例を示す図である。
【図８】図８は、ブロック単位に異なるマスクパターンｒｋを設定した連結パターンの一例を示す図である。
【図９】図９は、スパースなパターンとスパースでないパターンを模式的に示す図である。
【図１０】図１０は、本実施の形態によりスパース性を一部保持したまま乱雑化させて被マスクパターンを生成する処理を模式的に示した図である。
【図１１】図１１は、ビット「１」が少数派の場合のＸＯＲ演算の一例を示す図である。
【図１２】図１２は、ビット「０」が少数派の場合のＸＮＯＲ演算の一例を示す図である。
【図１３】図１３は、ビット「１」が少数派の場合のブロック処理の一例を示す図である。
【図１４】図１４は、ビット「０」が少数派の場合のブロック処理の一例を示す図である。
【図１５】図１５は、本実施の形態が適用される画像認識装置１００の一例を示すブロック図である。
【図１６】図１６は、元パターンの発火率ｆと相関ｂに対して、最適な割当確率ｐを示したグラフである。
【図１７】図１７は、元パターンの発火率ｆと相関ｂに対して最適な割当確率ｐを設定した場合の記憶容量を示した図である。
【図１８】図１８は、本実施の形態における画像認識装置１００の基本処理の一例を示すフローチャートである。
【図１９】図１９は、本実施の形態における画像認識装置１００の学習処理の一例を示すフローチャートである。
【図２０】図２０は、本実施の形態における画像認識装置１００の想起処理の一例を示すフローチャートである。
【図２１】図２１は、本実施の形態における画像認識装置１００の系列連想記憶モデルを用いた想起処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００３１】
以下に、本発明にかかる画像認識装置、画像認識方法、および、プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。例えば、本実施の形態に示す連想記憶モデルに限らず、様々な連想記憶モデルに本発明を適用してもよい。また、以下の実施の形態では、連想記憶モデルとして自己連想記憶モデルを例に説明する場合があるが、これに限られず、系列連想記憶モデル等に適用してもよい。また、連想記憶モデルは、ニューラルネットワークの動態は確率論的であっても決定論的であってもよい。また、本実施の形態において、ニューラルネットワークの結合が密な場合（例えば、全ての神経細胞ユニットが互いに結合しているネットワーク）を例にして説明することがあるが、これに限られず、結合が疎なニューラルネットワークを用いてもよい。
【００３２】
［本発明の実施の形態の概要］
以下、本発明の実施の形態の概要について図１〜図１４を参照して説明し、その後、本実施の形態の構成および処理等について詳細に説明する。ここで、図１は、連想記憶モデルの記銘段階を模式的に示した図である。
【００３３】
連想記憶モデルとは、神経回路網（ニューラルネットワーク）モデルの一種である。連想記憶モデルの一種である、ホップフィールド・ネットワークは、１９８２年にＨｏｐｆｉｅｌｄによって提唱されたニューラルネットワークの一モデルである。一例として図１に示すように、神経細胞（ニューロン）ユニットが結合されたニューラルネットワークを構築しておき、神経細胞ユニット間で相互作用させる。神経細胞ユニット間の結合の強さは重み（結合係数）として表現され、学習により強度が増減する。
【００３４】
図１では、ニューラルネットワークに、４つのパターンの二値画像を記憶させる記銘段階が模式的に示されている。自己連想記憶モデルの記銘段階では、複数の記憶パターンを記憶させて、想起段階では、その中から１つのパターンを想起させるものである。ネットワークにおける各神経細胞ユニットは、結合する他の神経細胞ユニットからの入力の総和によって、発火するか否かが決まる。自己連想記憶モデルにおける記憶パターンとは、神経細胞ユニットの活動状態（典型的には、発火状態と休止状態の二種類）の並び方のことである。ホップフィールドのモデルでは、記銘段階で、シナプス結合の重みを特定の学習則（Ｈｅｂｂ則等）に従い定めることで、記憶パターンは、ニューラルネットワークに記憶される。また、想起段階で、ネットワークの状態を表すエネルギー関数が状態更新則に従って単調に減少し、極小値状態に至るまで繰り返し更新処理が実行される。図２は、連想記憶モデルの想起段階を模式的に示す図である。
【００３５】
図２に示すように、自己連想記憶モデルの想起段階では、手がかりとなる照合パターンから、ニューラルネットワークに記憶された元のパターンを探索し、想起されたパターンを得る。より具体的には、記憶パターンを取り出す際には、まず、ニューラルネットワークに手がかりとなる初期パターンを与え、次に、ニューラルネットワークの状態を特定の規則に従い複数回更新することにより、所望の記憶パターンを得る。なお、手がかりパターンは、元のパターンそのものでなくともよく、求めたいパターンの一部を乱したものであってもよい。すなわち、自己連想記憶モデルでは、入力として与えた手がかりパターンと最も似ている記憶済みのパターンが得られる。
【００３６】
ネットワークにおけるニューロンの数（神経細胞ユニット数）Ｎが増えるほど記憶できるパターン数は増えるが、パターン間の相関によって記憶できるパターンの数に限界がある。自己連想記憶モデルが覚えられるパターン数を記憶容量と呼ぶ。理論的な記憶容量の上限として、標準的な学習則や状態更新則を用いた場合には、ニューラルネットワークおよび記憶パターンの大きさＮに対して、およそ０．１４Ｎ程度であることが知られているが、実際には、記憶パターンの相関に大きく影響される。ここで、図３は、互いに相関が小さいパターンを記憶させる場合を、図４は、互いに相関が大きいパターンを記憶させる場合を模式的に示した図である。
【００３７】
図３に示すように、記憶パターンがランダムなパターンであって、互いに相関が小さい場合は、理論的な限界に近い０．１４Ｎの記憶容量が得られる。さらに、記憶パターンが無相関かつスパースである場合（各ビットの値の出現頻度が二値のいずれか一方に大きく偏っている場合）には記憶容量がより増加することが一般に知られている。しかしながら、図４に示すように、記憶パターンがスパースである場合もそうでない場合も、互いに似通ったパターンを記憶させる場合、記憶パターン間の相関が大きいために、互いに干渉して、一般に記憶容量は著しく低下してしまう。
【００３８】
従来、この記憶容量の低下の問題に対して、（１）擬似逆行列を用いたり逐次的に重みを調節したりすることによって学習則を改善する方法、（２）末尾にビットを足したりビットの一部を変更したりすることによってパターン自体に変更を加える方法等が提案されている。しかし、従来の手法はいずれも計算負荷が大きいため、神経回路網および記憶パターンの大きさＮが大きい場合には適用することが困難であった。
【００３９】
そこで、本願の発明者らが鋭意検討を行い、以下の新手法を開発するに至った。一例として、新手法は、（１）記憶パターン（元パターン）に対してマスクパターンを用意し、（２）記憶パターンとマスクパターンのＸＮＯＲ演算またはＸＯＲ演算により被マスクパターンを生成し、（３）マスクパターンと被マスクパターンを連結した連結パターンを神経回路網に記憶させることを基本的な要素としている。このようにマスクパターンを用いて乱雑化することにより、記憶させるパターンを擬似的に直交化して、相関による記憶容量の低下を抑えることができる。ここで、図５は、元パターンとマスクパターンと被マスクパターンと連結パターンの関係を示す図である。
【００４０】
二値の信号列を乱雑化する目的でＸＯＲ演算あるいはＸＮＯＲ演算を行う。図５に示すように、原理としては、元の信号列（元パターン）と、それをマスクするための（擬似）乱数列（ランダムマスク）を用意し、両者のＸＯＲ演算ないしＸＮＯＲ演算を行うことで、乱雑な信号列（被マスクパターン）が得られる。これにより、記憶パターンが乱雑化して相関が小さくなり、パターン間の干渉を低減して、記憶容量の低下を防ぐことができる。
【００４１】
より具体的には、本発明の実施の形態は、（１）ランダムな二値パターン（ランダムマスク）のマスクパターンを生成する。
【００４２】
そして、本実施の形態は、（２）指定された複数の画像の元パターンとマスクパターンとの排他的論理和（ＸＯＲ）または否定排他的論理和（ＸＮＯＲ）を求めることにより被マスクパターンを生成する。なお、マスクパターンや１番目の連結パターンは記憶部に格納してもよい。一例として、本実施の形態は、画像の一次元二値データを元パターンとして、同じまたは短い長さのランダムな二値データをマスクパターンとして、両データの対応する値同士の排他的論理和（ＸＯＲ）または否定排他的論理和（ＸＮＯＲ）を求めることにより被マスクパターンを生成する。ここで、図６は、ＸＮＯＲ演算およびＸＯＲ演算の一例を示す図である。
【００４３】
元パターン（Ｉｎｐｕｔ１）とマスクパターン（Ｉｎｐｕｔ２）として｛０，１｝の二値データを用いる場合、図６（ａ）に示すＸＮＯＲ演算を行い、被マスクパターンの値（Ｏｕｔｐｕｔ）を得る。なお、二値データは、いずれの２つの値であってもよく、一例として、元パターン（Ｏｒｉｇｉｎａｌ）とマスクパターン（Ｍａｓｋ）として｛１，−１｝の二値データを用いる場合、図６（ｂ）に示すＸＮＯＲ演算を行い、被マスクパターンの値（Ｍａｓｋｅｄ）を得てもよい。この場合のＸＮＯＲ演算は、元パターンｒｉとマスクパターンξｉを掛け合わせたものｒｉ×ξｉに相当する。
【００４４】
一方のＸＯＲ演算では、元パターン（Ｉｎｐｕｔ１）とマスクパターン（Ｉｎｐｕｔ２）が｛０，１｝の二値データを用いる場合、図６（ｃ）に示すＸＯＲ演算を行い、被マスクパターンの値（Ｏｕｔｐｕｔ）を得る。この場合も、二値データは、いずれの２つの値であってもよく、一例として、元パターン（Ｏｒｉｇｉｎａｌ）とマスクパターン（Ｍａｓｋ）が｛１，−１｝の二値データを用いる場合、図６（ｄ）に示すＸＯＲ演算を行い、被マスクパターンの値（Ｍａｓｋｅｄ）を得てもよい。この場合のＸＯＲ演算は、元パターンｒｉとマスクパターンξｉを掛け合わせ符号を入れ替えたもの−ｒｉ×ξｉに相当する。
【００４５】
つづいて、記銘段階では、本実施の形態は、（３）マスクパターンに対応付けた被マスクパターンを連結パターンとして、ニューラルネットワークを用いた連想記憶モデルにて学習させる。なお、連結パターン中のビットの並べ方は、いずれの順序であってもよい。また、連結パターンは、元パターンの情報を完全に保持している。なぜなら、マスクパターンと被マスクパターンのペアに対して再度、同じ論理演算（ＸＮＯＲ／ＸＯＲ）を行うと、元のパターンが復元できるからである。ここで、図７は、連結パターンの一例を示す図である。
【００４６】
一例として図７に示すように、本実施の形態は、一つ一つの元パターンξｋに対して異なるマスクパターンｒｋを用いてＸＯＲ／ＸＮＯＲ演算を行った被マスクパターンｒｋξｋと、マスクパターンｒｋを交互に並べて連結パターンとして記銘させてもよい（ｋはブロック番号）。この場合、元パターンの長さがＮとすると、２Ｎの長さの連結パターンが生成されることとなる。そのため、必要なニューロン数（神経細胞ユニット数）は倍増する。
【００４７】
そこで、複数の元パターンをブロック単位で区切って、ブロック単位ごとに異なるマスクパターン（ランダムマスク等）を設定して、連結パターンの長さを抑えてもよい。すなわち、マスクパターンのビット数を元パターンよりも少なく用意し、同一の要素（マスク）を複数回のＸＮＯＲ演算に続けて使用することで、連結パターンの長さを２Ｎより短くしてもよい。ここで、図８は、ブロック単位に異なるマスクパターンｒｋを設定した連結パターンの一例を示す図である。図８に示すように、本実施の形態は、複数の画像の元パターンを、先頭からＬ−１個ずつのブロック単位（マスクパターンを入れて長さＬのブロック）に区切り、ブロック毎に値が異なるマスクパターンを設定して、ＬＮ／（Ｌ−１）の長さの連結パターンを生成してもよい。図７の場合は、必要なニューロン数（神経細胞ユニット数）が２倍となるが、図８に示すようにブロック長をＬとすることによりＬ／（Ｌ−１）倍に抑えられる。
【００４８】
なお、記銘段階に続く想起段階では、通常、手がかりとなる入力パターンから、ニューラルネットワークに記憶された元のパターンを探索し、想起されたパターンを得るが、本実施の形態を適用した場合には、照合パターンに対応するマスクパターンが未知である。そのため、本実施の形態では、手がかり画像である照合パターンに対して、試行により記憶部に記憶された複数のマスクパターンの一つを用いて、排他的論理和（ＸＯＲ）または否定排他的論理和（ＸＮＯＲ）を求めることにより、マスク化照合パターンを生成し、このマスク化照合パターンを用いて、元のパターンを導出してもよい。すなわち、マスク化照合パターンを連想記憶モデルに導入して収束するまで状態更新を繰り返し、収束状態のエネルギー関数の値が閾値以下の結果を得られた場合に、想起結果のパターンを得てもよい。なお、エネルギー関数の値が閾値以下にならない場合は、別のマスクパターンによるマスク化照合パターンを試行する。
【００４９】
以上は、元パターンがスパースではなく、したがってスパース性を考慮せずにマスクパターンを生成して、元パターンの乱雑化を行う態様を示したものである。ここで、本実施の形態は、元パターンがスパースである場合は、元パターンの値に応じてマスクパターンを調整することにより、元パターンのスパース性が一部保持されるように制御する。ここで、図９は、スパースなパターンとスパースでないパターンを模式的に示す図である。
【００５０】
図９左図に示すように、各ビットの出現頻度が二値のいずれか一方に大きく偏っているものは、スパースなパターンと呼ばれている。一方、図９右図に示すように、各ビットの出現頻度が概ね均等であるものは、スパースでないパターンと呼ばれている。
【００５１】
スパースなパターンの場合、一般に、連想記憶モデルの記憶容量が大きくなることが知られている。しかしながら、上述のように元パターンのスパース性を考慮しないでマスクパターンを生成して元パターンの乱雑化を行った場合には、相関の低下は見込めるものの、スパース性が保持されないので、本来のスパース性による記憶容量の増加分は失われてしまう結果となる。
【００５２】
そこで、本願の発明者らは、鋭意検討により、元パターンのスパース性を保持しつつ、元パターン間の相関も低下させる本発明を完成するに至った。一例として、本願で提案する新手法は、（１）記憶パターン（元パターン）において二値のうち出現頻度が高いビットの反転を抑制する割当確率でランダムなマスクパターンを用意し、（２）記憶パターンとマスクパターンのＸＮＯＲ演算またはＸＯＲ演算により、出現頻度が高い値のビット反転を抑制した被マスクパターンを生成し、（３）マスクパターンと被マスクパターンを連結した連結パターンを神経回路網に記憶させることを基本的な要素とする。ここで、図１０は、本実施の形態によりスパース性を一部保持したまま乱雑化させて被マスクパターンを生成する処理を模式的に示した図である。図１０に示すように、本実施の形態は、元パターンがスパースならば、スパースな被マスクパターンを得られるように処理を行う。このように、元パターンに応じてマスクパターンを調整することで、少数派のビットについては乱雑化により擬似的な直交化を行いつつ、多数派のビットの反転を抑制して、スパース性を一部維持することにより、一層の記憶容量の増加を図ることができる。
【００５３】
より具体的な元パターンに基づくマスクパターンの調整方法の一例について説明する。ここで、図１１は、ビット「１」が少数派の場合のＸＯＲ演算の一例を示す図であり、図１２は、ビット「０」が少数派の場合のＸＮＯＲ演算の一例を示す図である。
【００５４】
一例として、図１１および図１２に示すように、少数派の元ビット（Ｏｒｉｇｉｎａｌ  ｂｉｔ）に対しては、乱雑化により相関を低下させるために、割当確率を等確率（１／２）としてランダムなマスクビット（Ｍａｓｋ  ｂｉｔ）を生成してもよい。一方、図１１および図１２に示すように、多数派の元ビットに対しては、スパース性を保持する目的で、多数派ビットの反転割合が小さくなるような割当確率でマスクビットを生成する。図の例では、元ビットが多数派ならば、割当確率ｐで元ビットを逆にし（反転させ）、確率（１−ｐ）で元ビットと同じに維持する。
【００５５】
そして、図１１に示すように、「１」が少数派の場合、本実施の形態は、元ビットとマスクビットのＸＯＲ演算を行うことで、多数派ビット「０」を割当確率ｐで反転させる。
【００５６】
一方、図１２に示すように、「０」が少数派の場合、本実施の形態は、元ビットとマスクビットのＸＮＯＲ演算を行うことで、多数派ビット「１」を割当確率ｐで反転させる。
【００５７】
以上のように、本実施の形態は、出現頻度が高い多数派ビットの反転を抑制した被マスクビット（Ｍａｓｋｅｄ  ｂｉｔ）を得る。被マスクパターンが得られた後の処理は、上述と同様であり、本実施の形態は、生成した連結パターンを連想記憶モデルにて学習させる。
【００５８】
なお、スパース性を考慮して、ブロック単位でマスク化を行う場合は、本実施の形態は、次のように処理を行ってもよい。スパース性を考慮して、ブロック単位ごとに異なるマスクパターン（ランダムマスク等）を設定して連結パターンを得る方法の一例について、図１３および図１４を参照して説明する。ここで、図１３は、ビット「１」が少数派の場合のブロック処理の一例を示す図であり、図１４は、ビット「０」が少数派の場合のブロック処理の一例を示す図である。
【００５９】
上述のように、マスクパターンのビット数を元パターンよりも少なく用意し、ブロック単位で、同一の要素（マスク）を複数回の論理演算に続けて使用することで、連結パターンの長さを２Ｎより短くすることができる。スパース性を考慮する場合、一例として図１３に示すように、ブロック単位で反転させる振り分け確率ｇを設定して、ブロック毎に異なるマスクパターンｒｋを設定した連結パターンを生成する。
【００６０】
すなわち、図１３に示すように、本実施の形態は、複数の画像の元パターンを、先頭からＬ−１個ずつのブロック単位（マスクパターンを入れて長さＬのブロック）に区切る。その際、ブロック単位で反転させるか否かを決定する振り分け確率ｇを、以下の式により割当確率ｐから算出してもよい。
【数５】
2015141541.tif 000007
【００６１】
以上が本実施の形態の概要である。なお、上記においては、自己連想記憶モデルを例にして説明したが、系列連想記憶モデルを用いる場合、同様に本実施の形態を適用することができる。なお、系列連想記憶モデルは、自己連想記憶モデルの亜種であり、記憶パターンの系列を記憶し、神経回路網の状態を繰り返し更新することで、記憶したパターンを順番どおりに想起するものである。系列連想記憶モデルを用いる場合、理論的な記憶容量の上限は自己連想記憶モデルの場合とは異なるが、パターン間の相関により記憶容量が低下することに変わりはない。
【００６２】
上述のように擬似的に直交化させる手法は、（１）必要な計算が簡単な論理演算（ＸＮＯＲ／ＸＯＲ）だけなので、計算負荷が小さく実装も簡単であるというメリットがある。また、（２）個々のパターンを独立に処理することができ、パターン同士の関連性を考慮しなくてよいため、計算が簡単でパターンの追加記憶も容易に行えるというメリットがある。さらに、（３）標準的な学習則（シフトを考慮したヘブ学習則等）をそのまま適用することができ、その結果得られたシナプス結合の重みが極端な値を取らないため、ハードウェアでの実装に都合がよいというメリットがある。また、（４）神経回路網に記憶されるパターン同士が十分離れ、それらの距離もほぼ均等になるため、どの記憶パターンも安定して想起できる等のメリットがある。
【００６３】
加えて、元パターンのスパース性を一部維持できるように、出現頻度が高い多数派のビットのビット反転を抑制した被マスクパターンを生成することにより、スパース性による記憶容量の増加を図ることができる、というメリットも得られる。
【００６４】
［画像認識装置の構成］
次に、本画像認識装置の構成について図１５を参照して説明する。図１５は、本実施の形態が適用される本画像認識装置１００の一例を示すブロック図であり、該構成のうち本実施の形態に関係する部分のみを概念的に示している。
【００６５】
図１５に示すように、本実施の形態における画像認識装置１００は、概略的に、制御部１０２と記憶部１０６を少なくとも備え、本実施の形態において、更に、入出力制御インターフェース部１０８と通信制御インターフェース部１０４を備える。ここで、制御部１０２は、画像認識装置１００の全体を統括的に制御するＣＰＵ等である。また、通信制御インターフェース部１０４は、通信回線等に接続されるルータ等の通信装置（図示せず）に接続されるインターフェースであり、入出力制御インターフェース部１０８は、入力部１１２や出力部１１４に接続されるインターフェースである。また、記憶部１０６は、各種のデータベースやテーブルなどを格納する装置である。これら画像認識装置１００の各部は任意の通信路を介して通信可能に接続されている。更に、この画像認識装置１００は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、ネットワーク３００に通信可能に接続されている。
【００６６】
記憶部１０６に格納される各種のデータベースやテーブル（マスク保存部１０６ａ、ニューロンファイル１０６ｂ等）は、固定ディスク装置等のストレージ手段である。例えば、記憶部１０６は、各種処理に用いる各種のプログラム、テーブル、ファイル、データベース、および、ウェブページ等を格納する。
【００６７】
これら記憶部１０６の各構成要素のうち、マスク保存部１０６ａは、マスクパターンや１番目の連結パターン等を記憶するマスク記憶手段である。例えば、マスク保存部１０６ａは、マスク生成部１０２ａにより生成されたマスクパターンを格納してもよい。より具体的には、マスク保存部１０６ａは、マスク生成部１０２ａによりマスクパターンとして生成された乱数列ｒμ（μ＝１，２，・・・，Ｐ）を記憶してもよい。
【００６８】
また、ニューロンファイル１０６ｂは、神経細胞ユニットを識別するインデックスに対応付けて、神経細胞ユニット間のパラメータや神経細胞ユニット毎のパラメータ（係数値等）などニューラルネットワークに関するデータを記憶する神経回路網記憶手段である。一例として、ニューロンファイル１０６ｂに記憶されるニューラルネットワークの情報は、神経細胞ユニットｉと神経細胞ユニットｊの間における重みＪｉｊ、時刻ｔ（ｔ＝１，２，３，．．．）における、神経回路網の状態ｘ（ｔ）、再構成パターンｙ（ｔ）、エネルギー関数Ｅ（ｔ）、神経細胞ユニットの内部ポテンシャルｈ（ｔ）等の値である。なお、ニューロンファイル１０６ｂには、予めこれらパラメータのｔ＝０の場合で数値が与えられていない場合、初期パラメータが記憶されてもよい。後述する学習部１０２ｃおよび想起部１０２ｄにより状態更新（ｔ→ｔ＋１）が行われる毎に、上述の値が更新されてもよい。
【００６９】
また、入出力制御インターフェース部１０８は、入力部１１２や出力部１１４の制御を行う。ここで、出力部１１４としては、モニタ（家庭用テレビを含む）の他、スピーカを用いることができる（なお、以下においては出力部１１４をモニタとして記載する場合がある）。また、入力部１１２としては、キーボード、マウス、およびマイク等を用いることができる。
【００７０】
また、図１５において、制御部１０２は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）等の制御プログラムや、各種の処理手順等を規定したプログラム、および、所要データを格納するための内部メモリを有する。そして、制御部１０２は、これらのプログラム等により、種々の処理を実行するための情報処理を行う。制御部１０２は、機能概念的に、マスク生成部１０２ａ、論理演算部１０２ｂ、学習部１０２ｃ、および、想起部１０２ｄを備える。
【００７１】
このうち、マスク生成部１０２ａは、マスクパターンを生成するマスク生成手段である。本実施の形態において、マスク生成部１０２ａは、元パターンに基づいて、二値のうち元パターンにおいて出現頻度が高いビットの反転を抑制する割当確率で、ランダムな二値パターンであるマスクパターンを生成する。一例として、マスク生成部１０２ａは、乱数表等を用いて、乱数列を生成し、これを用いて元パターンに基づくランダムマスクを生成してもよい。また、マスク生成部１０２ａは、元パターンの各々のビットあるいは予め定められた個数毎にまとめられた各々のビット集合に対し、ビットないしビット集合の合計値に応じて各々異なる確率でランダムに二値のマスクパターンのビットを生成してもよい。
【００７２】
マスク生成部１０２ａは、一例として、元パターンの発火率が０または１に近いほど、多数派ビットを反転させる割当確率を小さく設定してもよい。さらに、マスク生成部１０２ａは、元パターンの発火率が０または１に近いほど、また、元パターン間の相関が小さいほど、多数派ビットを反転させる割当確率を小さく設定してもよい。ここで、マスク生成部１０２ａは、割当確率を、元パターンの発火率や相関等に基づいて、予め記憶部１０６に記憶された対応表やグラフ等を参照して設定してもよく、その都度、計算により算出して設定してもよい。
【００７３】
まず、割当確率ｐの決め方として、予め記憶部１０６に対応表やグラフ等を記憶させておく例について説明する。図１６は、元パターンの発火率ｆと相関ｂに対して、最適な割当確率ｐを示したグラフである。また、図１７は、元パターンの発火率ｆと相関ｂに対して最適な割当確率ｐを設定した場合の記憶容量を示した図である。
【００７４】
１つ目の方法は、元パターンの発火率と相関の値を事前に計算しておき、予め記憶部１０６に記憶させた、各発火率と相関の値ごとに最適な割当確率ｐの値の表を参照して、割当確率ｐの値を指定する方法である。各発火率と相関の値ごとに最適なｐの値は、人工的に生成した元パターンに対して予め計算しておく。
【００７５】
特定の発火率ｆと相関ｂの値を持つような人工パターンは、公知の方法で生成することができる（例えば、公知論文［１］：Ｍ．  Ｏｋｕ，  Ｔ．  Ｍａｋｉｎｏ，  ａｎｄ  Ｋ．  Ａｉｈａｒａ，  “Ｐｓｅｕｄｏ−ｏｒｔｈｏｇｏｎａｌｉｚａｔｉｏｎ  ｏｆ  ｍｅｍｏｒｙ  ｐａｔｔｅｒｎｓ  ｆｏｒ  ａｓｓｏｃｉａｔｉｖｅ  ｍｅｍｏｒｙ”，  ＩＥＥＥ  Ｔｒａｎｓ．  Ｎｅｕｒａｌ  Ｎｅｔｗ．  Ｌｅａｒｎ．  Ｓｙｓｔ．，  ｖｏｌ．  ２４，  ｐｐ．  １８７７−１８８７，  ２０１３．参照）。一例として、公知論文［１］では、指定された平均値ａ＝２ｆ−１と相関ｂに対して、まず最初に基準となるパターン｛η０１，η０２，．．．，η０Ｎ｝を以下の式に従い生成する。
【数６】
2015141541.tif 000008
【００７６】
つづいて、生成した基準パターンを用いて、人工パターン｛ημ１，ημ２，．．．，ημＮ｝（μ＝１，２，・・・，Ｐ）を以下の式に従って生成する。
【数７】
2015141541.tif 000009
【００７７】
以上により、指定された平均値ａと相関ｂを持つ人工パターンが得られる。この人工パターンを用いて、さまざまな値の割当確率ｐを使って連結パターンに変換し、連想記憶モデルに記憶させ、その記憶容量を計測することを繰り返し行う。
【００７８】
そして、最も記憶容量の平均値が高くなるｐの値を、各平均値と相関の値に対して表にまとめた例が、図１６である。図１６では、人工的に生成したパターンに対して求めた、最適なｐの値をグレースケールで表現したものである。横軸は人工パターンの発火率ｆ＝（１＋ａ）＝２を表し、縦軸は相関ｂを表している。今回の例では、人工パターンの長さは１０００で、各点ごとに１０回の試行平均を行った。また、発火率ｆと相関ｂは０．０２５刻み、割当確率ｐは０．０５刻みで条件を変えて計測を行った。
【００７９】
図１６に示すように、発火率ｆが小さいほど、また、相関ｂが小さいほど、最適な割当確率ｐの値が小さくなる傾向があることが分かった。ここで、図１７は、図１６によって指定される、最適な割当確率ｐを用いた場合の連想記憶モデルの臨界負荷率（記憶容量を連結パターンの長さＮ´で割ったもの）を示したものである。パターンがスパースでは無い場合は臨界負荷率が０．１４を超えられないが、図１７に示すように、本実施の形態の手法を用いて適切な割当確率ｐを設定することにより、臨界負荷率が０．１４を超えることができることが確認された。特に、発火率ｆと相関ｂが小さい部分では、スパース性の増加が顕著に生じていることが分かった。
【００８０】
なお、上述の例では、人工的に生成した元パターンに高次相関等を与えていないので、考慮されていない高次相関などの要因により、元パターンに対して真に最適なｐ値は、上記の事前に計算した表のｐ値とずれる可能性がある。その場合であっても、スパース性を全く考慮せずに処理を行うよりも、記憶容量は増加するが、真の最適値を得るために、高次相関の度合が異なる元パターンを人工的に生成して、高次相関による影響を加味した最適なｐ値を示す表を作成して、記憶部１０６に記憶させてもよい。
【００８１】
以上が予め適切な割当確率ｐを計算して記憶部１０６に対応表等を記憶させる場合の例である。つづいて、その都度、計算により適切な割当確率ｐを求める手法について説明する。もう一つの割当確率ｐの決め方は、元パターンの発火率ｆを計算し、変換後の連結パターンの発火率ｆがそれと同じになるようにｐを決めるというものである。例えば、「１」が少数派と「０」が少数派の場合それぞれに応じて、以下の式により割当確率ｐを計算してもよい。
【数８】
2015141541.tif 000010
【００８２】
この方法は一つ目の方法と比べて記憶容量が小さくなるが、表を使わないため実装が簡単という利点がある。
【００８３】
ここで、マスク生成部１０２ａは、ブロック毎に値が異なるマスクパターンを設定するために、割当確率ｐから、以下の式に基づいて、ブロック内のビット列を反転させる振り分け確率ｇを求めてもよい。
【数９】
2015141541.tif 000011
【００８４】
再び図１５に戻り、論理演算部１０２ｂは、マスク生成部１０２ａにより生成されたマスクパターン（ランダムマスク等）と、元パターンとの論理演算（ＸＮＯＲ／ＸＯＲ）を行うことにより、出現頻度が高い値のビット反転を抑制した被マスクパターンを生成する論理演算手段である。例えば、論理演算部１０２ｂは、図６，図１１〜図１４を用いて上述したようにＸＮＯＲ演算またはＸＯＲ演算を行う。
【００８５】
ここで、論理演算部１０２ｂは、複数の画像の元パターン中の任意の数のビットごとにブロック化して、ブロック単位で共通したマスクパターン（ランダムマスク等）を設定して、被マスクパターンを作成してもよい。より具体的には、論理演算部１０２ｂは、複数の画像による長さＮの元パターンを、先頭からＬ−１個ずつのブロック単位に区切り（ただし、ＮはＬ−１で割り切れるものとする。）、ブロック毎に値が異なるマスクパターンを設定して、ＬＮ／（Ｌ−１）の長さの連結パターンを生成してもよい。なお、論理演算部１０２ｂは、想起段階において、マスク保存部１０６ａから１つのマスクパターンを取り出して、照合パターンとの論理演算（ＸＮＯＲ／ＸＯＲ）を行い、マスク化照合パターンを生成してもよい。そして、もし想起部１０２ｄにおいて、取り出したマスクパターンを用いたマスク化照合パターンで想起が失敗した場合は、別のマスクパターンを取り出して、新たなマスク化照合パターンを生成する。
【００８６】
また、学習部１０２ｃは、ニューラルネットワークを用いた連想記憶モデルにて連結パターンを学習させる学習手段である。一方、想起部１０２ｄは、ニューラルネットワークを用いた連想記憶モデルにて手がかりとなる照合パターンから元パターンを探索する想起手段である。なお、本実施の形態において、学習部１０２ｃは、想起部１０２ｄによる自己連想記憶モデルの想起段階のために、用いたマスクパターンをマスク保存部１０６ａに格納してもよい。想起段階では、想起部１０２ｄは、マスク保存部１０６ａに格納されたマスクパターンを試行錯誤的に一つ選んで、照合マスクとの論理演算を行うことでマスク化照合パターンを得ることができる。また、系列連想記憶モデルの場合、学習部１０２ｃは、１番目の連結パターンのみをマスク保存部１０６ａに格納してもよい。想起段階では、想起部１０２ｄは、マスク保存部１０６ａに記憶された連結パターンをニューラルネットワークの初期状態に設定して、状態更新する毎に復号化を行い出力させることで、元パターンを得てもよい。
【００８７】
ここで、数式による説明を行う。記憶させたい元のパターンを｛ξμ１，ξμ２，．．．，ξμＮ｝と表す。μはパターン番号で、１からＰまでの整数値を取る。ξμｉは、μ番目の元パターンのｉ番目の値を表し、本実施の形態では１か−１のいずれかの値を取る。これに対し、マスクパターンは、｛ｒμ１，ｒμ２，．．．，ｒμＮ｝と表す。本実施の形態において、ｒμｉは、μ番目のマスクパターンのｉ番目の値を示し、ランダムに１か−１の値を取る。記憶パターンのある値ξμｉと、それに対応するマスクパターンの値ｒμｉとの間で、ＸＮＯＲ演算をした結果はξμｉｒμｉとなる（ＸＯＲ演算の場合は−ξμｉｒμｉ）。
【００８８】
ブロック長Ｌ＝２の場合、マスクパターン｛ｒμ１，ｒμ２，．．．，ｒμＮ｝と被マスクパターン｛ξμ１ｒμ１，ξμ２ｒμ２，．．．，ξμＮｒμＮ｝から１つずつ交互に取ってきて繋げたもの｛ｒμ１，ξμ１ｒμ１，ｒμ２，ξμ２ｒμ２，．．．，ｒμＮ，ξμＮｒμＮ｝が、学習部１０２ｃの制御によりニューラルネットワークに記憶させる長さ２Ｎの連結パターンである。ここで、記号を置き換えて、連結パターン｛ημ１，ημ２，．．．，ημＮ´｝と表す。ただし、Ｎ´＝２Ｎである。
【００８９】
ブロック長Ｌ＝２以上の場合、μ番目の元パターンのｋ番目のブロックを｛ξμｋ，１，ξμｋ，２，．．．，ξμｋ，Ｌ−１｝と表す。これに対応するマスクパターンの値をｒμｋとし、論理演算（ＸＮＯＲ／ＸＯＲ）および連結操作を行うことで、長さＬのブロック｛ｒμｋ，ｒμｋξμｋ，１，ｒμｋξμｋ，２，．．．，ｒμｋξμｋ，Ｌ−１｝を得る。これをブロック順に並べたものを連結パターンとしてもよい。この場合、Ｎ´＝ＬＮ／（Ｌ−１）となる。なお、上記の連結パターンの並び順は一例であり、連結パターンにおいて被マスクパターンとマスクパターンの並び順は任意である。
【００９０】
学習部１０２ｃによる連結パターンの学習には、一例として、標準的なヘブ学習則（シフト分の補正を含む）を用いてもよい。自己連想記憶モデルの場合、ｊ番目の神経細胞ユニットからｉ番目の神経細胞ユニットへのシナプス結合の強度をＪｉｊと表し、ｉ≠ｊの場合について、学習部１０２ｃは、以下の式に従い値を定める。なお、ｉ＝ｊの場合は、Ｊｉｉ＝０とする。
【数１０】
2015141541.tif 000012
【００９１】
一方、系列連想記憶モデルの場合、学習部１０２ｃは、以下の式に従い値を定める。ただし、ημ＋１ｉ＝η１ｉとする。
【数１１】
2015141541.tif 000013
【００９２】
なお、上記二式において、ａはημｉの平均であり、より具体的には、以下の式で表される。
【数１２】
2015141541.tif 000014
【００９３】
ニューラルネットワークの時刻ｔにおける状態を｛ｘ１（ｔ），ｘ２（ｔ），．．．，ｘＮ´（ｔ）｝と表す。ｘｉ（ｔ）は、ｉ番目の神経細胞ユニットの活動状態を表し、１（発火状態）か−１（休止状態）のいずれかの値を取る。ニューラルネットワークの状態更新には、同期更新と非同期更新、決定論的更新と確率的更新のそれぞれの組み合わせにより、４通りが考えられるが、スパースパターンに対しては同期更新かつ、決定論的更新と確率的更新のいずれかを組み合せてもよい。最も単純な同期更新と決定論的更新を組み合せる方式では、自己連想記憶モデルの場合も、系列連想記憶モデルの場合も、学習部１０２ｃおよび想起部１０２ｄは、以下の式に従って状態更新を行ってもよい。ここで、ｓｇｎ（ｈ）は、ｈ≧０のとき１を、ｈ＜０のとき−１を返す関数である。
【数１３】
2015141541.tif 000015
【００９４】
ここで、Ｇ（ｔ）は、適応的な閾値と呼ばれ、ニューラルネットワークの神経細胞のうち、常に決まった数だけが発火するように調節する役割を果たす。Ｇ（ｔ）は、公知の計算方法により求めることができる（例えば、公知論文［２］：Ｍ．  Ｏｋａｄａ，  “Ｎｏｔｉｏｎｓ  ｏｆ  ａｓｓｏｃｉａｔｉｖｅ  ｍｅｍｏｒｙ  ａｎｄ  ｓｐａｒｓｅ  ｃｏｄｉｎｇ”，  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ，  ｖｏｌ．９，  ｐｐ．１４２９−１４５８，  １９９６参照）。この公知文献［２］では、連想記憶モデルにおいてスパースなパターンを記憶パターンとして用いる場合における、学習則や更新則の決め方や記憶容量などの性質について纏めて開示されている。
【００９５】
具体的なＧ（ｔ）の計算法を説明すると、学習部１０２ｃは、まず連結パターンの平均を以下の式によって求める。
【数１４】
2015141541.tif 000016
【００９６】
つづいて、学習部１０２ｃは、上記のａの値を用いて、適応的閾値Ｇ（ｔ）を以下の式によって計算する。
【数１５】
2015141541.tif 000017
【００９７】
一例として、学習部１０２ｃおよび想起部１０２ｄは、ニューラルネットワークの状態が収束するまで状態更新を繰返す。系列連携記憶モデルの場合は、ニューラルネットワークの状態は収束しないため、予め定められた回数だけ状態更新を繰返す。
【００９８】
一例として、想起部１０２ｄは、初期パターンをニューラルネットワークに設定して、エネルギー関数の値が収束するまで状態更新を繰り返すことによって、対応する元パターンを探索する。例えば、想起部１０２ｄは、マスク化照合パターンとマスクパターンを連結した連結パターンを初期パターンとして設定してもよい。
【００９９】
なお、想起部１０２ｄは、収束状態で閾値以下のエネルギー関数の値を得られない場合は、偽アトラクタにトラップされて想起が失敗したとして、別のマスクパターン（例えば、μ→μ＋１）を用いたマスク化照合パターンで試行することにより、元パターンを探索する。すなわち、正しいマスクパターンを用いて変換しないと、ニューラルネットワークの状態が偽アトラクタに高い確率でトラップされる性質を利用して、想起部１０２ｄは、正しいマスクパターンを探し出す。一方、正しいマスクパターンを用いて変換すれば、収束状態におけるニューラルネットワークのエネルギー関数の値は、十分低くなるので、その場合に想起成功とみなして、想起部１０２ｄは、状態を復号化し、元パターンの出力を得る。ここで、想起部１０２ｄは、以下の式を用いて、ニューラルネットワークの状態を復号してもよい。なお、再構成パターンを｛ｙ１（ｔ），ｙ２（ｔ），．．．，ｙＮ（ｔ）｝と表す。
ｙｋ（ｔ）＝ｘ２ｋ−１（ｔ）ｘ２ｋ（ｔ）
【０１００】
なお、系列連想記憶モデルの場合は、学習部１０２ｃは、１番目の連結パターンのみをニューラルネットワークとは別にマスク保存部１０６ａに格納してもよい。そして、想起部１０２ｄは、マスク保存部１０６ａに格納された１番目の連結パターンをニューラルネットワークの初期状態に設定し、神経回路網の状態を更新する毎に復号化を行い出力させることで、元パターンの系列を取り出すことができる。
【０１０１】
以上が、本実施の形態における画像認識装置１００の構成の一例である。なお、画像認識装置１００は、ネットワーク３００を介して外部システム２００に接続されてもよい。この場合、通信制御インターフェース部１０４は、画像認識装置１００とネットワーク３００（またはルータ等の通信装置）との間における通信制御を行う。すなわち、通信制御インターフェース部１０４は、他の端末と通信回線を介してデータを通信する機能を有する。また、ネットワーク３００は、画像認識装置１００と外部システム２００とを相互に接続する機能を有し、例えば、インターネット等である。
【０１０２】
また、外部システム２００は、ネットワーク３００を介して、画像認識装置１００と相互に接続され、各種パラメータに関する外部データベースや、接続されたコンピュータ（情報処理装置）に画像認識方法を実行させるためのプログラム等を提供する機能を有する。
【０１０３】
ここで、外部システム２００は、ＷＥＢサーバやＡＳＰサーバ等として構成していてもよい。また、外部システム２００のハードウェア構成は、一般に市販されるワークステーション、パーソナルコンピュータ等の情報処理装置およびその付属装置により構成していてもよい。また、外部システム２００の各機能は、外部システム２００のハードウェア構成中のＣＰＵ、ディスク装置、メモリ装置、入力装置、出力装置、通信制御装置等およびそれらを制御するプログラム等により実現される。
【０１０４】
以上で、本実施の形態の構成の説明を終える。
【０１０５】
［画像認識装置１００の処理］
次に、このように構成された本実施の形態における画像認識装置１００の処理の一例について、以下に図１８を参照して詳細に説明する。図１８は、本実施の形態における画像認識装置１００の基本処理の一例を示すフローチャートである。
【０１０６】
図１８に示すように、まず、マスク生成部１０２ａは、元パターンに基づいてランダムな二値パターンであるランダムマスクを生成する（ステップＳＡ−１）。一例として、マスク生成部１０２ａは、乱数表等を用いて、乱数列を生成し、これを用いて元パターンに基づくランダムマスクを生成してもよい。
【０１０７】
そして、論理演算部１０２ｂは、マスク生成部１０２ａにより生成されたマスクパターン（ランダムマスク）と元パターンとの論理演算（ＸＮＯＲ演算またはＸＯＲ演算）を行うことにより被マスクパターンを生成する（ステップＳＡ−２）。ここで、論理演算部１０２ｂは、複数の画像の元パターン中の任意の数のビットごとにブロック化して、ブロック単位で共通したランダムマスクを設定して、被マスクパターンを作成してもよい。
【０１０８】
そして、学習部１０２ｃは、ニューラルネットワークを用いた連想記憶モデルにて連結パターンを学習させる（ステップＳＡ−３）。なお、学習部１０２ｃは、自己連想記憶モデルの想起段階のために、マスクパターンをマスク保存部１０６ａに格納してもよく、系列連想記憶モデルの想起段階のために、１番目の連結パターンのみをマスク保存部１０６ａに格納してもよい。
【０１０９】
そして、想起部１０２ｄは、手がかりパターンに基づいて、初期状態のニューラルネットワークに連結パターンを設定して、エネルギー関数の値が収束するまで状態更新を繰り返すことによって、対応する元パターンを探索する（ステップＳＡ−４）。なお、自己連想記憶モデルの場合、想起部１０２ｄは、論理演算部１０２ｂの処理により、マスク保存部１０６ａから１つのマスクパターンを取り出して、照合パターンとの論理演算（ＸＮＯＲ／ＸＯＲ）を行い、マスク化照合パターンを生成して初期状態の連結パターンとして設定する。想起部１０２ｄは、取り出したマスクパターンを用いたマスク化照合パターンで想起が失敗した場合は、別のマスクパターンを取り出して、新たなマスク化照合パターンを生成する。想起部１０２ｄは、エネルギー関数の値が収束するまで状態更新を行い、収束状態でエネルギー関数の値が所定の閾値以下の場合に、想起が成功したとして、その状態からパターンを復号し、復号化したパターンを出力部１１４等に出力する。一方、系列連想記憶モデルの場合、想起部１０２ｄは、マスク保存部１０６ａから１番目の連結パターンを取り出してニューラルネットワークの初期状態に設定し、神経回路網の状態を更新する毎に復号化を行い出力させることで、元パターンの系列を取り出すことができる。
【０１１０】
以上が、本実施形態における画像認識装置１００の基本処理の一例である。
【０１１１】
［学習処理］
つぎに、画像認識装置１００の基本処理をより具体化した学習処理の一例について以下に図１９を参照して説明する。ここで、図１９は、本実施の形態における画像認識装置１００の学習処理の一例を示すフローチャートである。
【０１１２】
図１９に示すように、学習部１０２ｃは、利用者に入力部１１２を介して、パターンの長さＮ、パターン数Ｐ、ブロック長Ｌを入力させる（ステップＳＢ−１）。なお、学習部１０２ｃは、入力部１１２を介して入力された画像群からＮ，Ｐ，Ｌ，ｐの値を計算により求めてもよい。
【０１１３】
そして、学習部１０２ｃは、ニューロンファイル１０６ｂに記憶された全ての結合係数Ｊｉｊを０に初期化する（ステップＳＢ−２）。
【０１１４】
そして、学習部１０２ｃは、パターン番号ｋに１を代入する（ステップＳＢ−３）。
【０１１５】
そして、マスク生成部１０２ａは、少数派ビットについては、１と−１の出現確率Ｐｒｏｂ（ｒｉμ＝±１）を１／２として、マスク用の乱数列ｒμ（μ＝１，２，・・・，Ｐ）を生成し、多数派ビットについては、ビットの反転を指定する値（１または−１）の出現確率（すなわち割当確率）を１／２より小さく設定して、マスク用の乱数列を生成する（ステップＳＢ−４）。一例として、マスク生成部１０２ａは、元パターンの発火率が０または１に近いほど割当確率を小さく設定してもよく、さらに元パターン間の相関が小さいほど、割当確率を小さく設定してもよい。なお、マスク生成部１０２ａは、発火率や相関等に対応して予め計算され記憶部１０６に記憶された対応表やグラフ（図１６等）を参照して、適切な割当確率ｐを設定してもよく、指定された元パターンの発火率や相関等に基づいて計算により割当確率ｐを求め、設定してもよい。一例として、マスク生成部１０２ａは、以下の式に基づいて発火率ｆから割当確率ｐを求めてもよい。
【数１６】
2015141541.tif 000018
【０１１６】
そして、論理演算部１０２ｂは、ＸＯＲまたはＸＮＯＲの論理演算により、ｋ番目の入力パターンをマスクでランダム化させる（ステップＳＢ−５）。
【０１１７】
そして、学習部１０２ｃは、ヘブ学習則等に従い、ランダム化させたパターンをニューラルネットワークに記憶させる学習処理を行う（ステップＳＢ−６）。
【０１１８】
そして、学習部１０２ｃは、パターン番号ｋがパターン数Ｐに達していない場合（ステップＳＢ−７，Ｎｏ）、ｋをインクリメント（ｋ→ｋ＋１）し（ステップＳＢ−８）、上述したステップＳＢ−４〜ＳＢ−７の処理を繰返す。
【０１１９】
一方、パターン番号ｋがパターン数Ｐに達した場合（ステップＳＢ−７，Ｙｅｓ）、結合係数の行列Ｊをニューロンファイル１０６ｂに出力し（ステップＳＢ−９）、学習処理を終える。
【０１２０】
［想起処理（自己連想記憶モデル）］
つづいて、画像認識装置１００の基本処理をより具体化した想起処理の一例について以下に図２０を参照して説明する。ここで、図２０は、本実施の形態における画像認識装置１００の自己連想記憶モデルを用いた想起処理の一例を示すフローチャートである。
【０１２１】
図２０に示すように、まず、想起部１０２ｄは、利用者に入力部１１２等を介して、手がかりとなる画像データである照合パターンを入力させるよう制御する（ステップＳＣ−１）。
【０１２２】
そして、想起部１０２ｄは、マスク番号ｋに１を代入する（ステップＳＣ−２）。
【０１２３】
そして、想起部１０２ｄは、マスク保存部１０６ａからｋ番目のマスクを取得する（ステップＳＣ−３）。
【０１２４】
そして、論理演算部１０２ｂは、ステップＳＢ−５で用いた論理演算により、入力された照合パターンをｋ番目のマスクでランダム化させる（ステップＳＣ−４）。
【０１２５】
そして、想起部１０２ｄは、ランダム化パターンをニューラルネットワークの初期状態に設定する（ステップＳＣ−５）。
【０１２６】
そして、想起部１０２ｄは、ニューラルネットワークの状態更新を行う（ステップＳＣ−６）。
【０１２７】
そして、想起部１０２ｄは、ニューラルネットワークの状態が収束したか否かを判定する（ステップＳＣ−７）。例えば、想起部１０２ｄは、状態変数ｘ（ｔ）が更新しても同じ値となった場合や、数回の状態更新の周期で同じパターンの値を繰返す場合に、収束したと判定してもよい。
【０１２８】
ニューラルネットワークの状態が収束していない場合（ステップＳＣ−７，Ｎｏ）、想起部１０２ｄは、ステップＳＣ−６に処理を戻し、更に状態更新を行う（時刻ｔ→ｔ＋１）。
【０１２９】
一方、ニューラルネットワークの状態が収束したと判定した場合（ステップＳＣ−７，Ｙｅｓ）、想起部１０２ｄは、エネルギー関数Ｅ（ｔ）の値に基づいて、想起が成功したか否かを判定する（ステップＳＣ−８）。例えば、想起部１０２ｄは、エネルギー関数Ｅ（ｔ）の値が所定の閾値以下である場合に、想起成功と判定してもよい。想起が成功した場合（ステップＳＣ−８，Ｙｅｓ）、想起部１０２ｄは、ニューラルネットワークの状態ｘ（ｔ）を復号化して、再構成パターンを出力部１１４に出力する（ステップＳＣ−９）。
【０１３０】
一方、想起が成功しなかった場合（ステップＳＣ−８，Ｎｏ）、想起部１０２ｄは、パターン番号ｋがパターン数Ｐに達したか否かを判定し（ステップＳＣ−１０）、ｋ＝Ｐでない場合は（ＳＣ−１０，Ｎｏ）、ｋをインクリメント（ｋ→ｋ＋１）し（ステップＳＣ−１１）、上述したステップＳＣ−３〜ＳＣ−８の処理を繰返す。想起が成功しないまま（ステップＳＣ−８，Ｎｏ）、パターン番号ｋがパターン数Ｐに達した場合は（ステップＳＣ−１０，Ｙｅｓ）、想起部１０２ｄは、想起失敗のエラーを出力し（ステップＳＣ−１２）、想起処理を終える。
【０１３１】
［想起処理（系列連想記憶モデル）］
つづいて、画像認識装置１００の基本処理をより具体化した想起処理の一例について以下に図２１を参照して説明する。ここで、図２１は、本実施の形態における画像認識装置１００の系列連想記憶モデルを用いた想起処理の一例を示すフローチャートである。
【０１３２】
図２１に示すように、想起部１０２ｄは、利用者に入力部１１２等を介して、状態更新させる最大ステップ数Ｔの値を入力させるよう制御する（ステップＳＤ−１）。
【０１３３】
そして、想起部１０２ｄは、マスク保存部１０６ａからｋ＝１番目のマスクを取得する（ステップＳＤ−２）。
【０１３４】
そして、想起部１０２ｄは、ニューラルネットワークを初期化して、初期状態に設定する（ステップＳＤ−３）。
【０１３５】
そして、想起部１０２ｄは、時刻ｔに０を代入する（ステップＳＤ−４）。
【０１３６】
そして、想起部１０２ｄは、ニューラルネットワークの状態を更新する（ステップＳＤ−５）。
【０１３７】
そして、想起部１０２ｄは、ニューラルネットワークの状態を復号化して、出力として再構成パターンを計算する（ステップＳＤ−６）。
【０１３８】
そして、想起部１０２ｄは、更新したステップ数である時刻ｔが、所定の最大ステップ数Ｔに到達したか否かを判定する（ステップＳＤ−７）。
【０１３９】
所定のステップ数Ｔに到達していない場合は（ステップＳＤ−７，Ｎｏ）、想起部１０２ｄは、ｔをインクリメント（ｔ→ｔ＋１）し（ステップＳＤ−８）、上述したステップＳＤ−５〜ＳＤ−７の処理を繰返す。
【０１４０】
一方、所定のステップ数Ｔに達した場合は（ステップＳＤ−７，Ｙｅｓ）、想起部１０２ｄは、そのときのニューラルネットワークの状態を復号化して再構成パターンを取得し出力部１１４に出力し、想起処理を終える。
【０１４１】
以上のように、画像系列の最初の画像に対応する連結パターンをニューラルネットワークの初期値に定め、状態更新則を順次適用し、各更新ステップでニューラルネットワークの状態から再構成パターンを計算して出力することにより、元の画像系列と非常に近い画像が順番どおりに出力される。
【０１４２】
以上で、本実施の形態の説明を終える。
【０１４３】
［他の実施の形態］
さて、これまで本発明の実施の形態について説明したが、本発明は、上述した実施の形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施の形態にて実施されてよいものである。
【０１４４】
また、画像認識装置１００がスタンドアローンの形態で処理を行う場合を一例に説明したが、画像認識装置１００は、クライアント端末からの要求に応じて処理を行い、その処理結果を当該クライアント端末に返却するようにしてもよい。
【０１４５】
また、実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【０１４６】
このほか、上記文献中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
【０１４７】
また、画像認識装置１００に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【０１４８】
例えば、画像認識装置１００の各装置が備える処理機能、特に制御部１０２にて行われる各処理機能については、その全部または任意の一部を、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）および当該ＣＰＵにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。なお、プログラムは、後述する記録媒体に記録されており、必要に応じて画像認識装置１００に機械的に読み取られる。すなわち、ＲＯＭまたはＨＤなどの記憶部１０６などには、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）として協働してＣＰＵに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、ＲＡＭにロードされることによって実行され、ＣＰＵと協働して制御部を構成する。
【０１４９】
また、このコンピュータプログラムは、画像認識装置１００に対して任意のネットワーク３００を介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
【０１５０】
また、本発明に係るプログラムを、コンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、ＵＳＢメモリ、ＳＤカード、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、および、Ｂｌｕ−ｒａｙ（登録商標）Ｄｉｓｃ等の任意の「可搬用の物理媒体」を含むものとする。
【０１５１】
また、「プログラム」とは、任意の言語や記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）に代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施の形態に示した各装置において記録媒体を読み取るための具体的な構成、読み取り手順、あるいは、読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
【０１５２】
記憶部１０６に格納される各種のデータベース等（マスク保存部１０６ａ、ニューロンファイル１０６ｂ等）は、ＲＡＭ、ＲＯＭ等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。
【０１５３】
また、画像認識装置１００は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置として構成してもよく、また、該情報処理装置に任意の周辺装置を接続して構成してもよい。また、画像認識装置１００は、該情報処理装置に本発明の方法を実現させるソフトウェア（プログラム、データ等を含む）を実装することにより実現してもよい。
【０１５４】
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じて、または、機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。
【産業上の利用可能性】
【０１５５】
以上詳述に説明したように、本発明によれば、連想記憶モデルに記憶させる画像のパターン間の相関を取り除き、干渉の発生や記憶容量の低下を防ぐことができる、画像認識装置、画像認識方法、および、プログラムを提供することができ、特に画像認識や画像処理などの様々な分野において極めて有用である。
【符号の説明】
【０１５６】
１００  画像認識装置
１０２  制御部
１０２ａ  マスク生成部
１０２ｂ  論理演算部
１０２ｃ  学習部
１０２ｄ  想起部
１０４  通信制御インターフェース部
１０６  記憶部
１０６ａ  マスク保存部
１０６ｂ  ニューロンファイル
１０８  入出力制御インターフェース部
１１２  入力部
１１４  出力部
２００  外部システム
３００  ネットワーク
【図６】
2015141541.tif 000021
【図１１】
2015141541.tif 000022
【図１２】
2015141541.tif 000023
【図１３】
2015141541.tif 000024
【図１４】
2015141541.tif 000025
【図１５】
2015141541.tif 000026
【図１８】
2015141541.tif 000027
【図１９】
2015141541.tif 000028
【図２０】
2015141541.tif 000029
【図２１】
2015141541.tif 000030
【図１】
2015141541.tif 000031
【図２】
2015141541.tif 000032
【図３】
2015141541.tif 000033
【図４】
2015141541.tif 000034
【図５】
2015141541.tif 000035
【図７】
2015141541.tif 000036
【図８】
2015141541.tif 000037
【図９】
2015141541.tif 000038
【図１０】
2015141541.tif 000039
【図１６】
2015141541.tif 000040
【図１７】
2015141541.tif 000041