説明

多層ニューラルネットワーク装置とそのソフトウェア

【課題】 学習入力データ間の距離が小さく、然も密な場合、或いは相関が非常に強い場合には学習が困難であるが、このような学習入力データに対して迅速且つ安定に収束させることが出来る付加入力生成機能を持った2値多層ニューラルネットワーク学習装置及びこの学習済み2値多層ニューラルネットワークと該付加入力生成機能を有する2値多層ニューラルネットワーク装置とそのソフトウェアを提供する。
【解決手段】 教師信号を用いて学習させる多層ニューラルネットワーク手段に於いて、2値学習入力データと、該2値学習入力データを基に付加入力生成処理手段を介して生成した付加入力生成データとを合わせて新たな学習用2値入力データとして入力し該多層ニューラルネットワーク手段を学習させる多層ニューラルネットワーク学習装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多層ニューラルネットワークの学習に於ける高速収束化と、及び劣化画像の雑音除去や復元機能も持った画像認識、種々のパターン認識や、不正アクセス防止などのセキュリティシステム、或いは更に高速メモリ検索などに適用可能な相互連想(Hetero-Associative)記憶装置に用いる多層ニューラルネットワークに関するものである。
【背景技術】
【0002】
従来のニューラルネットワークには、文献 麻生英樹著、「ニューラルネットワーク情報処理」、産業図書出版(1989年9月30日発行)などに示されているように、多層(階層)ニューラルネットワークや相互結合ニューラルネットワークなど種々のニューラルネットワークがある。
特に、学習入力データと分類カテゴリに割り当てられた教師信号とを用いて、学習させた多層ニューラルネットワークがパターン認識を初め種々幅広く実用されている。ここでは、教師付き学習を行う3層ニューラルネットワークを例にとり、従来技術について説明する。また、説明を簡単にする為に、パターン認識や連想記憶装置などに於いて見られる2値学習入力データと教師信号を用いて学習させ、2値出力信号を送出させることとする。
【0003】
先ず、2値3層ニューラルネットワークの学習処理の構成について説明する。図19は、2値3層ニューラルネットワークの学習処理の1構成例を示す。N個のユニットからなる入力層4、P個のユニットからなる中間層5及びM個のユニットからなる出力層6から構成される。
3層ニューラルネットワークへの学習入力データIは、I1、I2、..INの入力データエレメントを持ったベクトルから構成され、入力端子2(21、22、...2N)を介してそれぞれ対応した入力層4のユニットに入力された後、更に中間層5の各ユニット(隠れユニット)にそれぞれ重み付けされ出力される。
【0004】
中間層5では、入力層4の各ユニットからの重み付けされた出力の総和を入力とし、スレショルド値を差し引いた後、例えばシグモイド関数と呼ばれる非線形入出力特性を持った出力関数を介して出力される。
3層以上の多層の際にも、各層におけるそれぞれのユニットは、入力側の隣接層の各ユニットの出力信号に重み付けをした後、それらの総和を入力として得、更にその入力からスレショルド値を差し引いた後、シグモイド関数などの出力関数を介し出力層側の隣接層に出力信号を送出する。
【0005】
出力層6においても中間層5と同様な入出力処理が行われた後、各出力層ユニットからそれぞれ対応した出力信号を送出し、減算処理部9(9、9、...9)に於いて入力端子8(8、8、8)からの教師信号T(教師信号エレメント、T、T、T)から差し引き、誤差信号を得る。
この誤差信号電力を最小とする重み係数を得るための多層ニューラルネットワークの代表的重み係数更新方法としては、例えば、前記文献にも記載されているようにバック・プロパゲーション・アルゴリズムがある。
【0006】
本アルゴリズムを用いた学習過程では、重み係数に対して乱数などを用いて初期値設定した後、予め用意された教師信号Tと、入力層4に端子2を介して入力された予め用意された学習入力データに対する出力層6のユニットからの出力信号との誤差信号を減算処理部9を介して求め、重み係数更新制御処理部7に入力する。
【0007】
重み係数更新制御処理部7では、入出力端子11を介して入力された各層のユニットからの出力信号と前記誤差信号とを基に誤差電力を最小にするように各層間の重み係数の修正値を求め、3層ニューラルネットワーク1に設定された各重み係数を更新する重み係数適応更新制御による学習を行うものである。
この重み係数適応更新制御による重み係数更新をすべての学習入力データに対して繰り返すと、得られた更新重み係数を入出力端子11を介して3層ニューラルネットワーク1に設定する。その後、学習入力データに対する収束状態を調べるために、再度、全ての学習入力データを順次入力端子2に入力し、出力層6からの出力信号に対して、スレショルド処理部10(1011、1012、...101M)を介して2値出力信号に変換し、正解不正解出力判定処理部12に入力する。
【0008】
正解不正解出力判定処理部12に於いては、例えば、スレショルド処理部10を介して得られた全学習入力データに対する2値出力信号が、対応した教師信号Tをスレショルド処理部10(1021、1022、...102M)を介して得られた2値教師信号と一致する、即ち全ての2値出力信号が全正解状態であるか、少なくとも何れかが不一致となる不正解状態であるかを判定し、正解不正解判定信号を学習収束判定処理部13へ送出する。更に、学習収束判定処理部13では全正解状態ならば収束したとみなし、重み係数更新を止め学習を完了する為、重み学習完了制御信号を重み係数更新制御処理部7へ送出する。
【0009】
不正解状態であれば、引き続き、全ての学習入力データを再度入力端子2に入力し、順次、重み係数更新制御処理部7にて重み係数更新処理を実行する為に、学習継続制御信号を重み係数更新制御処理部7へ送出する。
ここで、一般に誤差電力を極小にするローカルミニマム状態に一旦落ち込むと、学習処理過程を繰り返し進めても、全ての学習入力データに対して所望の2値出力信号が必ずしも得られず、2値教師信号と異なる2値出力信号を送出する場合が多い。
【0010】
収束の為の学習回数の増大は、このローカルミニマム状態への落ち込みなど重み係数更新の為の学習アルゴリズムによるものの他に、学習入力データ間の距離の統計的性質にも依存している。
学習入力データがお互いに非常に似ており、夫々が異なる分類カテゴリに属する、即ち異なる教師信号に対応した学習入力データ間の距離(2値の場合にはハミング距離)が非常に小さい学習入力データが多く、然も密な(学習入力データの表示ビット数Nで表せるパターン数2に対する学習入力データ数の割合が高い)場合には、これらの学習入力データを夫々異なった正しいカテゴリへ分類することが非常に難しく、学習を繰り返しても分類カテゴリ境界領域を上手く形成することが困難となる。この為に、収束の為の学習回数が数千回以上と非常に多くなったり、場合によっては、収束しない状況が多く発生する。
【0011】
パターン認識などに於いて、このようなローカルミニマム状態に落ち込んだ重み係数や全正解出力信号が得られない重み係数を設定した多層ニューラルネットワークを用いて、入力信号に対して実行処理を行わせた際、学習入力データに近い入力信号に対しても正しい2値出力信号が得られず、多くの誤認識が発生する。従って、実用の際には、多層ニューラルネットワークの学習に於いて、分類カテゴリに対応した2値教師信号に対して全て正解2値出力信号となるよう迅速に収束させることが非常に重要である。
【0012】
特に、ニューラルネットワークを用いた連想記憶装置では、用いるニューラルネットワークの学習に於いて、正しい想起の為には、迅速且つ正確な全正解の2値出力信号への収束が前提であり、非常に重要である。
ニューラルネットワークを用いた連想記憶装置の種類としては、自己連想メモリと相互(ヘテロ)連想メモリとがあり、文献、Hopfield,J.J., Proc. National. Acad. Sci. USA, 79,pp.2554-2558, 1982や、Associative Neural Memories Theory and Implementation Edited by Mohamad H. Hassoun OXFORD University Press 1993などに詳細が記載されている。
【0013】
従来の自己連想ニューラルネットワークメモリでは、重み係数は計算により求められるが、入力学習データに対して正しく想起させるには、学習アトラクタとしての学習入力データは互いに相関の小さい直交関係を持つことが好ましい。即ち、比較的似た2値入力信号を、学習入力データとして学習記憶させる重み係数を計算し求めて設定すると、学習アトラクタ間の干渉が発生し、スプリアス(偽の)・アトラクタに収束する場合が増加するか、或いは想起されない無収束の発散状態になる場合が増える。
従って、自己連想メモリの最も大きな欠点は、取り得る重み係数への大きな制約による、記憶容量の少なさである。上記の文献によると、この記憶容量は、理論的に約0.12×入力層ユニット数Nで与えられる。学習入力データ数がこの理論的限界に近づくとアトラクタ収束が一段と困難となり、実用的でない。
【0014】
一方、2つの従属接続された学習済みニューラルネットワークを用いた相互(ヘテロ)連想メモリがある。この方式は,図20のように、夫々学習入力データとそれに対応した2値教師信号とからなる学習データを用いて学習させた前進2値3層ニューラルネットワーク23、及びこれとは逆入出力関係の学習データを用いて学習させた後進2値3層ニューラルネットワーク26とから基本的に構成される。従来では、前進2値3層ニューラルネットワーク23としては、粗コード出力型前進2値3層ニューラルネットワーク23が多く用いられている。
【0015】
粗コード出力型の前進2値3層ニューラルネットワーク23では、その2値教師信号としては、何れか1つのユニットのみが1となり、他のM−1個のユニットが0となるMビットの2値出力信号形式、即ち、One out of Mと呼ばれる粗い符号化コードが用いられる。これは、ニューラルネットワークの学習入力データに対応した2値教師信号の分類カテゴリへの対応づけが簡単であることから、殆どの多層ニューラルネットワークの出力信号形式として採り入れ、学習させている。
【0016】
一方、後進2値3層ニューラルネットワーク26では、前進2値3層ニューラルネットワーク23に対して用いた2値教師信号を学習入力データとして学習させる。また、後進2値3層ニューラルネットワーク26の2値教師信号としては、入力切替スイッチ21を介して、前進2値3層ニューラルネットワーク23にフィードバック入力する為に、入力端子20からの前進連想入力信号X(0)と同一入力ユニット数Nの出力形式を持たせる必要がある。従って、前進2値3層ニューラルネットワーク23の学習入力データ、即ち学習アトラクタとする。
【0017】
即ち、前進2値3層ニューラルネットワーク23への学習入力データが、後進2値3層ニューラルネットワーク26の2値出力信号として再現されるよう夫々の学習を行う。このように学習させた重み係数を、前進2値3層ニューラルネットワーク23及び後進2値3層ニューラルネットワーク26の重み係数として夫々設定する。
ここで、密な2値出力コードの集合を持つ、お互いのハミング距離が小さい2値教師信号を用いて前進2値3層ニューラルネットワーク23にて学習させると、スプリアス・アトラクタ(偽りのアトラクタ)は発生しにくいが、後進2値3層ニューラルネットワーク26では、この密な2値コードの2値教師信号を学習入力データとして学習させる必要があり、学習が非常に困難となる。
【0018】
特に、連続したカテゴリ番号を2値コード化し、そのまま割り当てた昇順2値コードは、非常に密な2値コードの集合となり、然もハミング距離の平均値及び標準偏差も比較的非常に小さい2値コード分布となる。粗なランダム2値コードとは異なり、このような学習入力データに対して分類カテゴリに対応した全正解の2値出力信号を送出させるためには、学習回数が数千回以上と非常に多くなり、収束しない場合も多く発生する。従って、大規模な分類カテゴリを持った相互連想メモリでは、後進2値3層ニューラルネットワーク26の学習が非常に困難となる。
【0019】
ここで、学習済み前進及び後進2値3層ニューラルネットワークを用いた相互連想メモリの基本的動作を簡単に説明する。図20に於いて、初期設定として、入力切替スイッチ21は、連想ループ制御処理部28からの制御信号により制御され、入力端子20の前進連想入力信号X(0)が学習済み前進2値3層ニューラルネットワーク23へ入力端子22を介して入力されるよう接続される。また、前進連想入力信号X(0)がアトラクタ収束状態判定を行う為の初期値としてアトラクタ収束状態識別部29に記憶される。
【0020】
前進2値3層ニューラルネットワーク23は、前進連想入力信号X(0)に対応した2値出力信号を出力端子24から送出し、更に端子25を介して学習済み後進2値3層ニューラルネットワーク26に入力する。対応した2値出力信号X(1)は、出力端子27から出力され、更にアトラクタ収束状態識別処理部29に入力記憶されると共に、連想ループ制御処理部28の制御の基に、入力切替スイッチ21を介して入力端子22にフィードバックされる。
連想ループ制御処理部28は、後進2値3層ニューラルネットワーク26からの2値出力信号X(1)を入力切替スイッチ21と入力端子22を介して前進2値3層ニューラルネットワーク23へフィードバックし、再度、前進及び後進2値3層ニューラルネットワーク23、26から夫々2値出力信号Y(1)、X(2)を得るよう制御する。このような一連のフィードバック処理を連想ループ処理と呼び、そのフィードバック回数を連想ループ回数qとする。
【0021】
アトラクタ収束状態識別処理部29では、蓄積されている連想ループ回数q−1での後進2値3層ニューラルネットワーク26の2値出力信号X(q)と連想ループ回数q連想ループ処理により得られた後進2値3層ニューラルネットワーク26の2値出力信号X(q+1)と比較し一致検出を行う。但し、q≧0である。
一致し、連想ループ処理の結果が変化しなくなった平衡状態をアトラクタ収束状態と呼び、2値出力信号がアトラクタに収束したとして、アトラクタ収束状態信号を出力端子30に送出する。更に、連想ループ制御処理部28に連想ループ処理を停止するよう連想ループ処理完了信号を送出する。この時の後進2値3層ニューラルネットワーク26のアトラクタである2値出力信号X(q+1)がアトラクタ出力信号として出力端子27に送出される。このアトラクタ収束状態を想起状態と呼ぶ。
【0022】
一致しない場合には、収束していないと見なし、連想ループ制御処理部28に再度連想ループ処理の実行を要求するために、連想ループ処理要求信号を送出する。
連想ループ制御処理部28では、連想ループ処理要求信号を受信すると、予め指定された連想ループ最大許容回数Q未満であれば、連想ループ回数q=q+1として、連想ループ処理を再度実行するため、2値出力信号X(q+1)を、入力切替スイッチ21を介して入力端子22へフィードバックする。
【0023】
ここで、連想ループ処理完了信号を受信した場合、或いは連想ループ回数qが連想ループ最大許容回数Q以上となると、連想ループ処理を終了する。連想ループ回数q≧Qの状態で、アトラクタ収束状態識別処理部29から連想ループ処理要求信号を受信した場合には、アトラクタ発散状態信号送出要求信号をアトラクタ収束状態識別処理部29に送り、連想ループ処理を終了する。この時、アトラクタ収束状態識別処理部29はアトラクタ発散状態信号を出力端子30に送出する。このアトラクタ発散状態は、不想起状態と呼ばれる。
【0024】
アトラクタ収束状態で出力端子27に得られたアトラクタは、連想入力信号X(0)が最も近い特徴を持った学習入力データである学習アトラクタ(教師信号)に想起される場合と、スプリアス・アトラクタ(偽りのアトラクタ)に想起される場合とがある。スプリアス・アトラクタは、学習入力データではなく、殆どの場合は、多くの雑音を含んだ有意な意味を殆ど持たないデータから構成されており明確な特徴を持っていない。
【0025】
この従来の相互連想メモリの構成では、必要なM個の学習アトラクタとしての学習入力データとそれらに夫々対応したOne out of M出力信号形式の2値教師信号とを学習させることから、重み係数による記憶容量を多くすることが出来る。しかしながら、学習アトラクタとしての学習入力データ数Mが非常に多い場合には、前進2値3層ニューラルネットワーク23のM個の出力層ユニット数と同一のユニット数を持つ後進2値3層ニューラルネットワーク26の入力層ユニット数が必然的に非常に大きくなる。従って、粗コード出力型の前進2値3層ニューラルネットワーク23、及び同様の粗コード形式を入力として持つ後進2値3層ニューラルネットワーク26の規模が非常に大きくなり、学習処理の演算量が膨大となる欠点を有している。
【0026】
また、M個のユニットの粗コードからなる2値出力信号形式が用いられることから、スプリアス・アトラクタに収束する場合が非常に多くなる欠点をもっている。
更に、後進2値3層ニューラルネットワークでの学習に於いても、One Out of Mの粗コードの互いのハミング距離も比較的小さいことから、これらを各カテゴリに分類するよう学習させることも比較的困難となる。
また、大きく雑音劣化した前進連想入力信号に対しては、アトラクタ収束状態に到達しないアトラクタ発散状態となる場合も非常に多いなどの欠点も有している。
【非特許文献1】麻生英樹著、「ニューラルネットワーク情報処理」、産業図書出版、1989年9月30日発行
【非特許文献2】Hopfield,J.J., Proc. National. Acad. Sci. USA, 79,pp.2554-2558, 1982
【非特許文献3】Associative Neural Memories Theory and Implementation Edited by Mohamad H. Hassoun OXFORD University Press 1993
【発明の開示】
【発明が解決しようとする課題】
【0027】
上記の説明のごとく、自己連想メモリは、記憶容量が非常に小さく、また、カテゴリ分類機能を有していない。更に、学習入力データである学習アトラクタに収束するためには、取り得る重み係数に制約があり、お互いにハミング距離の小さく、然も密な多くの似た学習入力データを記憶することが出来ない欠点を持っている。例えば、2層ニューラルネットワークに於ける記憶できる理論的最大学習入力データ数は、0.12×入力層ユニット数であり、重み係数の記憶容量が非常に少ない実用上の大きな欠点を持っている。
また、連想ループ処理に於いて、アトラクタに中々収束せず、アトラクタ発散状態になりやすく、然も、アトラクタに収束しても、所望の学習アトラクタではなく、スプリアス・アトラクタになり易いなどの欠点もある。
【0028】
一方、従来の2値3層ニューラルネットワークによる相互連想メモリでは、粗コード出力型の前進2値3層ニューラルネットワーク23が多く用いられることから、多くの学習アトラクタを記憶させる為には、前進2値3層ニューラルネットワーク23の出力層ユニット数を非常に大きくしなければならない。例えば、256の学習アトラクタを用いる場合、昇順2値コードを用いる場合には、8ユニット(ビット)で良いが、One out of M粗コード出力形式の場合には、前進2値3層ニューラルネットワーク23の出力層ユニット数は256、また、後進2値3層ニューラルネットワーク26の入力層ユニット数も256となり、ネットワーク規模が非常に大きくなる。当然のことながら演算量が膨大となるとともに、全正解出力となる学習も比較的困難で、スプリアス・アトラクタも多く発生する欠点を持っている。
【0029】
また、昇順2値コードからなる密の2値コード出力型の前進2値3層ニューラルネットワーク23を用いた場合には、スプリアス・アトラクタは非常に発生しにくい。しかしながら、後進2値3層ニューラルネットワーク26は、前進2値3層ニューラルネットワーク23の2値教師信号を学習入力データとして学習する必要があるが、この2値教師信号のお互いのハミング距離が非常に小さく、然も密な2値コードの集合となることから、それぞれを独立した分類カテゴリとして学習することが非常に困難となる欠点を持っており、大規模な分類カテゴリを持ち、然も正確な記憶能力を持った大規模記憶容量の相互連想メモリが実現できない。
【0030】
本発明の目的は、上記の問題を解決し、お互いに距離が非常に小さく密な学習入力データに対する学習に於いても、簡単で高速且つ確実に収束し、全正解2値出力信号を送出する2値多層ニューラルネットワークや並列複合2値多層ニューラルネットワークを実現し、高信頼度な2値多層ニューラルネットワークシステムを提供することにある。また、このような2値多層ニューラルネットワークや並列複合2値多層ニューラルネットワークを用いた相互連想メモリを構成することにより、従来の2値多層ニューラルネットワークを用いた自己連想メモリや相互連想メモリなどに比べて、迅速且つ正確な全正解出力を得る学習を行わせ、大規模な記憶容量を持たせることができると共に、スプリアス・アトラクタに落ち込むことも非常に少なく、アトラクタ発散状態も殆どない、非常に優れた高性能な相互連想記憶装置を提供することにある。
【課題を解決するための手段】
【0031】
上記の問題点を解決するために、第1の手段として、2値学習入力データを基に付加入力生成データを生成する付加入力生成処理手段と、該2値学習入力データと該2値付加入力生成データとを合わせて新たな学習用2値入力データとして入力し、教師信号を用いて多層ニューラルネットワーク手段を学習させることを特徴とした多層ニューラルネットワーク学習装置を構成する。
【0032】
第2の手段として、2値入力信号を基に付加入力生成信号を生成する付加入力生成処理手段と、該2値入力信号と該2値付加入力生成信号とを合わせて新たな2値入力信号として入力する、教師信号を用いて学習させた多層ニューラルネットワーク手段を少なくとも用いて構成することを特徴とした多層ニューラルネットワーク装置を構成する。
【0033】
第3の手段として、2値入力信号を基に夫々の付加入力生成信号を生成する並列接続された付加入力生成処理手段と、該2値入力信号と夫々の該2値付加入力生成信号とを合わせて夫々の新たな2値入力信号として入力する、基本となる2値教師信号から変換された互いに異なる夫々の2値教師信号を用いて学習させ並列接続された多層ニューラルネットワーク手段と、学習に用いた該2値教師信号を元の該基本となる2値教師信号に逆変換する夫々の変換則を有し、対応した該多層ニューラルネットワーク手段の2値出力信号を出力逆変換する並列接続された出力逆変換処理手段と、夫々の該出力逆変換処理手段からの並列接続数の2値出力信号から一つの2値出力信号を選択送出する出力複合処理手段とから、少なくとも構成することを特徴とした並列複合多層ニューラルネットワーク装置を構成する。
【0034】
第4の手段として、2値入力信号を基に夫々の付加入力生成信号を生成する付加入力生成処理手段と、該2値入力信号と夫々の該2値付加入力生成信号とを合わせて夫々の新たな2値入力信号として入力する並列接続された入力変換処理手段と、夫々の該入力変換処理手段からの2値出力信号を入力とする並列接続された多層ニューラルネットワーク手段と、夫々の該多層ニューラルネットワーク手段からの並列接続数の2値出力信号から一つの2値出力信号を選択送出する出力複合処理手段とから、少なくとも構成することを特徴とした並列複合多層ニューラルネットワーク装置を構成する。
【0035】
第5の手段として、並列接続された入力変換処理手段と、夫々の該入力変換処理手段からの2値入力信号を基に付加入力生成信号を生成する2値付加入力生成処理手段と、夫々の該2値入力信号と生成された該2値付加入力生成信号とを合わせて夫々の新たな2値入力信号として入力する並列接続された多層ニューラルネットワーク手段と、夫々の該多層ニューラルネットワーク手段からの並列接続数の2値出力信号から一つの2値出力信号を選択送出する出力複合処理手段とから、少なくとも構成することを特徴とした並列複合多層ニューラルネットワーク装置を構成する。
【0036】
第6の手段として、第3、第4及び第5の手段の前記付加入力生成処理手段に於いて、付加入力信号を生成する生成則が全て同一の付加入力生成処理手段を用いることを特徴とした並列複合多層ニューラルネットワーク装置を構成する。
【0037】
第7の手段として、前進2値多層ニューラルネットワーク手段23と、後進2値多層ニューラルネットワーク手段26と、前進連想入力信号を該前進2値多層ニューラルネットワーク手段23に一旦入力した後、該後進2値多層ニューラルネットワーク手段26の2値出力信号を入力する入力切替スイッチ21と、アトラクタ収束状態を識別するアトラクタ収束状態識別処理手段29とを少なくも有し連想ループ処理を行う相互連想記憶装置に於いて、
該前進2値多層ニューラルネットワーク手段23の2値出力信号を基に後進付加入力生成信号を生成する後進付加入力生成処理手段51と、該2値出力信号と該後進付加入力生成信号とを合わせて入力する、該前進2値多層ニューラルネットワーク手段23の2値教師信号を基に該後進付加入力生成処理手段51を介して生成した後進付加入力生成データとを合わせて学習用入力データとして学習させた該後進2値多層ニューラルネットワーク手段26とから少なくとも構成することを特徴とした相互連想記憶装置を構成する。
【0038】
第8の手段として、前進2値多層ニューラルネットワーク手段23と、後進2値多層ニューラルネットワーク手段26と、前進連想入力信号を、或いは該後進2値多層ニューラルネットワーク手段26の2値出力信号を該前進2値多層ニューラルネットワーク手段23に入力する入力切替スイッチ21と、後進連想入力信号を、或いは該前進2値多層ニューラルネットワーク手段23の2値出力信号を該後進2値多層ニューラルネットワーク手段26に入力する入力切替スイッチ42とを、アトラクタ収束状態を識別するアトラクタ収束状態識別処理手段45とを少なくも有し、前進連想入力信号に対する連想ループ処理を行う場合には、該前進2値多層ニューラルネットワーク手段23を該後進2値多層ニューラルネットワーク手段26に常に接続するよう前記入力切替スイッチ42を制御し、後進連想入力信号に対する連想ループ処理を行う場合には、該後進2値多層ニューラルネットワーク手段26を該前進2値多層ニューラルネットワーク手段23に常に接続するよう前記入力切替スイッチ21を制御して、夫々連想ループ処理を行う相互連想記憶装置に於いて、
該後進2値多層ニューラルネットワーク手段26の2値出力信号を基に前進付加入力生成信号を生成する前進付加入力生成処理手段52と、該2値出力信号と該前進付加入力生成信号とを合わせて入力する、学習入力データを基に該後進付加入力生成処理手段52を介して生成した前進付加入力生成データとを合わせて学習用入力データとして学習させた該前進2値多層ニューラルネットワーク手段23と、
該前進2値多層ニューラルネットワーク手段23の2値出力信号を基に後進付加入力生成信号を生成する後進付加入力生成処理手段51と、該2値出力信号と該後進付加入力生成信号とを合わせて入力する、該前進2値多層ニューラルネットワーク手段23に於ける2値教師信号を基に該後進付加入力生成処理手段51を介して生成した後進付加入力生成データとを合わせて学習用入力データとして学習させた該後進2値多層ニューラルネットワーク手段26とから少なくとも構成することを特徴とした相互連想記憶装置を構成する。
【0039】
第9の手段として、2値学習入力データを基に付加入力生成データを生成する付加入力生成処理と、該2値学習入力データと該2値付加入力生成データとを合わせて新たな学習用2値入力データとして入力し、教師信号を用いて多層ニューラルネットワーク学習処理を行うことを特徴とした多層ニューラルネットワーク学習ソフトゥエアを構成する。
【0040】
第10の手段として、2値入力信号を基に付加入力生成信号を生成する付加入力生成処理と、該2値入力信号と該2値付加入力生成信号とを合わせて新たな2値入力信号として入力する多層ニューラルネットワーク処理を少なくとも用いて構成することを特徴とした多層ニューラルネットワーク処理ソフトウェアを構成する。
【0041】
第11の手段として、2値入力信号を基に夫々の付加入力生成信号を生成する並列接続された付加入力生成処理と、該2値入力信号と夫々の該2値付加入力生成信号とを合わせて夫々の新たな2値入力信号として入力する、基本となる2値教師信号から変換された互いに異なる夫々の2値教師信号を用いて学習させ並列接続に対応する多層ニューラルネットワーク処理と、学習に用いた該2値教師信号を元の該基本となる2値教師信号に逆変換する夫々の変換則を有し、対応した該多層ニューラルネットワーク処理からの2値出力信号を出力逆変換する並列接続に対応した出力逆変換処理と、夫々の該出力逆変換処理からの並列接続に対応する数の2値出力信号から一つの2値出力信号を選択送出する出力複合処理とから、少なくとも構成することを特徴とした並列複合多層ニューラルネット処理ワークソフトウェアを構成する。
【0042】
第12の手段として、2値入力信号と、該2値入力信号を基に夫々の付加入力生成処理を介して生成した2値付加入力生成信号とを合わせて夫々の新たな2値入力信号として入力する並列接続に対応する入力変換処理と、夫々の該入力変換処理からの2値出力信号を入力とする並列接続に対応する学習済み多層ニューラルネットワーク処理と、夫々の該多層ニューラルネットワーク処理からの並列接続に対応した数の2値出力信号から一つの2値出力信号を選択送出する出力複合処理とから、少なくとも構成することを特徴とした並列複合多層ニューラルネットワーク処理ソフトウェアを構成する。
【0043】
第13の手段として、並列接続に対応した入力変換処理と、夫々の該入力変換処理からの2値入力信号を基に付加入力生成信号を生成する夫々の2値付加入力生成処理と、夫々の該2値入力信号と生成された該2値付加入力生成信号とを合わせて夫々の新たな2値入力信号として入力する並列接続に対応する多層ニューラルネットワーク処理と、夫々の該多層ニューラルネットワーク処理からの並列接続に対応する数の2値出力信号から一つの2値出力信号を選択送出する出力複合処理とから、少なくとも構成することを特徴とした並列複合多層ニューラルネットワーク処理ソフトウェアを構成する。
【0044】
第14の手段として、請求項11、12及び13の前記付加入力生成処理に於いて、付加入力信号を生成する生成則が全て同一の付加入力生成処理を用いることを特徴とした並列複合多層ニューラルネットワーク処理ソフトウェアを構成する。
【0045】
第15の手段として、前進2値多層ニューラルネットワーク処理と、後進2値多層ニューラルネットワーク処理と、後進連想入力信号を該前進2値多層ニューラルネットワーク処理に一旦入力した後、該後進2値多層ニューラルネットワーク処理の2値出力信号を入力する入力設定処理と、アトラクタ収束状態を識別するアトラクタ収束状態識別処理とを少なくも有し連想ループ処理を行う相互連想記憶処理に於いて、
該前進2値多層ニューラルネットワーク処理の2値出力信号を基に後進付加入力生成信号を生成する後進付加入力生成処理と、該2値出力信号と該後進付加入力生成信号とを合わせて入力する、該前進2値多層ニューラルネットワーク処理に於ける2値教師信号を基に該後進付加入力生成処理を介して生成した後進付加入力生成データとを合わせて学習用入力データとして学習させた該後進2値多層ニューラルネットワーク処理とから少なくとも構成することを特徴とした相互連想記憶処理ソフトウェアを構成する。
【0046】
第16の手段として、前進2値多層ニューラルネットワーク処理と、後進2値多層ニューラルネットワーク処理と、前進連想入力信号を、或いは該後進2値多層ニューラルネットワーク処理の2値出力信号を該前進2値多層ニューラルネットワーク処理に入力する入力設定処理と、後進連想入力信号を、或いは該前進2値多層ニューラルネットワーク処理の2値出力信号を該後進2値多層ニューラルネットワーク処理に入力する入力設定処理と、アトラクタ収束状態を識別するアトラクタ収束状態識別処理とを少なくも有し、前進連想入力信号に対する連想ループ処理を行う場合には、該前進2値多層ニューラルネットワーク処理の2値出力信号を該後進2値多層ニューラルネットワーク処理に常に入力する前記入力設定処理を行い、後進連想入力信号に対して連想ループ処理を行う場合には、該後進2値多層ニューラルネットワーク処理の2値出力信号を該前進2値多層ニューラルネットワーク処理に常に入力するよう前記入力設定処理をして、夫々連想ループ処理を行う相互連想記憶処理に於いて、
該後進2値多層ニューラルネットワーク処理の2値出力信号を基に前進付加入力生成信号を生成する前進付加入力生成処理と、該2値出力信号と該前進付加入力生成信号とを合わせて入力する、学習入力データを基に該後進付加入力生成処理を介して生成した前進付加入力生成データとを合わせて学習用入力データとして学習させた該前進2値多層ニューラルネットワーク処理と、該前進2値多層ニューラルネットワーク処理の2値出力信号を基に後進付加入力生成信号を生成する後進付加入力生成処理と、該2値出力信号と該後進付加入力生成信号とを合わせて入力する、該前進2値多層ニューラルネットワーク処理の学習に於ける2値教師信号を基に該後進付加入力生成処理を介して生成した後進付加入力生成データとを合わせて学習用入力データとして学習させた該後進2値多層ニューラルネットワーク処理とから少なくとも構成することを特徴とした相互連想記憶処理ソフトウェアを構成する。
【0047】
上記の説明のごとく、本発明の付加入力生成処理機能を有する2値多層ニューラルネットワークや並列複合2値多層ニューラルネットワークでは、互いのハミング距離が非常に小さい学習入力データに対しても、それを基に付加入力生成データを生成し、これらを合わせて多層ニューラルネットワークの入力とすることにより、入力のお互いのハミング距離を確実に拡大でき、然も入力ビット数が付加されることから、より粗な2値コード関係になる。従って、簡単で安定且つ確実に全正解の2値出力信号を送出できるよう学習させることができる。従って、実用的に非常に幅広くこれらの2値多層ニューラルネットワークを用いることができると共に、非常に高性能な汎化能力を持った付加入力生成処理機能を有する2値多層ニューラルネットワークや並列複合2値多層ニューラルネットワークなど、これらを用いた優れた性能の応用システムを実現することができる。
【0048】
特に、これらの付加入力生成処理機能を有する2値多層ニューラルネットワークよる相互連想メモリは、前進2値多層ニューラルネットワークに於いて、分類カテゴリ番号を密に符号化した2値コードを2値教師信号として割り当てた分散型出力形式を用いて、スプリアス・アトラクタの発生を無くし、然も、非常に少ない連想ループ処理の基でアトラクタ収束状態が達成される。更に、非常に多量の学習アトラクタを自由且つ安定に記憶できるなど、従来の連想記憶装置にない、一段と優れた性能を実現できる。
【0049】
これらのことから、本発明の付加入力生成処理機能を有する2値多層ニューラルネットワークや並列複合2値多層ニューラルネットワーク、更にこれらを用いた相互連想記憶装置は、処理遅延が一定の非常に複雑な真理値表を持った論理回路、高速データ検索や、未知入力データによる不正アクセス検出などのセキュリティシステムへの応用や、ネットワーク障害検出システムなどへの応用、更には、多くの雑音により劣化した大容量の画像データなどの認識や劣化除去フィルタリングなどのパターン認識などの実用システムへ幅広く適用できる。
【発明を実施するための最良の形態】
【0050】
本発明の第1の実施形態に於ける付加入力生成機能を有する2値3層ニューラルネットワークの学習処理装置の1実施例を図1に示す。この基本構成の説明を簡単にする為、ここでは、3層ニューラルネットワークを例に挙げ、その構成及びその動作について詳細に説明する。尚、本発明は、3層ニューラルネットワークに限るものではなく、4層以上の多層ニューラルネットワークなどの教師信号を用いて学習するニューラルネットワークであればよい。
【0051】
本発明の付加入力生成処理機能を有する3層ニューラルネットワーク学習処理装置は、図1に示すように、学習入力データを基に付加入力を生成する付加入力生成処理部50と、学習入力データと付加入力生成データとからなる学習用入力データ対して出力層から出力信号を送出する3層ニューラルネットワーク1と、対応した教師信号から出力層の出力信号を差し引き、誤差信号を得える減算処理部9と、出力層の出力信号を2値化し、2値出力信号を送出するスレショルド処理部10(1011、1012、101M)と、教師信号を2値化し、2値教師信号を送出するスレショルド処理部10(1021、1022、102M)と、入力される全ての学習入力データに対応した2値出力信号とそれらに対応した2値教師信号との比較を行い、2値出力信号の正解不正解を判定し、正解不正解判定信号として全正解判定信号あるいは不正解判定信号を送出する正解不正解出力判定処理部12と、全正解判定信号が得られると、重み係数更新処理を停止し学習を完了させる学習完了制御信号を送出し、不正解判定信号が得られると、再度全学習入力データに対して重み係数更新処理を行わせる学習継続制御信号とを送出する学習収束判定処理部13と、誤差信号と重み係数と3層ニューラルネットワーク1の各層の出力信号などとから重み係数を更新し、全ての学習入力データに対して更新された重み係数を送出し3層ニューラルネットワーク1に設定する重み係数更新制御処理部7とから構成される。
【0052】
ここで、これらの動作について説明する。
重み係数更新制御処理部7において、乱数などを用いて生成した重み係数などを初期値設定した後、初期重み係数を入出力端子11を介して3層ニューラルネットワーク1に設定する。更に、入力端子2からの予め用意された学習入力データと入力端子8から対応した教師信号Tとを夫々に入力する。
付加入力生成処理部50では、入力端子2から入力された学習入力データを基に、指定されたユニット数R、即ちRビットの付加入力生成データを生成する。
【0053】
生成方法としては、例えば、学習入力データを初期値とした2値乱数生成器を用いて、Rビットの2値乱数データを生成し、付加入力生成データとする。或いは、学習入力データをNビットの2値パターンとみなし、これから複数個のRビットのパターンを抽出し、夫々に対して整数変換した後、素数による剰余演算や桁シフトなどの演算を施し、更にべき乗型非線型演算処理と桁シフトを施した後、夫々を加算して最終的にRビットの2値パターンに変換して付加入力生成データを生成してもよい。即ち、Nビットの入力パターンに対して一意のランダムなRビットのパターンを発生できる付加入力生成方法であればよい。
更に、付加入力生成処理部50として、誤り訂正符号化方法に於いて、例えば、BCH符号やゴレー符号化などに於ける誤り訂正符号生成器を用い、これにより生成された誤り訂正符号の冗長ビット部分を付加入力生成データしてもよい。
【0054】
この付加入力生成処理部50により生成した付加入力生成データは、学習入力データ間のハミング距離が小さく非常に似た学習入力データに対しても、お互いにハミング距離が大きく離れ異なったRビットの2値データとなる。
この生成された付加入力生成データと学習入力データとを合わせて、3層ニューラルネットワーク1のN+Rビットの学習用入力データとすることにより、学習入力データ間のハミング距離よりも常に大きいハミング距離を持った入力データを構成することができ、更に学習用入力データのビット数がRほど増加することからより粗な2値コードの関係となる。この学習用入力データを図1の如く3層ニューラルネットワーク1の入力層4に入力し学習させる。
【0055】
この学習用入力データに対して、シグモイド関数などの出力関数を介した出力層6からの出力信号を得、減算処理部9を介して教師信号との誤差信号を求め、重み係数更新制御処理部7に入力する。
重み係数更新制御処理部7では、入出力端子11を介して入力された、出力関数を介した各層のユニットからの出力信号などの3層ニューラルネットワーク1の内部情報と前記誤差信号とを基に誤差電力を最小にするように各層間の重み係数の更新値を求める重み係数更新処理を行う。
【0056】
全学習入力データに対して重み係数更新が終了すると、重み係数更新制御処理部11では、重み係数更新を一旦停止し、端子11を介して後進重み係数を3層ニューラルネットワーク1に設定する。この後、再度全ての学習入力データを順次入力端子2から入力層4に入力する。出力層6からの出力信号は、スレショルド処理部10を介して2値出力信号に変換され、正解不正解出力判定処理部12に送出される。
正解不正解出力判定処理部12では、2値出力信号が入力されると、入力端子8からの対応した2値教師信号と比較する。全ての学習入力データに対する2値出力信号が全正解か或いは何れかが不正解かを判定し、全正解であれば全正解判定信号を、いずれかが不正解であれば、不正解判定信号を学習収束判定処理部13に送出する。
【0057】
学習収束判定処理部13では、全正解判定信号が入力されると、重み係数更新制御処理部7に学習完了制御信号を送出する。一方、不正解判定信号ならば、再度全学習入力データに対して重み係数更新を行うよう学習継続制御信号を送出する。
重み係数更新制御処理部7では、学習完了制御信号が入力されると、学習完全収束として学習を完了させる。学習継続制御信号が入力されると、全学習入力データに対する学習回数が予め設定された最大学習回数G以上であれば、学習不完全収束として学習を停止する。最大学習回数G未満であれば、学習回数をカウントアップし、再度全学習入力データに対して重み係数を更新するよう制御し、学習入力データを順次入力端子2へ、また対応した教師信号を入力端子8からそれぞれ入力し、一連の重み係数更新処理を行う。
【0058】
上記の付加入力生成処理部50では、学習入力データを基に付加入力生成データを生成し、学習入力データと合わせて新たな学習用入力データとして、3層ニューラルネットワーク1にて学習させる。この際、従来の学習入力データ単独の場合に比較して、付加入力生成データと学習入力データとからなる学習用入力データ間のハミング距離が学習入力データ間のハミング距離より常に大きく、学習用入力データをお互いに離し、更により粗な関係の2値パターンとすることができる。
【0059】
ここで、Nより比較的小さい数のRを用いることにより、学習入力データ間の相関、即ち学習入力データの入力空間の特徴もほぼ保ちながら、学習の収束状態、即ち2値出力信号が全て正解となる全正解出力状態を非常に少ない学習回数で確実に達成することができる。一方、大きい割合のRの設定によっては、非常に高速な学習収束の下で汎化能力を殆ど持たない1対1の非常に複雑な入出力マッピングも実現することもできる。
【0060】
尚、ここでは、教師信号は、実数値からなる教師信号を対象に記述したが、当然2値教師信号でもよく、この場合には、スレショルド処理部1021、1022、102Mは不要である。更に、2値教師信号として学習入力データと同じものを用いて、上記の学習用入力データを学習させてもよい。
また、学習収束判定処理部13に於いても、2値出力信号の全正解を収束の条件としたが、他の収束条件を設定してもよい。例えば、全正解の条件の他に、更に教師信号からの出力信号の差の絶対値全てが与えられた誤差スレショルド値以下となるよう出力信号に対する収束条件も設定してもよい。
【0061】
また、これらの学習済み重み係数を持った2値3層ニューラルネットワークの実行処理は、図1に於いて、付加入力生成処理部50と、学習済み3層ニューラルネットワーク1、減算処理部9、スレショルド処理部10と、及び重み係数更新制御処理部7の代わりの実行制御処理部とを用いて、入力端子2からの入力信号に対して、2値出力信号を出力端子3から送出することにより行うことができる。
ここで、第1の実施形態に於ける図1に示す2値3層ニューラルネットワークの学習処理に関して、その処理フローを図2に示す。
【0062】
学習初期設定処理400では、3層ニューラルネットワークの入力層ユニット数、中間層ユニット数と出力層ユニット数、及びシグモイド関数、付加入力生成Rビットの数などの構成パラメータと、学習係数や慣性係数など学習に於ける重み係数更新に必要なパラメータと、初期重み係数、最大学習回数Rや学習データ番号や学習回数初期値などを設定する。
学習入力データ入力処理401は、Nビットの学習入力データを付加入力生成処理402の入力及び3層ニューラルネットワーク処理403に於ける入力層のN個のユニットに入力設定する。
【0063】
付加入力生成処理402は、入力されたNビットの学習入力データを基に、Rビットの乱数2値パターンからなる付加入力生成データを生成し、3層ニューラルネットワーク処理403の入力層のR個のユニットに入力設定する。例えば、生成方法としては、学習入力データを初期値として、Rビットの2値乱数を生成してもよい。或いは、学習入力データを分割し、複数個のRビットの整数値を得、夫々を素数で割り算の後、桁シフトにより得た実数値のべき乗などの非線型演算を施し、夫々を加算した後Rビットの2値パターンに変換して生成してもよい。この生成処理は、Nビットの入力された学習入力データに対して一意に決まるランダム化されたRビットの2値パターンであればよい。
【0064】
3層ニューラルネットワーク処理403では、N+R個の入力層ユニットに設定された学習用入力データに対して、シグモイド関数などの出力関数を介した出力層の出力信号を得え、誤差信号算出処理404に設定する。また、各層からの出力信号を更新重み係数算出処理405に設定する。
誤差信号算出処理404では、教師信号から出力層の出力信号を差し引き、誤差信号を得、更新重み係数算出処理405に設定する。
更新重み係数算出処理405では、誤差信号及び各層の出力信号などを基に、例えば、誤差バック・プロパゲーション・アルゴリズムにより、中間層―出力層間、入力層−中間層間のそれぞれの重み係数を更新する。
【0065】
全学習入力データ処理終了判定処理406では、準備されている全ての学習入力データに対して重み係数更新が終了したかを判定し、終了していない場合には、学習データ番号j←j+1処理413を介して引き続き与えられた学習入力データに対して、学習入力データ入力処理401に戻り、次の学習入力データを設定し、同様の一連の処理を行う。
一方、全ての学習用入力データに対して終了しておれば、ニューラルネットワーク更新重み係数設定処理407を実行する。
ニューラルネットワーク更新重み係数設定処理407では、更新された新たな重み係数を3層ニューラルネットワークの各層間に設定する。
【0066】
全学習入力データ2値3層ニューラルネットワーク実行処理408では、更新された重み係数を持つ3層ニューラルネットワークに対して、順次学習入力データを入力し、前記の付加入力生成処理402及び3層ニューラルネットワーク処理403と同様の処理を行い、出力層からの出力信号に対して、スレショルド処理を行い2値出力信号を得、全出力正解不正解判定処理409に設定する。
【0067】
全出力正解不正解判定処理409では、全ての学習入力データに対して得られた2値出力信号が対応した2値教師信号と全て一致するか、不一致となるかの判定を行い、学習収束判定処理410に正解不正解判定結果を設定する。
学習収束判定処理410では、全正解状態ならば収束したとみなし、重み係数更新を止め学習を完了する。不正解状態であれば、収束状態が得られていないとみなし、学習回数判定処理412に進む。
【0068】
学習回数判定処理411では、学習回数が最大学習回数G未満であれば、再度、学習入力データに対して重み係数更新を繰り返すために、学習回数i←i+1処理412を介して学習入力データ入力処理401へ戻り、最初の学習入力データを設定する。最大学習回数Gであれば、学習未収束として学習を完了する。
次に、上記の学習収束を完了し、学習済み重み係数を設定した付加入力生成機能を有する2値3層ニューラルネットワークの実行処理の処理フローを図3に示す。
図2の学習処理フローにおける全学習入力データ2値3層ニューラルネットワーク実行処理408と基本的に同様である。全学習入力データではなく、入力された入力信号に対して2値出力信号を得る実行処理を示す。
【0069】
初期設定処理420では、3層ニューラルネットワークの入力層ユニット数、中間層ユニット数及び出力層ユニット数、及びシグモイド関数、付加入力生成Rビットの数などの構成パラメータと、学習済み重み係数などを設定する。
入力信号入力処理421では、Nビットの入力信号を付加入力生成処理422と2値3層ニューラルネットワーク処理423に於ける3層ニューラルネットワーク入力層のN個のユニットに入力設定する。
【0070】
付加入力生成処理422は、付加入力生成処理402と同様であり、Rビットの乱数2値パターンを付加入力生成信号として生成し、2値3層ニューラルネットワーク処理423に入力設定する。
2値3層ニューラルネットワーク処理423では、前記のNビットの入力信号と前記のRビットの付加入力生成信号とを合わせ、3層ニューラルネットワークの入力層に入力し、出力層から出力信号を得、スレショルド処理を介して2値出力信号を得る。入力信号が複数個ある場合は、順次上記の処理を繰り返せば良い。
【0071】
次に、本発明の第2の実施形態として、付加入力生成機能を有する並列複合2値3層ニューラルネットワークの1構成例を図4に示す。ここでは、3並列の学習済み2値3層ニューラルネットワークを用いた場合について、説明するが、3並列に限るものではない。
【0072】
図4の付加入力生成機能を有する3並列複合2値3層ニューラルネットワーク60は、入力端子75の入力信号を基に生成された付加入力生成信号を出力する付加入力生成処理部50と、入力端子75からの入力信号と付加入力生成信号とを夫々入力し、対応した2値出力信号を夫々送出する並列接続された学習済み2値3層ニューラルネットワーク61、62、63と、並列接続された2値3層ニューラルネットワーク61、62、63の各々の2値出力信号を同一の分類カテゴリに割り当てられた基本2値コード出力信号形式に夫々逆変換する出力逆変換処理部64、65、66と、出力逆変換処理部64、65、66の夫々から出力された基本2値コード出力信号間から最終的な1個の基本2値コード出力信号を選択送出する出力複合処理部67とから構成される。
【0073】
ここで、3並列接続された学習済み2値3層ニューラルネットワーク61、62、63の夫々の学習では、入力端子75からの学習入力データと、これを基に付加入力生成処理部50により生成した付加入力生成データとを合わせて、夫々の入力層に入力する。更に、この学習入力データに対応した分類カテゴリ割り当て配置を表す基本2値コード出力信号に対して、互いに異なった2値コード出力信号形式に変換された変換2値教師信号を夫々用いて、2値3層ニューラルネットワーク61、62、63の夫々の学習を行い、収束した重み係数を設定する。即ち、同一の分類カテゴリに対して夫々異なった2値教師信号を割り当て、夫々学習させている。
【0074】
以下に動作について説明する。入力端子75からの入力信号は、付加入力生成処理部50にて生成された付加入力生成信号と合わせて、並列接続された夫々の学習済み2値3層ニューラルネットワーク61、62、63の入力層に入力される。それらに対応した夫々の2値出力信号が出力逆変換処理部64、65、66に夫々入力され、出力逆変換処理部64、65、66にて同一分類カテゴリ割り当て配置を表す基本2値コード出力信号に夫々逆変換され送出される。出力複合処理部67では、逆変換され得られた3個の基本2値コード出力信号に対して、例えば、出力複合方式として、多数決選択(Majority Voting)を用いて、即ち、多数決ルールに従って(但し、これらが全て不一致の場合には予め決められた出力逆変換処理部からの基本2値出力信号を選択)、1個の基本2値コード出力信号を選択し出力端子76から最終的な2値出力信号として送出する。
【0075】
ここで、出力複合方式として、特願2000−57263(特開2001−243210)に示すように、学習入力データに対する中間層2値出力信号を基準に、入力端子75の入力信号に対する中間層2値出力信号とのハミング距離や正規化ハミング距離を基に、並列2値3層ニューラルネットワークの基本2値コード出力信号間の最終的な選択しても良い。
ここで、図4の付加入力生成機能を有する3並列複合2値3層ニューラルネットワーク60の実行処理フローを図5に示す。並列接続されている個々の2値3層ニューラルネットワークに対する基本的な処理は、図3の付加入力生成機能を有する2値3層ニューラルネットワークの実行処理フローと同様である。
【0076】
また、並列接続された各2値3層ニューラルネットワークは、図4と同様に、予め学習した重み係数が設定されているものとする。即ち、図2に示す2値3層ニューラルネットワークの学習処理フローと同様に、3並列接続される各2値3層ニューラルネットワークの学習では、学習入力データと、これを基に付加入力生成処理452により生成した付加入力生成データとを合わせ学習用入力データとして、夫々の2値3層ニューラルネットワークの入力層に入力する。更に、この学習入力データに対応した分類カテゴリ割り当て配置を表す基本2値コード出力信号に対して、互いに異なった2値コード出力信号形式に変換された変換2値教師信号を夫々用いて、各2値3層ニューラルネットワークの夫々の学習を行い、収束した重み係数を夫々の並列接続された2値3層ニューラルネットワークに設定する。このように、同一の分類カテゴリに対して夫々異なった2値教師信号を割り当て、各2値3層ニューラルネットワークを予め学習させている。
【0077】
ここで、図5の実行処理の処理フローを説明する。
初期設定処理450では、並列接続された3層ニューラルネットワークの入力層ユニット数、中間層ユニット数及び出力層ユニット数、及びシグモイド関数、付加入力生成Rビットの数などの構成パラメータと、学習済み重み係数や並列番号などを夫々設定する。
入力信号入力処理451では、Nビットの入力信号を付加入力生成処理452と並列2値3層ニューラルネットワーク処理453に於ける各2値3層ニューラルネットワーク入力層のN個のユニットに夫々入力設定する。
付加入力生成処理452では、付加入力生成処理402と同様であり、Nビットの入力信号からRビットの乱数2値パターンを付加入力生成信号として生成し、並列2値3層ニューラルネットワーク処理453に於ける各2値3層ニューラルネットワーク入力層のR個のユニットに夫々入力設定する。
【0078】
並列2値3層ニューラルネットワーク処理453では、前記のNビットの入力信号と前記のRビットの付加入力生成信号とを合わせ、指定された並列番号の2値3層ニューラルネットワークの入力層の入力とし、出力層から2値出力信号を得る。並列出力逆変換処理454では、その2値出力信号を元の基本2値コード出力信号に逆変換し、出力複合処理456に設定する。
全並列処理終了判定処理455では、並列2値3層ニューラルネットワーク処理453と出力逆変換処理454とを介して全ての基本2値コード出力信号が得られると、出力合成処理456に進む。
【0079】
一方、得られていない場合は、並列番号k←k+1処理458を介して次の並列番号の2値3層ニューラルネットワークを指定して、並列2値3層ニューラルネットワーク処理453に戻り、同様に前記の入力信号とその付加入力生成信号とを入力として2値出力信号を得、更に並列出力逆変換処理454で基本2値コード出力信号を得る。即ち、並列2値3層ニューラルネットワーク処理453とその並列出力逆変換処理454を介して並列出力される全ての基本2値コード出力信号が得られるまで、順次上記の処理を繰り返す。
出力複合処理456では、全ての基本2値コード出力信号が得られると、例えば多数決ルールなどにより、一つの基本2値コード出力信号を最終的に2値出力信号として選択出力する。
【0080】
ここで、図4の付加入力生成処理機能を有する並列複合ニューラルネットワーク60では、並列接続の2値3層ニューラルネットワーク61、62、63に対して、同一の付加入力生成処理部50を用いて生成した付加入力生成信号を夫々入力しているが、図6に示す付加入力生成処理機能を有する並列複合2値3層ニューラルネットワーク70において、入力端子75の入力信号と、それを基に夫々並列接続毎に異なった生成方法からなる付加入力生成処理部53、54、55から得られた付加入力生成信号とを夫々対応した2値3層ニュ−ラルネットワーク61、62、63に入力させてもよい。
【0081】
尚、ここでの学習済み2値3層ニューラルネットワーク61、62、63は、入力端子75からの学習入力データと、これに対してそれぞれ異なった生成方法を持つ付加入力生成処理部53、54、55を介して得られた付加入力生成データとを夫々対応した2値3層ニューラルネットワーク61、62、63に対して入力して学習させ、収束し得られた重み係数を夫々設定する。
次に、図6の付加入力生成処理機能を有する並列複合2値3層ニューラルネットワーク70の実行処理フローを図7に示す。ここでも、並列接続された各2値3層ニューラルネットワークは、図5と同様に、予め学習した重み係数が設定されているものとする。即ち、3並列接続される各2値3層ニューラルネットワークの学習では、学習入力データと、これを基に夫々並列番号毎に異なった生成方法を持った並列付加入力生成処理457により生成した付加入力生成データとを合わせ学習用入力データとして、指定された2値3層ニューラルネットワークの入力層に入力する。
【0082】
更に、この学習入力データに対応した分類カテゴリ割り当て配置を表す基本2値コード出力信号に対して、互いに異なった2値コード出力信号形式に変換された変換2値教師信号を夫々用いて、各2値3層ニューラルネットワークの夫々の学習を行い、収束した重み係数を並列接続された個々の2値3層ニューラルネットワークに設定する。
並列付加入力生成処理457では、並列番号毎に生成方法が異なる付加入力生成処理を実行する。従って、入力信号入力処理451の基に入力された入力信号に対して、並列番号順に従って付加入力生成処理を実施し、生成された付加入力生成信号を並列2値3層ニューラルネットワーク処理453に入力設定する。その他の各処理は図5と同様であるので処理の説明は省略する。
【0083】
図8、12、13の付加入力生成処理機能を有する並列複合ニューラルネットワーク80、81、82では、図4及び6の付加入力生成処理機能を有する並列複合ニューラルネットワーク60、70に於いて、並列接続の2値3層ニューラルネットワーク61、62、63に対して共通の分類カテゴリ割り当て配置に対して異なる2値コードの2値教師信号を用いて学習させた重み係数を設定した2値3層ニューラルネットワークを用いているが、ここでの3並列接続された3層ニューラルネットワーク61、62、63は、分類カテゴリ割り当て配置を表す共通の基本2値コードの2値教師信号を用いる。また、入力端子75からの学習入力データと、それを基に付加入力生成処理部50を介して生成した付加入力生成データとを合わせて、例えば、互いに異なるハッシュ関数などによる入力変換処理部69、70、71に夫々入力し変換した、夫々異なる学習用入力データを用いて、夫々の学習を行っている。
【0084】
ここで、図8の実行処理に於ける動作を説明する。入力端子75からの入力信号と、これを基に付加入力生成処理部50を介して生成された付加入力生成信号とを夫々の入力変換処理部68、69、71に共通に入力する。夫々異なる入力変換処理部68、69、71からの変換2値出力信号を夫々対応した2値3層ニューラルネットワーク61,62、63に入力し、2値出力信号を得る。更に、これらを出力複合処理部67に入力し、多数決選択などの出力複合方法に従って、最も正解に近いと考えられる一つの2値出力信号を選択し、最終的に出力する。
また、図10に於いては、入力端子75からの入力信号と、これを基に各々異なる生成方法を持った付加入力生成処理部53、54、55を介して生成された夫々異なる付加入力生成信号とを入力変換処理部68、69、71へ入力している。ここで、付加入力生成処理部53、54、55が夫々異なる生成方法を有していることから、入力変換処理部68、69、71では、同じ入力変換則を準備してもよい。
【0085】
更に、図12では、入力端子75の入力信号を夫々異なった入力変換則を持った入力変換処理部72、73、74を介して得た夫々の2値出力信号と、それらを基に付加入力生成処理部53、54、55を介して生成された夫々の付加入力生成信号とを合わせて2値3層ニューラルネットワーク61、62、63に入力している。これらの動作は、基本的に図8の動作とほぼ同様であることから説明は省略する。
ここで、これらの付加入力生成機能を有した並列複合2値3層ニューラルネットワーク80、81、82の実行処理フローを図9、11、13に夫々示す。
図9では、入力信号入力処理451と付加入力生成処理452とにより、入力信号及び付加入力生成信号が夫々並列入力変換処理460に入力設定される。並列番号順に従って、これらの入力信号及び付加入力生成信号からなる同一の新たな入力信号に対して、夫々異なった入力変換則によって変換2値入力信号に変換され、対応した並列2値3層ニューラルネットワーク処理453に入力設定され、対応した2値出力信号が得られる。出力複合処理456に於いて、これらの2値出力信号から最も正解に近いと思われる一つの2値出力信号を選択送出する。
【0086】
ここで、他の同一番号を持った各処理は、夫々前記の処理と同様であることから省略する。
尚、並列2値3層ニューラルネットワーク処理453の夫々の2値3層ニューラルネットワークは、図8と同様に、分類カテゴリ割り当て配置を表す共通の基本2値コードの2値教師信号を用いる。また、学習入力データと、それを基に付加入力生成処理452を介して生成した付加入力生成データとを合わせて、並列入力変換処理460に夫々入力し変換した、夫々異なる学習用入力データを用いて、学習を行っている。
【0087】
次に、図10に対応した処理フローを図11に示す。
図9に於いて、入力信号入力処理451と付加入力生成処理452とを介して、入力信号とそれを基に生成した付加入力生成信号とからなる同一の新たな入力信号を並列入力変換処理460に夫々入力設定したが、図11では、入力信号入力処理451と並列付加入力生成処理461とを夫々介して、入力信号とそれを基に夫々並列番号(並列接続)毎に異なる付加入力生成方法により生成した付加入力生成信号とからなる、相異なる新たな入力信号を並列入力変換処理460に夫々入力設定する。ここでの入力変換処理では、同一の入力変換則でも、或いは夫々異なる入力変換則を用いても良い。その他の処理番号の処理は、上記と同じ処理番号の処理と同様であり、説明は省略する。
【0088】
尚、並列2値3層ニューラルネットワーク処理453の各2値3層ニューラルネットワークの学習では、入力信号入力処理451と並列付加入力生成処理461とを夫々介して、学習入力データとそれを基に夫々並列接続毎に異なる付加入力生成方法により生成した付加入力生成データとからなる、相異なる新たな入力データを並列入力変換処理460に夫々入力し、得られた出力データを学習用入力データとして、学習し、得られた重み係数を設定する。
また、図12に対応した処理フローを図13に示す。入力信号入力処理451により入力設定された入力信号に対して、並列入力変換処理460を介して並列番号順に対応した夫々の変換入力信号を得、並列2値3層ニューラルネットワーク処理453及び並列付加入力生成処理461に夫々入力設定する。ここでの並列付加入力生成処理461では、並列入力変換処理460での各並列接続される入力変換処理の入力変換則が夫々異なる場合には、同一或いは夫々異なる生成則の何れでもよい。一方、入力変換則が同一の場合には、夫々異なる生成則を用いる。
【0089】
尚、並列2値3層ニューラルネットワーク処理453の各2値3層ニューラルネットワークの学習では、学習入力データに対して、並列入力変換処理460を介して夫々得た変換学習入力データと、それを基に並列付加入力生成処理461を夫々介して夫々並列接続毎に異なる付加入力生成方法により生成した付加入力生成データとを合わせて、学習用入力データとして、学習し、得られた重み係数を設定する。
【0090】
上記の第1の実施形態に於ける付加入力生成処理機能を有する2値3層ニューラルネットワークでは、お互いに非常に距離が小さく、然も密な学習入力データに対しても、付加入力生成データと合わせてハミング距離を拡大し、然も粗な学習用入力データとすることから、高速且つ全正解出力の学習収束が得られ、夫々対応したカテゴリに正しく分類される。更に、これらの学習済み2値3層ニューラルネットワークを組込んで実行処理を行う第2の実施形態の出力逆変換処理を伴う付加入力生成処理機能を有する並列複合2値3層ニューラルネットワーク60、70では、単一の2値3層ニューラルネットワークより汎化能力が格段に優れていることからも、非常に実用的に高い能力を有しており幅広い応用が可能である。
【0091】
更に、後述する第3の実施形態の相互連想記憶装置に於ける、前進2値3層ニューラルネットワーク23や後進2値3層ニューラルネットワーク26の代わりに用いることにより、アトラクタ吸引力は格段に改善され、学習入力データから大きく距離が離れた前進連想入力信号に対しても学習アトラクタにアトラクタ収束させることができ、アトラクタ発散状態は殆ど発生せず、然も正しい学習アトラクタを送出する非常に特性の優れた相互連想記憶装置も実現できる。
【0092】
一方、第2の実施形態に於ける、入力変換処理を伴う付加入力生成機能を有する並列複合2値3層ニューラルネットワーク80、81、82では、入力変換処理部68,69、71、72、73、74により、入力信号間のお互いのハミング距離が一段と拡大されることから、学習も更に高速に収束し、汎化能力を必要としない非常に複雑な1対1のマッピングも簡単に実現でき、処理遅延が一定の種々の高度な真理値表を持った論理システムが自由に設計できる。
【0093】
次に、本発明の第3の実施形態として、学習済みの付加入力生成処理機能を有する2値3層ニューラルネットワークを用いた相互連想記憶装置の1実施例を図14に示す。尚、本発明は、3層ニューラルネットワークに限るものではなく、4層以上の多層ニューラルネットワークなどの教師信号を用いて学習するニューラルネットワークであればよい。
【0094】
付加入力生成処理機能を有する2値3層ニューラルネットワークを用いた相互連想記憶装置は、前進連想入力信号X(0)と後進2値3層ニューラルネットワーク26からの2値出力信号との何れかを切替選択し送出する入力切替えスイッチ21と、入力切替スイッチ21からの2値入力信号に対して2値出力信号を送出する前進2値3層ニューラルネットワーク23と、該2値出力信号に対して後進付加入力生成信号を生成し送出する後進付加入力生成処理部51と、該2値出力信号と該後進付加入力生成信号とを合わせた2値入力信号に対応した2値出力信号を送出する後進2値3層ニューラルネットワーク26と、記憶された該2値出力信号を用いてアトラクタ収束状態を識別し、アトラクタ収束識別信号を送出し、更に、連想ループ処理要求信号或いは連想ループ完了信号を送出するアトラクタ収束状態識別処理部29と、入力切替スイッチ21の切替設定制御を行うとともに、アトラクタ収束状態識別処理部29の初期設定を行い、更に連想ループ処理の開始及び終了を制御する連想ループ制御処理部28とから構成される。
【0095】
以下に、これらの連想ループ処理の動作を説明する。尚、連想ループ処理に先だって、学習アトラクタである学習入力データと、その分類カテゴリに割り当てられた2値コードとしての2値教師信号とを用いて前進2値3層ニューラルネットワーク23を全正解出力となるよう予め学習収束させ、その学習済み重み係数を設定する。更に、前進2値3層ニューラルネットワーク23の2値教師信号と、該2値教師信号を後進付加入力生成処理部51に入力し生成された後進付加入力生成データとを合わせて学習用後進入力データとし、更に前記学習入力データを2値教師信号として、後進2値3層ニューラルネットワーク26を全正解出力となるよう予め学習収束させ、その学習済み重み係数を設定する。
【0096】
後進付加入力生成処理部51は、本発明の第1の実施形態での付加入力生成処理部50と同様な処理により、お互いのハミング距離が小さく、密な入力信号に対しても、互いのハミング距離が大きい後進付加入力生成信号を夫々生成する。従って、これらを合わせた学習用後進入力データはお互いにハミング距離を拡大し、より粗なデータ集合とすることができる。
特に、分類カテゴリに対応した2値教師信号のビット数が多い大規模な前進2値3層ニューラルネットワークを持った、或いは記憶容量が非常に大きい相互連想メモリに於いて、前進2値3層ニューラルネットワーク23の該2値教師信号は、互いのハミング距離が非常に小さく然も密な昇順2値コードから構成されており、これを従来のように後進2値3層ニューラルネットワーク26の学習用後進入力データとし、直接学習させて際、各カテゴリに正しく分類させる為の学習が非常に困難となり、収束しない場合や、収束の為には、数千回以上の非常に多くの学習回数を必要として実用的でない。
【0097】
本発明のように、該2値教師信号とそれを基に生成した後進付加入力生成データとを合わせ、お互いのハミング距離を離し、然も粗の2値コードからなる学習用後進入力データとして学習させると非常に高速に学習収束させることができる。このような学習用後進入力データに対して学習させた重み係数が後進2値3層ニューラルネットワーク26に設定される。
【0098】
ここで、入力端子20を介して入力された前進連想入力信号X(0)に対する動作を説明する。連想ループ制御処理部28に於いて、連想ループ回数q=0を初期設定し、連想ループ制御信号を送出し、入力切替スイッチ21の設定及びアトラクタ収束状態識別処理部29の初期設定を行う。入力端子20に前進連想入力信号X(0)が入力されると、連想ループ制御処理部28により、入力切替スイッチ21は、入力端子20と入力端子22とを接続する。更に前進連想入力信号X(0)がアトラクタ収束状態識別処理部29に入力記憶されるよう設定制御され、連想ループ処理が開始される。
【0099】
入力端子20の雑音を多く含む画像データや一部の情報からなる画像データ、或いは、メモリ高速検索データとしての前進連想入力信号X(0)が入力切替スイッチ21を介して、学習済み前進2値3層ニューラルネットワーク23に入力されるとともに、アトラクタ収束状態識別処理部29へ入力され記憶される。
連想ループ回数q=0の場合に、前進連想入力信号X(0)に対応して、前進2値3層ニューラルネットワーク23から2値出力信号Y(0)、更に後進2値3層ニューラルネットワーク26から2値出力信号X(1)が得られる。
【0100】
連想ループ回数q(但し、q≧1)の場合には、連想ループ制御処理部28からの制御信号の基に、入力切替スイッチ21を介して入力端子22に後進2値3層ニューラルネットワーク26の2値出力信号X(q)が入力され、更に前進2値3層ニューラルネットワーク23から2値出力信号Y(q)が出力端子24に送出される。更に入力端子25を介して入力されると、後進付加入力生成処理部51から生成された後進付加入力生成信号と合わせて、後進2値3層ニューラルネットワーク26へ入力する。この入力に対応した2値出力信号X(q+1)が出力端子27に得られる。
【0101】
アトラクタ収束状態識別の為に、X(q)及びX(q+1)がアトラクタ収束状態識別処理部14に夫々入力記憶され、X(q)とX(q+1)との一致比較を行う。一致(X(q)=X(q+1))しておれば、アトラクタ収束状態と識別し、アトラクタ収束識別信号として、アトラクタ収束状態信号を出力端子30から送出すると共に、連想ループ制御処理部28へアトラクタ収束信号を送出する。また、この時、出力端子27から学習アトラクタである2値出力信号X(q+1)がアトラクタ出力信号として送出される。更に、出力端子40からその時の分類カテゴリ出力信号として前進2値3層ニューラルネットワーク23の2値出力信号Y(q)が送出される。
【0102】
一方、不一致(X(q)≠X(q+1))でアトラクタ未収束状態ならば、出力端子30にアトラクタ未収束状態信号を、また連想ループ制御処理28へ連想ループ処理要求信号を夫々送出する。
前進2値3層ニューラルネットワーク23を密な2値コードを持った多くのビット数からなる2値教師信号を用いて学習させ、然も後進2値3層ニューラルネットワーク26も完全に全正解2値出力となるよう迅速に学習収束させた重み係数を設定して動作させるころにより、スプリアス・アトラクタと呼ばれる偽のアトラクタに引き込まれることを無くすことができ、非常に安定した大規模な相互連想メモリを実現することができる。
【0103】
また、前進2値3層ニューラルネットワーク23に於いて、従来方式で用いられている粗コード出力型である、何れか1つの出力層のユニットのみ1となり、他は全て0であるOne out of M(a winner takes all)の出力形式を用いた場合にも、後進付加入力生成処理部51を付加することにより、後進2値3層ニューラルネットワーク26の学習収束速度を一段と速めることができる。しかしながら、この場合には、前進及び後進2値3層ニューラルネットワーク23、26とも規模が非常に大きくなるとともに、スプリアス・アトラクタが多く発生する。
【0104】
次に、本発明の第3の実施形態に於ける図14に示す相互連想記憶処理に関して、前進連想入力信号X(0)の連想ループ処理フローを図15に示す。尚、ここでは、前進2値3層ニューラルネットワーク処理140及び後進2値3層ニューラルネットワーク処理160の夫々の2値3層ニューラルネットワークは、図14と同様に既に夫々学習が完了していることを前提として処理フローを説明する。
【0105】
前進連想初期設定処理100は、連想ループ回数判定処理190に於ける連想ループ処理最大許容回数Q、及びアトラクタ収束状態識別処理170への前進連想入力信号の為のアトラクア収束状態識別条件設定など、初期パラメータ設定を行う。
連想ループ処理初期設定処理110は、連想ループ回数qの初期設定として、q=0の設定を行う。
前進連想入力信号入力設定処理120は、アトラクタ収束状態識別処理170の初期設定として、前進連想入力信号X(0)の格納記憶を行う。また、前進連想入力信号X(0)を学習済み前進2値3層ニューラルネットワーク処理140へ入力設定を行う。
【0106】
前進2値3層ニューラルネットワーク処理140は、連想ループ回数q=0で、入力された前進連想入力信号X(0)、或いは、連想ループ回数qの場合には、後進2値3層ニューラルネットワーク出力信号入力設定処理210を介して入力設定された2値出力信号X(q)を処理し、2値出力信号Y(0)、或いはY(q)を夫々得、後進付加入力生成処理150と後進2値3層ニューラルネットワーク処理160に入力設定する。
後進付加入力生成処理150は、前進2値3層ニューラルネットワーク処理140の2値出力信号Y(q)を基に後進付加入力生成信号を生成し、後進2値3層ニューラルネットワーク処理160に入力設定する。
【0107】
後進2値3層ニューラルネットワーク処理160では、前進2値3層ニューラルネットワーク処理140の2値出力信号と後進付加入力生成処理150で生成された後進付加入力生成信号とを合わせて、学習済み後進2値3層ニューラルネットワークの入力層に各々入力し、その2値出力信号X(q+1)を夫々得る。
アトラクタ収束状態識別処理170では、後進2値3層ニューラルネットワーク処理160からの2値出力信号X(q)とX(q+1)間で夫々比較し、一致するとアトラクタ収束状態と識別する。不一致の場合は、アトラクア未収束状態とする。
【0108】
アトラクタ収束状態判定処理180では、アトラクタ未収束状態であれば、連想ループ回数判定処理190に進む。アトラクタ収束状態であれば、前進連想入力信号X(0)に対する連想ループ処理を終了させ、最終前進連想入力信号判定処理220へ進む。
連想ループ回数判定処理190では、アトラクタ未収束状態であることから、連想ループ回数qが連想ループ最大許容回数Q未満であれば、引き続き連想ループ処理を実行する為に、連想ループ回数q←q+1設定処理200へ進む。
【0109】
一方、連想ループ回数判定処理190に於いて、アトラクタ収束状態判定処理180にてアトラクタ収束状態が得られず、連想ループ回数q≧Qならば、指定された最大連想ループ回数Qの連想ループ処理を介して、アトラクタに収束せず、前進連想入力信号X(0)がアトラクタ発散状態で不想起となったとし、連想ループ処理を終了して、最終前進連想入力信号判定処理220へ進む。
連想ループ回数q←q+1設定処理200では、連想ループ回数qを1増加させる。
【0110】
後進2値3層ニューラルネットワーク出力信号入力設定処理210では、X(q+1)を前進2値3層ニューラルネットワークの入力として設定する。その後、前回の連想ループ回数qの場合と同様に、前進2値3層ニューラルネットワーク処理140、後進付加入力生成処理150、後進2値3層ニューラルネットワーク処理160、アトラクタ収束状態識別処理170及びアトラクタ収束状態判定処理180を順次実施する。
最終前進連想入力信号判定処理220では、連想ループ処理を行った前進連想入力信号X(0)が最終前進連想入力信号X(0)であるかの判定を行う。最終前進連想入力信号X(0)であれば、一連の連想ループ処理を完了する。でなければ、連想ループ処理初期設定処理110を行い、新たな前進連想入力信号X(0)に対して連想ループ処理を引き続き行う。
【0111】
上記の第3の実施形態は、入力端子20の前進連想入力信号X(0)を入力切替スイッチ21を介して入力する前進2値3層ニューラルネットワーク23と、後進付加入力生成処理51を有する後進2値3層ニューラルネットワーク26とを用いて連想ループ処理を行う相互連想メモリに関するものであるが、学習入力データが互いのハミング距離が小さく、密で非常に複雑な場合には、前進2値3層ニューラルネットワーク23に於いても、学習が困難となる場合がある。
【0112】
従って、ここでは、第4の実施形態として、この解決策としての付加入力生成処理機能を有する前進及び後進2値3層ニューラルネットワーク23、26を用いた相互連想記憶装置の場合について明らかにする。また、前進連想入力信号X(0)以外に後進連想入力信号Y(0)に対する相互連想記憶装置としての対応ができる構成を図16に示す。即ち、入力端子20からの前進連想入力信号X(0)を入力切替スイッチ21を介して、或いは入力端子41からの後進連想入力信号Y(0)を入力切替スイッチ42を介して入力し、夫々連想ループ処理を行う連想連想記憶装置の1実施例である。
【0113】
ここでは、第3の実施形態での構成に対して、新たに後進連想入力信号Y(0)の入力に対する入力切替スイッチ42と、前進連想入力信号X(0)或いは後進連想入力信号Y(0)のアトラクタ収束状態識別処理部45への初期設定の為の入力切替スイッチ43と、前進2値3層ニューラルネットワーク23の為の前進付加入力生成処理部52とが付け加えられている。その他は、同様な構成となっている。
【0114】
ここで、これらの動作について簡単に説明する。尚、連想ループ処理に先だって、学習アトラクタとしての学習入力データと、これを基に前進付加入力生成処理部52を介して生成された前進付加入力生成データとを合わせた学習用前進入力データと、分類カテゴリに割り当てられた2値教師信号とを用いて、前進2値3層ニューラルネットワーク23を予め学習させる。
【0115】
更に、前進2値3層ニューラルネットワーク23の2値教師信号と、これを基に後進付加入力生成処理部51を介して生成された後進付加入力生成データとを合わせた学習用後進入力データと、前記学習入力データからなる2値教師信号とを用いて、後進2値3層ニューラルネットワーク26を予め学習させる。
前進付加入力生成処理部52は、本発明の第1及び第3の実施形態での後進付加入力生成処理部50、51と同様の処理により、互いのハミング距離が小さく、密な入力信号に対しても、ハミング距離が大きい付加入力生成信号を生成し、学習用前進入力データの互いのハミング距離を拡大し、粗な2値データとする。
【0116】
このように、前進及び後進2値3層ニューラルネットワーク23、26を夫々付加入力生成処理部52,51を介して得た付加入力生成データをも学習に用いることから、何れの学習収束速度も非常に速くなる。従って、どのようなハミング距離構造を持った前進及び後進連想入力信号X(0)、Y(0)に対しても高性能な連想ループ処理を行うことができる。
【0117】
前進連想入力信号X(0)に対する連想ループ処理では、前進2値3層ニューラルネットワーク23の2値出力信号が出力端子24を介して入力端子25に常に入力されるよう、入力切替スイッチ42を設定する。また、入力切替スイッチ43は、アトラクタ収束状態識別処理部45の初期条件として、入力端子20の前進連想入力信号X(0)を格納するよう設定する。
【0118】
更に、入力切替スイッチ21は、連想ループ回数q=0において、入力端子20からの前進連想入力信号X(0)を入力端子22に入力し、前進付加入力生成処理部52にて生成された前進付加入力生成信号と合わせて、前進2値3層ニューラルネットワーク23に入力するよう設定する。その後の連想ループ回数q>0では、出力端子27と入力端子22とを接続し、後進2値3層ニューラルネットワーク26の2値出力信号が入力されるよう設定する。これらの入力切替スイッチ21、42、43は、連想ループ制御処理部44の制御の基に設定される。
アトラクタ収束状態識別処理部45は、第3の実施形態と同様に、連想ループ制御処理部44の制御のもとに、後進2値3層ニューラルネットワーク26の2値出力信号関係、X(q)とX(q+1)との一致比較を行い、アトラクタ収束状態識別を行うよう設定される。
【0119】
上記のように、入力端子22の入力信号に対して、前進付加入力生成処理52に於いて前進付加入力生成信号を生成し、入力端子22からの該入力信号と合わせて前進2値3層ニューラルネットワーク23の入力層に入力すること以外は第3の実施形態と基本的同じ動作であり、説明は省略する。
一方、後進連想入力信号Y(0)に対する連想ループ処理では、前進2値3層ニューラルネットワーク23の2値出力信号と同一の形式を持った分類カテゴリを示す2値コードからなる後進連想入力信号Y(0)が入力端子41から入力される。曖昧な分類カテゴリを示す後進連想入力信号Y(0)に対して、連想ループ処理を介して分類カテゴリ出力信号としての2値出力信号Y(q)を出力端子40から、またその学習アトラクタであるアトラクタ出力信号X(q+1)を出力端子27から夫々取り出すことができる。また、分類カテゴリを示す2値教師信号に対応した後進連想入力信号Y(0)が入力されると、学習アトラクタであるアトラクタ出力信号X(1)を出力端子27から読み出すことができる。
【0120】
後進連想入力信号Y(0)の連想ループ処理を行うには、後進連想入力信号Y(0)を入力端子41に入力し、後進2値3層ニューラルネットワーク26の2値出力信号が常に入力端子22を介して前進付加入力生成処理部52と前進2値3層ニューラルネットワーク23に夫々入力されるよう、入力切替スイッチ21を設定する。また、入力切替スイッチ43は、アトラクタ収束状態識別処理部45の初期条件として、入力端子41の後進連想入力信号Y(0)を格納するよう設定される。
【0121】
更に、入力切替スイッチ42は、連想ループ回数q=0において、入力端子41からの後進連想入力信号Y(0)を、入力端子25を介して後進付加入力生成処理部51と後進2値3層ニューラルネットワーク26とに入力するよう設定される。その後の連想ループ回数q>0では、出力端子24と入力端子25とを接続し、前進2値3層ニューラルネットワーク23の2値出力信号が常に入力されるよう設定する。
アトラクタ収束状態識別処理部45に於いては、後進2値3層ニューラルネットワーク26の出力関係として、Y(q)とY(q+1)の一致・不一致状態からアトラクタ収束状態識別をする。他の動作は、前進連想入力信号X(0)の連想ループ処理の場合と同様であり、説明は省略する。
【0122】
次に、第4の実施形態に於ける前進連想入力信号X(0)の連想ループ処理を図17に示す。ここでは、第3の実施形態に関する、図15の前進連想入力信号X(0)の連想ループ処理フローと異なり、前進2値3層ニューラルネットワーク処理140の前に前進付加入力生成処理130が新たに挿入されている。従って、前進連想入力信号入力設定処理230に於いて、前進連想入力信号X(0)を前進付加入力生成処理130、前進2値3層ニューラルネットワーク処理140及びアトラクタ収束状態識別処理170に夫々入力設定する。
【0123】
また、後進2値3層ニューラルネットワーク出力信号入力設定処理240に於いて、後進2値3層ニューラルネットワークの2値出力信号を前進付加入力生成処理130及び前進2値3層ニューラルネットワーク処理140に入力設定する。更に、前進付加入力生成処理130にて、入力された前進連想入力信号或いは後進2値3層ニューラルネットワークの2値出力信号から生成された前進付加入力生成信号を前進2値3層ニューラルネットワーク処理140へ入力設定する。これらの処理以外は図15の前進連想入力信号に対する後進付加入力生成処理機能を有する相互連想ループ処理フローと同様であることから説明は省略する。
次に、第4の実施形態に於ける後進連想入力信号Y(0)の連想ループ処理フローを図18に示す。尚、ここで、図15及び18に於いて、同一の処理番号は、同様の処理であり、説明は省略する。
【0124】
後進連想初期設定処理300では、連想ループ回数判定処理190に於ける連想ループ処理最大許容回数Q、及びアトラクタ収束状態識別処理320への後進連想入力信号Y(0)の為のアトラクア収束状態識別条件設定など、初期パラメータ設定を行う。
後進連想入力信号入力設定処理310にて、後進連想入力信号Y(0)を後進付加入力生成処理150、後進2値3層ニューラルネットワーク処理160及びアトラクタ収束状態識別処理320へ夫々入力設定する。
【0125】
その後、後進付加入力生成処理150にて、後進連想入力信号Y(0)、或いは前進2値3層ニューラルネットワークからの2値出力信号を基に生成した後進付加入力生成信号を後進2値3層ニューラルネットワーク処理160に入力設定する。後進2値3層ニューラルネットワーク処理160で後進2値3層ニューラルネットワークの2値出力信号を得、前進付加入力生成処理130及び前進2値3層ニューラルネットワーク処理140に夫々入力設定する。更に、前進付加入力生成処理130では、後進2値3層ニューラルネットワークの2値出力信号を基に生成した前進付加入力生成信号を前進2値3層ニューラルネットワーク処理140に入力設定する。
【0126】
前進2値3層ニューラルネットワーク処理140では、後進2値3層ニューラルネットワーク処理160からの2値出力信号と前進付加入力生成処理130からの前進付加入力生成信号とを合わせて入力層に入力し、2値出力信号を得る。アトラクタ収束状態識別処理320では、前進2値3層ニューラルネットワーク140の2値出力信号Y(q)及びY(q+1)の一致比較によりアトラクタ収束状態の識別を行う。
アトラクタ収束状態判定処理180では、識別結果に従ってアトラクタ収束状態の判定を実施する。アトラクタ未収束状態の場合に、連想ループ回数判定処理190に進む。また、アトラクタ収束状態の場合には、最終後進連想入力信号判定処理340に進む。
【0127】
連想ループ回数判定処理190にて、連想ループ回数の判定を行い、連想ループ回数q≧Qであると、連想ループ処理を終了し、アトラクタ発散状態とし最終後進連想入力信号判定処理340へ進む。
一方、連想ループ回数Q>q≧1であると、連想ループ回数q←q+1設定処理200を介して、前進2値3層ニューラルネットワーク出力信号入力設定処理330に於いて、前進2値3層ニューラルネットワークの2値出力信号を後進付加入力生成処理150及び後進2値3層ニューラルネットワーク処理160に入力設定する。
【0128】
最終後進連想入力信号判定処理340では、連想ループ処理を行った後進連想入力信号Y(0)が最終後進連想入力信号であるかの判定を行う。最終後進連想入力信号であれば、一連の連想ループ処理を完了する。でなければ、連想ループ処理初期設定処理110を行い、新たな後進連想入力信号Y(0)に対して連想ループ処理を引き続き行う。
【0129】
上記の第3及び第4の実施形態に於ける付加入力生成処理機能を有する2値3層ニューラルネットワークから構成された相互連想記憶装置では、記憶量に対応した前進2値3層ニューラルネットワーク23の学習入力データである学習アトラクタの数が非常に多い場合、即ち相互連想記憶の所要記憶量が非常に大きい場合にも、2値3層ニューラルネットワークの中間層ユニット数を増やすことで、学習を迅速且つ確実に正しく収束させることができ、記憶容量を従来方式の自己連想メモリより飛躍的に増加させられ、大規模な相互連想記憶を実現することが可能である。
【0130】
また、従来の自己連想記憶装置では、記憶容量の制限から記憶できる学習アトラクタとして、代表的なものに限られ、然も互いに余り相関のない学習アトラクタであることの制限があったが、本実施形態の相互連想記憶装置では、この代表的な学習アトラクタ以外に、それらに似た大きな相関を持った複雑な入力データも学習アトラクタとして多く記憶でき、然も非常に複雑な前進連想入力信号や後進連想入力信号に対しても学習アトラクタに確実に収束させることができる。
【0131】
本発明の夫々の実施形態では、3層ニューラルネットワークを用いた場合について説明したが、3層以上の多層ニューラルネットワークでも良い。更に、多層ニューラルネットワークに限ることなく、教師信号を利用して学習させたニューラルネットワークでもよい。
また、本発明の付加入力生成機能を有する相互連想記憶装置では、前進2値3層ニューラルネットワーク23の2値教師信号として、密な分散型2値出力形式を用い、連続した通し番号の分類カテゴリ番号から変換された2値教師信号が割当られていることから、連想ループ処理に於ける汎化学習アトラクタへの収束能力が従来方式よりも非常に高く、スプリアス・アトラクタも非常に発生しにくい。
【0132】
更に、図4及び図6に示す汎化特性に非常に優れた並列複合2値3層ニューラルネットワークを前進2値3層ニューラルネットワーク23の代わりに用いることにより、一段と優れた相互連想メモリを実現することもできる。
また、特願2004−236466に示すように、図14及び図16のアトラクタ収束状態識別処理部29を高機能なアトラクタ識別/学習非学習入力データ識別処理部で置換え、前進2値3層ニューラルネットワークからの2値出力信号Y(q)の学習内外カテゴリの識別を基に、前進連想入力信号X(0)が、学習入力データそのものであるか、或いは非学習入力データであるかを、連想ループ回数q=1の連想ループ処理で識別してもよい。
【0133】
更に、連想ループ回数q=1での学習アトラクタの識別や、連想ループ処理を繰り返す事により収束した汎化学習アトラクタ、或いは有意な情報を持っていないOne-Shotスプリアス・アトラクタ、或いは汎化スプリアス・アトラクタなどを識別するアトラクタ識別を行ってもよい。これにより、アトラクタ出力信号や分類カテゴリ出力信号を利用する応用処理システムでの誤動作を防ぐことや、誤動作警報を応用処理システムに送出することもできる。
【0134】
以上述べたように、従来では、お互いの距離が近い、大規模な分類カテゴリを持った学習入力データを多層ニューラルネットワークに迅速且つ確実に学習させることができない。また、従来の自己連想メモリでは、そのデータ記憶容量即ち分類カテゴリ数が非常に少なく、実用的な連想メモリを実現することができない。
【0135】
更に、従来の相互連想メモリ装置では、前進2値3層ニューラルネットワークの密な2値コードからなる2値教師信号を学習用入力データとして、各カテゴリに分類するために後進2値3層ニューラルネットワークを学習させる必要があるが、2値教師信号間の互いのハミング距離も小さいことから、これらの学習用入力データに対する全正解2値出力信号となる収束状態が迅速に得られないか或いは収束しない場合が多い。
収束が達成されない場合には、後進2値3層ニューラルネットワークから正しい学習アトラクタが得られず、大規模相互連想記憶装置を実現できない。
また、収束状態を達成する為の学習回数が数千回と非常に多い場合、新たな分類カテゴリを登録し、記憶容量を増やすことが迅速に実現できず、実用的でない。
更に、前進2値3層ニューラルネットワークに於いても、学習入力データ間の互いのハミング距離が小さい場合には、同様に収束状態を達成する為の学習回数が非常に多く実用的でない。
【0136】
これに対して、本発明の付加入力生成処理機能を有する2値多層ニューラルネットワークや並列複合2値多層ニューラルネットワークは、上記の説明の如く、互いのハミング距離が非常に小さく、密で大規模な学習入力データに対しても中間層ユニット数を然程大きくする必要もなく、各カテゴリに正しく分類するための学習を迅速且つ確実に収束させることができ、然も汎化能力も優れた学習特性を実現できる。従って、リアルタイムで分類カテゴリの追加による記憶容量増加のための学習を行う大規模分類カテゴリを持った各種パターン認識や処理遅延が一定の大規模真理値を持ったLSIなどへの種々の実用的な応用に合わせた自由な設計が可能である。
【0137】
更に、これらの付加入力生成機能を持った2値多層ニューラルネットワークを用いた相互連想メモリ装置では、前進及び後進2値多層ニューラルネットワークに於いて、中間層ユニット数を必要以上に大きくすることもなく、また、前進2値3層ニューラルネットワークに於いて密な2値コードからなる2値教師信号を用いることができることから、アトラクタ吸引力が優れ、スプリアス・アトラクタの発生を防ぎ、非常に多量の学習アトラクタを正しく記憶できる大規模記憶容量を持った相互連想記憶が実現される。
【0138】
上記の幅広い効果から、本発明の付加入力生成処理機能を有する2値多層ニューラルネットワークや並列複合2値多層ニューラルネットワーク、更に、これらを用いた大容量記憶能力を持った相互連想記憶装置は、セキュリティ管理システムや不正アクセス検出などのセキュリティシステムへの応用、バイオメトリクスに於ける各種高機能なパターン認識や多くの雑音などにより劣化した大容量の画像データなどの認識への応用、高速データ検索などへの応用、更にはネットワーク障害状態の異常状態検出などネットワーク障害検出システムへの応用などが可能である。また、処理遅延が一定の大規模真理値表に基いた2値論理を搭載するLSIなどにも幅広く適用できる特徴を有している。
【図面の簡単な説明】
【0139】
【図1】本発明の第1の実施形態に於ける、付加入力生成処理機能を有する2値3層ニューラルネットワークの学習装置の1構成例である。
【図2】本発明の第1の実施形態における、付加入力生成処理機能を有する2値3層ニューラルネットワークの学習装置の学習処理フロー例である。
【図3】本発明の第1の実施形態に於ける、付加入力生成処理機能を有する2値3層ニューラルネットワークの実行処理フロー例である。
【図4】本発明の第2の実施形態に於ける、付加入力生成処理機能を有する並列複合ニューラルネットワークの1構成例である。
【図5】本発明の第2の実施形態に於ける、付加入力生成処理機能を有する並列複合ニューラルネットワークの第1の構成例の処理フロー例である。
【図6】本発明の第2の実施形態に於ける、付加入力生成処理機能を有する並列複合ニューラルネットワークの第2の構成例である。
【図7】本発明の第2の実施形態に於ける、付加入力生成処理機能を有する並列複合ニューラルネットワークの第2の構成例の処理フロー例である。
【図8】本発明の第2の実施形態に於ける、付加入力生成処理機能を有する並列複合ニューラルネットワークの第3の構成例である。
【図9】本発明の第2の実施形態に於ける、付加入力生成処理機能を有する並列複合ニューラルネットワークの第3の構成例の処理フロー例である。
【図10】本発明の第2の実施形態に於ける、付加入力生成処理機能を有する並列複合ニューラルネットワークの第4の構成例である。
【図11】本発明の第2の実施形態に於ける、付加入力生成処理機能を有する並列複合ニューラルネットワークの第4の構成例の処理フロー例である。
【図12】本発明の第2の実施形態に於ける、付加入力生成処理機能を有する並列複合ニューラルネットワークの第5の構成例である。
【図13】本発明の第2に実施形態に於ける、付加入力生成処理機能を有する並列複合ニューラルネットワークの第5の構成例の処理フロー例である。
【図14】本発明の第3の実施形態に於ける、後進付加入力生成処理機能を有する2値3層ニューラルネットワークを用いた前進連想入力信号用相互連想記憶装置の1構成例である。
【図15】本発明の第3の実施形態に於ける、後進付加入力生成処理機能を有する相互連想記憶装置の連想ループ処理フロー図である。
【図16】本発明の第4の実施形態に於ける、付加入力生成処理機能を有する前進及び後進2値3層ニューラルネットワークを用いた相互連想記憶装置の1構成例である。
【図17】本発明の第4の実施形態に於ける、前進連想入力信号に対する前進及び後進付加入力生成処理機能を有する相互連想記憶装置の連想ループ処理フロー図である。
【図18】本発明の第4の実施形態に於ける、後進連想入力信号に対する前進及び後進付加入力生成処理機能を有する相互連想記憶装置の連想ループ処理フロー図である。
【図19】従来方式に於ける2値3層ニューラルネットワークの学習装置の1構成例である。
【図20】従来方式に於ける2値3層ニューラルネットワークを用いた相互連想メモリ装置の1構成例である。
【符号の説明】
【0140】
1 3層ニューラルネットワーク
2 入力信号入力端子
1 入力ユニット端子
2 入力ユニット端子
N 入力ユニット端子
3 2値出力端子
1 2値出力ユニット端子
2 2値出力ユニット端子
M 2値出力ユニット端子
4 入力層
入力層ユニット
入力層ユニット
入力層ユニット
N+R-1 入力層ユニット
N+R 入力層ユニット
5 中間層
1 中間層ユニット
2 中間層ユニット
P 中間層ユニット
6 出力層
1 出力層ユニット
2 出力層ユニット
M 出力層ユニット
7 重み係数更新制御処理部
8 2値教師信号入力端子
1 2値教師信号入力ユニット端子
2 2値教師信号入力ユニット端子
M 2値教師信号入力ユニット端子
9 減算処理部
1 減算処理部
2 減算処理部
M 減算処理部
10 スレショルド処理部
1011 スレショルド処理部
1012 スレショルド処理部
101M スレショルド処理部
1021 スレショルド処理部
1022 スレショルド処理部
102M スレショルド処理部
11 重み係数情報入出力端子
12 正解不正解出力判定処理部
13 学習収束判定処理部
20 前進連想入力信号の入力端子
21 入力切替スイッチ
22 前進2値3層ニューラルネットワークの入力端子
23 前進2値3層ニューラルネットワーク
24 前進2値3層ニューラルネットワークの出力端子
25 後進ニューラルネットワークの入力端子
26 後進2値3層ニューラルネットワーク
27 アトラクタ出力信号の出力端子
28 連想ループ制御処理部
29 アトラクタ収束状態識別処理部
30 アトラクタ収束識別信号の出力端子
40 分類カテゴリ出力信号の出力端子
41 後進連想入力信号の入力端子
42 入力切替スイッチ
43 入力切替スイッチ
44 連想ループ制御処理部
45 アトラクタ収束状態識別処理部
50 付加入力生成処理部
51 後進付加入力生成処理部
52 前進付加入力生成処理部
53 付加入力生成処理部
54 付加入力生成処理部
55 付加入力生成処理部
60 付加入力生成処理機能を有する並列複合ニューラルネットワーク
61 2値3層ニューラルネットワーク
62 2値3層ニューラルネットワーク
63 2値3層ニューラルネットワーク
64 出力逆変換処理部
65 出力逆変換処理部
66 出力逆変換処理部
67 出力複合処理部
68 入力変換処理部
69 入力変換処理部
70 付加入力生成処理機能を有する並列複合ニューラルネットワーク
71 入力変換処理部
72 入力変換処理部
73 入力変換処理部
74 入力変換処理部
75 入力端子
76 出力端子
80 付加入力生成処理機能を有する並列複合ニューラルネットワーク
81 付加入力生成処理機能を有する並列複合ニューラルネットワーク
82 付加入力生成処理機能を有する並列複合ニューラルネットワーク
100 前進連想初期設定処理
110 連想ループ処理初期設定処理
120 前進連想入力信号入力設定処理
130 前進付加入力生成処理
140 前進2値3層ニューラルネットワーク処理
150 後進付加入力生成処理
160 後進2値3層ニューラルネットワーク処理
170 アトラクタ収束状態識別処理
180 アトラクタ収束状態判定処理
190 連想ループ回数判定処理
200 連想ループ回数q←q+1設定処理
210 後進2値3層ニューラルネットワーク出力信号入力設定処理
220 最終前進連想入力信号判定処理
230 前進連想入力信号入力設定処理
240 後進2値3層ニューラルネットワーク出力信号入力設定処理
300 後進連想初期設定処理
310 後進連想入力信号入力設定処理
320 アトラクタ収束状態識別処理
330 前進2値3層ニューラルネットワーク出力信号入力設定処理
340 最終後進連想入力信号判定処理
400 学習初期設定処理
401 学習入力データ入力処理
402 付加入力生成処理
403 3層ニューラルネットワーク処理
404 誤差信号算出処理
405 更新重み係数算出処理
406 全学習入力データ処理終了判定処理
407 ニューラルネットワーク更新重み係数設定処理
408 全学習入力データ2値3層ニューラルネットワーク実行処理
409 全出力正解不正解判定処理
410 学習収束判定処理
411 学習回数判定処理
412 学習回数i←i+1処理
413 学習データ番号j←j+1処理
420 初期設定処理
421 入力信号入力処理
422 付加入力生成処理
423 2値3層ニューラルネットワーク処理
450 初期設定処理
451 入力信号入力処理
452 付加入力生成処理
453 並列2値3層ニュ−ラルネットワーク処理
454 並列出力逆変換処理
455 全並列処理終了判定処理
456 出力複合処理
457 並列付加入力生成処理
458 並列番号k←k+1処理
460 並列入力変換処理
461 並列付加入力生成処理

【特許請求の範囲】
【請求項1】
2値学習入力データを基に付加入力生成データを生成する付加入力生成処理手段(50)と、該2値学習入力データと該2値付加入力生成データとを合わせて新たな学習用2値入力データとして入力し、教師信号を用いて多層ニューラルネットワーク手段(1)を学習させることを特徴とした多層ニューラルネットワーク学習装置。
【請求項2】
2値入力信号を基に付加入力生成信号を生成する付加入力生成処理手段(50)と、該2値入力信号と該2値付加入力生成信号とを合わせて新たな2値入力信号として入力する、教師信号を用いて学習させた多層ニューラルネットワーク手段(1)を少なくとも用いて構成することを特徴とした多層ニューラルネットワーク装置。
【請求項3】
2値入力信号を基に夫々の付加入力生成信号を生成する並列接続された付加入力生成処理手段(53、54、55)と、該2値入力信号と夫々の該2値付加入力生成信号とを合わせて夫々の新たな2値入力信号として入力する、基本となる2値教師信号から変換された互いに異なる夫々の2値教師信号を用いて学習させ並列接続された多層ニューラルネットワーク手段(61,62,63)と、学習に用いた該2値教師信号を元の該基本となる2値教師信号に逆変換する夫々の変換則を有し、対応した該多層ニューラルネットワーク手段(61,62,63)の2値出力信号を出力逆変換する並列接続された出力逆変換処理手段(64,65,66)と、夫々の該出力逆変換処理手段(64、65、66)からの並列接続数の2値出力信号から一つの2値出力信号を選択送出する出力複合処理手段(67)とから、少なくとも構成することを特徴とした並列複合多層ニューラルネットワーク装置。
【請求項4】
2値入力信号を基に夫々の付加入力生成信号を生成する付加入力生成処理手段(53,54,55)と、該2値入力信号と夫々の該2値付加入力生成信号とを合わせて夫々の新たな2値入力信号として入力する並列接続された入力変換処理手段(68,69,71)と、夫々の該入力変換処理手段からの2値出力信号を入力とする並列接続された多層ニューラルネットワーク手段(61,62,63)と、夫々の該多層ニューラルネットワーク手段からの並列接続数の2値出力信号から一つの2値出力信号を選択送出する出力複合処理手段(67)とから、少なくとも構成することを特徴とした並列複合多層ニューラルネットワーク装置。
【請求項5】
並列接続された入力変換処理手段(72,73,74)と、夫々の該入力変換処理手段からの2値入力信号を基に付加入力生成信号を生成する2値付加入力生成処理手段(53,54,55)と、夫々の該2値入力信号と生成された該2値付加入力生成信号とを合わせて夫々の新たな2値入力信号として入力する並列接続された多層ニューラルネットワーク手段(61,62,63)と、夫々の該多層ニューラルネットワーク手段からの並列接続数の2値出力信号から一つの2値出力信号を選択送出する出力複合処理手段(67)とから、少なくとも構成することを特徴とした並列複合多層ニューラルネットワーク装置。
【請求項6】
請求項3、4及び5の前記付加入力生成処理手段(53,54,55)に於いて、付加入力信号を生成する生成則が全て同一の付加入力生成処理手段を用いることを特徴とした並列複合多層ニューラルネットワーク装置。
【請求項7】
前進2値多層ニューラルネットワーク手段23と、後進2値多層ニューラルネットワーク手段(26)と、前進連想入力信号を該前進2値多層ニューラルネットワーク手段(23)に一旦入力した後、該後進2値多層ニューラルネットワーク手段(26)の2値出力信号を入力する入力切替スイッチ(21)と、アトラクタ収束状態を識別するアトラクタ収束状態識別処理手段(29)とを少なくも有し連想ループ処理を行う相互連想記憶装置に於いて、
該前進2値多層ニューラルネットワーク手段(23)の2値出力信号を基に後進付加入力生成信号を生成する後進付加入力生成処理手段(51)と、該2値出力信号と該後進付加入力生成信号とを合わせて入力する、該前進2値多層ニューラルネットワーク手段(23)の2値教師信号を基に該後進付加入力生成処理手段(51)を介して生成した後進付加入力生成データとを合わせて学習用入力データとして学習させた該後進2値多層ニューラルネットワーク手段(26)とから少なくとも構成することを特徴とした相互連想記憶装置。
【請求項8】
前進2値多層ニューラルネットワーク手段(23)と、後進2値多層ニューラルネットワーク手段(26)と、前進連想入力信号を、或いは該後進2値多層ニューラルネットワーク手段(26)の2値出力信号を該前進2値多層ニューラルネットワーク手段(23)に入力する入力切替スイッチ(21)と、後進連想入力信号を、或いは該前進2値多層ニューラルネットワーク手段(23)の2値出力信号を該後進2値多層ニューラルネットワーク手段(26)に入力する入力切替スイッチ(42)と、アトラクタ収束状態を識別するアトラクタ収束状態識別処理手段(45)とを少なくも有し、前進連想入力信号に対する連想ループ処理を行う場合には、該前進2値多層ニューラルネットワーク手段(23)を該後進2値多層ニューラルネットワーク手段(26)に常に接続するよう前記入力切替スイッチ(42)を制御し、後進連想入力信号に対する連想ループ処理を行う場合には、該後進2値多層ニューラルネットワーク手段(26)を該前進2値多層ニューラルネットワーク手段(23)に常に接続するよう前記入力切替スイッチ(21)を制御して、夫々連想ループ処理を行う相互連想記憶装置に於いて、
該後進2値多層ニューラルネットワーク手段(26)の2値出力信号を基に前進付加入力生成信号を生成する前進付加入力生成処理手段(52)と、該2値出力信号と該前進付加入力生成信号とを合わせて入力する、学習入力データを基に該後進付加入力生成処理手段(52)を介して生成した前進付加入力生成データとを合わせて学習用入力データとして学習させた該前進2値多層ニューラルネットワーク手段(23)と、
該前進2値多層ニューラルネットワーク手段(23)の2値出力信号を基に後進付加入力生成信号を生成する後進付加入力生成処理手段(51)と、該2値出力信号と該後進付加入力生成信号とを合わせて入力する、該前進2値多層ニューラルネットワーク手段(23)に於ける2値教師信号を基に該後進付加入力生成処理手段(51)を介して生成した後進付加入力生成データとを合わせて学習用入力データとして学習させた該後進2値多層ニューラルネットワーク手段(26)とから少なくとも構成することを特徴とした相互連想記憶装置。
【請求項9】
2値学習入力データを基に付加入力生成データを生成する付加入力生成処理と、該2値学習入力データと該2値付加入力生成データとを合わせて新たな学習用2値入力データとして入力し、教師信号を用いて多層ニューラルネットワーク学習処理を行うことを特徴とした多層ニューラルネットワーク学習ソフトウェア。
【請求項10】
2値入力信号を基に付加入力生成信号を生成する付加入力生成処理と、該2値入力信号と該2値付加入力生成信号とを合わせて新たな2値入力信号として入力する多層ニューラルネットワーク処理を少なくとも用いて構成することを特徴とした多層ニューラルネットワーク処理ソフトウェア。
【請求項11】
2値入力信号を基に夫々の付加入力生成信号を生成する並列接続された付加入力生成処理と、該2値入力信号と夫々の該2値付加入力生成信号とを合わせて夫々の新たな2値入力信号として入力する、基本となる2値教師信号から変換された互いに異なる夫々の2値教師信号を用いて学習させ並列接続に対応する多層ニューラルネットワーク処理と、学習に用いた該2値教師信号を元の該基本となる2値教師信号に逆変換する夫々の変換則を有し、対応した該多層ニューラルネットワーク処理からの2値出力信号を出力逆変換する並列接続に対応した出力逆変換処理と、夫々の該出力逆変換処理からの並列接続に対応する数の2値出力信号から一つの2値出力信号を選択送出する出力複合処理とから、少なくとも構成することを特徴とした並列複合多層ニューラルネット処理ワークソフトウェア。
【請求項12】
2値入力信号と、該2値入力信号を基に夫々の付加入力生成処理を介して生成した2値付加入力生成信号とを合わせて夫々の新たな2値入力信号として入力する並列接続に対応する入力変換処理と、夫々の該入力変換処理からの2値出力信号を入力とする並列接続に対応する多層ニューラルネットワーク処理と、夫々の該多層ニューラルネットワーク処理からの並列接続に対応した数の2値出力信号から一つの2値出力信号を選択送出する出力複合処理とから、少なくとも構成することを特徴とした並列複合多層ニューラルネットワーク処理ソフトウェア。
【請求項13】
並列接続に対応した入力変換処理と、夫々の該入力変換処理からの2値入力信号を基に付加入力生成信号を生成する夫々の2値付加入力生成処理と、夫々の該2値入力信号と生成された該2値付加入力生成信号とを合わせて夫々の新たな2値入力信号として入力する並列接続に対応する多層ニューラルネットワーク処理と、夫々の該多層ニューラルネットワーク処理からの並列接続に対応する数の2値出力信号から一つの2値出力信号を選択送出する出力複合処理とから、少なくとも構成することを特徴とした並列複合多層ニューラルネットワーク処理ソフトウェア。
【請求項14】
請求項11、12及び13の前記付加入力生成処理に於いて、付加入力信号を生成する生成則が全て同一の付加入力生成処理を用いることを特徴とした並列複合多層ニューラルネットワーク処理ソフトウェア。
【請求項15】
前進2値多層ニューラルネットワーク処理と、後進2値多層ニューラルネットワーク処理と、後進連想入力信号を該前進2値多層ニューラルネットワーク処理に一旦入力した後、該後進2値多層ニューラルネットワーク処理の2値出力信号を入力する入力設定処理と、アトラクタ収束状態を識別するアトラクタ収束状態識別処理とを少なくとも有し連想ループ処理を行う相互連想記憶処理に於いて、
該前進2値多層ニューラルネットワーク処理の2値出力信号を基に後進付加入力生成信号を生成する後進付加入力生成処理と、該2値出力信号と該後進付加入力生成信号とを合わせて入力する、該前進2値多層ニューラルネットワーク処理に於ける2値教師信号を基に該後進付加入力生成処理を介して生成した後進付加入力生成データとを合わせて学習用入力データとして学習させた該後進2値多層ニューラルネットワーク処理とから少なくとも構成することを特徴とした相互連想記憶処理ソフトウェア。
【請求項16】
前進2値多層ニューラルネットワーク処理と、後進2値多層ニューラルネットワーク処理と、前進連想入力信号を、或いは該後進2値多層ニューラルネットワーク処理の2値出力信号を該前進2値多層ニューラルネットワーク処理に入力する入力設定処理と、後進連想入力信号を、或いは該前進2値多層ニューラルネットワーク処理の2値出力信号を該後進2値多層ニューラルネットワーク処理に入力する入力設定処理と、アトラクタ収束状態を識別するアトラクタ収束状態識別処理とを少なくも有し、前進連想入力信号に対する連想ループ処理を行う場合には、該前進2値多層ニューラルネットワーク処理の2値出力信号を該後進2値多層ニューラルネットワーク処理に常に入力する前記入力設定処理を行い、後進連想入力信号に対して連想ループ処理を行う場合には、該後進2値多層ニューラルネットワーク処理の2値出力信号を該前進2値多層ニューラルネットワーク処理に常に入力するよう前記入力設定処理をして、夫々連想ループ処理を行う相互連想記憶処理に於いて、
該後進2値多層ニューラルネットワーク処理の2値出力信号を基に前進付加入力生成信号を生成する前進付加入力生成処理と、該2値出力信号と該前進付加入力生成信号とを合わせて入力する、学習入力データを基に該後進付加入力生成処理を介して生成した前進付加入力生成データとを合わせて学習用入力データとして学習させた該前進2値多層ニューラルネットワーク処理と、該前進2値多層ニューラルネットワーク処理の2値出力信号を基に後進付加入力生成信号を生成する後進付加入力生成処理と、該2値出力信号と該後進付加入力生成信号とを合わせて入力する、該前進2値多層ニューラルネットワーク処理の学習に於ける2値教師信号を基に該後進付加入力生成処理を介して生成した後進付加入力生成データとを合わせて学習用入力データとして学習させた該後進2値多層ニューラルネットワーク処理とから少なくとも構成することを特徴とした相互連想記憶処理ソフトウェア。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2006−127350(P2006−127350A)
【公開日】平成18年5月18日(2006.5.18)
【国際特許分類】
【出願番号】特願2004−317659(P2004−317659)
【出願日】平成16年11月1日(2004.11.1)
【出願人】(000208891)KDDI株式会社 (2,700)