(57)【要約】【課題】パターンマッチング処理に不可欠な新規参照データの認識を比較的短時間で自動的に学習させる。【解決手段】最適な参照データとは、ある参照データが認識winner となるような全入力データの重心（中心）である（図３中の（ａ））。しかし、入力データが連続して入力されるようなオンラインの認識では、このような最適な参照データを一般に得ることができない。そこで本発明では、認識winner とされた参照データに対応する一定回数分の入力データからそれらの重心を計算し、参照データの最適化を行う。また誤認識を避け、認識率を向上させるため、認識領域を縮小、拡大する。このような最適化を施しておくことになり、何らかの影響で入力データがばらついたりした場合にも、その分布の変化に十分対応することができる。【選択図】      図７
2005242808.tif 000002
【特許請求の範囲】
【請求項１】
パターン検索対象である入力データと複数の参照データそれぞれとの間で類似度に相当する距離演算を行い、閾値によって決まる認識領域内に存在する最小距離の参照データを認識データとして選択するパターン認識に用いられ、前記認識データの学習によって参照データを前記パターン認識用に最適化する参照データ最適化学習方法であって、
前記認識データとして選択されるべき参照データに対応する入力データを一定回数分取り込み、各入力データの前記参照データとの距離分布の重心を求め、当該重心点に位置するように前記参照データの位置を最適化することを特徴とする参照データ最適化学習方法。
【請求項２】
前記参照データの位置の最適化に際し、当該参照データの認識領域が隣接参照データの認識領域と重ならないように移動を制限することを特徴とする請求項１記載の参照データ最適化学習方法。
【請求項３】
前記参照データの位置の最適化に際し、互いに隣接する参照データ間でそれぞれに設定される認識領域が重ならないように閾値を変更して認識領域を拡大または縮小することを特徴とする請求項１記載の参照データ最適化学習方法。
【請求項４】
パターン検索対象の入力データを複数の参照データそれぞれとの間で類似度に相当する距離演算を行い、閾値によって決まる認識領域内で最小距離にある参照データを認識データとして選択するパターン認識に用いられ、前記認識データの学習によって参照データを前記パターン認識用に最適化する参照データ最適化学習方法であって、
前記参照データの位置の最適化に際し、前記認識領域内にある入力データ数と領域外にある入力データ数をそれぞれカウントし、先に前記一定回数に達する側に前記閾値を変更して前記認識領域の拡大または縮小を行うことを特徴とする参照データ最適化学習方法。
【請求項５】
前記閾値の更新量を予め設定された確率分布から選択することを特徴とする請求項３または４記載の参照データ最適化学習方法。
【請求項６】
前記閾値の変更は、前記入力データの集団の中心と現在の参照データとの距離を示す値を基準値と比較して、基準値を越えるときのみ前記閾値の変更を実施することを特徴とする請求項３または４記載の最適化学習方法。
【請求項７】
前記距離演算に供される距離の指標には、ユークリッド距離、マンハッタン距離、ハミング距離、マハラノビス距離のいずれかを用いることを特徴とする請求項１記載の最適化学習方法。
【請求項８】
少なくとも、入力パターンの検索データを認識するための複数の参照データを記憶する参照データ記憶手段、前記検索データと最小距離にある参照データを求める最小距離検索手段、及び前記最小距離が閾値以上か否かに応じて前記検索データと最小距離の参照データとの同一性を判断する判断手段を備える連想メモリと、
前記認識データとして選択されるべき参照データに対応する入力データを一定回数分取り込み、各入力データの前記参照データとの距離分布の重心を求め、当該重心点に位置するように前記参照データの位置を最適化する最適化手段とを具備し、
前記最適化された参照データで前記参照データ記憶手段に記憶された参照データを更新することを特徴とするパターン認識システム。
【請求項９】
前記最適化手段は、前記参照データの閾値によって決まる認識領域が隣接参照データの認識領域と重ならないように移動を制限することを特徴とする請求項８記載のパターン認識システム。
【請求項１０】
前記最適化手段は、互いに隣接する参照データ間でそれぞれの閾値によって決まる認識領域が重ならないように閾値を変更して認識領域を拡大または縮小することを特徴とする請求項８記載のパターン認識システム。
【請求項１１】
少なくとも、入力パターンの検索データを認識するための複数の参照データを記憶する参照データ記憶手段、前記検索データと最小距離にある参照データを求める最小距離検索手段、及び前記最小距離が閾値以上か否かに応じて前記検索データと最小距離の参照データとの同一性を判断する判断手段を備える連想メモリと、
前記閾値によって決まる認識領域内にある入力データ数と領域外にある入力データ数をそれぞれカウントし、先に前記一定回数に達する側に前記閾値を変更して前記認識領域の拡大または縮小を行う最適化手段とを具備し、
前記最適化された参照データで前記参照データ記憶手段に記憶された参照データを更新することを特徴とするパターン認識システム。
【請求項１２】
前記最適化手段は、前記閾値の更新量を予め設定された確率分布から選択することを特徴とする請求項１０または１１記載のパターン認識システム。
【請求項１３】
前記最適化手段は、前記入力データの集団の中心と現在の参照データとの距離を示す値を基準値と比較して、基準値を越えるときのみ前記閾値の変更を実施することを特徴とする請求項１０または１１記載のパターン認識システム。
【請求項１４】
前記距離演算に供される距離の指標には、ユークリッド距離、マンハッタン距離、ハミング距離、マハラノビス距離のいずれかを用いることを特徴とする請求項８または１１記載のパターン認識システム。
【請求項１５】
前記連想メモリ及び最適化手段は、１チップ集積回路に組み込まれることを特徴とする請求項８または１１記載のパターン認識システム。
【請求項１６】
プログラムに従って演算処理を実行するプロセッサ、少なくとも、入力パターンの検索データを認識するための複数の参照データ、前記プロセッサの演算処理結果、前記演算処理に用いるパラメータを記憶する記憶手段を備え、前記プロセッサが、前記プログラムによって、前記検索データと最小距離にある参照データを求め、前記最小距離が閾値以上か否かに応じて前記検索データと最小距離の参照データとの同一性を判断する演算処理装置と、
前記認識データとして選択されるべき参照データに対応する入力データを一定回数分取り込み、各入力データの前記参照データとの距離分布の重心を求め、当該重心点に位置するように前記参照データの位置を最適化する最適化手段とを具備し、
前記最適化された参照データで前記記憶手段に記憶された参照データを更新することを特徴とするパターン認識システム。
【請求項１７】
前記最適化手段は、前記参照データの閾値によって決まる認識領域が隣接参照データの認識領域と重ならないように移動を制限することを特徴とする請求項１６記載のパターン認識システム。
【請求項１８】
前記最適化手段は、互いに隣接する参照データ間でそれぞれの閾値によって決まる認識領域が重ならないように閾値を変更して認識領域を拡大または縮小することを特徴とする請求項１６記載のパターン認識システム。
【請求項１９】
プログラムに従って演算処理を実行するプロセッサ、少なくとも、入力パターンの検索データを認識するための複数の参照データ、前記プロセッサの演算処理結果、前記演算処理に用いるパラメータを記憶する記憶手段を備え、前記プロセッサが、前記プログラムによって、前記検索データと最小距離にある参照データを求め、前記最小距離が閾値以上か否かに応じて前記検索データと最小距離の参照データとの同一性を判断する演算処理装置と、
前記閾値によって決まる認識領域内にある入力データ数と領域外にある入力データ数をそれぞれカウントし、先に前記一定回数に達する側に前記閾値を変更して前記認識領域の拡大または縮小を行う最適化手段とを具備し、
前記最適化された参照データで前記参照データ記憶手段に記憶された参照データを更新することを特徴とするパターン認識システム。
【請求項２０】
前記最適化手段は、前記閾値の更新量を予め設定された確率分布から選択することを特徴とする請求項１８または１９記載のパターン認識システム。
【請求項２１】
前記最適化手段は、前記入力データの集団の中心と現在の参照データとの距離を示す値を基準値と比較して、基準値を越えるときのみ前記閾値の変更を実施することを特徴とする請求項１８または１９記載のパターン認識システム。
【請求項２２】
前記距離演算に供される距離の指標には、ユークリッド距離、マンハッタン距離、ハミング距離、マハラノビス距離のいずれかを用いることを特徴とする請求項１６または１９記載のパターン認識システム。
【請求項２３】
前記演算処理装置及び最適化手段は、１チップ集積回路に組み込まれることを特徴とする請求項１６または１９記載のパターン認識システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パターンマッチング処理のための参照データを追加して認識させる参照データ最適化学習方法と、この方法を用いて参照データの認識・学習を行うパターン認識システムに関する。
【背景技術】
【０００２】
パターン認識システムにおいて、パターンマッチング処理は認識処理における重要な要素である。従来のシステムでは、プロセッサをベースに実現したモデルが最も一般的である。このモデルでは、入力パターンのデータをメモリ内の複数の参照データと逐次比較して、最も類似したパターンを示す参照データを検出する手法をとっている。しかしながら、このモデルの手法には、逐次比較を要することから多くの処理時間を要し、しかも比較データ数の増加に比例して、その処理に要する時間が増大してしまうという問題がある。また、参照データについては、逐次比較されるため、比較順序の入れ替え、新規な参照データの登録において学習する概念はなく、学習による処理時間の短縮効果は得られない。
【０００３】
パターン認識と学習は、人間の脳と同じような能力を持つ人工知能システムを構築するために必要不可欠な機能である。そのため、これらの機能を集積回路上で実現することは技術的に非常に重要である。これまでに提案されているパターン認識と学習機能の実現方法は、ニューラルネットワークを用いたものがほとんどである（例えば非特許文献１参照）。
【０００４】
しかし、ニューラルネットワークを用いた方法では、各ニューロンの閾値とネットワークの中の各ネットの荷重の更新が必要となり、大量の処理時間がかかってしまうという問題がある。また、効率よくパターンをネットワーク中に記憶する方法がないため、パターンの情報をネットワーク構造自体に取り入れる必要がある。更に、既にネットワークの学習が完了した後で、新たなパターンを認識できるように学習するためには、ネットワーク全体の再学習が必要となり、認識処理をしながら学習を行ってネットの荷重の更新をすることは困難である。
【０００５】
近年のニューラルネットワークを用いたハードウェアによる実現方法に関する進展は、当初期待されたものよりも遅れており、集積度や消費電力の観点からＬＳＩ化が困難な状況にある。このことから、メモリ要素を組み込んで効率よくパターンを記憶可能とする、より優れた新しいハードウェアでの実現方法が要望されている。
【０００６】
以上の諸事情を考慮し、近年では、全並列アーキテクチャによる小面積・高速連想メモリ（例えば非特許文献２−５、特許文献１−３参照）の開発が進められている。この連想メモリは、認識機能実現に重要な要素である最小距離検索機能を有しており、検索データと各参照データの比較をディジタルによる比較計算とアナログによる最小値計算により行うことにより、全てのデータ間の比較を並列に処理することが実行可能である。このことから、高速なパターンマッチング処理を実現できるものとして注目されている。
【０００７】
しかしながら、この連想メモリをベースとしたパターン認識システムにおいても、新たな参照データを認識するように効率よく学習させるための具体的な手法が確立されておらず、参照データの追加または入れ替えのための処理にかなりの時間を要してしまう。
【非特許文献１】岩田穆、雨宮好仁編著、“ニューラルネットワークＬＳＩ”、電子情報通信学会、1995．
【非特許文献２】H. J. Mattausch, N. Omori, S. Fukae, T. Koide, and T. Gyoten, "Fully-parallel pattern-matching engine with dynamic adaptability to Hamming or Manhattan distance", 2002 Symposium on VLSI Circuit Dig. of Tech. Papers, pp.252-255, 2002.
【非特許文献３】T. Koide, Y. Yano, H. J. Mattausch, "An associative memory for real-time applications requiring fully parallel nearest Manhattan-distance-search", Proc. of the Workshop on Synthesis And System Integration of Mixed Technologies, pp.200-205, 2003.
【非特許文献４】H.J. Mattausch, T. Gyohten, Y. Soda, T. Koide, "Compact associative-memory architecture with fully-parallel search capability for the minimum Hamming distance", IEEE Journal of Solid-State Circuits, Vol.37, pp.218-227, 2002.
【非特許文献５】Y. Yano, T. Koide, H. J. Mattausch, "Fully parallel nearest Manhattan-distance search memory with large reference-pattern number", Extend. Abst. of the International Conf. on Solid-State Devices and Materials, pp.254-255, 2002.
【特許文献１】特願２００１−０１１７６０号
【特許文献２】特願２００２−１５９４３６号
【特許文献３】特願２００２−１６５７５９号
【発明の開示】
【発明が解決しようとする課題】
【０００８】
以上述べたように、人工知能システムには、入力環境の変化に対応してパターン認識を行うための機能が必要であり、学習によって幅広い認識が行えるようにすることが重要となるが、従来のシステムでは、プロセッサベースやニューラルネットワークベースの方法で学習を行っている。学習を実現するためにはプロセッサベースシステムでは、何らかの方法で参照データの更新を行う必要があり、ニューラルネットワークベースシステムでは、ネットワーク全体の各ネット荷重を更新する必要がある。そのため、パターン認識と学習を合わせて行う場合には、上述の従来システムでは、消費電力や回路規模の面で集積化が困難といった問題がある。一方、高速マッチング処理の実現を図った連想メモリベースのパターン認識システムが提案されているが、新たに追加される参照データを認識するように効率よく学習させるための具体的な手法が確立されておらず、参照データの認識・学習のための処理にかなりの時間がかかっている。
【０００９】
本発明は、上記の事情に鑑みてなされたもので、パターンマッチング処理に不可欠な新規参照データの認識を比較的短時間で自動的に学習させることのできる参照データ最適化学習方法と、この方法を採用してパターン認識に要する時間を短縮可能としたパターン認識システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明に係る参照データ最適化学習方法は、以下のような特徴を有する。
【００１１】
（１）パターン検索対象である入力データと複数の参照データそれぞれとの間で類似度に相当する距離演算を行い、閾値によって決まる認識領域内に存在する最小距離の参照データを認識データとして選択する場合に、前記認識データの学習によって参照データを前記パターン認識用に最適化する参照データ最適化学習方法であって、前記認識データとして選択されるべき参照データに対応する入力データを一定回数分取り込み、各入力データの前記参照データとの距離分布の重心を求め、当該重心点に位置するように前記参照データの位置を最適化することを特徴とする。
【００１２】
（２）（１）において、前記参照データの位置の最適化に際し、当該参照データの認識領域が隣接参照データの認識領域と重ならないように移動を制限することを特徴とする。
【００１３】
（３）（１）において、前記参照データの位置の最適化に際し、互いに隣接する参照データ間でそれぞれに設定される認識領域が重ならないように閾値を変更して認識領域を拡大または縮小することを特徴とする。
【００１４】
（４）パターン検索対象の入力データを複数の参照データそれぞれとの間で類似度に相当する距離演算を行い、閾値によって決まる認識領域内で最小距離にある参照データを認識データとして選択するパターン認識に用いられ、前記認識データの学習によって参照データを前記パターン認識用に最適化する参照データ最適化学習方法であって、前記参照データの位置の最適化に際し、前記認識領域内にある入力データ数と領域外にある入力データ数をそれぞれカウントし、先に前記一定回数に達する側に前記閾値を変更して前記認識領域の拡大または縮小を行うことを特徴とする。
【００１５】
（５）（３）または（４）において、前記閾値の更新量を予め設定された確率分布から選択することを特徴とする。
【００１６】
（６）（３）または（４）において、前記閾値の変更は、前記入力データの集団の中心と現在の参照データとの距離を示す値を基準値と比較して、基準値を越えるときのみ前記閾値の変更を実施することを特徴とする。
【００１７】
（７）（１）において、前記距離演算に供される距離の指標には、ユークリッド距離、マンハッタン距離、ハミング距離、マハラノビス距離のいずれかを用いることを特徴とする。
【００１８】
また、本発明に係るパターン認識システムは、以下のような特徴を有する。
【００１９】
（８）少なくとも、入力パターンの検索データを認識するための複数の参照データを記憶する参照データ記憶手段、前記検索データと最小距離にある参照データを求める最小距離検索手段、及び前記最小距離が閾値以上か否かに応じて前記検索データと最小距離の参照データとの同一性を判断する判断手段を備える連想メモリと、前記認識データとして選択されるべき参照データに対応する入力データを一定回数分取り込み、各入力データの前記参照データとの距離分布の重心を求め、当該重心点に位置するように前記参照データの位置を最適化する最適化手段とを具備し、前記最適化された参照データで前記参照データ記憶手段に記憶された参照データを更新することを特徴とする。
【００２０】
（９）（８）において、前記最適化手段は、前記参照データの閾値によって決まる認識領域が隣接参照データの認識領域と重ならないように移動を制限することを特徴とする。
【００２１】
（１０）（８）において、前記最適化手段は、互いに隣接する参照データ間でそれぞれの閾値によって決まる認識領域が重ならないように閾値を変更して認識領域を拡大または縮小することを特徴とする。
【００２２】
（１１）少なくとも、入力パターンの検索データを認識するための複数の参照データを記憶する参照データ記憶手段、前記検索データと最小距離にある参照データを求める最小距離検索手段、及び前記最小距離が閾値以上か否かに応じて前記検索データと最小距離の参照データとの同一性を判断する判断手段を備える連想メモリと、前記閾値によって決まる認識領域内にある入力データ数と領域外にある入力データ数をそれぞれカウントし、先に前記一定回数に達する側に前記閾値を変更して前記認識領域の拡大または縮小を行う最適化手段とを具備し、前記最適化された参照データで前記参照データ記憶手段に記憶された参照データを更新することを特徴とする。
【００２３】
（１２）（１０）または（１１）において、前記最適化手段は、前記閾値の更新量を予め設定された確率分布から選択することを特徴とする。
【００２４】
（１３）（１０）または（１１）において、前記最適化手段は、前記入力データの集団の中心と現在の参照データとの距離を示す値を基準値と比較して、基準値を越えるときのみ前記閾値の変更を実施することを特徴とする。
【００２５】
（１４）（８）または（１１）において、前記距離演算に供される距離の指標には、ユークリッド距離、マンハッタン距離、ハミング距離、マハラノビス距離のいずれかを用いることを特徴とする。
【００２６】
（１５）（８）または（１１）において、前記連想メモリ及び最適化手段は、１チップ集積回路に組み込まれることを特徴とする。
【００２７】
（１６）プログラムに従って演算処理を実行するプロセッサ、少なくとも、入力パターンの検索データを認識するための複数の参照データ、前記プロセッサの演算処理結果、前記演算処理に用いるパラメータを記憶する記憶手段を備え、前記プロセッサが、前記プログラムによって、前記検索データと最小距離にある参照データを求め、前記最小距離が閾値以上か否かに応じて前記検索データと最小距離の参照データとの同一性を判断する演算処理装置と、前記認識データとして選択されるべき参照データに対応する入力データを一定回数分取り込み、各入力データの前記参照データとの距離分布の重心を求め、当該重心点に位置するように前記参照データの位置を最適化する最適化手段とを具備し、前記最適化された参照データで前記記憶手段に記憶された参照データを更新することを特徴とする。
【００２８】
（１７）（１６）において、前記最適化手段は、前記参照データの閾値によって決まる認識領域が隣接参照データの認識領域と重ならないように移動を制限することを特徴とする。
【００２９】
（１８）（１６）において、前記最適化手段は、互いに隣接する参照データ間でそれぞれの閾値によって決まる認識領域が重ならないように閾値を変更して認識領域を拡大または縮小することを特徴とする。
【００３０】
（１９）プログラムに従って演算処理を実行するプロセッサ、少なくとも、入力パターンの検索データを認識するための複数の参照データ、前記プロセッサの演算処理結果、前記演算処理に用いるパラメータを記憶する記憶手段を備え、前記プロセッサが、前記プログラムによって、前記検索データと最小距離にある参照データを求め、前記最小距離が閾値以上か否かに応じて前記検索データと最小距離の参照データとの同一性を判断する演算処理装置と、前記閾値によって決まる認識領域内にある入力データ数と領域外にある入力データ数をそれぞれカウントし、先に前記一定回数に達する側に前記閾値を変更して前記認識領域の拡大または縮小を行う最適化手段とを具備し、前記最適化された参照データで前記参照データ記憶手段に記憶された参照データを更新することを特徴とする。
【００３１】
（２０）（１８）または（１９）において、前記最適化手段は、前記閾値の更新量を予め設定された確率分布から選択することを特徴とする。
【００３２】
（２１）（１８）または（１９）において、前記最適化手段は、前記入力データの集団の中心と現在の参照データとの距離を示す値を基準値と比較して、基準値を越えるときのみ前記閾値の変更を実施することを特徴とする。
【００３３】
（２２）（１６）または（１９）において、前記距離演算に供される距離の指標には、ユークリッド距離、マンハッタン距離、ハミング距離、マハラノビス距離のいずれかを用いることを特徴とする。
【００３４】
（２３）（１６）または（１９）において、前記演算処理装置及び最適化手段は、１チップ集積回路に組み込まれることを特徴とする。
【発明の効果】
【００３５】
本発明によれば、パターンマッチング処理に不可欠な新規参照データの認識を比較的短時間で自動的に学習させることのできる参照データ最適化学習方法と、この方法を採用してパターン認識に要する時間を短縮可能としたパターン認識システムを提供することができる。
【発明を実施するための最良の形態】
【００３６】
以下、図面を参照して、本発明を実施するための最良な形態を詳細に説明する。
【００３７】
本発明に係る方法が適用される連想メモリは、図１に示すように、予めメモリ内に蓄えられた複数の参照データ（テンプレートとも呼ばれる）と入力データ（検索データとも呼ばれる）を、予め指定した距離指標に基づいて類似度で比較し、入力データと最も類似する（最も距離が小さい）参照データ（winner）を検出することでパターンマッチングを行う機能メモリである。
【００３８】
図２は上記連想メモリの一例として、高速処理・小面積・低消費電力の実現に向けて開発が進められている、全並列最小距離検索を行うタイプ（全並列型連想メモリ）の構成例を示すブロック図である。図において、メモリコア部分は、メモリ領域１００、ウィナー・ラインナップ増幅回路（以下、ＷＬＡ回路（Winner Line-Up Amplifier））２００、全ウィナー取得回路（以下、ＷＴＡ回路（Winner Take All Circuit））３００で構成されており、また周辺回路として行デコーダ及びＲ／Ｗ回路（Column Decoder and Read/Write Circuit (K x W Column)）１１０、列デコーダ（Row Decoder (R Rows)）１２０、検索データ保存回路（Search Data (K bit x W)）１３０を持つ。
【００３９】
メモリ領域１００は、参照データをユニット（ｋビット）単位で保存するためのＳＲＡＭセルで形成されるＷ×Ｒ個のユニット保存回路（Unit Storage：ＵＳ）、ユニット毎に参照データと検索データの差の絶対値（後述のマンハッタン距離）を計算するＷ×Ｒ個のユニット比較回路（Unit Comparison：ＵＣ）、計算した距離をアナログ電圧（あるいは電流）に変換するＲ個のワード重み比較回路（Word Comparison：ＷＣ）により構成されている。
【００４０】
ワード重み比較回路ＷＣで生成された信号Ｃi （Comparison Signal）はＷＬＡ回路２００に入り、ＷＬＡ回路２００がこの信号Ｃi を回路自身のバランスにより制御し、最初の段階で各行の電圧の差を最も大きく増幅する。ＷＬＡ回路２００とＷＴＡ回路３００は、面積増加の割合が行数Ｒに対して線形Ｏ(R)の小面積で実現可能であるという特徴がある。
【００４１】
ＷＴＡ回路３００はＷＬＡ回路２００により増幅された各行の電圧出力ＬＡi の差を更に増幅する機能を持つ。ＷＴＡ回路３００の出力Ｍi においては、winner （ウィナー）行が“１”、その他のloser （ルーザ）行が“０”のディジタル信号となる。ＷＬＡ回路２００は、内部のフィードバック信号Ｆ（Feedback Signal）を増幅点のwinner行が最大の増幅を得られるようにするために用い、ワード重み比較回路ＷＣに返す際に、当該ＷＬＡ回路２００に内蔵された電圧フォロワ（Voltage Follower）回路を用いることにより、フィードバックを高速化している。
【００４２】
ここで、上記マンハッタン距離Ｄは、ベクトルａ＝（ａ1 ，ａ2 ，…，ａi ，…，ａN ），ｂ＝（ｂ1 ，ｂ2 ，…，ｂi ，…，ｂN ）があるとき、次式のように表される。
【数１】
2005242808.tif 000003
【００４３】
図３は本発明に係る最適化学習アルゴリズムの概念図を示すもので、ここではパターンを色調と形状の２次元で分類する場合を例にとって表す。図３中の左上（ａ）において、入力データ（八角形のマーク）と予め蓄えられた４つの参照データＡ，Ｂ，Ｃ，Ｄのうち、最小のマンハッタン距離１を持つものを最も類似しているパターン（以下、winner と呼ぶ）として選択する。この場合のwinner はＡの八角形のマークである。このときの最小マンハッタン距離を「winner 距離Ｄwi 」とする。
【００４４】
winner 距離Ｄwi が参照データｉに対して予め指定した閾値距離Ｄthi 以下（Ｄwi ≦ Ｄthi ）であれば、winner は認識されたwinner としてみなされる。このwinner 距離Ｄwi を「認識winner 距離Ｄrwi 」と呼ぶ。このように、最も類似しているパターンが予め指定していた閾値内に存在する場合に、連想メモリによってパターンが認識される。これに対してＤwi がＤthi より大きければ（Ｄwi ＞ Ｄthi ）、その入力データは該当する参照データと類似していないと見なされ、入力データはどの参照データにも類似していないと見なされ、認識されないことになる。但し、連想メモリでは参照データと入力データを比較することでwinner を検索し、winner距離Ｄwiを求めるため、予め最適な参照データを用意しておくことが効果的な認識のためには重要である。例えば、図３中の中央（ｂ）において、入力データの分布が図のような場合には、参照データＢに示した入力データ集団の中心が最適な参照データＢ′である方が望ましい。
【００４５】
また、「認識winner 距離Ｄrwi 」は閾値Ｄthi とwinner 距離Ｄwi とを比較することで認識されるか否かを判断するため、最適な閾値Ｄthi の設定も認識の向上のためには重要である。例えば、閾値Ｄthi について、ある参照データiに対応する（類似している）入力データを全て（１００％）認識可能とする閾値をＤmaxi と仮定すると、Ｄthi がDmaxi に比べて小さ過ぎる場合には認識率が低下してしまい、また、逆に大き過ぎて他の参照データと一致してしまうと誤認識してしまう場合がある（図３中の（ｃ），（ｄ））。そのため参照データに閾値Ｄthi の領域（認識領域）が重なり合うと、その重なり度合いから間違った認識を行ってしまう可能性があるため、認識領域の重なり合いを解消することが必要である。
【００４６】
このような重なり合いの解消は、図４中の下部（ｃ）に示すように参照データをずらしたり（Ｃ→Ｃ′，Ｄ→Ｄ′）、図５中の下部（ｃ）のように参照データｉの互いの閾値Ｄthi を縮小したりすることで実現することができる。このように、連想メモリベースシステムにおいて認識を正しく行うための各参照データｉに対する閾値Ｄthi の最適化による認識領域の最適化が必要である。
【００４７】
そこで本発明の最適化学習とは、参照データを最適なものに更新する「参照データ最適学習」と、各参照データの持つ閾値を最適に更新する「認識領域最適学習」の２つを意味する。以下、図６乃至図９を参照してそれぞれの学習アルゴリズムの詳細を説明する。
【００４８】
尚、以下の説明において、ＵＳ、ＳＢ、Ｇはそれぞれ参照データ、入力データ、及び参照データと入力データの差のベクトルを意味するものとする。また、図６に示すように、連想メモリ内部に保存している参照データの集合をＵＳ＝｛ＵＳ1 ，ＵＳ2 ，…，ＵＳi ，…ＵＳR ｝（Ｒは連想メモリのデータ数（行数））とする。各参照データはそれぞれｋビットのＷワードで構成されるものとする。よって、ＵＳi ＝（ｘi1 ，ｘi2 ，…，ｘij ，ｘiW ）（Ｗは連想メモリのベクトル数（列数））と表すことができる。参照データＵＳi （１≦ｉ≦Ｒ）に対して、認識winner として認識されたＮ個の入力データの集合をＳＢi ＝｛ＳＢi,1 ，ＳＢi,2 ，…，ＳＢi,k ，…，ＳＢi,N ｝（１≦ｋ≦Ｒ）と定義し、さらに入力データは、ＳＢi,k ＝(ｙi1,k ，ｙi2,k ，…，ｙij,k ，…，ｙiW,k ) （１≦ｊ≦Ｒ）と定義する。
【００４９】
図７は本発明の参照データ及び認識領域の最適化学習アルゴリズムを示すフローチャートである。
【００５０】
まず、参照データの最適化学習アルゴリズムについて説明する。本アルゴリズムでは最適な参照データとは、ある参照データが認識winner となるような全入力データの重心（中心）であるとする（図３中の（ａ））。しかし、入力データが時間とともに連続して入力されるようなオンラインの認識では、最初に全ての入力データの情報が一度にわからないため、一般に最適な参照データを得ることが難しい。そこで本発明では、認識winner とされた参照データに対応する一定回数分の入力データに基づいて、それらの重心を計算し、参照データの最適化を行う。このような処理を行うことにより、何らかの影響で入力データの分布がばらついたりした場合にも、その分布の変化に十分対応することができる。
【００５１】
参照データを最適に更新する学習アルゴリズムを、図７のフローチャートに従って説明する。まず、ＵＳに入力データＳＢi,k を入力して（ステップＳ１）、winnerの検出を実行すると（ステップＳ２）、ＵＳi がwinner になる。次に、winner 距離Ｄwi,k を計算し、閾値Ｄthi との比較を行う（ステップＳ３）。比較の結果、Ｄwi,k ≦Ｄthi であるとき、Ｄrwi＝Ｄwi,kと認識し、入力データＳＢi,k と参照データＵＳi のベクトル差Ｇi,k を（１）式により計算して記憶する（ステップＳ４）。
【数２】
2005242808.tif 000004
【００５２】
ここで、Ｎ回認識winner となった（ステップＳ６，Ｓ７）参照データに対応する入力データ基づいて、参照データＵＳi を以下の（２）式により更新する（ステップＳ８）。
【数３】
2005242808.tif 000005
【００５３】
入力データが入力されるたびに認識が行われ、Ｎ回認識winnerとなった（ステップＳ６，ステップＳ７）参照データに対し、Ｇi,k がＮ回分計算されることになる。Ｇi,k は入力データと認識winnerとなった参照データの間の差がどの程度あるかを表すベクトルである。Ｎ回分のＧi,k から式（２）の第二項が求まり、参照データと入力データの重心との差の大きさがわかる。その差が大きければ、その差を小さくするように式（２）から参照データを最適に更新する（ステップＳ８）。但し、差の大小の判断基準は、Ｎ回分の入力データと参照データとの差から求まる距離（例えばマンハッタン距離）と閾値（例えばマンハッタン距離）の割合である。尚、式（２）の第二項に示す大小の判断基準は後述の更新処理で用いられる式（７）と同じである。参照データ更新と閾値更新の手続は同じ処理であり、入力データの重心と参照データの差が大きい場合、参照データと閾値を更新することになる。
【００５４】
次に各参照データＵＳi が持つ閾値Ｄthi を最適化する学習アルゴリズムについて説明する。
【００５５】
まず、閾値を変更することは、認識領域を縮小もしくは拡大することに相当する。そのためには、入力データが認識領域内、外にどれほどの割合で入力されるかを判断する必要がある。本発明では、図８に示すように点線で表された認識領域の内側（≦Ｄthi ）、もしくは外側（＞Ｄthi ）に存在する入力データ数をそれぞれカウントし（ステップＳ６，Ｓ１０）、予め指定した一定回数入力データがＮ回存在する方へ認識領域を縮小もしくは拡大する。
【００５６】
ここで、ある参照データＵＳi がwinner となったとき（ステップＳ２）、すなわちwinner 距離が閾値よりも小さい場合には、winner 距離を認識winner 距離Ｄrwi,k（１，２，…，ｋ，…，Ｎ）とし（ステップＳ３）、これらの入力データの集合をＳＢi ＝｛ＳＢi,1 ，ＳＢi,2 ，…，ＳＢi,k ，…，ＳＢi,N ｝とする。一方、閾値よりも大きい場合、winner 距離をwinner 距離Ｄwi,k （１，２，…，ｋ，…，Ｎ）とし、これらの入力データの集合をＳＢei ＝｛ＳＢei,1 ，ＳＢei,2 ，…，ＳＢei,k ，…ＳＢei,N ｝とする。これらは閾値の更新量Ｄc を得るためのパラメータである。Ｄthi とＤwi もしくはＤrwi の差Ｄgi を以下の（３），（４）式により求める（ステップＳ１１）。ＤgiはＮ回分の入力データが閾値からどの程度離れているかを示し、閾値更新はこの離れを小さくすることである。
【数４】
2005242808.tif 000006
【００５７】
閾値の更新量Ｄci は図９に示されるようにあらかじめ設定された確率分布、例えば三角分布の確率分布から選ばれる。尚、図９は閾値の更新量Ｄci の選択される確率分布ρ(Ｄci)を示しており、ＡがＤgi ＝４の場合、ＢがＤgi ＝３の場合を示している。  
【数５】
2005242808.tif 000007
【００５８】
これより閾値は以下のように学習される。  
【数６】
2005242808.tif 000008
【００５９】
参照データ及び閾値の両学習において更新処理を行う。今、  
【数７】
2005242808.tif 000009
【００６０】
からＧmi の各次元の平均から求まるマンハッタン距離Ｇti 
【数８】
2005242808.tif 000010
【００６１】
が閾値と比較して小さい場合（例えば閾値の２割程度）は参照データ、閾値ともに更新しない。何故なら、Ｇti は入力データの集合の中心と現在の参照データそとのマンハッタン距離、すなわち新しい参照データが現在の参照データＵＳiからどれほど移動するかを表しており、Ｇti が小さいということは、更新量が少ないため、更新しても認識率の向上はあまり期待できない。そこで、このような更新量が少ない場合には更新を避けることで、更新回数をおさえることとし、効率の良い参照データの最適化を行うこととした。
【００６２】
次に、上記参照データ及び認識領域の最適化学習アルゴリズムに基づく連想メモリベースシステムのアーキテクチャについて説明する。
【００６３】
図１０は連想メモリベース最適化学習システムのアーキテクチャを示すブロック図である。アーキテクチャは、連想メモリ装置４００に対して、制御回路５００、学習回路６００、比較回路７００、データ保存回路８００、保存先選択回路９００を備える。
【００６４】
連想メモリ装置４００は、最小距離検索を行う連想メモリ４１０、入力データを一時的に保存する入力バッファ４２０、連想メモリ４１０で抽出された２進数（winnerのみ”１”、他のアドレス行は”０”を出力する）を行アドレスに変換するエンコーダ（encoder）４３０を備える。
【００６５】
制御回路５００は、本システム全体の処理を制御する。学習回路６００は、連想メモリ装置４００の参照データ及び認識領域を決定する閾値を最適な値に学習し更新する。比較回路７００は、閾値比較用、更新制御用にそれぞれ比較器７１０，７２０が用意される。データ保存回路８００は、閾値記憶用、参照データ学習用、閾値縮小用、閾値拡大用にそれぞれ計算結果を保存するための第１乃至第４のメモリ８１０〜８４０を備える。保存先選択回路９００は、制御回路５００及び学習回路６００それぞれの処理過程で得られるデータの保存先を選択するための第１及び第２のカウンタ（counter）９１０，９２０を備える。
【００６６】
図１１は上記学習回路６００の具体的な構成を示すブロック図である。この学習回路６００は、減算器（Subtracter）６０１、加算器（Adder）６０２、除算器（Divider）６０３、乱数発生器６０４、確率分布格納メモリ６０５及び各ブロック６０１〜６０５のデータ入出力に供するレジスタ（ＲＥＧ）６１１〜６１５、入力バッファ４２０からの入力データ、エンコーダ４３０からのwinner行アドレス、データ保存回路８００のメモリ８１０〜８４０からのデータ（以下、メモリ１，メモリ２，メモリ３，メモリ４と記す）を選択的に取り込み、減算器６０１、加算器６０２、除算器６０３に導出する入力選択スイッチ６２１、レジスタ６１１〜６１５に取り込まれたデータを連想メモリ装置４００、データ保存回路８００へ導出する出力選択スイッチ６２２を備える。
【００６７】
図１０及び図１１に示す構成のアーキテクチャにおいて、以下に具体的な動作を説明する。
【００６８】
説明を簡単にするため、Ｗ＝２の参照データのｉ行目にＵＳi ＝（８０，１１０）が連想メモリ４１０に予め蓄えられているとする。まず、閾値Ｄthi ＝１０が閾値記憶用のメモリ１に蓄えられているとし、入力データＳＢi,1 ＝（７５，１１２）が連想メモリ４１０に入力されると、連想メモリ４１０からｉ行がwinner となった場合には、ｉ行目のみ「１」が出力され、他の行は「０」が出力される。連想メモリ４１０から（０，…，１，…，０）T （Ｔは転置を意味する）がエンコーダ４３０に入力され、このエンコーダ４３０から行アドレスｉが出力される。
【００６９】
学習回路６００にｉ行が入力されると、参照データｉ行目ＵＳi ＝（８０，１１０）と入力データＳＢi,1 ＝（７５，１１２）の距離を距離指標に基づいて（例えば、マンハッタン距離）計算する。減算器６０１で各次元の引き算を行う。式（１）より  
【数９】
2005242808.tif 000011
【００７０】
が求まる。この計算結果から補数の変換を行った後、加算器６０２を用いてwinner距離（例えば、マンハッタン距離）Ｄwi,1 ＝７を計算する。閾値比較用の第１の比較器７１０で閾値とwinner 距離を比較するとＤthi ＞Ｄwi,1 であるので、このwinner は認識winner であり、参照データ学習用のメモリ２にＧi,1 を記憶する。また、Ｄwi,1 ＝Ｄrwi,1 ＝７となり、閾値縮小用のメモリ３にＤrwi,1 を記憶する。
【００７１】
｛ＳＢi,2 ，ＳＢi,3 ，ＳＢi,4 ｝＝｛（８６，１１２），（８１，１１４），（７７，１０５）｝と認識winner となる入力データが予め決められた一定回数（Ｎ＝４）回入力されると、｛Ｇi,2 ，Ｇi,3 ，Ｇi,4 ｝＝｛（６，２），（１，４），（−３，５）｝と｛Ｄrwi,2 ，Ｄrwi,3 ，Ｄrwi,4 ｝＝｛８，５，８｝が得られる。参照データ学習用のメモリ２にＧmi ＝｛−１，１３｝が、閾値縮小用のメモリ２に  
【数１０】
2005242808.tif 000012
【００７２】
が記憶される。Ｎ＝４回分入力されたので、減算器６０１、加算器６０２、除算器６０３を用い、式（１０）からＧti ＝３を求める。Ｇti ＝３が更新量として小さいと判断された場合には学習されない。更新前の閾値の２割以下の場合には更新量は小さいと仮定すると、Ｇti ＝３はその値より大きいため、参照データの最適化及び閾値領域の最適化が行われる。式（２）より、参照データはＵＳi ＝（０，３）＋（８０，１１０）＝（８０，１１３）と更新され、閾値は式（３）よりＤgi ＝３となる。
【００７３】
Ｄci を式（５）で発生させる方法を以下に説明する。図９において、Ｄgi ＝３の場合、確率分布格納メモリ６０５は、Ｄgi ＝３に対して０．００〜０．４５，０．４６〜０．７１，０．７２〜０．９１，０．９２〜１．００を予め格納している。このとき、乱数発生器６０４によって０．００〜１．００の一様乱数を発生させ、図１２に示すように、乱数が０．００〜０．４５の場合はＤc ＝０、０．４６〜０．７１の場合はＤci ＝１、０．７２〜０．９１の場合はＤci ＝２、０．９２〜１．００の場合はＤci ＝３が得られる。今、Ｄci ＝１が得られたとすると、式（６）からＤthi ＝１０−１＝９と更新される。
【００７４】
参照データ更新学習アルゴリズムと、各参照データの持つ閾値更新学習アルゴリズム（認識領域最適化アルゴリズム）をＣ言語を用いて計算機上に実現し、その有効性を検証するための計算機によるシミュレーションを行った。その結果をそれぞれ図１３、図１４に示す。ここで学習回数とは、実際に参照データや閾値を更新した回数である。
【００７５】
図１３のシミュレーション条件は、Ｒ＝１，Ｗ＝５，Ｎ＝４とし、入力データのばらつきは正規分布を用いた。正規分布は、図１５（ａ）に示される確率分布であり、中心からのばらつきｓは、  
【数１１】
2005242808.tif 000013
【００７６】
の確率で得られる。このシミュレーションではσ＝３とした。また参照データの最適化が行われていることを確認するため、入力データの中心が変化した場合、その変化に追従し参照データが変化するかを確認した。その方法として、一定回数入力データが入力されると、入力データの中心の値を各次元で「１増やし」少しずつ変化させた。つまり、入力データの中心が初め（１０，１５）であった場合には、１回目の変化後は（１１，１６）とした。
【００７７】
図１４のシミュレーション条件は、Ｒ＝１，Ｗ＝５，Ｎ＝４とし、入力データのばらつきは正規分布と一様分布を用いた。一様分布は図１５（ａ）に示される確率分布であり、中心からのばらつきｓは、  
【数１２】
2005242808.tif 000014
【００７８】
の確率で得られる。このシミュレーションではσ＝３とした。またこのシミュレーションでは入力データの変化はさせていない。
【００７９】
最適化が行われている度合いを示す指標として、図１３では誤差率を、図１４では距離誤差率を用いた。ここで誤差率αi は、  
【数１３】
2005242808.tif 000015
【００８０】
と表される。ＭＳＥi は、ｉ行の参照データに対する入力データの平均二乗誤差である（一定回数ごと計算される）。ＭＳＥ0i は、理想的な参照データに対する全入力データから得られる推定の平均二乗誤差であり、無限に入力データが入力されると得られる平均二乗誤差ＭＳＥiとなり，生じうる誤差である。つまり、誤差率αi は現在の平均二乗誤差ＭＳＥi が、生じうる誤差ＭＳＥ0i とどの程度離れているかを示す割合である。この誤差率αi は「０」に近いほど参照データが最適になっていることを表す。
【００８１】
距離誤差率は、  
【数１４】
2005242808.tif 000016
【００８２】
と表される。Ｄmaxi は認識率が１００％となる閾値である。したがって、この距離誤差率は「０」に近いほど認識領域が最適になっていることを表す。図１３の結果から、学習回数が増えることで参照データの最適化が行われていることがわかる。また、入力データの分布の変化に対応しても参照データが追従し、入力データの変化に応じた最適な参照データになっていることがわかる。図１４では、入力データの入力分布を正規分布と一様分布の２種類を用いており、両分布とも、学習後は認識率が７５％以上の閾値となった。ここで図１４において正規分布の入力データでの距離誤差率が大きくなっている。その理由は、正規分布の入力では最適な参照データを中心に入力データが偏っているため、閾値は大きくなりづらく、結果として距離誤差率は大きくなったと考えられる。
【００８３】
尚、上記実施形態において、距離指標の例としてマンハッタン距離をあげたが、これ以外にユークリッド距離、ハミング距離、マハラノビス距離なども利用可能である。
【００８４】
また、上記実施形態では、連想メモリ装置をベースとしたパターン認識システムについて説明したが、本発明はこれに限定されるものではなく、例えばプロセッサベースのパターン認識システムにも適用可能である。以下、このプロセッサベースの場合の実施形態に
ついて、図１６を参照して説明する。
【００８５】
図１６は本発明の最適化学習方法を採用するプロセッサベースパターン認識システムの構成を示すブロック図である。図１６において、１０００はＣＰＵ（Central Processing Unit）、１１００はメモリ、１３００はＣＰＵ１０００とメモリ１１００との間で書き込みデータ、読み出しデータの転送を行うデータバスである。
【００８６】
ＣＰＵ１０００は、ＡＬＵ（Arithmetic Logic Unit）１０１０、レジスタ１０１１〜１０１３、１０２０…コントローラを備える。コントローラ１０２０は、予め登録されたプログラムに基づいてＡＬＵ１０１０に加減算、比較、除算等を選択的に命令する一方、メモリ１１００の読み出し・書き込みを制御する。ＡＬＵ１０１０の入出力部にはそれぞれレジスタ１０１１〜１０１３がバッファとして配置される。
【００８７】
メモリ１１００は、入力データＳＢ1 〜ＳＢR を一時的に格納する領域１１１０、参照データＵＳ11〜ＵＳRWを格納し更新可能とする領域１１２０、閾値データＤth1 〜ＤthRを格納する領域１１３０、ＣＰＵ１０００の距離計算結果Ｄ1 〜ＤR を格納する領域１１４０、Winner距離Ｄw1,1 〜ＤwR,N を格納する領域１１５０、Winner距離と閾値との差Ｄg1 〜ＤgR を格納する領域１１６０、検索データと参照データとの差Ｇ1,1 〜ＧR,N を格納する領域１１７０、閾値の内側に入力された回数の値（第１カウンタ値）１〜Ｎを格納する領域１１８０、閾値の外側に入力された回数の値（第２カウンタ値）１〜Ｎを格納する領域１１９０、確率的な閾値更新量データＤc を格納する領域１２００を備え、ＣＰＵ１０００側のコントローラ１０２０により読み出し・書き込みの制御がなされる。
【００８８】
上記構成において、コントローラ１０２０の実行プログラムには、先に述べた連想メモリの場合と同様な処理がソフトウェアによって実行される。すなわち、ＣＰＵ１０００において、メモリ１１００に対するデータのやりとりにより、パターン検索対象の入力データを複数の参照データそれぞれとの間で類似度に相当する距離演算を行い、閾値によって決まる認識領域内で最小距離にある参照データを認識データとして選択する。
【００８９】
ここで、上記コントローラ１０２０の実行プログラムに、図７に示したフローチャートに基づく参照データの最適化学習処理が組み込んでおく。これにより、メモリ１１００内の参照データは、常に最適状態に更新され、パターン認識に要する時間の短縮が図れる。先に述べたように、従来のプロセッサベースシステムでは、参照データの最適化学習による更新処理が組み込まれていなかったため、パターン認識に要する時間の短縮、認識率の向上が困難であったが、本発明の最適化処理を組み込むことによって上記の問題を解決し、パターン認識に要する時間の短縮、認識率の向上を実現することができる。
【００９０】
尚、上記プロセッサベースシステムにおいても、距離指標の例としてマンハッタン距離以外にユークリッド距離、ハミング距離、マハラノビス距離などを利用できる。
【産業上の利用可能性】
【００９１】
本発明は、人工知能システム、自律ロボット、認証システム、ＩＤＳ（不正侵入検知システム）、データバンクシステム、インターネットルータ、対象認識、電動義手、家事手伝いロボットなどに適用可能である。
【図面の簡単な説明】
【００９２】
【図１】本発明に係る方法が適用される連想メモリの概念図。
【図２】図１の連想メモリの一例とする全並列型連想メモリの構成例を示すブロック図。
【図３】本発明に係る最適化学習方法の概念図。
【図４】本発明に係る最適化学習方法の概念図。
【図５】本発明に係る最適化学習方法の概念図。
【図６】本発明が適用される連想メモリの参照データと入力データの対応関係を示す図。
【図７】本発明に係る参照データ及び認識領域の最適化学習アルゴリズムを示すフローチャート。
【図８】図７の閾値最適化学習アルゴリズムを説明するための認識領域の縮小及び拡大の様子を示す概念図。
【図９】本発明に係る閾値の更新量の選択される確率分布を示す特性図。
【図１０】本発明に係る学習機能を付加した連想メモリのアーキテクチャを示すブロック図。
【図１１】図１０に示す学習回路の具体的な構成を示すブロック図。
【図１２】図１１に示す確率分布格納メモリがＤgi ＝３の場合に発生させる乱数選択の一例を示す概念図。
【図１３】本発明に係る参照データ最適学習に対するシミュレーション結果を示すグラフ。
【図１４】本発明に係る閾値の最適化学習（認識領域最適化）に対するシミュレーション結果を示すグラフ。
【図１５】図１３、図１４のシミュレーションに用いた入力データのばらつきの様子を示す波形図。
【図１６】本発明の最適化学習方法を採用するプロセッサベースパターン認識システムの構成を示すブロック図。
【符号の説明】
【００９３】
１００…メモリ領域、２００…ＷＬＡ（Winner Line-Up Amplifier）回路、３００…ＷＴＡ（Winner-Take All-Circuit）回路、１１０…行デコーダ及びＲ／Ｗ回路（Column Decoder and Read/Write Circuit (K x W Column)）、１２０…列デコーダ（Row Decoder (R Rows)）、１３０…検索データ保存回路（Search Data (K bit x W)）、
４００…連想メモリ装置、４１０…連想メモリ、４２０…入力バッファ、４３０…エンコーダ（encoder）、５００…制御回路、６００…学習回路、７００…比較回路、７１０…閾値比較用比較器、７２０…更新制御用比較器、８００…データ保存回路、８１０〜８４０…第１乃至第４のメモリ、９００…保存先選択回路、９１０，９２０…カウンタ（counter）、
６０１…減算器（Subtracter）、６０２…加算器（Adder）、６０３…除算器（Divider）、６０４…乱数発生器、６０５…確率分布格納メモリ、６１１〜６１５…レジスタ（ＲＥＧ）、６２１…入力選択スイッチ、６２２…出力選択スイッチ、
１０００…ＣＰＵ、１０１０…ＡＬＵ、１０１１〜１０１３…レジスタ、１０２０…コントローラ、１１００…メモリ、１１１０…入力データ格納領域、１１２０…参照データ格納領域、１１３０…閾値データ格納領域、１１４０…距離計算結果格納領域、１１５０…Winner距離格納領域、１１６０…差分データ格納領域、１１７０…距離差データ格納領域、１１８０…第１カウンタ格納領域、１１９０…第２カウンタ格納領域、１２００…閾値更新量データ格納領域、１３００…データバス。
【図１】
2005242808.tif 000017
【図２】
2005242808.tif 000018
【図３】
2005242808.tif 000019
【図４】
2005242808.tif 000020
【図５】
2005242808.tif 000021
【図６】
2005242808.tif 000022
【図７】
2005242808.tif 000023
【図８】
2005242808.tif 000024
【図９】
2005242808.tif 000025
【図１０】
2005242808.tif 000026
【図１１】
2005242808.tif 000027
【図１２】
2005242808.tif 000028
【図１３】
2005242808.tif 000029
【図１４】
2005242808.tif 000030
【図１５】
2005242808.tif 000031
【図１６】
2005242808.tif 000032