(57)【要約】【課題】局所解に陥ることなく高速且つ安定に収束させ、所望の出力層出力信号を得ることができる多層ニューラルネットワーク学習方法を提供する。【解決手段】零点を有する出力層応答関数導関数を用いたエラーバックプロパゲーション重み係数更新により教師信号を学習する多層ニューラルネットワークの重み係数更新において、学習用入力信号に対応した教師ユニット信号と比較し不正解と判定される出力層出力ユニットに対しては、該出力層応答関数導関数を介して得られた０以上の出力層応答関数微分値に正の下限値を少なくとも設けて用い、正解と判定された出力層出力ユニットでは、該出力層応答関数導関数を介して得られた出力層応答関数微分値をそのまま用い、重み係数更新を行うことを特徴とした多層ニューラルネットワーク学習方法。【選択図】      図１
2004334671.tif 000002
【特許請求の範囲】
【請求項１】
零点を有する出力層応答関数導関数を用いたエラーバックプロパゲーション重み係数更新により教師信号を学習する多層ニューラルネットワークの重み係数更新において、
学習用入力信号に対応した出力層出力ユニット信号の正解不正解を少なくとも判定する正解不正解出力判定手段を設け、
正解と判定された出力層出力ユニットでは、該出力層応答関数導関数を介して得られた出力層応答関数微分値をそのまま用い、不正解と判定された出力層出力ユニットでは、該出力層応答関数導関数を介して得られた０以上の出力層応答関数微分値に対して正の下限値を少なくとも設定し、前記０以上の出力層応答関数微分値が前記下限値より小さいときは、前記出力層応答関数微分値を前記下限値に修正し、重み係数更新を行うことを特徴とした多層ニューラルネットワーク学習方法。
【請求項２】
請求項１に記載の多層ニューラルネットワーク学習方法に於いて、
不正解の出力層出力信号を送出する学習用入力信号の個数が指定された個数以下となると、前記下限値を小さくし、重み係数更新を行うことを特徴とした多層ニューラルネットワーク学習方法。
【請求項３】
請求項１に記載の多層ニューラルネットワーク学習方法に於いて、
学習回数の増加に従って前記下限値を小さくし、重み係数更新を行うことを特徴とした多層ニューラルネットワーク学習方法。
【請求項４】
請求項１、２または３に記載の多層ニューラルネットワーク学習方法に於いて、
前記教師信号として多値教師信号を用い、前記出力層出力ユニット信号を多値識別スレショルドを用いて多値化する多値スレショルド手段により多値出力層出力ユニット信号を得、前記正解不正解出力判定手段として、該多値出力層出力ユニット信号と該多値教師ユニット信号との一致、不一致状態を検出し夫々正解、不正解出力判定を少なくとも行うことを特徴とした多層ニューラルネットワーク学習方法。
【請求項５】
請求項１、２または３に記載の多層ニューラルネットワーク学習方法に於いて、
前記教師信号として離散的な実数値からなる教師ユニット信号を用い、前記正解不正解出力判定手段として、各該教師ユニット信号を中心とした近傍領域を該教師ユニット信号に対する正解判定領域、それ以外を不正解判定領域とし、不正解判定領域内に前記出力層出力ユニット信号があると該出力層出力ユニット信号及び前記出力層出力信号を夫々不正解判定、正解判定領域にあれば夫々正解判定を少なくとも行うことを特徴とした多層ニューラルネットワーク学習方法。
【請求項６】
請求項１から請求項５の一つに記載の前記出力層応答関数微分値に於いて、
前記不正解と判定された出力層出力ユニットでは、前記出力層応答関数導関数を介して得られた負の出力層応答関数微分値に対して、負の上限値を設定し、前記負の出力層応答関数微分値が前記上限値より大きいときは、前記出力層応答関数微分値を前記上限値に修正し、前記正解と判定された出力層出力ユニットでは、該出力層応答関数微分値をそのまま用い、重み係数更新を行うことを特徴とした多層ニューラルネットワーク学習方法。
【請求項７】
零点を有する出力層応答関数導関数を用いたエラーバックプロパゲーション重み係数更新により教師信号を学習する多層ニューラルネットワークの重み係数更新のためのコンピュータプログラムにおいて、
学習用入力信号に対応した出力層出力ユニット信号の正解不正解を少なくとも判定する正解不正解出力判定処理を設け、不正解と判定された出力層出力ユニットでは、該出力層応答関数導関数を介して得られた０以上の出力層応答関数微分値に対して正の下限値を少なくとも設定し、前記０以上の出力層応答関数微分値が前記下限値より小さいときは、前記出力層応答関数微分値を前記下限値に修正し、正解と判定された出力層出力ユニットでは、該出力層応答関数導関数を介して得られた出力層応答関数微分値をそのまま用い、重み係数更新を行うことを特徴とした多層ニューラルネットワークの重み係数更新のためのコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ニューラルネットワークによるネットワーク障害検出、ネットワークセキュリティ、パターン認識やデータ圧縮などを行う処理分野に於いて、大量の教師付き学習用入力信号を用いて学習を行う多層ニューラルネットワークのエラーバックプロパゲーション学習方法に関するものである。
【０００２】
【従来の技術】
ニューラルネットワークの１つとして、多層（階層）ニューラルネットワークがあるが、このニューラルネットワークの教師信号を用いた学習方法として、エラーバックプロパゲーション・アルゴリズムによる最急降下勾配法が幅広く使用されている。本アルゴリズムを用いた学習過程では、重み係数を初期設定した後、予め用意された教師信号Ｔの教師ユニット信号（教師信号エレメントでもある、Ｔ１、Ｔ２、．．．、ＴＭ）から、入力層に入力された学習用入力信号に対する出力層からの出力ユニット信号を差し引き誤差信号を求め、各層の出力ユニット信号と誤差信号とを基に誤差信号の電力を最小にするように、誤差電力最小法により、各層間の重み係数の更新を行い学習を行うものである。この重み係数適応制御からなる学習を予め準備された全ての学習用入力信号に対して実行し、学習収束条件を満足するまで繰り返す。
【０００３】
この学習過程に於いて、重み係数更新の結果、誤差電力が最小（グローバルミニマム）となると完全に収束し、然も全ての学習用入力信号に対する、出力層出力ユニット信号を２値化した２値出力層出力ユニット信号が２値教師ユニット信号と一致し、全ての正解出力信号が得られる。しかしながら、誤差電力が局部極小（ローカルミニマム）の局所解に一旦陥ると、それが非常に安定な場合はそれ以降の重み係数更新が進まず最小とならないこと、また、全ての２値出力層出力信号が２値教師信号とは一致せず、誤った不正解出力信号を送出する状態が発生する。一般に誤差電力が最小の状態には中々ならず、学習収束条件を満足する学習回数が著しく増加することや、収束特性に重み係数の初期値依存性があるなどの問題がある。特に大量の学習用入力信号を用いた場合に大きな問題となる。
【０００４】
ここで、従来のエラーバックプロパゲーション学習の動作について、２値教師信号を例にとり図３を用いて詳細に説明する。ここでは、エレメントが０或いは１からなる２値教師信号Ｔ（Ｔ１、Ｔ２、．．．ＴＭ）に対して学習速度を改善するために非特許文献１では、図３に示す従来方式の学習を用いた多層ニューラルネットワークにおいて、それぞれのエレメントに対して、０．１或いは０．  ９の教師信号エレメント（Ｔ１、Ｔ２、．．．ＴＭ）を設定し、動作モード制御部１０からの制御信号により夫々初期設定を行った後、学習処理を開始する。また、従来のエラーバックプロパゲーション・アルゴリズムについては、非特許文献２など多くの解説書に詳細が記載されている。
【０００５】
３層ニューラルネットワーク１の出力層出力信号は、各出力層ユニットに対応した出力層出力ユニット信号からなる。端子３からの教師ユニット信号（Ｔ１、Ｔ２、．．．ＴＭ）から、端子２からの学習用入力信号に対する出力層出力ユニット信号を減算部４（４１、４２、．．．４Ｍ）を介して差し引き、各出力層ユニットの出力層出力ユニット誤差信号からなる誤差信号を求め、これを重み係数制御部５に入力し、エラーバックプロパゲーション・アルゴリズムにより重み係数更新を行い、３層ニューラルネットワーク１に再度設定する処理を学習用入力信号に対して繰り返し実行する。
【０００６】
また、２値識別スレショルドを用いて２値化する２値スレショルド回路６（６１、６２、．．．６Ｍ）を介して出力層出力ユニット信号から２値出力層出力ユニット信号を得、また、２値識別スレショルドを用いて２値化する２値スレショルド回路７（７１、７２、．．．７Ｍ）を介して教師信号Ｔから２値教師信号を得、一致検出部８にてこれらが完全に一致する状態を検出すると正解出力信号とみなし、学習収束判定処理部９に送出する。また、２値出力層出力ユニット信号から構成された２値出力層出力信号が得られる。
【０００７】
学習収束判定処理部９では、全ての学習用入力信号に対する出力信号の誤差電力を求め、これが予め準備された誤差電力スレショルド以下で、更に全て２値教師信号と一致し正解出力信号となれば、３層ニューラルネットワーク１が収束したと判断して動作モード制御部１０を介して学習が終了する。ここで、大規模ニューラルネットワークを大量の学習用入力信号で学習する際に、誤差電力が与えられた誤差電力スレショルド以下であっても、一致検出部８に於いて２値出力層出力信号と２値教師信号との完全な一致が得られない、数個の不正解の出力層出力信号が存続し、全て正解の出力層出力信号とはならない場合、非常に安定したローカルミニマム（局所解）に落ち込む場合がある。
【０００８】
このような状況下では、殆どの学習用入力信号に対する正解の出力層出力信号は、教師信号に非常に近いより正解の値をとり、数少ない学習用入力信号に対する不正解の出力層出力信号は、教師信号から大きく離れたより不正解の値をとり、収束せず学習が進まない。従って、全正解の出力層出力信号が得られず、汎化特性も劣化する。
【０００９】
ここで、重み係数制御部５における従来のエラーバックプロパゲーション・アルゴリズムによる重み係数更新に関して、安定したローカルミニマムの発生について以下に説明する。教師信号エレメント（Ｔ１、Ｔ２、．．．ＴＭ）を０．１或いは０．９に設定することにより、０或いは１からなる２値教師信号の場合に比較して収束しやすくなり学習回数も削減されることが述べられている。
【００１０】
式（１）の各ユニットに於ける出力ユニット信号を得る際に、一般に用いられる応答関数ｆ（ｘ）の一例としての式（２）の示す０から１の範囲の値を持つシグモイド関数を仮定すると、
Ｏｋｊ（ｔ）＝ｆ（Ｎｉｎｋｊ（ｔ）），
Ｏｓｍ（ｔ）＝ｆ（Ｎｉｎｓｍ（ｔ））                        （１）
Ｏｋｊ（ｔ）：ｔ番目学習用入力信号に対するｋ層ｊ番目ユニットの出力ユニット信号
Ｏｓｍ（ｔ）：ｔ番目学習用入力信号に対するｓ（出力）層ｍ番目ユニットの出力層出力ユニット信号
ｔ：学習用入力信号番号
ｓ：出力層
ｊ：ｋ層ｊ番目ユニット番号
ｍ：出力層ｍ番目ユニット番号
Ｎｉｎｋｊ（ｔ）：ｔ番目学習用入力信号に対応したｋ層ｊ番目ユニットへの入力の総和（ユニットへの入力信号を意味する）。
【００１１】
ｆ（ｘ）＝１／｛１＋Ｅｘｐ（−ｘ）｝                        （２）
で与えられる。
【００１２】
安定したローカルミニマムでは、ｋ層出力ユニット信号Ｏｋｊ（ｔ）が０あるいは１に近づくと、重み係数更新量を得る際に用いられる式（３）に示す応答関数導関数ｆ’（ｘ）が零点を持ち、即ち応答関数微分値が零或いは零に非常に近い正の小さい値となることにより、重み係数の更新量も小さくなり、更新速度が極端に小さくなることの理由による。
【００１３】
ｆ’（ｘ）：応答関数導関数
2004334671.tif 000003
ここで、
【数１】
2004334671.tif 000004
Ｗｋｊ，ｉ：ｋ層ｊ番目ユニットとｋ−１層ｉ番目ユニット間の重み係数
Ｎｉｎｋｊ（ｔ）：ｔ番目学習用入力信号に対応したｋ層ｊ番目ユニットへの入力の総和（入力信号）
で与えられる。
【００１４】
誤差電力の最急降下勾配法では、式（３）に記載されているように、応答関数としてのシグモイド関数の微分値を出力層応答関数微分値処理部２０及び中間層応答関数微分値処理部２１に於いて、それぞれ出力層及び中間層に対して求める。
【００１５】
ｔ番目学習用入力信号に対する出力層ｍ番目ユニットの出力層出力ユニット誤差信号は、式（５）で与えられ、出力層出力信号の誤差電力、Ｅｐｏｗｅｒは式（６）で与えられる。
【００１６】
出力層出力ユニット誤差信号＝Ｔｍ−Ｏｓｍ（ｔ）        （５）
Ｔｍ：ｔ番目学習用入力信号に対する出力層ｍ番目ユニットの教師信号
【数２】
2004334671.tif 000005
ここで、ｋ−１層ｉ番目ユニット−ｋ層ｊ番目ユニット間の重み係数の重み係数更新の際の、重み微調修正量を式（７）で与えられる。
【００１７】
重み微調修正量＝δｋｊ（ｔ）・Ｏｋ−１ｉ（ｔ）                （７）
ここで、ｓ−１層ｊ番目ユニット−ｓ（出力）層ｍ番目ユニット間の重み係数の重み微調修正量に於けるδｓｍ（ｔ）は、式（８）となる。
【００１８】
2004334671.tif 000006
出力層では、教師信号エレメントを０．１及び０．  ９に設定し、Ｏｓｍ（ｔ）が０または１とならないようにしてδｓｍ（ｔ）を求め、学習速度を改善している。しかしながら、このような教師信号エレメントの値の設定に於いても同様に安定したローカルミニマムに落ち込む場合がある。また、０．１及び０．９を用いることから、これらの値に収束した場合にも、０或いは１のエレメントを持つ教師信号の場合に比較して汎化特性がかなり劣化する。
ｋ層ｊ番目ユニット−ｋ＋１層ｎ番目ユニット間の重み係数の重み微調修正量に於けるδｋｊ（ｔ）は、式（９）となる。
【００１９】
【数３】
2004334671.tif 000007
但し、ｋ≠ｓ
ここで、
ΔＷｓｍ，ｊをｓ−１層ｊ番目ユニット−ｓ（出力）層ｍ番目ユニット間の重み係数の重み係数更新量、
ΔＷｋｊ，ｉを（ｋ−１）層ｉ番目ユニット−ｋ層ｊ番目ユニット間重み係数の重み係数更新量とすると、式（１０）で与えられる。また、更新された重み係数は式（１１）で与えられる。
【００２０】
ΔＷｋｊ，ｉ（ｔ）＝αδｋｊ（ｔ）Ｏｋ−１ｉ（ｔ）＋ηΔＷｋｊ，ｉ（ｔ−１）    （１０）
η：慣性係数
α：学習係数
Ｗｋｊ，ｉ（ｔ）＝Ｗｋｊ，ｉ（ｔ−１）＋ΔＷｋｊ，ｉ（ｔ）          （１１）
上記の式（３）で求められた出力層及び中間層の夫々の応答関数微分値は、重み微調修正量処理部２２に入力され、式（７）のように重み微調修正量が得られる。これを重み係数更新量処理部２３に入力し、式（１０）のように、ｔ−１番目の学習用入力信号の重み係数更新量が重み係数更新量記憶部２４から読み出され、加算され新たな重み係数更新量を得る。その後、重み係数更新処理部２５へ送出すると共に、式（１０）の新たな重み係数更新量は、重み係数更新量記憶部２４に格納する。
【００２１】
重み係数更新処理部２５では、式（１１）のように、ｔ−１番目の学習用入力信号の重み係数を重み係数記憶処理部２６から読み出し、重み係数更新量を加算することにより、新たな重み係数を得、重み係数記憶処理部２６に格納する。全ての学習用入力信号に対して求められると、この新たな重み係数を重み係数記憶処理部２６から読み出し３層ニューラルネットワーク１の重み係数として、夫々の層間のユニットの結合の為に設定される。
【００２２】
上記の如く、全ての学習用入力信号に対して一連の重み係数更新処理が終了すると、動作モード制御部１０からの制御信号を基に、全ての学習用入力信号を３層ニューラルネットワーク１に入力し、式（１）に示すように、出力層に対応した応答関数出力信号を出力層出力信号として得る。更に、式（５）に示すように、減算部４を介して誤差信号を得、式（６）に示す誤差電力を求め、学習収束判定処理部９にて出力信号の収束状態を調べる。学習収束条件として、一致検出部８から全て正解出力信号が得られ、然も誤差電力スレショルド以下であれば、収束したと判定し学習を終了する。一方、これらの学習収束条件が満たされない場合には、満たされるまで、再度、全ての学習用入力信号に対して重み係数更新を繰り返し行う。
【００２３】
ここで、式（７）に示すように、正解出力信号の誤差成分が小さくなると共に、応答関数微分値も小さく、重み微調修正量が非常に小さくなる。
【００２４】
また、式（３）で明らかなように、出力層応答関数微分値は、誤差が非常に大きい不正解出力層出力信号に対しても非常に小さくなる可能性があり、結果的に不正解出力層出力信号に対しても重み微調修正量が小さくなり、重み係数の更新が進まない場合がある。
【００２５】
特に、収束が進み、殆どの学習用入力信号に対して正解出力層出力信号となり、不正解出力層出力信号の学習用入力信号数が数個と非常に少なくなると、誤差電力はより小さくなる。しかしながら、急激に正解出力層出力信号は益々教師信号に非常に近い、最小の誤差成分を持った正解の出力層出力信号に、一方、不正解出力層出力信号は、より大きな誤差信号を持ち、急激に最大の誤差成分を持った不正解出力層出力信号となり、安定したローカルミニマムに陥る。この為に、これ以降の重み係数更新は進まず、誤差電力も殆ど変化せず、不正解出力層出力信号を出したままとなる。
【００２６】
これらの従来の学習方法では、上記説明の如く、ローカルミニマムの状態に落ち込みやすく、また、なかなか抜け出せないことから、全て正解出力となり完全な収束状態が簡単には到達できないなどの欠点がある。特に、入力ユニット数の多い３層あるいは多層ニューラルネットワークにおいて、教師信号に対して確実に収束させる設計手法は明らかになっておらず、初期値依存性の為に重み係数の初期値を変更したり、中間層ユニット（隠れユニット）数を増やすなどの種々の試行錯誤を行っている。また、安定なローカルミニマムへの捕獲状態を簡単に避ける手段はこれまでない。
【００２７】
【発明が解決しようとする課題】
上記の説明のごとく、教師信号を用いた多層ニューラルネットワークの従来の学習処理において、多層ニューラルネットワークが学習用入力信号に対応した所望の出力信号を送出するよう重み係数を更新する際に、正解で所望の出力信号を送出する収束した状態になるまでの学習回数即ち学習繰り返し回数が非常に多くなる場合や、学習しても収束しない状態即ち非常に安定したローカルミニマムの状態に落ち込み所望の出力信号が送出されないなど重み係数の初期値依存性があるなどの欠点を有している。
【００２８】
特に、入力層や出力層出力ユニット数が多く、而も分布型の表現形式を持った出力信号を用いた多層ニューラルネットワークでは、学習用入力信号数が多い場合、学習の際に収束が非常に困難となり、所望の出力信号を送出する多層ニューラルネットワークを自由に設計する方法が確立されていない。また、収束しやすくするために中間ユニット数を大幅に増やす方法もあるが、収束が補償される訳ではない。過学習により汎化能力が劣化すると共に当然のことながらそれぞれの演算量が増し、非常に大きいハードウェア能力あるいは演算能力が要求される。
【００２９】
本発明の目的は、上記の問題を解決し、多層ニューラルネットワークに於ける従来のエラーバックプロパゲーション学習方法などに比べて、安定したローカルミニマム（局所解）に陥ることなく、非常に少ない学習回数で非常に安定に収束し、１０倍から１００倍の高速度で学習を完了させることが出来、然も汎化能力に優れ、学習用入力信号に対して所望の出力信号を容易に得ることができる多層ニューラルネットワークの新たなエラーバックプロパゲーション学習方法を提供することにある。
【００３０】
【非特許文献１】
“Ｐａｒａｌｌｅｌ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｐｒｏｃｅｓｓｉｎｇ”  Ｄ．Ｅ．  Ｒｕｍｅｌｈａｒｔ，  ＭＩＴ  Ｐｒｅｓｓ．１９８８年
【非特許文献２】
ニューラルネットワーク情報処理、著者  麻生英樹、産業図書出版、１９８８年
【００３１】
【課題を解決するための手段】
上記の問題点を解決するために、第１の手段として、零点を有する出力層応答関数導関数を用いたエラーバックプロパゲーション重み係数更新により教師信号を学習する多層ニューラルネットワークの重み係数更新において、学習用入力信号に対応した出力層出力ユニット信号の正解不正解を少なくとも判定する正解不正解出力判定手段を設け、不正解と判定された出力層出力ユニットでは、該出力層応答関数導関数を介して得られた０以上の出力層応答関数微分値に対して正の下限値を少なくとも設定し、前記０以上の出力層応答関数微分値が前記下限値より小さいときは、前記出力層応答関数微分値を前記下限値に修正し、正解と判定された出力層出力ユニットでは、該出力層応答関数導関数を介して得られた出力層応答関数微分値をそのまま用い、重み係数更新を行うことを特徴とした多層ニューラルネットワーク学習を構成する。
【００３２】
第２の手段として、第１の手段の多層ニューラルネットワーク学習方法に於いて、不正解の出力層出力信号を送出する学習用入力信号の個数が指定された個数以下となると、前記下限値を小さくし、重み係数更新を行うことを特徴とした多層ニューラルネットワーク学習方法を構成する。
【００３３】
第３の手段として、第１の手段の多層ニューラルネットワーク学習方法に於いて、学習回数の増加に従って、前記下限値を小さくし、重み係数更新を行うことを特徴とした多層ニューラルネットワーク学習方法を構成する。
【００３４】
第４の手段として、前記第１、２または第３の手段に記載の多層ニューラルネットワーク学習方法に於いて、前記教師信号として多値教師信号を用い、前記出力層出力ユニット信号を多値識別スレショルドを用いて多値化する多値スレショルド手段により多値出力層出力ユニット信号を得、前記正解不正解出力判定手段として、該多値出力層出力ユニット信号と該多値教師ユニット信号との一致、不一致状態を検出し夫々正解、不正解出力判定を少なくとも行うことを特徴とした多層ニューラルネットワーク学習方法を構成する。
【００３５】
第５の手段として、第１、２または第３の手段に記載の多層ニューラルネットワーク学習方法に於いて、前記教師信号として離散的な実数値からなる教師ユニット信号を用い、前記正解不正解出力判定手段として、各該教師ユニット信号を中心とした近傍領域を該教師ユニット信号に対する正解判定領域、それ以外を不正解判定領域とし、不正解判定領域内に前記出力層出力ユニット信号があると該出力層出力ユニット信号及び前記出力層出力信号を夫々不正解判定、正解判定領域にあれば夫々正解判定を少なくとも行うことを特徴とした多層ニューラルネットワーク学習方法を構成する。
【００３６】
第６の手段として、第１から５の手段の一つに記載の前記出力層応答関数微分値に於いて、前記不正解と判定された出力層出力ユニットでは、前記出力層応答関数導関数を介して得られた負の出力層応答関数微分値に対して、負の上限値を設定し、前記負の出力層応答関数微分値が前記上限値より大きいときは、前記出力層応答関数微分値を前記上限値に修正し、前記正解と判定された出力層出力ユニットでは、該出力層応答関数微分値をそのまま用い、重み係数更新を行うことを特徴とした多層ニューラルネットワーク学習方法を構成する。
【００３７】
第７の手段として、零点を有する出力層応答関数導関数を用いたエラーバックプロパゲーション重み係数更新により教師信号を学習する多層ニューラルネットワークの重み係数更新において、学習用入力信号に対応した出力層出力ユニット信号の正解不正解を少なくとも判定する正解不正解出力判定処理を設け、不正解と判定された出力層出力ユニットでは、該出力層応答関数導関数を介して得られた０以上の出力層応答関数微分値に対して正の下限値を少なくとも設定し、前記０以上の出力層応答関数微分値が前記下限値より小さいときは、前記出力層応答関数微分値を前記下限値に修正し、正解と判定された出力層出力ユニットでは、該出力層応答関数導関数を介して得られた出力層応答関数微分値をそのまま用い、該重み係数更新を行うことを特徴とした多層ニューラルネットワークの重み係数更新のためのコンピュータプログラムを構成する。
【００３８】
本発明の多層ニューラルネットワークの出力層応答関数微分値制限付きエラーバックプロパゲーション学習方法においては、不正解の出力ユニット信号の場合に、０以上の出力層応答関数微分値の正の下限値（下限微分値）を設けることにより、不正解の出力層出力信号に対して常に一定以上の正の出力層応答関数微分値を得ることができ、重み微調修正量を大きくでき、重み係数の更新を迅速且つ確実に進ませることができる。
【００３９】
上記説明のごとく本発明の出力層応答関数微分値制限付きエラーバックプロパゲーション学習方法は、非常に安定したローカルミニマム捕獲状態に陥ることもなく、然も従来方式に比べて重み係数の初期値依存性もなく、非常に高速に且つ確実に収束させ、所望の全て正解の多値出力層出力信号を容易に得ることができる。また、その汎化特性も従来方法より一段と優れた特性を実現できる。これらのことから、多量の学習用入力信号を有した大規模な多層ニューラルネットワークを自由に設計できる。また、実時間で学習をやり直す必要のある学習機能を持った論理システムや、非常に多くの入力信号エレメント数を持った入力信号やユニット数の多い多層ニューラルネットワークを用いた多値論理システムを実現できる。
【００４０】
従って、従来方式では安定で高速に収束させることができず、然も所望の全て正解の出力信号を得ることが困難であったパターン認識や画像処理を初め、ネットワークセキュリティやネットワーク障害検出などの高度な学習特性と汎化特性が要求されるシステムなども容易に設計し実現することが可能となる。
【００４１】
【発明の実施の形態】
以下に、本発明のニューラルネットワーク学習方法の実施形態に於いて、簡単な為２値教師信号を用いた３層ニューラルネットワークを例に挙げ、その構成及びその動作について詳細に説明する。しかしながら、本発明は、３層ニューラルネットワークに限るものではなく、４層以上の多層ニューラルネットワークでもよい。また、２値教師信号に限るものではなく、３値以上の多値教師信号でもよい。
【００４２】
本発明の出力層応答関数微分値制限付きエラーバックプロパゲーション学習方法の実施形態の３層ニューラルネットワーク学習過程の１実施例を図１に示す。端子２から学習用入力信号が入力層の入力ユニットに入力され中間層ユニットから中間層出力ユニット信号と出力層ユニットから出力層出力ユニット信号とをそれぞれ送出する３層ニューラルネットワーク１、出力層出力信号のエレメントである該出力層出力ユニット信号を２値識別スレショルドを用いて２値化し２値出力層出力信号のエレメントである２値出力層出力ユニット信号を得る２値スレショルド回路６（６１、６２、．．．６Ｍ）、２値教師ユニット信号（Ｔ１、Ｔ２、．．．ＴＭ）と該出力層出力ユニット信号とを入力し該２値教師ユニット信号から該出力層出力ユニット信号を差し引き、誤差信号エレメントである出力層出力ユニット誤差信号を得る減算部４（４１、４２、．．．４Ｍ）、該２値教師ユニット信号（Ｔ１、Ｔ２、．．．ＴＭ）と該２値出力層出力ユニット信号とを入力し夫々比較し不一致状態となった２値出力層出力ユニット信号とそれをエレメントとして持つ２値出力層出力信号とを検出し、動作モード制御部１０からの制御信号のもとに出力ユニット正解不正解判定信号を出力層応答関数下限微分値処理部２７へ送出し、出力正解不正解判定信号を学習収束判定処理部１３へ送出する正解不正解出力判定処理部１１、該出力正解不正解判定信号と減算部４からの該誤差信号とから学習収束状態を判定し収束判定信号を送出する学習収束判定処理部１３、減算部４からの該誤差信号と正解不正解出力判定処理部１１からの該出力ユニット正解不正解判定信号と学習収束判定処理部１３からの該収束判定信号と３層ニューラルネットワーク１からの前記中間層出力信号と前記出力層出力信号とを用いて３層ニューラルネットワーク１の重み係数を更新し設定する応答関数微分値制限重み係数制御部１２、３層ニューラルネットワーク１と正解不正解出力判定処理部１１と応答関数微分値制限重み係数制御部１２と学習収束判定処理部１３との各初期設定、更に学習の開始及び終了を制御する動作モード制御部１０とから構成される。
【００４３】
更に、応答関数微分値制限重み係数制御部１２は、前記中間層出力信号を元に中間層応答関数微分値を得る中間層応答関数微分値処理部２１、前記出力層出力信号を元に下限値が設定された出力層応答関数微分値を得る出力層応答関数下限微分値処理部２７、該出力層応答関数微分値、前記誤差信号と中間層出力信号とから出力層重み微調修正量を得、該中間層応答関数微分値と中間層出力信号と入力層出力信号とから中間層重み微調修正量を得る重み微調修正量処理部２２、前回の学習処理に於ける重み係数更新量を記憶する重み係数更新量記憶部２４、重み係数更新量記憶部２４から読み出された重み係数更新量と該重み微調修正量とから新たな重み係数更新量を得、重み係数更新量記憶部２４に格納する。重み係数記憶処理部２６から読み出された前回の学習処理に於ける重み係数と該新たな重み係数更新量とから新たな重み係数を得、重み係数記憶処理部２６へ送出する重み係数更新処理部２５から構成される。
【００４４】
次に学習過程におけるこれらの動作を説明する。３層ニューラルネットワーク１は、予め準備された複数個の学習用入力信号と夫々に対応した２値教師信号Ｔとを元に学習の為の重み係数更新を動作モード制御部１０の制御管理の基に行う。
【００４５】
学習が開始されると、動作モード制御部１０に重み係数更新モードが新たに設定され、３層ニューラルネットワーク１及び重み微調修正処理部２２に重み係数記憶処理部２６からの重み係数初期値が設定され、正解不正解出力判定処理部１１、学習収束判定処理部１３及び応答関数微分値制限重み係数制御部１２内の重み係数更新量記憶部２４が初期リセットされる。
【００４６】
３層ニューラルネットワーク１に於いて、入力された学習用入力信号に対して得られた出力層出力信号を得、正解不正解出力判定処理部１１に於いて、該出力層出力ユニット信号から２値スレショルド回路６を介して得た２値出力層出力ユニット信号と対応した前記教師ユニット信号とを比較し、不一致状態を示す出力ユニット正解不正解判定信号を得、出力層応答関数下限微分値処理部２７へ送出する。
【００４７】
中間層と出力層間の重み係数更新の際には、出力層応答関数下限微分値処理部２７に於いて、前記出力層出力信号と正解不正解出力判定処理部１１からの出力ユニット正解不正解判定信号を元に式（１２）に従って、出力層の応答関数導関数ｆ’Ｓを元に下限値が設定された出力層応答関数微分値を得、重み微調修正量処理部２２へ送出する。
出力層応答関数微分値は、出力層ｍ番目ユニットの出力層出力ユニット信号が不正解判定の場合、式（１２）で与えられる。
【００４８】
2004334671.tif 000008
となり、０以上の出力層応答関数微分値が、Ｄｌｉｍｉｔ以上であればそのままの値を出力層応答関数微分値として、Ｄｌｉｍｉｔ未満であればＤｌｉｍｉｔに置き換えて出力層応答関数微分値として用いる。
【００４９】
また、出力層ｍ番目ユニットの出力層出力ユニット信号が正解判定の場合は、従来と同様に、式（１４）で与えられる。
【００５０】
ｆ’ｓ（Ｎｉｎｓｍ（ｔ））＝ｆ’（Ｎｉｎｓｍ（ｔ）），                （１４）
ここで、
Ｄｌｉｍｉｔ：予め与えられた下限微分値（下限値）＞０
とする。
【００５１】
一方、入力層−中間層間の重み係数の更新の際には、中間層応答関数微分値処理部２１に於いて、従来と同様に式（３）を用いて中間層応答関数微分値を得、重み微調修正量処理部２２へ送出する。
【００５２】
重み微調修正量処理部２２では、ｓ−１層ｊ番目ユニット−ｓ（出力）層ｍ番目ユニット間の重み係数の重み係数更新に於ける重み微調修正量を得、重み係数更新処理部２３へ送出する。重み微調修正量を式（１５）で与える。
【００５３】
重み微調修正量＝δｓｍ（ｔ）・Ｏｓ−１ｊ（ｔ）              （１５）
ここで、δｓｍ（ｔ）は、式（１６）で与えられる。
δｓｍ（ｔ）＝｛Ｔｍ−Ｏｓｍ（ｔ）｝ｆ’ｓ（Ｎｉｎｓｍ（ｔ））            （１６）
【００５４】
重み係数更新処理部２３では、重み係数更新量記憶部２４から読み出された中間層−出力層間の重み係数に対する重み係数更新量と前記重み微調修正量とから、従来と同様に式（１０）に従って新たな重み係数更新量を得、重み係数更新量記憶部２４に格納すると共に重み係数更新処理部２５へ送出する。
【００５５】
重み係数更新処理部２５では、重み係数記憶処理部２６から読み出された中間層−出力層間の重み係数と前記重み係数更新量とから、従来と同様に式（１１）に従って、新たな重み係数を得、重み係数記憶処理部２６に送出する。重み係数記憶処理部２６では該新たな重み係数を記憶すると共に、３層ニューラルネットワーク１及び重み微調修正量処理部２２の中間層−出力層間の重み係数として設定する。
【００５６】
次に、入力層−中間層間の重み係数更新の際には、中間層応答関数微分値処理部２１に於いて、３層ニューラルネットワーク１の中間層からの中間層出力信号を元に、従来と同様に式（３）に従って、中間層応答関数微分値を得、重み微調修正量処理部２２へ送出する。重み微調修正量処理部２２では、従来と同様に式（７）に従って、重み微調修正量を得、重み係数更新処理部２３へ送出する。
【００５７】
重み係数更新処理部２３では、重み係数更新量記憶部２４から読み出された入力層−中間層間の重み係数に対する重み係数更新量と該重み微調修正量とから、従来と同様に式（１０）に従って新たな重み係数更新量を得、重み係数更新量記憶部２４に格納すると共に重み係数更新処理部２５へ送出する。
【００５８】
重み係数更新処理部２５では、重み係数記憶処理部２６から読み出された入力層と中間層間の重み係数と該重み係数更新量とから、従来と同様に式（１１）に従って、新たな重み係数を得、重み係数記憶処理部２６に送出する。重み係数記憶処理部２６では、該新たな重み係数を格納すると共に、３層ニューラルネットワーク１及び重み微調修正量処理部２２の入力層−中間層間の重み係数に設定する。
【００５９】
上記の一連の重み係数更新を全ての学習用入力データに対して実施した後、動作モード制御部１０に於いて、動作モードをテストモードとし、学習収束判定処理部１３及び正解不正解出力判定処理部１１にテストモード制御信号を送出し、全ての学習用入力信号を用いてテストモードを実施する。正解不正解出力判定処理部１１に於いて、入力された学習用入力データに対してそれぞれ不正解となる出力層出力信号を検出し出力正解不正解判定信号を学習収束判定処理部１３へ送出する。
【００６０】
学習収束判定処理部１３では、動作モード制御部１０からテストモード制御信号が入力されると、学習収束判定処理部１３をリセットし、全学習用入力信号に対応した前記出力層出力信号から減算部４を介して入力された誤差信号の総誤差電力を求め、予め与えられた誤差電力スレショルドとの比較結果と入力された前記出力正解不正解判定信号とが予め与えられた学習収束判定条件を満足していなければ、重み係数更新要求信号を動作モード制御部１０へ送出し、再度重み係数更新モードに戻り、上記の一連の重み係数更新処理を実施する。誤差電力スレショルド以下で、同時に、夫々の２値出力層出力信号が全て教師信号と一致し不正解と判定された出力正解不正解判定信号が無く、学習収束判定条件を満足すると、収束が達成されたと判断し、学習収束判定信号を動作モード制御部１０へ送出し、学習を完了させる。
【００６１】
上記のように、出力層応答関数下限微分値処理部２７では、正解不正解出力判定処理部１１に於いて、不正解である２値出力層出力ユニット信号が検出されると、式（１２）の如く、対応した出力層出力ユニット信号に対する出力層応答関数微分値に於いて下限値（下限微分値）を設定している。これにより、出力層出力ユニット信号が教師ユニット信号と異なり、大きく間違って０或いは１の値に等しいか或いは非常に近い値の場合にも、出力層応答関数微分値がＤｌｉｍｉｔの値を採ることから、式（１０）の不正解の出力層出力信号に関連した重み係数更新が進展する。
【００６２】
従来の方法では、このような状況では、式（３）に於いて、出力層の応答関数導関数の値である出力層応答関数微分値が非常に小さく、０またはこれに非常に近い値となる。従って、式（７）の重み微調修正量も小さくなり、式（１０）に於いて結果的に不正解の出力層出力ユニット誤差信号に関連した重み係数更新量が小さく、重み係数の更新が殆ど行われない。
【００６３】
このように、本発明に於ける式（１２）の如く、出力層出力ユニット信号の出力正解不正解判定を行い、これに従って、出力層応答関数微分値の下限値、即ち下限微分値を設けることにより、出力層出力ユニット信号が教師ユニット信号から大きくずれて、誤った０或いは１となっても出力層応答関数微分値はこの下限微分値Ｄｌｉｍｉｔとなることから、重み微調修正量も極端に小さくならない。
【００６４】
この結果、正解の出力層出力信号が益々教師信号に近づくと共に、同時に不正解の出力層出力信号が教師信号に対して益々不正解側の値をとる非常に安定したローカルミニマムの状態に落ち込むこともなく、重み係数の更新が安定に進む。全ての学習用入力信号に対して、全て正解で然も教師信号に非常に近い値の出力層出力信号が３層ニューラルネットワーク１から得られ、誤差電力が最小のグローバルミニマムの状態を迅速に達成できる。また、教師信号エレメントは、０及び１を用いることから、従来の０．９及び０．１を用いた場合よりも汎化特性も優れた多層ニューラルネットワークの学習を実現できる。
【００６５】
本発明の出力層応答関数導関数に於ける出力層応答関数微分値制限付きエラーバックプロパゲーション学習方法の処理フローを図２に示す。ステップ１００の学習初期設定処理は、重み係数初期値の３層ニューラルネットワーク１への設定など必要な初期設定を行う。ステップ１１０の学習用入力信号入力処理では、準備された学習用入力信号と対応した教師信号とを指定された順序で順次３層ニューラルネットワーク１に設定する。ステップ１２０の３層ニューラルネットワーク処理では、３層ニューラルネットワーク１に於いて、入力された学習用入力信号に対して、中間層出力信号及び出力層出力信号などを送出する多層ニューラルネットワーク処理を行う。
【００６６】
ステップ１３０の出力ユニット正解不正解判定処理では、２値スレショルド回路６と正解不正解出力判定処理１１の処理と対応しており、各出力層出力ユニット信号に対して２値識別スレショルドを用いて２値出力層出力ユニット信号を得、対応した教師ユニット信号と比較し、一致しておれば正解、不一致ならば不正解として出力ユニット正解不正解判定信号を得る。ステップ１４０の応答関数微分値算出処理では、先ず、中間層−出力層間重み係数更新の為に、出力層応答関数微分値算出処理を実施する。出力層応答関数下限微分値処理部２７の如く、出力ユニット正解不正解判定信号に於いて、出力層出力ユニット信号が不正解の場合には、下限微分値が設定された式（１２）を用いて、出力層応答関数微分値を求める。
【００６７】
一方、正解の場合には、式（３）を用いる。また、中間層−出力層間重み係数更新処理が終了し、ステップ１８０から戻ってくると、入力層−中間層間重み係数更新処理の為に、中間層応答関数微分値算出処理を実施する。中間層応答関数微分値処理部２１の如く、中間層応答関数微分値が式（３）に従って求められる。ステップ１５０の重み微調修正量算出処理では、減算部４の如く各出力層出力ユニット信号に対して教師ユニット信号からの差をとり、出力層出力ユニット誤差信号を得る誤差信号算出処理を行い、重み微調修正量処理部２２の如く、前記の出力層応答関数微分値と誤差信号と中間層出力信号とから式（１０）により、中間層と出力層間の重み係数の重み微調修正量を得る。
【００６８】
また、入力層−中間層間の重み係数更新に対しては、式（９）の中間層応答関数微分値と式（７）とから重み微調修正量を得る。ステップ１６０の重み係数更新量算出処理では、重み係数更新量処理部２３及び重み係数更新量記憶部２４に於ける処理の如く、重み微調修正量を用いて、式（１０）に従って、夫々新たな重み係数更新量を求める。ステップ１７０の重み係数更新算出処理では、重み係数更新処理部２５及び重み係数記憶処理部２６での処理の如く、重み係数更新量を用いて、式（１１）により中間層−出力層間の新たな重み係数を得、更に式（１１）により入力層−出力層間の新たな重み係数を得る。
【００６９】
ステップ１８０の入力層−中間層間重み係数更新済み判定処理では、中間層−出力層間の全ての重み係数の更新が未終了ならば、ステップ１４０へ戻り、ステップ１４０からステップ１７０までの中間層−出力層間の全ての重み係数の更新処理を完全に実施する。その後、同様に入力層−中間層間の全ての重み係数の更新をステップ１４０から１７０において実施し、終了すると、上記の入力層−中間層間重み係数の更新処理が終了すると、次のステップ１９０へ移る。１９０のニューラルネットワーク更新重み係数設定処理では、中間層−出力層間及び入力層−中間層間の更新された重み係数を夫々３層ニューラルネットワークに設定する。
【００７０】
ステップ２００の全学習用入力信号の入力判定処理では、全ての学習用入力信号が入力され重み係数が更新されたかの判断を行い、されていなければ、次の学習用入力信号と対応した教師信号とを３層ニューラルネットワークに設定する為に、ステップ１１０の学習用入力信号入力処理へ戻り、１１０から１９０の処理を繰り返す。全ての学習用入力信号に対し重み係数が更新されると、ステップ２１０へ進む。ステップ２１０の総誤差電力算出及び出力正解不正解判定処理では、全ての学習用入力信号に対して減算部４の如く誤差信号を求め、学習収束判定処理部１３と同様に式（６）により誤差電力を求め、誤差電力スレショルドと比較する。
【００７１】
また、正解不正解出力判定処理部１１と同様にこれらの出力信号に関して、出力層出力ユニット信号と対応した教師ユニット信号とを夫々比較し、出力信号の正解不正解を示す出力正解不正解判定信号を得る。ここでは、出力信号を構成する出力ユニット信号に不正解があれば、出力信号は不正解、全くなければ正解と判定する。ステップ２２０の学習収束判定処理では、学習収束判定処理部１３と同様に総誤差電力及び出力正解不正解判定信号が学習収束判定条件を満足しておれば、重み係数更新処理が全て完了したとして、学習を終了する。学習収束判定条件を満足していなければ、ステップ１１０に戻り、再度最初の学習用入力信号から順次各ステップに沿って重み係数更新処理を行う。
【００７２】
本発明の実施形態では、出力層応答関数として０及び１の出力範囲を持ったシグモイド関数を例にとり説明したが、−１から１の出力範囲を持ったシグモイド関数でもよく、また一般に出力層応答関数の導関数が零点を有する応答関数ならば何れの関数でもよく、シグモイド関数に限るものではない。
【００７３】
また、本発明の実施形態では、出力層応答関数導関数が０以上の値を採る場合について説明したが、出力層応答関数導関数が負の値も採り得る導関数の場合には、前記不正解と判定された出力層出力ユニットに於いて、負の出力層応答関数微分値に対して負の上限値を設け、前記負の出力層応答関数微分値が前記上限値より大きいときは、前記出力層応答関数微分値を前記上限値に修正し、また、０以上の出力層応答関数微分値に対して正の下限値を設け、前記０以上の出力層応答関数微分値が前記下限値より小さいときは、前記出力層応答関数微分値を前記下限値に修正し、一方、前記正解と判定された出力層出力ユニットでは、該出力層応答関数微分値をそのまま用い、重み係数更新処理を行えばよい。
【００７４】
教師信号エレメントとして０或いは１からなる２値教師信号の例を説明したが、２値以上の多値教師信号でもよい。多値教師信号の場合には、２値スレショルド回路６の代わりに出力層出力ユニット信号を離散した多値の値に変換する、即ち、多値識別スレショルドを持った指定された離散値へ量子化し多値化するための多値スレショルド回路を用い、正解不正解出力判定処理部１１では、多値教師ユニット信号（Ｔ１、Ｔ２、．．．ＴＭ）と多値化された多値出力層出力ユニット信号との一致・不一致状態により、出力層出力ユニット及び出力層出力信号の正解・不正解判定を行えばよい。
【００７５】
更に、複数個の連続値（離散的な実数値）からなる教師信号の場合には、２値及び多値スレショルド回路を介することなく、出力層出力ユニット信号を直接正解不正解出力判定処理部１１に入力し、正解不正解出力判定処理部１１に於いて、各教師ユニット信号（Ｔ１、Ｔ２、．．．ＴＭ）を中心とした近傍領域をその教師ユニット信号に対する正解判定領域、それ以外を不正解判定領域とし、不正解判定領域に出力層出力ユニット信号があると出力層出力ユニット信号及び出力層出力信号を夫々不正解判定とする。また、正解判定領域にあればそれぞれ正解判定とすればよい。
【００７６】
学習収束判定処理部１３に於いて、学習収束判定条件として、誤差電力を用いる場合について説明したが、出力層出力信号が全て正解判定とされ、然も全学習用入力信号に対応した正解の出力層出力ユニット信号の内で正解判定となる為の正解不正解判定スレショルドからの最小余裕値を求め、これを予め準備した最小余裕スレショルドと比較し、これを超えておれば収束したと見なす学習収束判定条件を用いてもよい。
【００７７】
出力層応答関数下限微分値処理部２７に於いて、式（１２）に設定された下限微分値を一定の固定値ではなく、学習回数の増加とともに、或いは不正解判定された出力層出力信号数が少なくなると零以外の小さい値に可変してもよい。また、学習回数或いは不正解判定出力層出力信号数に応じて小さい値に可変してもよい。
【００７８】
或いは、学習を進めた結果、正解判定の出力層出力信号がより教師信号に近づき、同時に不正解判定の出力層出力信号がより不正解の値をとる安定したローカルミニマム状態を、不正解の出力層出力ユニット誤差信号内の最小値が与えられた最小誤差スレショルドを超えることにより検出し、上記の式（１２）の如く下限微分値を導入、或いは既存下限微分値をより大きくしてもよい。
【００７９】
上記の説明では、出力層応答関数導関数の出力層応答関数微分値に対してのみ下限微分値を設けたが、更に、出力層出力信号の正解不正解に関わらず、式（９）のδｋｊ（ｔ）を得る為の中間層応答関数導関数の中間層応答関数微分値ｆ’（Ｎｉｎｋｊ（ｔ））に対して新たな中間層応答関数下限値を設けても良い。同様に、中間層応答関数導関数に於いて、中間層応答関数微分値が負の値をとる導関数の場合には、負の中間層応答関数微分値に対して負の上限値を、正の中間層応答関数微分値に対して正の下限値をそれぞれ設定すればよい。また、上記の安定したローカルミニマム状態に落ち込んだときにのみ該上限値及び下限値を導入してもよい。
【００８０】
学習収束判定処理部１３に於いて、学習収束判定条件が満足されるまで、即ち、正解不正解出力判定処理部１１からの不正解出力検出信号が２値出力層出力信号が全て正解で、然も誤差信号の誤差電力が与えられた誤差電力スレショルド以下となるまで重み係数更新及びテスト処理からなる学習処理を繰り返す。学習収束判定条件が満足されると学習処理を停止し、学習終了信号を動作モード制御部１０へ送出し、学習処理を終了する。
【００８１】
以上の実施形態において、多層ニューラルネットワークを前提に説明したが、教師信号を利用して学習させるニューラルネットワークであれば、上記以外のニューラルネットワークを用いても良い。
【００８２】
【発明の効果】
以上述べたように、従来のエラーバックプロパゲーション学習方法において、大量の学習用入力信号に対して学習を進めても教師信号と多値出力層出力信号との間の誤り個数や、教師信号と出力信号との誤差電力が低減せず変化しない非常に安定したローカルミニマムに陥る場合が多いが、本発明の出力層応答関数微分値制限付きエラーバックプロパゲーション学習方法に於いては、出力層に接続されている重み係数更新の際に、不正解の出力層ユニットにおける出力層応答関数微分値の下限値を設け、重み微調修正することにより、このような安定したローカルミニマムに停滞することなく、簡単にグローバルミニマムの状態に収束させることができる。
【００８３】
従って、学習データ量が非常に多くても、従来方式より学習回数が１００倍程度以上著しく短縮される。また、必要最小限の中間ユニット数あるいは中間層数を用いて安定に最適状態に収束させることが出来ることから、ハードウェア規模や演算量も少なく出来る。
【００８４】
本発明の出力層応答関数微分値制限付きエラーバックプロパゲーション学習方法を用いたニューラルネットワークは、従来方式に比べて少ない中間層ユニット数あるいは中間層を用い、初期依存性もなく且つ低い演算精度を持った重み係数で、ローカルミニマムに陥ることなく高速かつ安定に収束し、所望の全て正解の出力層出力信号を送出することができる。また、汎化特性も従来より大幅に優れていることから、従来技術では実現が困難な大規模なニューラルネットワークを短時間で自由に設計し、迅速な学習を実現できることから、ネットワーク不正浸入検出部や、ネットワーク障害状態の検出を行うネットワーク障害検出部や各種パターン認識及びデータ圧縮などへの幅広い応用ができるなどの非常に幅広い効果を有している。
【図面の簡単な説明】
【図１】本発明の出力層応答関数微分値制限付きエラーバックプロパゲーション学習方法を用いた多層ニューラルネットワークの学習処理の１構成例である。
【図２】本発明の出力層応答関数微分値制限付きエラーバックプロパゲーション学習方法の１処理フロー図である。
【図３】従来の多層ニューラルネットワークにおけるエラーバックプロパゲーション学習処理の１構成例である。
【符号の説明】
１  ３層ニューラルネットワーク
２  入力信号入力端子
２１  入力信号ユニット入力端子
２２  入力信号ユニット入力端子
２Ｎ  入力信号ユニット入力端子
３  教師信号入力端子
３１  教師ユニット信号入力端子
３２  教師ユニット信号入力端子
３Ｍ  教師ユニット信号入力端子
４  減算部
４１  減算部
４２  減算部
４Ｍ  減算部
５  重み係数制御部
６  ２値スレショルド回路
６１  ２値スレショルド回路
６２  ２値スレショルド回路
６Ｍ  ２値スレショルド回路
７  ２値スレショルド回路
７１  ２値スレショルド回路
７２  ２値スレショルド回路
７Ｍ  ２値スレショルド回路
８  一致検出部
９  学習収束判定処理部
１０  動作モード制御部
１１  正解不正解出力判定処理部
１２  応答関数微分値制限重み係数制御部
１３  学習収束判定処理部
２０  出力層応答関数微分値処理部
２１  中間層応答関数微分値処理部
２２  重み微調修正量処理部
２３  重み係数更新量処理部
２４  重み係数更新量記憶部
２５  重み係数更新処理部
２６  重み係数記憶処理部
２７  出力層応答関数下限微分値処理部
１００  学習初期設定処理
１１０  学習用入力信号入力処理
１２０  ３層ニューラルネットワーク処理
１３０  出力ユニット正解不正解判定処理
１４０  応答関数微分値算出処理
１５０  重み微調修正量算出処理
１６０  重み係数更新量算出処理
１７０  重み係数更新算出処理
１８０  入力層−中間層間重み係数更新済み判定
１９０  ニューラルネットワーク更新重み係数設定処理
２００  全学習用入力信号の入力判定
２１０  総誤差電力算出及び出力正解不正解判定処理
２２０  学習収束判定
【図１】
2004334671.tif 000009
【図２】
2004334671.tif 000010
【図３】
2004334671.tif 000011