JPH06161983A - パターンマッチング方式 - Google Patents
パターンマッチング方式Info
- Publication number
- JPH06161983A JPH06161983A JP4335624A JP33562492A JPH06161983A JP H06161983 A JPH06161983 A JP H06161983A JP 4335624 A JP4335624 A JP 4335624A JP 33562492 A JP33562492 A JP 33562492A JP H06161983 A JPH06161983 A JP H06161983A
- Authority
- JP
- Japan
- Prior art keywords
- code
- output
- pattern matching
- input
- matching method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Analysis (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 2値ニューラルネットワークを利用して、入
出力等においてアナログ値を取扱い可能とする。 【構成】 0,1のいずれかで表される複数の入力信号
を入力し、発火・非発火のいずれかを取り得る出力信号
を出力する複数のニューロン、及び複数の入力端子と複
数のニューロンのそれぞれとの間に結合係数が0又は1
であるシナップス結合を有するニューラルネットワーク
101 において、ニューロンの発火の組合せによって出力
結果を表す。ニューロンにおける発火のためのしきい値
がすべてのニューロンについて共通であり、かつ発火す
るニューロンの数が一定になるようにしきい値を制御す
る。また、複数の入力信号で設定される値のすべてを組
合せてコードを生成し、このコードで1個の特徴を表
し、複数の特徴を含む入力情報に対し、コード同士の複
合演算によって新たなコードを生成し、生成された新た
なコードによって入力情報を表す。
出力等においてアナログ値を取扱い可能とする。 【構成】 0,1のいずれかで表される複数の入力信号
を入力し、発火・非発火のいずれかを取り得る出力信号
を出力する複数のニューロン、及び複数の入力端子と複
数のニューロンのそれぞれとの間に結合係数が0又は1
であるシナップス結合を有するニューラルネットワーク
101 において、ニューロンの発火の組合せによって出力
結果を表す。ニューロンにおける発火のためのしきい値
がすべてのニューロンについて共通であり、かつ発火す
るニューロンの数が一定になるようにしきい値を制御す
る。また、複数の入力信号で設定される値のすべてを組
合せてコードを生成し、このコードで1個の特徴を表
し、複数の特徴を含む入力情報に対し、コード同士の複
合演算によって新たなコードを生成し、生成された新た
なコードによって入力情報を表す。
Description
【0001】
【産業上の利用分野】本発明はパターンマッチング方式
に関し、特に、2値ニューラルネットワークを利用して
構成され入力情報と出力の関係を対応づけるパターンマ
ッチング装置においてアナログ値を取り扱うことを可能
にしたパターンマッチング方式に関するものである。
に関し、特に、2値ニューラルネットワークを利用して
構成され入力情報と出力の関係を対応づけるパターンマ
ッチング装置においてアナログ値を取り扱うことを可能
にしたパターンマッチング方式に関するものである。
【0002】
【従来の技術】ニューラルネットワークを利用して入力
情報と出力の関係を対応づけるパターンマッチング方式
としては、従来、複数のニューロンモデル素子(以下ニ
ューロンという)を階層状に接続してなる階層型ニュー
ラルネットワークを利用して構成される方式が提案され
ている。この階層型ニューラルネットワークは、少なく
とも1層以上の中間層を含む3層以上の構造のものでな
ければ、実用的なパターンマッチングを行うことができ
ないと言われている。
情報と出力の関係を対応づけるパターンマッチング方式
としては、従来、複数のニューロンモデル素子(以下ニ
ューロンという)を階層状に接続してなる階層型ニュー
ラルネットワークを利用して構成される方式が提案され
ている。この階層型ニューラルネットワークは、少なく
とも1層以上の中間層を含む3層以上の構造のものでな
ければ、実用的なパターンマッチングを行うことができ
ないと言われている。
【0003】図19は代表的な3層ニューラルネットワ
ークの構成を示す。図20は、ニューラルネットワーク
を構成する一つのニューロン901のモデルを示すもの
で、n個の入力信号X1 〜Xn のそれぞれに対してシナ
ップス結合係数W1 〜Wn を乗じ、その総和を取り、こ
れに固有のしきい値hを加え、さらにこれを非線形関数
に通すことにより、出力信号Yを得ている。これを式で
表現すると、次式のようになる。
ークの構成を示す。図20は、ニューラルネットワーク
を構成する一つのニューロン901のモデルを示すもの
で、n個の入力信号X1 〜Xn のそれぞれに対してシナ
ップス結合係数W1 〜Wn を乗じ、その総和を取り、こ
れに固有のしきい値hを加え、さらにこれを非線形関数
に通すことにより、出力信号Yを得ている。これを式で
表現すると、次式のようになる。
【数1】Y=f(ΣWi・Xi+h) ここで非線形関数としては、一般に次式に示すシグモイ
ド関数が用いられている。
ド関数が用いられている。
【数2】f(x)=1/{1+exp (−x)}
【0004】図19に示すように、n個の入力信号X1
〜Xn が与えられると、各ニューロン901は前述した
積和演算および非線形演算処理を行い、これによってm
個の出力信号O1 〜Om が得られる。ここで、各ニュー
ロン901の持つシナップス結合係数の値は、ルーメル
ハートらが提案したバックプロパゲーション法によって
決定される。
〜Xn が与えられると、各ニューロン901は前述した
積和演算および非線形演算処理を行い、これによってm
個の出力信号O1 〜Om が得られる。ここで、各ニュー
ロン901の持つシナップス結合係数の値は、ルーメル
ハートらが提案したバックプロパゲーション法によって
決定される。
【0005】ところで、前述したようなニューラルネッ
トワークを用いてパターンマッチング方式を実現してパ
ターンマッチングを行う場合、多くの数値演算を行わな
ければならず、処理に時間がかかりすぎる。そのため、
実際にはハードウェア化して処理速度の向上をはからな
ければならない。ハードウェアを用いたニューラルネッ
トワークについては、大別してデジタル回路を用いた方
式とアナログ回路を用いた方式がある。デジタル回路を
用いた方式の例としては、電子情報通信学会技術研究報
告ICDー89ー151、同じくICD89ー144に
提案された方式、1990年に米国アダプティブソリュ
ーションズ社(Adaptive Solutions Inc.) が発表した方
式 (A VLSI Architecture for High-Performance,Low-C
ost, On-chip Learning : Proceeding of the Interna
tional Joint Conference on Neural Networks,IEEE,Ju
ly,1990)などが挙げられる。また、アナログ回路を用い
た方式の例としては、特開平2ー224190号、特開
平1ー237754号、特開平2ー226492号など
に示されるように、半導体素子の連続特性を利用してニ
ューロン素子を構成するものや、光や磁気を用いてニュ
ーロン間の結合を行うものなど多くの方式が提案されて
いる。
トワークを用いてパターンマッチング方式を実現してパ
ターンマッチングを行う場合、多くの数値演算を行わな
ければならず、処理に時間がかかりすぎる。そのため、
実際にはハードウェア化して処理速度の向上をはからな
ければならない。ハードウェアを用いたニューラルネッ
トワークについては、大別してデジタル回路を用いた方
式とアナログ回路を用いた方式がある。デジタル回路を
用いた方式の例としては、電子情報通信学会技術研究報
告ICDー89ー151、同じくICD89ー144に
提案された方式、1990年に米国アダプティブソリュ
ーションズ社(Adaptive Solutions Inc.) が発表した方
式 (A VLSI Architecture for High-Performance,Low-C
ost, On-chip Learning : Proceeding of the Interna
tional Joint Conference on Neural Networks,IEEE,Ju
ly,1990)などが挙げられる。また、アナログ回路を用い
た方式の例としては、特開平2ー224190号、特開
平1ー237754号、特開平2ー226492号など
に示されるように、半導体素子の連続特性を利用してニ
ューロン素子を構成するものや、光や磁気を用いてニュ
ーロン間の結合を行うものなど多くの方式が提案されて
いる。
【0006】しかし、前述したデジタル回路を用いてニ
ューラルネットワークを構成する方式では、デジタル乗
算器等を含む多数の演算回路によって構成されるため、
回路規模が非常に大きくなるという問題がある。またア
ナログ回路を用いてニューラルネットワークを構成する
方式では、シナップス結合に相当する素子の特性を均一
にすることが困難なため、それぞれの特性に合わせた学
習を必要とするという問題がある。
ューラルネットワークを構成する方式では、デジタル乗
算器等を含む多数の演算回路によって構成されるため、
回路規模が非常に大きくなるという問題がある。またア
ナログ回路を用いてニューラルネットワークを構成する
方式では、シナップス結合に相当する素子の特性を均一
にすることが困難なため、それぞれの特性に合わせた学
習を必要とするという問題がある。
【0007】また、図21はハードウェア化を簡単にす
るため、シナップス結合係数や入出力の取り得る値をす
べて0または1の2値のみに限定し、学習を容易にする
ために中間層を持たないニューラルネットワークの一例
を示したものである。図22はそれを構成するニューロ
ン902のモデルを示したものであり、図中に記載され
たEはニューロンの興奮度を表し、Eの値がしきい値θ
以上となったときに発火(出力が1となる)するように
なっている。図21に示したニューラルネットワークを
用いて実現されるパターンマッチング方式において、従
来方式としてはN個の0または1で表される入力パター
ン(x1 ,…,xN )に対してL個の出力O1 〜OL の
うちいずれか1個を発火させて結果を得るようにしてい
た。
るため、シナップス結合係数や入出力の取り得る値をす
べて0または1の2値のみに限定し、学習を容易にする
ために中間層を持たないニューラルネットワークの一例
を示したものである。図22はそれを構成するニューロ
ン902のモデルを示したものであり、図中に記載され
たEはニューロンの興奮度を表し、Eの値がしきい値θ
以上となったときに発火(出力が1となる)するように
なっている。図21に示したニューラルネットワークを
用いて実現されるパターンマッチング方式において、従
来方式としてはN個の0または1で表される入力パター
ン(x1 ,…,xN )に対してL個の出力O1 〜OL の
うちいずれか1個を発火させて結果を得るようにしてい
た。
【0008】
【発明が解決しようとする課題】しかし、シナップス結
合係数や入出力がすべて0または1の2値のみであり、
かつ中間層を持たないニューラルネットワークを用いて
実現される従来のパターンマッチング方式では問題が存
在する。すなわち、得られる結果がN個のうちのいずれ
かであり、結果の大小などアナログ的な値を表現するこ
とができない。また入力情報についても、0と1のみで
表現され、単純な入力情報しか扱えない。さらに中間層
を持たないので、アナログ的な学習を行うことができな
い。これらの問題が存在したため、従来では、きわめて
単純なパターンマッチングしか行うことができなかっ
た。
合係数や入出力がすべて0または1の2値のみであり、
かつ中間層を持たないニューラルネットワークを用いて
実現される従来のパターンマッチング方式では問題が存
在する。すなわち、得られる結果がN個のうちのいずれ
かであり、結果の大小などアナログ的な値を表現するこ
とができない。また入力情報についても、0と1のみで
表現され、単純な入力情報しか扱えない。さらに中間層
を持たないので、アナログ的な学習を行うことができな
い。これらの問題が存在したため、従来では、きわめて
単純なパターンマッチングしか行うことができなかっ
た。
【0009】本発明の目的は、前述した従来の問題点に
鑑み、たとえシナップス結合係数や入出力がすべて0ま
たは1の2値であってかつ中間層を持たないニューラル
ネットワークを利用しても、入出力等においてアナログ
的な値を取り扱えるパターンマッチング方式を提供する
ことにある。
鑑み、たとえシナップス結合係数や入出力がすべて0ま
たは1の2値であってかつ中間層を持たないニューラル
ネットワークを利用しても、入出力等においてアナログ
的な値を取り扱えるパターンマッチング方式を提供する
ことにある。
【0010】
【課題を解決するための手段】本発明に係るパターンマ
ッチング方式は、0または1の2値のいずれかで表され
る複数の入力信号を入力しかつ発火または非発火の2状
態のいずれかを取り得る出力信号を出力する複数のニュ
ーロンと、複数の入力信号のそれぞれに対応する複数の
入力端子と複数のニューロンのそれぞれとの間に結合係
数が0または1であるシナップス結合とを有するニュー
ラルネットワークを利用して実現されるものであり、ニ
ューロンの発火状態の組合せによって出力結果を表すこ
とに特徴点がある。前記のパターンマッチング方式にお
いて、好ましくは、複数のニューロンのそれぞれにおけ
る発火のためのしきい値がすべてのニューロンについて
共通であり、かつ発火するニューロンの数が一定になる
ようにしきい値を制御する。また本発明に係るパターン
マッチング方式は、複数の入力信号のそれぞれで設定さ
れる値のすべてを組合せてコードを生成し、このコード
によって1個の特徴を表すこととし、複数個の前記特徴
を含む入力情報に対して、それぞれの特徴を表すコード
同士の論理積演算または論理和演算または論理積演算と
論理和演算の複合演算によって新たなコードを生成し、
生成された新たなコードによって入力情報を表すように
したことに特徴点がある。また、好ましくは、入力情報
を表す新たなコードにおいて、1となる入力信号の数が
一定値以下になるように1を0に変更する。また、好ま
しくは、1個の特徴、入力情報、ニューロンの発火の組
合せのいずれかを表す任意のコードに対して、それとの
類似度が任意な他のコードを生成する。さらには、1個
の特徴、入力情報、ニューロンの発火の組合せのいずれ
かを表す任意のコードを初期コードとして、前回生成し
たコードと類似度が一定な他のコードを順次生成するよ
うにした。さらに、好ましくは、任意の入力パターンお
よび任意の出力パターンに対して、その入力、出力が共
に1となっている部分のシナップス結合係数を一定の割
合で0から1または1から0に変更するようにした。
ッチング方式は、0または1の2値のいずれかで表され
る複数の入力信号を入力しかつ発火または非発火の2状
態のいずれかを取り得る出力信号を出力する複数のニュ
ーロンと、複数の入力信号のそれぞれに対応する複数の
入力端子と複数のニューロンのそれぞれとの間に結合係
数が0または1であるシナップス結合とを有するニュー
ラルネットワークを利用して実現されるものであり、ニ
ューロンの発火状態の組合せによって出力結果を表すこ
とに特徴点がある。前記のパターンマッチング方式にお
いて、好ましくは、複数のニューロンのそれぞれにおけ
る発火のためのしきい値がすべてのニューロンについて
共通であり、かつ発火するニューロンの数が一定になる
ようにしきい値を制御する。また本発明に係るパターン
マッチング方式は、複数の入力信号のそれぞれで設定さ
れる値のすべてを組合せてコードを生成し、このコード
によって1個の特徴を表すこととし、複数個の前記特徴
を含む入力情報に対して、それぞれの特徴を表すコード
同士の論理積演算または論理和演算または論理積演算と
論理和演算の複合演算によって新たなコードを生成し、
生成された新たなコードによって入力情報を表すように
したことに特徴点がある。また、好ましくは、入力情報
を表す新たなコードにおいて、1となる入力信号の数が
一定値以下になるように1を0に変更する。また、好ま
しくは、1個の特徴、入力情報、ニューロンの発火の組
合せのいずれかを表す任意のコードに対して、それとの
類似度が任意な他のコードを生成する。さらには、1個
の特徴、入力情報、ニューロンの発火の組合せのいずれ
かを表す任意のコードを初期コードとして、前回生成し
たコードと類似度が一定な他のコードを順次生成するよ
うにした。さらに、好ましくは、任意の入力パターンお
よび任意の出力パターンに対して、その入力、出力が共
に1となっている部分のシナップス結合係数を一定の割
合で0から1または1から0に変更するようにした。
【0011】
【作用】本発明のパターンマッチング方式では、ニュー
ロンの発火の組合せによって出力結果を表し、発火した
ニューロンの組合せがどの結果に一番近いかという方法
で結果を判定することができる。また各ニューロンのし
きい値が共通で、かつ発火するニューロンの数が一定に
なる構成に基づき、発火したニューロンの組合せと、複
数個の結果を表す発火の組合せとの比較を確実に行う。
また本発明のパターンマッチング方式では、すべての入
力に設定する値の組合せ(コード)によって1個の特徴
を表し、かつ複数個の特徴を含む入力情報に対しては、
それぞれの特徴を表すコード同士の論理積演算、または
論理和演算、または論理積演算と論理和演算との複合演
算によって生成されるコードによってその入力情報を表
し、これによって複数次元の入力情報を扱う。入力情報
を表すコードにおいて、1となる入力の数が一定値以下
になるようにすることにより、特徴の多い入力情報も特
徴の少ない入力情報も“1”の数が同じコードで表すこ
とができる。また、1個の特徴、または入力情報、また
はニューロンの発火の組合せを表すコードに基づき、そ
れと適度に類似した他のコードを生成し、これによって
特徴や入力情報あるいは出力結果の相関性を表すように
した。さらに、前回生成したコードと類似度が一定な他
のコードを順次生成することにより、作成した複数個の
コードのうち、任意の2個を比較したとき、それらの生
成した順番が近いほど類似度を高く、順番が遠いほど類
似度を低くすることができる。入力、出力共に1となっ
ている部分のシナップス結合係数を、一定の割合で0か
ら1または1から0に変更することで、それによって学
習を行う。
ロンの発火の組合せによって出力結果を表し、発火した
ニューロンの組合せがどの結果に一番近いかという方法
で結果を判定することができる。また各ニューロンのし
きい値が共通で、かつ発火するニューロンの数が一定に
なる構成に基づき、発火したニューロンの組合せと、複
数個の結果を表す発火の組合せとの比較を確実に行う。
また本発明のパターンマッチング方式では、すべての入
力に設定する値の組合せ(コード)によって1個の特徴
を表し、かつ複数個の特徴を含む入力情報に対しては、
それぞれの特徴を表すコード同士の論理積演算、または
論理和演算、または論理積演算と論理和演算との複合演
算によって生成されるコードによってその入力情報を表
し、これによって複数次元の入力情報を扱う。入力情報
を表すコードにおいて、1となる入力の数が一定値以下
になるようにすることにより、特徴の多い入力情報も特
徴の少ない入力情報も“1”の数が同じコードで表すこ
とができる。また、1個の特徴、または入力情報、また
はニューロンの発火の組合せを表すコードに基づき、そ
れと適度に類似した他のコードを生成し、これによって
特徴や入力情報あるいは出力結果の相関性を表すように
した。さらに、前回生成したコードと類似度が一定な他
のコードを順次生成することにより、作成した複数個の
コードのうち、任意の2個を比較したとき、それらの生
成した順番が近いほど類似度を高く、順番が遠いほど類
似度を低くすることができる。入力、出力共に1となっ
ている部分のシナップス結合係数を、一定の割合で0か
ら1または1から0に変更することで、それによって学
習を行う。
【0012】
【実施例】以下に、本発明の実施例を添付図面に基づい
て説明する。図1は、本発明のパターンマッチング方式
の第1実施例を説明するための回路図である。図1にお
いて、101は例えば図21に示したものと同様な階層
型ニューラルネットワーク、102は出力結果を表す発
火のパターン(出力コード)を登録した出力コードテー
ブル、103は発火するニューロンの数が一定値になる
ようにしきい値θを制御するしきい値制御部、104は
ニューラルネットワーク101の発火のパターンが出力
コードテーブル102に登録された出力コードのうちど
れに最も近いかを選択し、またはそれぞれの出力コード
との類似度を求めるコード比較部、105は複数個の特
徴について各特徴を表すコード(特徴コード)を登録し
た特徴コードテーブル、106は複数個の特徴を含む入
力に対して、各特徴コード同士の論理和演算を行い、入
力コードを生成する入力コード生成部、107は入力コ
ード生成部106で生成された入力コードのうち“1”
となる数が一定値以下になるように“1”をランダムに
間引きするコード正規化部、108は、コード正規化部
107で正規化された入力コードに対して、目標とする
出力コードと同じパターンが得られるようにシナップス
結合係数を変更するシナップス結合係数制御部、109
は、出力コードや特徴コードの生成、入力コードの正規
化、シナップス結合係数の変更などに使用する2進の乱
数を発生する乱数発生部、110はパターンマッチング
装置全体を制御するための制御部である。制御部110
はCPU、ROM、RAMを含んで構成される。また乱
数発生部109は、1と0との比率を適当に設定するこ
とができるようになっている。なお階層型ニューラルネ
ットワーク101の代わりに相互結合型ニューラルネッ
トワークを用いることもできる。
て説明する。図1は、本発明のパターンマッチング方式
の第1実施例を説明するための回路図である。図1にお
いて、101は例えば図21に示したものと同様な階層
型ニューラルネットワーク、102は出力結果を表す発
火のパターン(出力コード)を登録した出力コードテー
ブル、103は発火するニューロンの数が一定値になる
ようにしきい値θを制御するしきい値制御部、104は
ニューラルネットワーク101の発火のパターンが出力
コードテーブル102に登録された出力コードのうちど
れに最も近いかを選択し、またはそれぞれの出力コード
との類似度を求めるコード比較部、105は複数個の特
徴について各特徴を表すコード(特徴コード)を登録し
た特徴コードテーブル、106は複数個の特徴を含む入
力に対して、各特徴コード同士の論理和演算を行い、入
力コードを生成する入力コード生成部、107は入力コ
ード生成部106で生成された入力コードのうち“1”
となる数が一定値以下になるように“1”をランダムに
間引きするコード正規化部、108は、コード正規化部
107で正規化された入力コードに対して、目標とする
出力コードと同じパターンが得られるようにシナップス
結合係数を変更するシナップス結合係数制御部、109
は、出力コードや特徴コードの生成、入力コードの正規
化、シナップス結合係数の変更などに使用する2進の乱
数を発生する乱数発生部、110はパターンマッチング
装置全体を制御するための制御部である。制御部110
はCPU、ROM、RAMを含んで構成される。また乱
数発生部109は、1と0との比率を適当に設定するこ
とができるようになっている。なお階層型ニューラルネ
ットワーク101の代わりに相互結合型ニューラルネッ
トワークを用いることもできる。
【0013】図2のフローチャートを参照して、上記構
成を有するパターンマッチング回路の動作を説明する。
図2は、図1に示した構成が、いかにパターンマッチン
グ機能を実行するかということについて全体的処理の流
れの一例を示したもので、初期値の設定(S1)、コー
ドの生成すなわちコーディング(S2)、学習のための
準備(S3)、学習(S4)、実行(S5)の順に行わ
れる。
成を有するパターンマッチング回路の動作を説明する。
図2は、図1に示した構成が、いかにパターンマッチン
グ機能を実行するかということについて全体的処理の流
れの一例を示したもので、初期値の設定(S1)、コー
ドの生成すなわちコーディング(S2)、学習のための
準備(S3)、学習(S4)、実行(S5)の順に行わ
れる。
【0014】「初期値の設定」のステップS1では、ニ
ューラルネットワーク101の入力数Nおよび出力数L
と、出力コードの最大数Rと、特徴コードの最大数U
と、出力コードに含まれる“1”の数mと、特徴コード
に含まれる“1”の数aと、入力コードを正規化する際
の“1”の数nを決定する。ここで、mの値は出力数L
に比べて十分小さい値を選定する。nの値も入力数Nに
比べて十分小さい値を選定する。また一般的に、1個の
入力情報には複数個の特徴が含まれるので、それらの論
理和をとって作られるコードの“1”の数がnよりも小
さくならない程度にaの値を決めるのが望ましい。
ューラルネットワーク101の入力数Nおよび出力数L
と、出力コードの最大数Rと、特徴コードの最大数U
と、出力コードに含まれる“1”の数mと、特徴コード
に含まれる“1”の数aと、入力コードを正規化する際
の“1”の数nを決定する。ここで、mの値は出力数L
に比べて十分小さい値を選定する。nの値も入力数Nに
比べて十分小さい値を選定する。また一般的に、1個の
入力情報には複数個の特徴が含まれるので、それらの論
理和をとって作られるコードの“1”の数がnよりも小
さくならない程度にaの値を決めるのが望ましい。
【0015】次に、「コードの生成」のステップS2で
は、R個の出力コードおよびU個の特徴コードを生成し
て、それぞれ出力コードテーブル102および特徴コー
ドテーブル105に登録する。出力コードと特徴コード
の生成では、それぞれ乱数を用いて、出力コードは約m
個の“1”を含むLビットの2進コードとして、また特
徴コードは約a個の“1”を含むNビットの2進コード
として作成する。
は、R個の出力コードおよびU個の特徴コードを生成し
て、それぞれ出力コードテーブル102および特徴コー
ドテーブル105に登録する。出力コードと特徴コード
の生成では、それぞれ乱数を用いて、出力コードは約m
個の“1”を含むLビットの2進コードとして、また特
徴コードは約a個の“1”を含むNビットの2進コード
として作成する。
【0016】ここで、出力コードや特徴コードを作成す
るために、任意の割合で“1”を含んだ乱数を作成する
必要があるが、その乱数作成方法の一例を説明する。
“1”の割合を百分率で表すとして、まず0から99ま
での乱数を、作成しようとするコードのビット数だけ発
生させる。作成しようとするコードの“1”の割合をP
%とする場合、乱数の値がP以上のものは“0”、P未
満のものは“1”として2進コードを作成すると、この
コードには、約P%の“1”が含まれることになる。
るために、任意の割合で“1”を含んだ乱数を作成する
必要があるが、その乱数作成方法の一例を説明する。
“1”の割合を百分率で表すとして、まず0から99ま
での乱数を、作成しようとするコードのビット数だけ発
生させる。作成しようとするコードの“1”の割合をP
%とする場合、乱数の値がP以上のものは“0”、P未
満のものは“1”として2進コードを作成すると、この
コードには、約P%の“1”が含まれることになる。
【0017】次に、「学習のための準備」のステップS
3では、実際のパターンマッチング実行に先だって学習
を行うが、この学習の準備として、まず既に生成したR
個の出力コードに対して目標とする出力結果O1 〜OR
を割り当て、U個の特徴コードに対して特徴入力f1 〜
fU を割り当てて、次に、シナップス結合係数w11〜w
LNを初期化する。シナップス結合係数の初期化は、すべ
てのシナップス結合係数を“0”にしてもよいが、ごく
一部を“1”にし、残りを“0”にするようにしてもよ
い。次に、学習させたい入出力の関係を表す学習データ
を複数個準備しておく。
3では、実際のパターンマッチング実行に先だって学習
を行うが、この学習の準備として、まず既に生成したR
個の出力コードに対して目標とする出力結果O1 〜OR
を割り当て、U個の特徴コードに対して特徴入力f1 〜
fU を割り当てて、次に、シナップス結合係数w11〜w
LNを初期化する。シナップス結合係数の初期化は、すべ
てのシナップス結合係数を“0”にしてもよいが、ごく
一部を“1”にし、残りを“0”にするようにしてもよ
い。次に、学習させたい入出力の関係を表す学習データ
を複数個準備しておく。
【0018】その後に、「学習」のステップS4を行う
ことによって、パターンマッチング実行のステップS5
を行うことができるようになる。「学習」のステップS
4、「実行」のステップS5の詳細なアルゴリズムは、
それぞれ、図3および図4を参照して説明する。
ことによって、パターンマッチング実行のステップS5
を行うことができるようになる。「学習」のステップS
4、「実行」のステップS5の詳細なアルゴリズムは、
それぞれ、図3および図4を参照して説明する。
【0019】図3は、図1に示した構成でパターンマッ
チングを行うための学習のアルゴリズムを示したもので
ある。全体的には、あらかじめ準備した複数個の学習デ
ータから順番に一個づつ取ってきて正しい結果が出るか
どうかを調べ、正しい結果が出ない場合にはニューラル
ネットワーク101の学習を行い、すべての学習データ
について正しい結果が出るようになるまで行う。一個の
学習データについての処理としては、まず一個の学習デ
ータに含まれる複数個の特徴コードを特徴コードテーブ
ル105から取り出し(ステップ401)、入力コード
生成部106にて各々の特徴コードの論理和を取ったコ
ード(x1 ,…,xN )を生成する(ステップ40
2)。次にコード正規化部107では、このコードに含
まれる“1”の数が約n個になるように、乱数発生部1
09により発生した乱数を用いてランダムに“1”を
“0”に変更する(ステップ403)。次に、ニューラ
ルネットワーク101では、コード正規化部107で正
規化したコードの入力xi と、既に設定されているシナ
ップス結合係数wjiとにより得られる各ニューロンの興
奮度が、しきい値θ以上の場合に“1”となり、θ未満
の場合に“0”となるコードを出力する(ステップ40
4)。その際、θの値は最初Nにセットされていて、出
力されるコードが含む“1”の数が約m個になるまでθ
の値を1づつ下げてゆく(ステップ405〜408)。
しきい値θの調整は、しきい値制御部103によって行
われる。次に、ニューラルネットワーク101から出力
されたコードが出力コードテーブル102の中のどの出
力コードに最も近いかを、コード比較部104によって
選択する(ステップ409,410)。選択した結果が
正解と異なる場合には(ステップ411)、次に説明す
るステップに従って、ニューラルネットワーク101で
学習が行われる。
チングを行うための学習のアルゴリズムを示したもので
ある。全体的には、あらかじめ準備した複数個の学習デ
ータから順番に一個づつ取ってきて正しい結果が出るか
どうかを調べ、正しい結果が出ない場合にはニューラル
ネットワーク101の学習を行い、すべての学習データ
について正しい結果が出るようになるまで行う。一個の
学習データについての処理としては、まず一個の学習デ
ータに含まれる複数個の特徴コードを特徴コードテーブ
ル105から取り出し(ステップ401)、入力コード
生成部106にて各々の特徴コードの論理和を取ったコ
ード(x1 ,…,xN )を生成する(ステップ40
2)。次にコード正規化部107では、このコードに含
まれる“1”の数が約n個になるように、乱数発生部1
09により発生した乱数を用いてランダムに“1”を
“0”に変更する(ステップ403)。次に、ニューラ
ルネットワーク101では、コード正規化部107で正
規化したコードの入力xi と、既に設定されているシナ
ップス結合係数wjiとにより得られる各ニューロンの興
奮度が、しきい値θ以上の場合に“1”となり、θ未満
の場合に“0”となるコードを出力する(ステップ40
4)。その際、θの値は最初Nにセットされていて、出
力されるコードが含む“1”の数が約m個になるまでθ
の値を1づつ下げてゆく(ステップ405〜408)。
しきい値θの調整は、しきい値制御部103によって行
われる。次に、ニューラルネットワーク101から出力
されたコードが出力コードテーブル102の中のどの出
力コードに最も近いかを、コード比較部104によって
選択する(ステップ409,410)。選択した結果が
正解と異なる場合には(ステップ411)、次に説明す
るステップに従って、ニューラルネットワーク101で
学習が行われる。
【0020】まず間違えて選択した出力コード(d1 ,
…,dL )を取出し(ステップ412)、この出力コー
ドに対してxi =1,dj =1となっているシナップス
結合wjiを一定の割合でランダムに0にセットする(ス
テップ413)。次に、正解の出力コード(q1 ,…,
qL )を取出し、この出力コードに対してxi =1,q
j =1となっているシナップス結合wjiを一定の割合で
ランダムに1にセットする(ステップ415)。次に学
習した回数を表す変数tを1だけ増し(ステップ41
6)、再びニューラルネットワーク101の入力に(x
1 ,…,xN )をセットして、上記の各ステップを繰り
返す。こうして、得られた出力が正解となるまでシナッ
プス結合wjiの更新を行う。ここでシナップス結合係数
を0または1にセットする割合を調節することは、従来
のバックプロパゲーション法でシナップス結合係数を変
化させる程度によって学習の速度を調節していたことに
相当する。
…,dL )を取出し(ステップ412)、この出力コー
ドに対してxi =1,dj =1となっているシナップス
結合wjiを一定の割合でランダムに0にセットする(ス
テップ413)。次に、正解の出力コード(q1 ,…,
qL )を取出し、この出力コードに対してxi =1,q
j =1となっているシナップス結合wjiを一定の割合で
ランダムに1にセットする(ステップ415)。次に学
習した回数を表す変数tを1だけ増し(ステップ41
6)、再びニューラルネットワーク101の入力に(x
1 ,…,xN )をセットして、上記の各ステップを繰り
返す。こうして、得られた出力が正解となるまでシナッ
プス結合wjiの更新を行う。ここでシナップス結合係数
を0または1にセットする割合を調節することは、従来
のバックプロパゲーション法でシナップス結合係数を変
化させる程度によって学習の速度を調節していたことに
相当する。
【0021】ステップ411で結果が正解と判断された
場合には、ステップ401で取出した一組の学習データ
についての学習が終了したことになる。この学習データ
があらかじめ準備した学習データのうち最後のものであ
れば、ステップ418を実行し、そうでなければステッ
プ401に戻り、別の学習データの処理を行う。またあ
らかじめ準備した学習データのすべてについて学習を行
うことなく正解が得られた場合(t=0)の場合には終
了し、それ以外の場合には、アルゴリズムの最初に戻
り、前述の処理を繰り返す(ステップ418)。
場合には、ステップ401で取出した一組の学習データ
についての学習が終了したことになる。この学習データ
があらかじめ準備した学習データのうち最後のものであ
れば、ステップ418を実行し、そうでなければステッ
プ401に戻り、別の学習データの処理を行う。またあ
らかじめ準備した学習データのすべてについて学習を行
うことなく正解が得られた場合(t=0)の場合には終
了し、それ以外の場合には、アルゴリズムの最初に戻
り、前述の処理を繰り返す(ステップ418)。
【0022】図4は、図3のアルゴリズムによって学習
した後、任意の入力情報に対してそれに対応する出力結
果を求めるためのアルゴリズムを示したものである。図
4に示したアルゴロズムは、図3のアルゴリズムにおけ
るの学習部分の処理ステップ群を除いたものと同じであ
る。そこで、図4の各ステップについて、図3で説明し
たステップと同一のものには同一の符号を付し、その説
明を省略する。ここで得られた結果が適当でない場合に
は、図3の学習部分に相当する処理ステップ群を一時的
に行ってもよいし、適当な結果を対応させて、図3の処
理を行うための学習データとして保存するようにしても
よい。
した後、任意の入力情報に対してそれに対応する出力結
果を求めるためのアルゴリズムを示したものである。図
4に示したアルゴロズムは、図3のアルゴリズムにおけ
るの学習部分の処理ステップ群を除いたものと同じであ
る。そこで、図4の各ステップについて、図3で説明し
たステップと同一のものには同一の符号を付し、その説
明を省略する。ここで得られた結果が適当でない場合に
は、図3の学習部分に相当する処理ステップ群を一時的
に行ってもよいし、適当な結果を対応させて、図3の処
理を行うための学習データとして保存するようにしても
よい。
【0023】図1に示した実施例では、ニューラルネッ
トワーク101から出力されたコードと出力コードテー
ブル102の中に登録された出力コードとの比較によっ
て結果を選択するようにしているが、この部分を他のニ
ューラルネットワークによって行うようにしてもよい。
一例としては、ニューラルネットワーク101の出力数
L個と同数の入力を共通に持つニューロンを、登録する
出力コードの数だけ設けて、各出力コードをそのまま各
ニューロンのL個のシナップス結合値として固定する。
このような例では、しきい値制御部103と同様なしき
い値制御部を設けて、1個のニューロンのみが発火する
ようにしきい値を制御すれば、登録された出力コードの
うち最も近いコードを表すニューロンのみが発火するよ
うに構成できる。
トワーク101から出力されたコードと出力コードテー
ブル102の中に登録された出力コードとの比較によっ
て結果を選択するようにしているが、この部分を他のニ
ューラルネットワークによって行うようにしてもよい。
一例としては、ニューラルネットワーク101の出力数
L個と同数の入力を共通に持つニューロンを、登録する
出力コードの数だけ設けて、各出力コードをそのまま各
ニューロンのL個のシナップス結合値として固定する。
このような例では、しきい値制御部103と同様なしき
い値制御部を設けて、1個のニューロンのみが発火する
ようにしきい値を制御すれば、登録された出力コードの
うち最も近いコードを表すニューロンのみが発火するよ
うに構成できる。
【0024】図3および図4に示したアルゴリズムを実
行するための図1に示したパターンマッチング回路の各
部の具体的な構成例とその動作について以下に説明す
る。
行するための図1に示したパターンマッチング回路の各
部の具体的な構成例とその動作について以下に説明す
る。
【0025】入力コード生成部106および特徴コード
テーブル105の構成例を図9に示す。図においてf1
〜fU の各特徴入力端子にはそれぞれの特徴の有無を、
信号の有無として加える。制御部110では各特徴の有
無を順番にスイッチ106aを切り替えて検出するが、
まず初めに制御部110からリセット信号としてパルス
を出力し、コード出力端子106bをすべて“0”にす
る。次に、スイッチ106aをf1 ,…,fU と順番に
切り替えて信号の有無を検出する。ここで特徴信号があ
る場合には、まず、その特徴の番号を、制御部110か
ら特徴コードテーブル用ROM105aに出力して、そ
の番号の特徴を表すコードを出力する。その後、制御部
110からクロック信号としてパルスが出力されると、
特徴コードテーブル用ROM105aから与えたコード
と、その時コード出力端子から既に出力されているコー
ドとの論理和を取ったコードが新たに出力されるように
なる。このような操作をf1 からfU まで実行すること
により、最終的には、存在するすべての特徴コードの論
理和を取ったコードが出力される。
テーブル105の構成例を図9に示す。図においてf1
〜fU の各特徴入力端子にはそれぞれの特徴の有無を、
信号の有無として加える。制御部110では各特徴の有
無を順番にスイッチ106aを切り替えて検出するが、
まず初めに制御部110からリセット信号としてパルス
を出力し、コード出力端子106bをすべて“0”にす
る。次に、スイッチ106aをf1 ,…,fU と順番に
切り替えて信号の有無を検出する。ここで特徴信号があ
る場合には、まず、その特徴の番号を、制御部110か
ら特徴コードテーブル用ROM105aに出力して、そ
の番号の特徴を表すコードを出力する。その後、制御部
110からクロック信号としてパルスが出力されると、
特徴コードテーブル用ROM105aから与えたコード
と、その時コード出力端子から既に出力されているコー
ドとの論理和を取ったコードが新たに出力されるように
なる。このような操作をf1 からfU まで実行すること
により、最終的には、存在するすべての特徴コードの論
理和を取ったコードが出力される。
【0026】次にコード正規化部107の構成例を図1
0に示す。図10において、乱数発生部109は、制御
部110からの信号により“1”の割合が比較的少ない
Nビットの2進乱数コードを出力する。またコード出力
端子からの出力はすべて抵抗を介して電流加算増幅器1
07aに接続され、その出力電圧は、電圧比較器107
bで1の数設定電圧Vs と比較される。すなわち、Nビ
ットの出力コードのうち“1”の数がある値以上である
かどうかを制御部110が監視するようになっている。
また比較する“1”の数は電圧Vs に依存するので、こ
の電圧を、正規化したい数で比較できるようにあらかじ
め設定しておく。正規化しようとする前に、まずリセッ
ト信号を制御部110から出し、フリップフロップ10
7cの出力をすべて”0”にしておく。次に、乱数発生
部109から“1”の割合が比較的少ないNビットの2
進乱数コードを出力すると共に、制御部110からクロ
ック信号を出す。1回のクロック信号により、入力コー
ドのうち乱数発生部109の出力が“1”となっている
番号が、強制的に“0”にセットされたコードをコード
出力端子より出力する。この出力されたコードの“1”
の数が規定値以下になるまで、乱数とクロック信号を出
力することにより、“1”の数が規定値以下に間引きさ
れたコードを作成し、出力する。
0に示す。図10において、乱数発生部109は、制御
部110からの信号により“1”の割合が比較的少ない
Nビットの2進乱数コードを出力する。またコード出力
端子からの出力はすべて抵抗を介して電流加算増幅器1
07aに接続され、その出力電圧は、電圧比較器107
bで1の数設定電圧Vs と比較される。すなわち、Nビ
ットの出力コードのうち“1”の数がある値以上である
かどうかを制御部110が監視するようになっている。
また比較する“1”の数は電圧Vs に依存するので、こ
の電圧を、正規化したい数で比較できるようにあらかじ
め設定しておく。正規化しようとする前に、まずリセッ
ト信号を制御部110から出し、フリップフロップ10
7cの出力をすべて”0”にしておく。次に、乱数発生
部109から“1”の割合が比較的少ないNビットの2
進乱数コードを出力すると共に、制御部110からクロ
ック信号を出す。1回のクロック信号により、入力コー
ドのうち乱数発生部109の出力が“1”となっている
番号が、強制的に“0”にセットされたコードをコード
出力端子より出力する。この出力されたコードの“1”
の数が規定値以下になるまで、乱数とクロック信号を出
力することにより、“1”の数が規定値以下に間引きさ
れたコードを作成し、出力する。
【0027】ニューラルネットワーク101を構成する
各ニューロンの回路例を図11に示す。1つのニューロ
ン101aは、N個のコード入力端子を有し、かつ各コ
ード入力端子のシナップス結合係数がシナップス結合設
定回路101dによって設定される。シナップス結合設
定回路101dには、シナップス結合系数制御部108
内の制御部108aからシナップス結合制御信号が与え
られる。各コード入力端子の入力は、加算器101bで
加算され、加算器101bの出力電圧は、電圧比較器1
01cでしきい値設定電圧Vθ と比較される。
各ニューロンの回路例を図11に示す。1つのニューロ
ン101aは、N個のコード入力端子を有し、かつ各コ
ード入力端子のシナップス結合係数がシナップス結合設
定回路101dによって設定される。シナップス結合設
定回路101dには、シナップス結合系数制御部108
内の制御部108aからシナップス結合制御信号が与え
られる。各コード入力端子の入力は、加算器101bで
加算され、加算器101bの出力電圧は、電圧比較器1
01cでしきい値設定電圧Vθ と比較される。
【0028】またしきい値制御部103の構成例を図1
2に示す。図12に示すように、ニューラルネットワー
ク101の出力のうち“1”の数が、発火数設定電圧V
t によって規定される個数以下かどうかを電圧比較器1
03aと制御部103bで監視して、D/Aコンバータ
103cから出力されるしきい値設定電圧Vθ を制御
する構成となっている。
2に示す。図12に示すように、ニューラルネットワー
ク101の出力のうち“1”の数が、発火数設定電圧V
t によって規定される個数以下かどうかを電圧比較器1
03aと制御部103bで監視して、D/Aコンバータ
103cから出力されるしきい値設定電圧Vθ を制御
する構成となっている。
【0029】シナップス結合係数制御部108の構成例
を図13に示す。シナップス結合係数制御部108は、
前述の制御部108aを含み、この制御部108aは、
正規化されたコード、学習または忘却しようとする出力
コード、乱数発生部109から発生する乱数の各ビット
の値を、それぞれスイッチ108b,108c,108
dで切り替えながら読み取り、それらの値に基いてシナ
ップス結合値を設定するように構成されている。制御部
108aから、シナップス制御信号が出力される。
を図13に示す。シナップス結合係数制御部108は、
前述の制御部108aを含み、この制御部108aは、
正規化されたコード、学習または忘却しようとする出力
コード、乱数発生部109から発生する乱数の各ビット
の値を、それぞれスイッチ108b,108c,108
dで切り替えながら読み取り、それらの値に基いてシナ
ップス結合値を設定するように構成されている。制御部
108aから、シナップス制御信号が出力される。
【0030】コード比較部104および出力コードテー
ブル102の部分の構成例を図14に示す。ニューラル
ネットワーク101の出力コードと出力コードテーブル
用ROM102aに登録された各出力コードとの論理積
を取ったコードの“1”の数の大小を電流加算増幅器1
04aの出力電圧値として求め、この値をA/Dコンバ
ータ104bを介して制御部110が読み取り、この値
の最も大きいコード番号を出力するように構成される。
ブル102の部分の構成例を図14に示す。ニューラル
ネットワーク101の出力コードと出力コードテーブル
用ROM102aに登録された各出力コードとの論理積
を取ったコードの“1”の数の大小を電流加算増幅器1
04aの出力電圧値として求め、この値をA/Dコンバ
ータ104bを介して制御部110が読み取り、この値
の最も大きいコード番号を出力するように構成される。
【0031】図5は、本発明のパターンマッチング方式
を実施するパターンマッチング回路の第2実施例を示
す。図5において、図1で示した要素と実質的に同一の
要素には同一の符号を付している。
を実施するパターンマッチング回路の第2実施例を示
す。図5において、図1で示した要素と実質的に同一の
要素には同一の符号を付している。
【0032】図5の構成を説明する。101は階層型ニ
ューラルネットワーク、102は出力結果を表す発火の
パターン(出力コード)を登録する出力コードテーブ
ル、103は発火するニューロンの数が一定値になるよ
うにしきい値θを制御するしきい値制御部、104はニ
ューラルネットワークの発火のパターンが102に登録
した出力コードのうちどれに最も近いかを選択しまたは
それぞれの出力コードとの類似度を求めるコード比較
部、105は特徴コードを登録する特徴コードテーブ
ル、501は大小などの数値を表す数値コードを登録す
る数値コードテーブル、502はコードテーブル10
5,501に既に登録したコードを用いてそれと類似度
が一定な他のコードを生成してコードテーブル105,
501に登録する類似コード生成部、503は1個の特
徴コードとその特徴の大小を示す数値コードとの論理積
演算を行う論理積演算部、106は、複数個の特徴とそ
の大小を示す数値との組みに対して、論理積演算部50
3によって論理積演算された各コード同士の論理和演算
を行い、入力コードを生成する入力コード生成部、10
7は入力コード生成部106により生成した入力コード
のうち“1”となる数が一定値以下になるように“1”
をランダムに間引きするコード正規化部、108はコー
ド正規化部107により正規化された入力コードに対し
て目標とする出力コードが得られるようにシナップス結
合係数を変更するシナップス結合係数制御部、109は
出力コード・特徴コード・数値コード等の生成、入力コ
ードの正規化、シナップス結合係数の変更などに使用す
る2進の乱数発生部、110は全体を制御するための制
御部である。
ューラルネットワーク、102は出力結果を表す発火の
パターン(出力コード)を登録する出力コードテーブ
ル、103は発火するニューロンの数が一定値になるよ
うにしきい値θを制御するしきい値制御部、104はニ
ューラルネットワークの発火のパターンが102に登録
した出力コードのうちどれに最も近いかを選択しまたは
それぞれの出力コードとの類似度を求めるコード比較
部、105は特徴コードを登録する特徴コードテーブ
ル、501は大小などの数値を表す数値コードを登録す
る数値コードテーブル、502はコードテーブル10
5,501に既に登録したコードを用いてそれと類似度
が一定な他のコードを生成してコードテーブル105,
501に登録する類似コード生成部、503は1個の特
徴コードとその特徴の大小を示す数値コードとの論理積
演算を行う論理積演算部、106は、複数個の特徴とそ
の大小を示す数値との組みに対して、論理積演算部50
3によって論理積演算された各コード同士の論理和演算
を行い、入力コードを生成する入力コード生成部、10
7は入力コード生成部106により生成した入力コード
のうち“1”となる数が一定値以下になるように“1”
をランダムに間引きするコード正規化部、108はコー
ド正規化部107により正規化された入力コードに対し
て目標とする出力コードが得られるようにシナップス結
合係数を変更するシナップス結合係数制御部、109は
出力コード・特徴コード・数値コード等の生成、入力コ
ードの正規化、シナップス結合係数の変更などに使用す
る2進の乱数発生部、110は全体を制御するための制
御部である。
【0033】図6は、図5に示したパターンマッチング
回路の全体的な処理の流れの一例を示す。図6に示すご
とく、5つのステップS11〜S15から構成される
が、これらのステップS11〜S15は、それぞれ、図
2で説明した処理におけるステップS1〜S5に対応し
ている。従って、その基本的内容は図2についての説明
を参照することとし、詳細な説明を省略する。図2で示
した処理の例と比較して異なる点は、各特徴の大小を表
す数値を数値コードとして定義していることが追加され
ている点であり、ここでは約s個の“1”を含むNビッ
トの2進の乱数をM個(数値1〜M)作成し、数値コー
ドテーブル501に登録している。また学習データとし
ては、f1 〜fU の各特徴に対する数値y1 〜yU がそ
れぞれ対応する2次元の入力情報となっている。ここ
で、入力情報には必ずしもf1 〜fUのすべての特徴が
含まれなくてもよいし、また3次元以上のデータについ
ても同様な考え方に基づき扱うことができる。
回路の全体的な処理の流れの一例を示す。図6に示すご
とく、5つのステップS11〜S15から構成される
が、これらのステップS11〜S15は、それぞれ、図
2で説明した処理におけるステップS1〜S5に対応し
ている。従って、その基本的内容は図2についての説明
を参照することとし、詳細な説明を省略する。図2で示
した処理の例と比較して異なる点は、各特徴の大小を表
す数値を数値コードとして定義していることが追加され
ている点であり、ここでは約s個の“1”を含むNビッ
トの2進の乱数をM個(数値1〜M)作成し、数値コー
ドテーブル501に登録している。また学習データとし
ては、f1 〜fU の各特徴に対する数値y1 〜yU がそ
れぞれ対応する2次元の入力情報となっている。ここ
で、入力情報には必ずしもf1 〜fUのすべての特徴が
含まれなくてもよいし、また3次元以上のデータについ
ても同様な考え方に基づき扱うことができる。
【0034】図7は、図6に示した処理におけるパター
ンマッチングを行うための学習のアルゴリズムを示した
ものである。図3で説明した第1実施例の場合に比較し
て、入力コード(x1 ,…,xN )の生成方法が異な
る。すなわち、まず特徴f1 からfU までの各特徴コー
ドとそれらに対応する数値コードとの論理積を取ったコ
ードを作成し、次に、それらの論理和を取ったコードを
入力コード(x1 ,…,xN )として生成している。こ
のため、図3に示したステップ群に対してステップ群7
01が追加されている。その他の処理の流れは、実質的
に図3で説明した処理の流れと同じであるので、説明を
省略する。
ンマッチングを行うための学習のアルゴリズムを示した
ものである。図3で説明した第1実施例の場合に比較し
て、入力コード(x1 ,…,xN )の生成方法が異な
る。すなわち、まず特徴f1 からfU までの各特徴コー
ドとそれらに対応する数値コードとの論理積を取ったコ
ードを作成し、次に、それらの論理和を取ったコードを
入力コード(x1 ,…,xN )として生成している。こ
のため、図3に示したステップ群に対してステップ群7
01が追加されている。その他の処理の流れは、実質的
に図3で説明した処理の流れと同じであるので、説明を
省略する。
【0035】図8は、図7のアルゴリズムによって学習
した後、任意の入力情報に対してそれに対応する出力結
果を求めるための実行のアルゴリズムを示したものであ
る。処理の流れの構成としては、図7で示した処理の流
れにおいて学習の部分を除いたものと実質的に同じであ
る。
した後、任意の入力情報に対してそれに対応する出力結
果を求めるための実行のアルゴリズムを示したものであ
る。処理の流れの構成としては、図7で示した処理の流
れにおいて学習の部分を除いたものと実質的に同じであ
る。
【0036】図7および図8に示したアルゴリズムを実
行するための、図5に示したパターンマッチング回路の
各部の具体的な構成と動作を以下に説明する。論理積演
算部503、入力コード生成部106、特徴コードテー
ブル105、数値コードテーブル501の構成例を図1
5に示す。図15において、まず制御部110からリセ
ット信号としてパルスを出した後、特徴番号(1〜U)
および数値番号(1〜M)の組合せが同時に制御部11
0に入力されると、特徴コードテーブル用ROM105
aからは入力された特徴番号のコードが、数値コードテ
ーブル用ROM501aからは入力された数値のコード
がそれぞれ出力される。この時、制御部110からクロ
ック信号としてパルスを出力すると、特徴コードと数値
コードとの論理積を取ったコードがコード出力端子より
出力される。次に、別な特徴番号および数値番号の組合
せが入力され、制御部110からクロックパルスが出さ
れると、その特徴コードと数値コードとの論理積による
コードと、既に出力しているコードとの論理和を取った
コードが出力されるようになる。このようにして、複数
個の特徴と数値との組合せによる入力情報を表すコード
を作成し出力する
行するための、図5に示したパターンマッチング回路の
各部の具体的な構成と動作を以下に説明する。論理積演
算部503、入力コード生成部106、特徴コードテー
ブル105、数値コードテーブル501の構成例を図1
5に示す。図15において、まず制御部110からリセ
ット信号としてパルスを出した後、特徴番号(1〜U)
および数値番号(1〜M)の組合せが同時に制御部11
0に入力されると、特徴コードテーブル用ROM105
aからは入力された特徴番号のコードが、数値コードテ
ーブル用ROM501aからは入力された数値のコード
がそれぞれ出力される。この時、制御部110からクロ
ック信号としてパルスを出力すると、特徴コードと数値
コードとの論理積を取ったコードがコード出力端子より
出力される。次に、別な特徴番号および数値番号の組合
せが入力され、制御部110からクロックパルスが出さ
れると、その特徴コードと数値コードとの論理積による
コードと、既に出力しているコードとの論理和を取った
コードが出力されるようになる。このようにして、複数
個の特徴と数値との組合せによる入力情報を表すコード
を作成し出力する
【0037】次に、類似コード生成部502の構成例を
図16に示す。図16において、乱数発生部109には
2個の乱数コード出力端子(A),(B)を有する。出
力端子(A)には、制御部110からの信号に基づき、
生成しようとするコードの類似度と同じ割合の“1”を
含んだ乱数を出力する。出力端子(B)には、制御部1
10からの信号に基づき“1”の割合が比較的少ないN
ビットの2進乱数コードを出力する。まず初めに、制御
部110からリセット信号としてパルスを出力し、乱数
コード出力端子(A)から生成しようとするコードの類
似度と同じ割合の“1”を含んだ乱数を出力する。これ
により、コード入力部に設けられたアンドゲート回路群
の出力には、入力されたコードの“1”となっている端
子の一部が“0”に変更されたコードが得られる。次い
で、乱数コード出力端子(B)に“1”の割合が比較的
少ないNビットの2進乱数コードを出力して制御部11
0からクロック信号としてパルスを出力すると、アンド
ゲート回路群の出力コードの“0”となっている信号の
一部が“1”に変更されたコードをコード出力端子から
出力する。さらに乱数コード出力端子(B)から乱数コ
ードを出力して制御部110からクロック信号としてパ
ルスを出力すると、既にコード出力端子より出力されて
いるコードの“0”となっている端子の一部が“1”に
変更されたコードをコード出力端子から出力するように
なる。すなわち、乱数出力とクロックパルス出力を繰り
返すことによりコード出力端子から出力されるコードの
“1”の数が増えてゆくので、“1”の数が元のコード
の数とほぼ同一になるまで行うことにより、入力コード
に類似したコードを生成し出力することができる。
図16に示す。図16において、乱数発生部109には
2個の乱数コード出力端子(A),(B)を有する。出
力端子(A)には、制御部110からの信号に基づき、
生成しようとするコードの類似度と同じ割合の“1”を
含んだ乱数を出力する。出力端子(B)には、制御部1
10からの信号に基づき“1”の割合が比較的少ないN
ビットの2進乱数コードを出力する。まず初めに、制御
部110からリセット信号としてパルスを出力し、乱数
コード出力端子(A)から生成しようとするコードの類
似度と同じ割合の“1”を含んだ乱数を出力する。これ
により、コード入力部に設けられたアンドゲート回路群
の出力には、入力されたコードの“1”となっている端
子の一部が“0”に変更されたコードが得られる。次い
で、乱数コード出力端子(B)に“1”の割合が比較的
少ないNビットの2進乱数コードを出力して制御部11
0からクロック信号としてパルスを出力すると、アンド
ゲート回路群の出力コードの“0”となっている信号の
一部が“1”に変更されたコードをコード出力端子から
出力する。さらに乱数コード出力端子(B)から乱数コ
ードを出力して制御部110からクロック信号としてパ
ルスを出力すると、既にコード出力端子より出力されて
いるコードの“0”となっている端子の一部が“1”に
変更されたコードをコード出力端子から出力するように
なる。すなわち、乱数出力とクロックパルス出力を繰り
返すことによりコード出力端子から出力されるコードの
“1”の数が増えてゆくので、“1”の数が元のコード
の数とほぼ同一になるまで行うことにより、入力コード
に類似したコードを生成し出力することができる。
【0038】図5におけるその他の部分の構成は、図1
の各部の構成例として示したものと同様な構成とするこ
とができる。
の各部の構成例として示したものと同様な構成とするこ
とができる。
【0039】なお、第2の実施例では、数値を表すコー
ドを生成し数値コードテーブル501に登録している
が、このようなアナログ値を表現するコード群の生成方
法について説明する。一例として1から100までの数
値100個のアナログコード生成のアルゴリズムを図1
7に示す。ここでは理解を容易にするために、例えば、
1から100までの数値を表すコードをC1 〜C100 と
して表現し、Nビットで約s個の“1”を含むコードを
作成するものとし、相関を80%とした。ここで相関と
は、隣接する番号同士の類似度をいう。従って相関が8
0%であるとは、隣接する番号同士で“1”となってい
るビットが重複しているものの数が全体のビット数の8
0%であることを意味する。
ドを生成し数値コードテーブル501に登録している
が、このようなアナログ値を表現するコード群の生成方
法について説明する。一例として1から100までの数
値100個のアナログコード生成のアルゴリズムを図1
7に示す。ここでは理解を容易にするために、例えば、
1から100までの数値を表すコードをC1 〜C100 と
して表現し、Nビットで約s個の“1”を含むコードを
作成するものとし、相関を80%とした。ここで相関と
は、隣接する番号同士の類似度をいう。従って相関が8
0%であるとは、隣接する番号同士で“1”となってい
るビットが重複しているものの数が全体のビット数の8
0%であることを意味する。
【0040】図17に従えば、まず、乱数発生部109
よりs個の“1”を含むNビットのコード(X1 ,…,
XN )を発生させ(ステップ171)、これを数値1を
表すコードC1 として数値コードテーブル502に登録
する(ステップ172,173)。次に、作成したコー
ドC1 と類似度が80%のコードを類似コード生成部5
02により作成して、これを数値2を表すコードC2 と
して数値コードテーブル502に登録する(ステップ1
74,175)。ステップ176では、変数tの値を、
登録したコードの数として更新する。ステップ177で
は、tの値により判別を行い、t=100になった時、
終了する。tの値が100未満の場合には、ステップ1
74,175,176のそれぞれを繰り返すことによ
り、合計100個のコードを作成し、登録する。
よりs個の“1”を含むNビットのコード(X1 ,…,
XN )を発生させ(ステップ171)、これを数値1を
表すコードC1 として数値コードテーブル502に登録
する(ステップ172,173)。次に、作成したコー
ドC1 と類似度が80%のコードを類似コード生成部5
02により作成して、これを数値2を表すコードC2 と
して数値コードテーブル502に登録する(ステップ1
74,175)。ステップ176では、変数tの値を、
登録したコードの数として更新する。ステップ177で
は、tの値により判別を行い、t=100になった時、
終了する。tの値が100未満の場合には、ステップ1
74,175,176のそれぞれを繰り返すことによ
り、合計100個のコードを作成し、登録する。
【0041】上記のようにして、1から100までの数
値を表すコードC1 〜C100 を作成した後、1〜100
における任意の数値pのコードにおける“1”となって
いるビットが、他のコードにおける“1”となっている
ビットにどれだけ重複しているかというアナログコード
の類似特性を示したグラフが、図18である。図18で
示したグラフは、作成した100個のコードのうち任意
の2個を比較したとき、それらの番号が近いほど類似度
が高く、番号が遠いほど類似度が低くなることを示して
いる。また相関が強いほどこの曲線の傾斜は緩やかで、
相関が弱いほど傾斜は急になるため、用途に応じてこの
値を調節することによりアナログ値を含むパターンマッ
チングをきわめて汎用的に行うことができる。
値を表すコードC1 〜C100 を作成した後、1〜100
における任意の数値pのコードにおける“1”となって
いるビットが、他のコードにおける“1”となっている
ビットにどれだけ重複しているかというアナログコード
の類似特性を示したグラフが、図18である。図18で
示したグラフは、作成した100個のコードのうち任意
の2個を比較したとき、それらの番号が近いほど類似度
が高く、番号が遠いほど類似度が低くなることを示して
いる。また相関が強いほどこの曲線の傾斜は緩やかで、
相関が弱いほど傾斜は急になるため、用途に応じてこの
値を調節することによりアナログ値を含むパターンマッ
チングをきわめて汎用的に行うことができる。
【0042】本発明に係るパターンマッチング方式を実
現する装置は、ハード回路で構成することができるし、
またソフト技術により実現することもできる。
現する装置は、ハード回路で構成することができるし、
またソフト技術により実現することもできる。
【0043】
【発明の効果】以上の説明で明らかなように本発明によ
れば、次の効果が生じる。ニューロンの発火の組合せに
よって出力結果を表すようにしたため、発火したニュー
ロンの組合せが、目的とする発火の組合せと完全に一致
していなくても、どれに一番近いかという方法で、結果
を判定することが可能となり、結果をアナログ的に表現
することができる。各ニューロンのしきい値が共通でか
つ発火するニューロンの数が一定になるようにしきい値
を制御するようにしたため、発火したニューロンの組合
せと、複数個の結果を表す発火の組合せとの比較を確実
に行うことができ、またそれらの類似度をアナログ的に
比較することができる。すべての入力に設定する値の組
合せ(コード)によって1個の特徴を表し、かつ複数個
の特徴を含む入力情報に対しては、それぞれの特徴を表
すコード同士の論理積演算、または論理和演算、または
論理積演算と論理和演算との複合演算によって生成され
るコードによってその入力情報を表すようにしたため、
複数次元の入力情報を扱うことが可能となる。入力情報
を表すコードにおいて、1となる入力の数が一定値以下
になるようにしたため、特徴の多いものや少ないものを
一緒に学習させても均一な学習を行うことができる。1
個の特徴、または入力情報、またはニューロンの発火の
組合せを表すコードに基づき、それと適度に類似した他
のコードを生成することができるので、それによって特
徴や入力情報あるいは出力結果の相関性を表すことがで
きる。前回生成したコードと類似度が一定な他のコード
を順次生成するので、アナログ的な値をコードとして直
接表現することが可能となる。入力、出力共に1となっ
ている部分のシナップス結合係数を、一定の割合で0か
ら1または1から0に変更することができるので、それ
によって学習をアナログ的に行うことができ、複雑なパ
ターンマッチングの学習が可能となる。
れば、次の効果が生じる。ニューロンの発火の組合せに
よって出力結果を表すようにしたため、発火したニュー
ロンの組合せが、目的とする発火の組合せと完全に一致
していなくても、どれに一番近いかという方法で、結果
を判定することが可能となり、結果をアナログ的に表現
することができる。各ニューロンのしきい値が共通でか
つ発火するニューロンの数が一定になるようにしきい値
を制御するようにしたため、発火したニューロンの組合
せと、複数個の結果を表す発火の組合せとの比較を確実
に行うことができ、またそれらの類似度をアナログ的に
比較することができる。すべての入力に設定する値の組
合せ(コード)によって1個の特徴を表し、かつ複数個
の特徴を含む入力情報に対しては、それぞれの特徴を表
すコード同士の論理積演算、または論理和演算、または
論理積演算と論理和演算との複合演算によって生成され
るコードによってその入力情報を表すようにしたため、
複数次元の入力情報を扱うことが可能となる。入力情報
を表すコードにおいて、1となる入力の数が一定値以下
になるようにしたため、特徴の多いものや少ないものを
一緒に学習させても均一な学習を行うことができる。1
個の特徴、または入力情報、またはニューロンの発火の
組合せを表すコードに基づき、それと適度に類似した他
のコードを生成することができるので、それによって特
徴や入力情報あるいは出力結果の相関性を表すことがで
きる。前回生成したコードと類似度が一定な他のコード
を順次生成するので、アナログ的な値をコードとして直
接表現することが可能となる。入力、出力共に1となっ
ている部分のシナップス結合係数を、一定の割合で0か
ら1または1から0に変更することができるので、それ
によって学習をアナログ的に行うことができ、複雑なパ
ターンマッチングの学習が可能となる。
【図1】本発明に係るパターンマッチング方式の第1実
施例を示す回路図である。
施例を示す回路図である。
【図2】第1実施例のパターンマッチング回路における
処理の流れを示すフローチャートである。
処理の流れを示すフローチャートである。
【図3】第1実施例のパターンマッチング回路における
学習のアルゴリズムを示すフローチャートである。
学習のアルゴリズムを示すフローチャートである。
【図4】第1実施例のパターンマッチング回路におい
て、任意の入力情報に対するパターンマッチングのアル
ゴリズムを示すフローチャートである。
て、任意の入力情報に対するパターンマッチングのアル
ゴリズムを示すフローチャートである。
【図5】本発明に係るパターンマッチング方式の第2実
施例を示す回路図である。
施例を示す回路図である。
【図6】第2実施例のパターンマッチング回路における
処理の流れを示すフローチャートである。
処理の流れを示すフローチャートである。
【図7】第2実施例のパターンマッチング回路における
学習のアルゴリズムを示すフローチャートである。
学習のアルゴリズムを示すフローチャートである。
【図8】第2実施例のパターンマッチング回路におい
て、任意の入力情報に対するパターンマッチングのアル
ゴリズムを示すフローチャートである。
て、任意の入力情報に対するパターンマッチングのアル
ゴリズムを示すフローチャートである。
【図9】図1で示した入力コード生成部および特徴コー
ドテーブルの構成の一例を示す回路図である。
ドテーブルの構成の一例を示す回路図である。
【図10】図1で示したコード正規化部の構成の一例を
示す回路図である。
示す回路図である。
【図11】図1で示したニューラルネットワークを構成
するニューロンの回路例を示す図である。
するニューロンの回路例を示す図である。
【図12】図1で示したしきい値制御部の構成の一例を
示す回路図である。
示す回路図である。
【図13】図1で示したシナップス結合係数制御部の構
成の一例を示す回路図である。
成の一例を示す回路図である。
【図14】図1で示したコード比較部および出力コード
テーブルの構成の一例を示す回路図である。
テーブルの構成の一例を示す回路図である。
【図15】図5で示した論理積演算部、入力コード生成
部、特徴コードテーブル、数値コードテーブルの各構成
の一例を示す回路図である。
部、特徴コードテーブル、数値コードテーブルの各構成
の一例を示す回路図である。
【図16】図5で示した類似コード生成部の構成の一例
を示す回路図である。
を示す回路図である。
【図17】アナログコード生成のアルゴリズムを示すフ
ローチャートである。
ローチャートである。
【図18】アナログコードの相関特性を示したグラフで
ある。
ある。
【図19】従来のニューラルネットワークの代表的な構
成例を示す図である。
成例を示す図である。
【図20】ニューロンのモデルを示す図である。
【図21】シナップス結合係数や入出力が0または1の
2値のみからなる中間層を持たないニューラルネットワ
ークの一例を示す図である。
2値のみからなる中間層を持たないニューラルネットワ
ークの一例を示す図である。
【図22】シナップス結合係数や入出力が0または1の
2値のみからなるニューロンのモデルを示す図である。
2値のみからなるニューロンのモデルを示す図である。
【符号の説明】 101 …ニューラルネットワーク 102 …出力コードテーブル 103 …しきい値制御部 104 …コード比較部 105 …特徴コードテーブル 106 …入力コード生成部 107 …コード正規化部 108 …シナップス結合係数制御部 109 …乱数発生部 110 …制御部 501 …数値コードテーブル 502 …類似コード生成部 503 …論理積演算部
Claims (7)
- 【請求項1】 0または1の2値のいずれかで表される
複数の入力信号を入力しかつ発火または非発火の2状態
のいずれかを取り得る出力信号を出力する複数のニュー
ロンと、前記複数の入力信号のそれぞれに対応する複数
の入力端子と前記複数のニューロンのそれぞれとの間に
結合係数が0または1であるシナップス結合とを有する
ニューラルネットワークを利用したパターンマッチング
方式において、 前記ニューロンの発火状態の組合せによって出力結果を
表すようにしたことを特徴とするパターンマッチング方
式。 - 【請求項2】 請求項1記載のパターンマッチング方式
において、前記複数のニューロンのそれぞれにおける発
火のためのしきい値がすべての前記ニューロンについて
共通であり、かつ発火するニューロンの数が一定になる
ように前記しきい値を制御するようにしたことを特徴と
するパターンマッチング方式。 - 【請求項3】 0または1の2値のいずれかで表される
複数の入力信号を入力しかつ発火または非発火の2状態
のいずれかを取り得る出力信号を出力する複数のニュー
ロンと、前記複数の入力信号のそれぞれに対応する複数
の入力端子と前記複数のニューロンのそれぞれとの間に
結合係数が0または1であるシナップス結合とを有する
ニューラルネットワークを利用したパターンマッチング
方式において、 前記複数の入力信号のそれぞれで設定される値のすべて
を組合せてコードを生成し、このコードによって1個の
特徴を表すこととし、複数個の前記特徴を含む入力情報
に対して、それぞれの特徴を表すコード同士の論理積演
算または論理和演算または論理積演算と論理和演算の複
合演算によって新たなコードを生成し、生成された前記
新たなコードによって入力情報を表すようにしたことを
特徴とするパターンマッチング方式。 - 【請求項4】 請求項3記載のパターンマッチング方式
において、入力情報を表す前記新たなコードにおいて、
1となる入力信号の数が一定値以下になるように1を0
に変更することを特徴とするパターンマッチング方式。 - 【請求項5】 請求項1または3記載のパターンマッチ
ング方式において、1個の特徴、入力情報、ニューロン
の発火の組合せのいずれかを表す任意のコードに対し
て、それとの類似度が任意な他のコードを生成するよう
にしたことを特徴とするパターンマッチング方式。 - 【請求項6】 請求項5記載のパターンマッチング方式
において、1個の特徴、入力情報、ニューロンの発火の
組合せのいずれかを表す任意のコードを初期コードとし
て、前回生成したコードと類似度が一定な他のコードを
順次生成するようにしたことを特徴とするパターンマッ
チング方式。 - 【請求項7】 請求項1または3記載のパターンマッチ
ング方式において、任意の入力パターンおよび任意の出
力パターンに対して、その入力、出力が共に1となって
いる部分のシナップス結合係数を一定の割合で0から1
または1から0に変更するようにしたことを特徴とする
パターンマッチング方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4335624A JPH06161983A (ja) | 1992-11-20 | 1992-11-20 | パターンマッチング方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4335624A JPH06161983A (ja) | 1992-11-20 | 1992-11-20 | パターンマッチング方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06161983A true JPH06161983A (ja) | 1994-06-10 |
Family
ID=18290676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4335624A Pending JPH06161983A (ja) | 1992-11-20 | 1992-11-20 | パターンマッチング方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06161983A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6463423B1 (en) | 1998-05-22 | 2002-10-08 | Nec Corporation | Multi-winners feedforward neural network |
JP2004321621A (ja) * | 2003-04-25 | 2004-11-18 | Tadahiko Fukuda | 戸惑い検出方法及び戸惑い検出プログラム |
-
1992
- 1992-11-20 JP JP4335624A patent/JPH06161983A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6463423B1 (en) | 1998-05-22 | 2002-10-08 | Nec Corporation | Multi-winners feedforward neural network |
JP2004321621A (ja) * | 2003-04-25 | 2004-11-18 | Tadahiko Fukuda | 戸惑い検出方法及び戸惑い検出プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lee et al. | Identification and control of dynamic systems using recurrent fuzzy neural networks | |
US5704016A (en) | Temporal learning neural network | |
Igelnik et al. | Kolmogorov's spline network | |
US5926803A (en) | Circuit designing method and circuit designing device | |
US5222194A (en) | Neural network with modification of neuron weights and reaction coefficient | |
JPH06161983A (ja) | パターンマッチング方式 | |
Woods | Back and counter propagation aberrations | |
Rossi et al. | Geometrical initialization, parametrization and control of multilayer perceptrons: application to function approximation | |
KR19980074455A (ko) | 신경회로망 및 구현방법 | |
Tsoi et al. | Building MLP networks by construction | |
JP2559878B2 (ja) | ファジィ制御器 | |
Rancour et al. | Self-trained multi-layer analog real-time artificial neural network circuits | |
Медведев et al. | Neural networks fundamentals in mobile robot control systems | |
Zhang et al. | Building neural networks through linear programming | |
JP2559877B2 (ja) | ファジィ制御器 | |
JP2517662B2 (ja) | 連鎖制御装置 | |
JP2559883B2 (ja) | ファジィ制御器 | |
JP2559881B2 (ja) | ファジィ制御器 | |
JPH02308359A (ja) | 多層ニューラルネットワーク | |
US5958001A (en) | Output-processing circuit for a neural network and method of using same | |
JP2559880B2 (ja) | ファジィ制御器 | |
JPH0668061A (ja) | ファジィ推論装置およびその動作方法 | |
JPH04275630A (ja) | メンバシップ関数の構成方法 | |
JP2559882B2 (ja) | ファジィ制御器 | |
JP3338713B2 (ja) | 信号処理装置 |