(57)【特許請求の範囲】
【請求項１】
伝達信号を生成するユニットをそれぞれ一つ以上備えた入力層，中間層，出力層と各層間のユニットを結合して前記伝達信号を伝送するシナプスとからなり、前記入力層に入力を与えると前記ユニット間を前記出力層に向けて前記伝達信号が順次伝送され前記出力層から出力が得られる神経回路網を保持する記憶手段と、
神経回路網が学習すべき入出力特性に基づいて予め設定された教師入力及び教師出力からなる教師データを格納する教師データ格納手段と、
該教師データ格納手段に格納された教師データに基づいて前記記憶手段に保持された神経回路網の学習を実行する学習実行手段と、
を備えた神経回路網学習システムの動作方法であって、
前記学習実行手段が、
前記教師データ格納手段から前記教師データを読み込むステップ、
読み込んだ教師データのそれぞれについて、前記教師入力に対する前記記憶手段に保持された神経回路網の出力である網出力を算出するステップ、
算出した網出力と該網出力の目標値である前記教師出力との個別誤差を算出するステップ、
算出した個別誤差に基づいて設定される誤差評価値を最小化するように前記記憶手段に保持された神経回路網のシナプス荷重を更新するステップ、
からなる一連のステップを、前記教師データ毎に算出される全ての個別誤差が、前記教師データ毎に予め設定された誤差許容範囲内になるまで繰り返し実行すると共に、
前記学習すべき入出力特性が非連続的な変化をする動作領域では、該動作領域の教師データに対応する個別誤差の前記誤差許容範囲が、それ以外の動作領域のものより大きく設定されていることを特徴とする神経回路網学習システムの動作方法。
【請求項２】
前記学習実行手段は、前記シナプス荷重の更新をＢＦＧＳ法を用いて行うことを特徴とする請求項１記載の神経回路網学習システムの動作方法。
【請求項３】
伝達信号を生成するユニットをそれぞれ一つ以上備えた入力層，中間層，出力層と各層間のユニットを結合して前記伝達信号を伝送するシナプスとからなり、前記入力層に入力を与えると前記ユニット間を前記出力層に向けて前記伝達信号が順次伝送され前記出力層から出力が得られる神経回路網を保持する記憶手段と、
神経回路網が学習すべき入出力特性に基づいて予め設定された教師入力及び教師出力からなる教師データを格納する教師データ格納手段と、
該教師データ格納手段に格納された教師データに基づいて前記記憶手段に保持された神経回路網の学習を実行する学習実行手段と、
を備えた神経回路学習システムの動作方法であって、
前記学習実行手段が、
前記教師データ格納手段から前記教師データを読み込むステップ、
読み込んだ教師データのそれぞれについて、前記教師入力に対する前記記憶手段に保持された神経回路網の出力である網出力を算出するステップ、
算出した網出力と該網出力の目標値である前記教師出力との個別誤差を算出するステップ、
算出した個別誤差に基づいて設定される誤差評価値を最小化するように前記記憶手段に保持された神経回路網のシナプス荷重を更新するステップ、
からなる一連のステップを、前記教師データ毎に算出される全ての個別誤差が、予め設定された誤差許容範囲内になるまで繰り返し実行すると共に、
前記教師データ毎に、前記教師出力と前記網出力との差である出力偏差の許容範囲を設定し、ｐ番目の教師入力に対する網出力をｎp ，前記出力偏差の許容範囲に相当する網出力の許容範囲を［Ｌp ，Ｕp ］とすると、前記個別誤差として、
【数１】
0003823554.tif 000012
による算出値ｅｗp を用いることを特徴とする神経回路網学習システムの動作方法。
【請求項４】
前記学習すべき入出力特性が非連続的な変化をする動作領域では、該動作領域の教師データに対応する出力偏差の許容範囲が、それ以外の動作領域のものより大きく設定されていることを特徴とする請求項３記載の神経回路網学習システムの動作方法。
【請求項５】
前記学習実行手段は、前記シナプス荷重の更新を、ＢＦＧＳ法を用いて行うことを特徴とする請求項３又は請求項４記載の神経回路網学習システムの動作方法。
【請求項６】
伝達信号を生成するユニットをそれぞれ一つ以上備えた入力層，中間層，出力層と各層間のユニットを結合して前記伝達信号を伝送するシナプスとからなり、前記入力層に入力を与えると前記ユニット間を前記出力層に向けて前記伝達信号が順次伝送され前記出力層から出力が得られる神経回路網を保持する記憶手段と、
神経回路網が学習すべき入出力特性に基づいて予め設定された教師入力及び教師出力からなる教師データを格納する教師データ格納手段と、
該教師データ格納手段に格納された教師データに基づいて前記記憶手段に保持された神経回路網の学習を実行する学習実行手段と、
を備えた神経回路学習システムの動作方法であって、
前記学習実行手段が、
前記教師データ格納手段から前記教師データを読み込むステップ、
読み込んだ教師データのそれぞれについて、前記教師入力に対する前記記憶手段に保持された神経回路網の出力である網出力を算出するステップ、
算出した網出力と該網出力の目標値である前記教師出力との個別誤差を算出するステップ、
算出した個別誤差に基づいて設定される誤差評価値を最小化するように前記記憶手段に保持された神経回路網のシナプス荷重を更新するステップ
からなる一連のステップを繰り返し実行すると共に、
前記誤差評価値として、前記個別誤差の自乗値と予め設定された重み付け係数との乗算値の平均値である荷重平均自乗誤差を用い、且つ、前記学習すべき入出力特性が非連続的な変化をする動作領域では、該動作領域の教師データに対応する個別誤差の前記重み付け係数が、それ以外の動作領域のものより小さな値に設定されていることを特徴とする神経回路網学習システムの動作方法。
【請求項７】
前記学習実行手段は、前記個別誤差として、前記教師出力と前記網出力との差である出力偏差を用いることを特徴とする請求項６記載の神経回路網学習システムの動作方法。
【請求項８】
前記教師データ毎に、前記教師出力と前記網出力との差である出力偏差の許容範囲を設定し、ｐ番目の教師入力に対する網出力をｎp ，前記出力偏差の許容範囲に相当する網出力の許容範囲を［Ｌp ，Ｕp ］とすると、
前記学習実行手段は、前記個別誤差として、
【数２】
0003823554.tif 000013
による算出値ｅｗp を用いることを特徴とする請求項６記載の神経回路網学習システムの動作方法。
【請求項９】
前記学習実行手段は、前記シナプス荷重の更新を、ＢＦＧＳ法を用いて行うことを特徴とする請求項６乃至請求項８いずれか記載の神経回路網学習システムの動作方法。
【請求項１０】
コンピュータシステムを、請求項１乃至請求項９いずれか記載の神経回路網学習システムの学習実行手段として機能させるためのプログラムが記録され、該記録内容を前記コンピュータシステムにより読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、神経回路網の出力とその目標値である教師出力との誤差に基づいて設定される誤差評価値を最小化するように神経回路網のシナプス荷重を更新する神経回路網学習システムの動作方法に関する。
【０００２】
【従来の技術】
従来より、伝達信号を生成するユニットをそれぞれ一つ以上備えた入力層，中間層，出力層と、各層間のユニットを結合して伝達信号を伝送するシナプスとからなり、入力層に入力を与えるとユニット間を出力層に向けて伝達信号が順次伝送され出力層から出力が得られる神経回路網（ニューラルネットワークとも言う）が知られている。この神経回路網では、各シナプスがシナプス荷重を持ち、このシナプス荷重を学習処理によって適宜変更することにより所望の入出力特性が実現される。
【０００３】
ところで、神経回路網の学習では、実現すべき入出力特性に基づいて設定された教師入力及び教師出力の組からなる多数の教師データが用意され、これら教師データのそれぞれについて、教師入力に対する神経回路網の出力である網出力ｎp と、この網出力ｎp の目標値である教師出力ｔp との差を個別誤差ｅp （＝ｔp−ｎp）として算出し、この個別誤差ｅp の自乗和の平均値を（３）式に従って算出したものを誤差評価値Ｅとして、この誤差評価値Ｅが最小となるように神経回路網のシナプス荷重を更新すると共に、全ての個別誤差ｅp が、（４）式に示すように、予め設定された許容誤差εより小さくなった時点、或いは定められた学習回数に達した時点で学習を終了するのが一般的である。
【０００４】
【数３】
0003823554.tif 000002
【０００５】
但し、ここでは、教師データの総数をＰ個とし、ｔp，ｎp，ｅp は、それぞれｐ（ｐ＝１，２，…Ｐ）番目の教師入力に対する教師出力，網出力，個別誤差を表す。
【０００６】
そして、シナプス荷重の更新アルゴリズムとしては、バックプロパゲーション法（例えば、Rumelhart,D.E et al.:Parallel Distributed Processing,Vol.1,MIT Press(1986)、又は Arbib,M.A.:The handbook of Brain Theory and Neural Networks,MIT Press(1995)）や、ＢＦＧＳ法（例えば、丹慶他：ニューメリカルレシピ・イン・シー、技術評論社(1993)）等、公知の方法を利用できる。特に、ＢＦＧＳ法は、バックプロパゲーション法に対して２０倍以上も高速な演算が可能であり、神経回路網の学習の効率化に有効であるため近年注目されている。
【０００７】
ところで、神経回路網を構成するニューロン（各層にて伝達信号を生成するユニット）の出力関数として、一般的には、図１１（ａ）及び（ｂ）に示すように、その特性が連続かつ滑らかなグラフにて表されるシグモイド関数（ｆ（ｘ）＝１／｛１＋ｅｘｐ（−ｘ）｝）や双曲線関数（ｆ（ｘ）＝ｔａｎｈ（ｘ））が用いられている。このため、神経回路網により実現される入出力特性も、連続且つ滑らかなグラフにて表されることになる。
【０００８】
従って、学習すべき入出力特性に、図１２（ａ）に示すようにグラフの傾き、又は微係数が不連続に変化する（滑らかでない）地点（以下、不連続点と呼ぶ）が含まれていると（動作領域Ｂ参照）、その不連続点を含む動作領域の教師データに対する個別誤差がなかなか収束しないため学習時間が増大し、また、例え個別誤差が収束したとしても、学習時間が増大した分だけ、収束性のよい動作領域（図中の動作領域Ａ）の教師データは必要以上に過剰な学習が行われることになり、全体としての学習のバランスが悪く、学習の効率も悪かった。
【０００９】
これを防止するため、入出力特性に不連続点を含む場合には、図１２（ｂ）に示すように、そのような不連続点の近傍を予め平滑化しておくことが考えられる。しかし、このような平滑化は、図１２のように、入力が１次元で表される場合は容易であるが、２次元以上で表される場合は、計算が極めて困難なものとなるため、実用的な方法であるとは言えなかった。
【００１０】
これに対して、特開平６−３１４２２６７８号公報には、手書き文字の認識に神経回路網を応用する場合において、カテゴリ（特定の教師データの集まり）毎に学習の進み具合を監視し、カテゴリ間の学習のばらつきを低減する方法が開示されている。具体的には、カテゴリｊの平均自乗誤差Ｅｊが、予め定められたしきい値より小さくなると、このカテゴリｊに属する教師データを学習対象から除去するのである。
【００１１】
このような学習方法によれば、学習の進行に従い、収束しにくいカテゴリに属する教師データのみが学習対象として残ることになるため、このような教師データが集中的に学習されると共に、収束しやすいカテゴリに属する教師データの過剰学習が抑えられることになり、カテゴリ間でバランスよく学習され、全体としての学習効率も向上する。
【００１２】
【発明が解決しようとする課題】
しかし、この学習方法は、（３）式において、カテゴリｊに属する教師データの個別誤差の自乗値の項が学習途中で取り除かれること、即ち、シナプス荷重の更新に使用される誤差評価値を与えるための評価関数が学習の途中で変更されることを意味する。
【００１３】
そして、この場合、カテゴリ毎に学習の進み具合を監視しなければならないため、処理量が増加してしまうだけでなく、高速な学習アルゴリズムであるＢＦＧＳ法を適用できないという問題があった。
即ち、ＢＦＧＳ法は、過去の計算結果に基づいて評価関数の入出力特性を表す立体的な形状（傾き具合）を逐次予測し、その予測に基づいて誤差評価値が最小となる値を計算により順次算出していくものであるため、その評価関数が学習中に変更されると、過去の計算結果が無意味なものとなってしまい、正しく計算が続けられなくなってしまうからである。
【００１４】
本発明は、上記問題点を解決するために、計算途中で誤差の評価関数を変更することなく、各教師データの重要度等に応じてバランスよく神経回路網の学習を行うことが可能な神経回路網学習システムの動作方法を提供することを目的とする。
【００１５】
【課題を解決するための手段】
上記目的を達成するためになされた発明の前提となる神経回路網学習システムは、神経回路網を保持する記憶手段と、教師データを格納する教師データ格納手段と、教師データ格納手段に格納された教師データに基づいて、記憶手段に保持された神経回路網の学習を実行する学習実行手段とを備えている。
そして、第一の発明である請求項１記載の神経回路網学習システムの動作方法では、学習実行手段は、教師データ格納手段から教師データを読み込むステップ、読み込んだ教師データのそれぞれについて、教師入力に対する記憶手段に保持された神経回路網の出力である網出力を算出するステップ、算出した網出力とその網出力の目標値である教師出力との個別誤差を算出するステップ、算出した個別誤差に基づいて設定される誤差評価値を最小化するように、記憶手段に保持された神経回路網のシナプス荷重を更新するステップからなる一連のステップを、教師データ毎に算出される全ての個別誤差が、教師データ毎に予め設定された誤差許容範囲内になるまで繰り返し実行する。
【００１６】
しかも、入出力特性が非連続的な変化をする動作領域では、この動作領域の教師データに対応する個別誤差の誤差許容範囲が、それ以外の動作領域のものより大きく設定されている。
このように、本発明の神経回路網学習システムの動作方法によれば、個別誤差の収束し易さに応じて誤差許容範囲が調整されるため、一部の個別誤差が収束しないことにより学習時間が増大したり、収束し易い動作領域の教師データが過剰に学習されたりすることを防止でき、全ての動作領域でバランスよく、しかも短時間で効率よく学習を行うことができる。
【００１７】
また、例えば、エアコンの制御等、特に人間の感覚に影響を与えるような制御を行う場合、感覚への影響が急激に変化するより、滑らかに変化する方が好ましいことが多いと考えられる。このため、学習すべき入出力特性が急激に変化する等、非連続的な変化をする動作領域を含むように設定されている場合には、その動作領域の教師データを必ずしも忠実に学習するのではなく、誤差許容範囲を大きくして、あえて入出力特性（教師データ）に厳密には一致させないことにより、その非連続的な部分の入出力特性を丸めたことに相当する学習結果が得られるようにすれば、人間の感覚に適した滑らかな制御を実現することができる。
【００１８】
これ以外にも、実際に適用される装置の性能等から、学習すべき入出力特性を必ずしも忠実に再現する必要のない動作領域（例えば、実際の装置ではクリップされてしまうような動作領域）を含んでいる場合には、その領域の誤差許容範囲を大きくすることで、より学習時間を短縮することができる。
【００１９】
次に、第二の発明である請求項３記載の神経回路網学習システムの動作方法では、請求項１記載の学習システムの動作方法と同様に、学習実行手段がシナプス荷重の更新，終了を行うが、誤差許容範囲ではなく、個別誤差の設定に特徴を有する。即ち、本発明では、学習実行手段が、各ステップを、教師データ毎に算出される全ての個別誤差が、予め設定された誤差許容範囲内になるまで繰り返し実行すると共に、教師データ毎に、教師出力と網出力との差である出力偏差の許容範囲を設定し、ｐ番目の教師入力に対する網出力をｎp ，出力偏差の許容範囲に相当する網出力の許容範囲を［Ｌp ，Ｕp ］とすると、個別誤差として、
【００２０】
【数４】
0003823554.tif 000003
【００２１】
による算出値ｅｗp を用いている。
なお、図１０（ａ）は、出力偏差ｔp−ｎpを表すグラフ、図１０（ｂ）は、（１）式により算出される個別誤差ｅｗp を表すグラフである。
【００２２】
つまり、本発明では、出力偏差がその許容範囲内になると、個別誤差が０となって誤差評価値に寄与しなくなるため、この個別誤差に対応する教師データの学習が抑制されることになる。また、その抑制された分、他の教師データが集中的に学習されることになるため、バランスよく、しかも短時間で効率よく学習を行うことができる。
【００２３】
そして、請求項４記載のように、学習すべき入出力特性が非連続的な変化をする動作領域では、この動作領域の教師データに対応する出力偏差の許容範囲を、それ以外の動作領域のものより大きく設定するなど、個別誤差の収束し易さに応じて出力偏差の許容範囲を調整すれば、一部の教師データの個別誤差が収束しないことによる学習時間の増大を確実に防止することができ、より短時間で効率よく学習を行うことができる等、上述の第一の発明と同様の効果を得ることができる。
【００２４】
ところで、上記第一及び第二の発明は、学習の終了条件に着目したものであるが、以下に説明する第三の発明では、シナプス荷重の更新に用いる誤差評価値に着目している。即ち、請求項６記載の神経回路網学習システムの動作方法では、学習実行手段は、教師データ格納手段から教師データを読み込むステップ、読み込んだ教師データのそれぞれについて、教師入力に対する記憶手段に保持された神経回路網の出力である網出力を算出するステップ、算出した網出力とその網出力の目標値である教師出力との個別誤差を算出するステップ、算出した個別誤差に基づいて設定される誤差評価値を最小化するように記憶手段に保持された神経回路網のシナプス荷重を更新するステップからなる一連のステップを繰り返し実行する。
【００２５】
そして、特に本発明では、学習実行手段が、誤差評価値として、個別誤差の自乗値と予め設定された重み付け係数との乗算値の平均値である荷重平均自乗誤差和を用いている。つまり、重み付け係数を大きくするほど、その個別誤差に対応する教師データの誤差評価値への寄与度が大きくなり、その教師データの学習が優先的に行われることになる。
【００２６】
しかも、入出力特性が非連続的な変化をする動作領域では、この動作領域の教師データに対応する個別誤差の重み付け係数が、それ以外の動作領域のものより小さな値に設定されている。
このように、第三発明の神経回路網学習システムの動作方法によれば、個別誤差の収束し易さに応じて誤差許容範囲が調整され、一部の個別誤差が収束しないことにより学習時間が増大したり、収束し易い動作領域の教師データが過剰に学習されたりすることを防止できるため、バランスよく、しかも短時間で効率よく学習を行うことができる等、上記第一及び第二の発明と同様の効果を得ることができる。
【００２７】
なお、学習実行手段において、誤差評価値の算出に用いる個別誤差としては、例えば、請求項７記載のように、教師出力と網出力との差である出力偏差を用いることができる他、請求項８記載のように、この出力偏差の許容範囲が教師入力毎に設定され、ｐ番目の教師入力に対する網出力をｎp ，出力偏差の許容範囲に相当する網出力の許容範囲を［Ｌp ，Ｕp ］とした場合には、
【００２８】
【数５】
0003823554.tif 000004
【００２９】
による算出値ｅｗp を用いてもよい。また、上述した神経回路網学習システムの動作方法は、いずれも誤差評価値を与える評価関数を途中で変更してしまうことがないため、請求項２，５，９に記載のように、シナプス荷重の更新に、シナプス荷重の更新を高速に行うことが可能なＢＦＧＳ法を用いることができ、従って、学習の効率をより一層向上させることができる。
【００３０】
更に、上述した神経回路網学習システムにおける学習実行手段は、例えば、コンピュータシステムにて実行されるプログラムにより実現することができる。この場合、請求項１０記載のように、プログラムは、例えば、フロッピー（登録商標）ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ハードディスク等のコンピュータシステムによる読取が可能な記録媒体に記録し、必要に応じてコンピュータシステムにロードして起動することにより用いることができる。この他、ＲＯＭやバックアップＲＡＭをコンピュータシステムによる読取が可能な記録媒体として前記プログラムを記録しておき、このＲＯＭ或いはバックアップＲＡＭをコンピュータシステムに組み込んで用いてもよい。
【００３１】
【発明の実施の形態】
以下に本発明の実施形態を図面と共に説明する。
図１は、本発明が適用された神経回路網学習システム２の概略構成を表すブロック図である。
【００３２】
本実施形態の神経回路網学習システム２は、図１に示すように、検証すべき神経回路網の構造に関するデータからなる神経回路網データファイルＤＦＮ、及び神経回路網の学習に必要なデータからなる学習データファイルＤＦＧを格納するデータファイル格納部４と、データファイル格納部４から神経回路網データファイルＤＦＮを読み込んで、学習対象となる神経回路網ＮＥＴを構成する網構成部６と、網構成部６が構成した神経回路網ＮＥＴ、及びデータファイル格納部４から読み込んだ学習データファイルＤＦＧに基づいて、神経回路網ＮＥＴの学習を実行する学習実行部８と、上記各部に対する各種指令を入力するためのキーボードやマウス等からなる入力操作部１０と、入力操作部１０を操作する手順や学習結果等を表示するためのディスプレイ等からなる表示部１２とを備えている。
【００３３】
なお、本実施形態の神経回路網学習システム２は、ワークステーション等、ＣＰＵ，ＲＯＭ，ＲＡＭ，Ｉ／Ｏポートを中心に構成された周知の汎用計算機上に構成されており、網構成部６，学習実行部８は、ＣＰＵが実行する処理として実現され、また、神経回路網ＮＥＴは、ＲＡＭ上に作成される。また、データファイル格納部４は、ハードディスクや磁気ディスク，フロッピーディスク等の外部記憶装置により構成されている。
【００３４】
また、神経回路網データファイルＤＦＮには、神経回路網ＮＥＴを構成する入力層，中間層，出力層の合計層数ＮＬ，各層毎のユニット数Ｍ1，Ｍ2，…ＭNL、各ユニット間のシナプスの結合関係、出力関数の型等のデータが含まれ、また、学習データファイルＤＦＧには、実現すべき神経回路網の入出力特性に基づいて作成された教師入力及び教師出力からなる教師データ、教師データ毎に設定される誤差許容値等が含まれている。
【００３５】
以下、ＣＰＵにて実行される神経回路網学習処理について、図２に示すフローチャートに沿って説明する。なお、本処理のプログラムは、予めＲＯＭに記憶されていてもよいし、図示しないフロッピーディスク等の外部記憶装置からＲＡＭにロードするようにしてもよい。
【００３６】
本処理が起動されると、まずステップ（以下、単にＳとする）１１０では、入力操作部１０を介して、神経回路網データファイルＤＦＮ及び学習データファイルＤＦＧの各ファイル名が入力されたか否かを判断し、これらが入力されると、Ｓ１２０に移行する。
【００３７】
Ｓ１２０では、Ｓ１１０にて入力されたファイル名に従って、データファイル格納部４から神経回路網データファイルＤＦＮを読み込み、その内容に基づいて学習対象となる神経回路網ＮＥＴを作成，初期化する網構成部６としての処理を実行する。
【００３８】
これにより、ＲＡＭ上には、図３に示すように、それぞれＭｉ個（Ｍ1＋Ｍ2＋…＋ＭNL＝ＮＵ）のユニットにより構成された入力層（第１層），中間層（第２〜（ＮＬ−１）層），出力層（第ＮＬ層）と、伝達信号を伝送するために各層間のユニットＵj を結合するシナプスとからなる神経回路網ＮＥＴが構成される。なお、図には、出力層のユニット数が１個（ＭNL＝１）の場合を示しているが、複数（ＭNL≧２）であってもよい。
【００３９】
このうち、入力層（第１層）のユニットＵm （ｍ＝１，２，…，Ｍ1 ）は、入力信号ｘm を、そのまま次層への伝達信号ｏm として出力し、また、中間層（第２〜（ＮＬ−１）層）及び出力層（第ＮＬ層）のユニットＵj （ｊ＝Ｍ1＋１， Ｍ1＋２，…，ＮＵ） は、前層である第（ｎ−１）層のユニットＵk からの伝達信号ｏk に対するシナプス荷重をωjk，ユニットＵj でのバイアスをｂj ，ユニットＵj に伝達信号ｏk を送るユニットＵk の番号の集合をＣ(ｊ)として、重み付け信号netjを（５）式にて算出し、更に、神経回路網データファイルＤＦＮにて定義された出力関数（例えばシグモイド関数ｆ(ｘ)＝１／｛１＋ｅｘｐ(−ｘ)｝）を用いて、（６）式により、次層への伝達信号ｏj を生成するように構成されている。但し、出力層が生成する伝達信号ｏNUが、当該神経回路網ＮＥＴの出力である網出力ｎ(ｘ)となる。
【００４０】
【数６】
0003823554.tif 000005
【００４１】
なお、このようにＳ１２０にて神経回路網ＮＥＴが構成された時に、各シナプス荷重は、適当な値（例えば１）に初期化される。
以下のステップでは、学習によってこの神経回路網ＮＥＴのシナプス荷重を更新する学習実行部８としての処理を実行する。
【００４２】
即ちＳ１３０では、学習によるシナプス荷重の更新回数を表すカウント値Ｃを０クリアする。
続くＳ１４０では、先のＳ１１０にて入力されたファイル名に従って学習データファイルＤＦＧを読み込み、その学習データファイルＤＦＧに設定された全て（Ｐ個）の教師データについて、各教師入力に対する神経回路網ＮＥＴの出力である網出力ｎp （ｐ＝１，２，…Ｐ）を、Ｓ１２０にて構成した神経回路網ＮＥＴを用いて求める。
【００４３】
続くＳ１５０では、各教師データ毎に、（７）式に示すように、その教師出力ｔp から、Ｓ１４０にて求めた網出力ｎp を減じることにより個別誤差ｅp を求める。
ｅp＝ｔp−ｎp                                             （７）
続くＳ１６０では、誤差評価値Ｅとして、（８）式に示すように、Ｓ１５０にて求めた個別誤差の自乗値ｅp2の平均値を求める。
【００４４】
【数７】
0003823554.tif 000006
【００４５】
そして、Ｓ１７０では、教師データに対する神経回路網ＮＥＴの出力の誤差が、許容範囲内に収束したか否かを判断する。
ここでは、全ての教師データについて、予め設定された誤差許容範囲［εLp，εUp］内に、いずれの個別誤差ｅp も納まっているか否かを判断する。
【００４６】
そして、肯定判定された場合には、十分に誤差が収束しているものとして、そのまま本処理を終了し、一方、否定判定された場合には、まだ十分に誤差が収束していないものとしてＳ１８０に移行する。
Ｓ１８０では、シナプス荷重の更新回数を表すカウント値Ｃが、予め設定された上限値Ｃthより小さいか否かを判断し、カウント値Ｃが上限値Ｃthに達していて否定判定された場合には、そのまま本処理を終了する。即ち、これは、何等かの原因で誤差が収束しない場合に、強制的に学習を終了させるためのものである。
【００４７】
一方、Ｓ１８０にて肯定判定された場合には、Ｓ１９０に移行し、先のＳ１６０にて求めた誤差評価値Ｅに基づき、この誤差評価値が最小化されるように、シナプス荷重を更新する。なお、ここでは、公知のＢＦＧＳ法を用いている。
続くＳ２００では、シナプス荷重の更新回数を表すカウント値Ｃをインクリメント（Ｃ←Ｃ＋１）した後Ｓ１４０に戻り、以後、Ｓ１４０〜Ｓ２００の処理を繰り返し実行する。
【００４８】
即ち、本処理においては、全ての教師データについて、許容誤差範囲［εLp，εUp］内に個別誤差ｅp がいずれも納まるか、又はシナプス荷重の更新回数が上限値Ｃthに達するまで、シナプス荷重の更新が繰り返し実行されることにより、神経回路網ＮＥＴが学習されることになる。
【００４９】
ここで、このようにして学習された神経回路網が適用される装置の一例として、図４にオートカーエアコンの制御装置を示す。
この制御装置２０では、図４に示すように、吹出口温度の目標値Ｔｍを設定するための目標温度設定器２１と、車外の温度（外気温）Ｔｇを検出する外気温センサ２２と、車室内の温度（内気温）Ｔｎを検出する内気温センサ２４と、日射量Ｔｓを検出する日射センサ２６と、これら設定器２１にて設定された目標温度Ｔｍ及び各センサ２２，２４，２６にて検出された外気温Ｔｇ，内気温Ｔｎ，日射量Ｔｓに基づいてカーエアコンの基本吹出口温度ＴＡ，使用する吹出口（足側，顔側，窓側等）を指定するためのモードＭＤ，吹出口から吹き出される風量ＶＡを制御するための制御信号ＳTA，ＳMD，ＳVAを生成して、オートカーエアコンユニット（ＯＣＵ）３０に供給するオートカーエアコン制御ＥＣＵ（以下、単にＥＣＵとよぶ）２８とを備えている。
【００５０】
このうち、ＥＣＵ２８は、各制御信号ＳTA，ＳMD，ＳVAを生成するため、基本吹出口温度制御用の第１神経回路網Ｎ１，モード制御用の第２神経回路網Ｎ２，風量制御用の第３神経回路網Ｎ３という三つの神経回路網を備えている。
そして、第１神経回路網Ｎ１は、設定器２１及び各センサ２２，２４にて検出された目標温度Ｔｍ，外気温Ｔｇ，内気温Ｔｎ，を入力とし、一つの制御信号ＳMDを出力するため、３個のユニットからなる入力層と、１個のユニットからなる出力層とを備えており、また、第２及び第３神経回路網Ｎ２，Ｎ３は、更に、センサ２６にて検出された日射量Ｔｓも入力として、それぞれが一つの制御信号ＳTA，ＳVAを出力するため、４個のユニットからなる入力層と、１個のユニットからなる出力層とを備えている。但し、中間層の数及び中間層を構成するユニットの数は、各神経回路網Ｎ１〜Ｎ３毎にそれぞれ設定される。
【００５１】
これら神経回路網Ｎ１〜Ｎ３の学習を、基本吹出口温度制御用の第１神経回路網Ｎ１を例にして説明する。なお、第１神経回路網Ｎ１と他の神経回路網Ｎ２，Ｎ３とでは、実現すべき入出力特性が異なるだけであり、全く同様の手順にて学習が行われる。
【００５２】
まず、図５（ａ）に、基本吹出口温度の制御仕様、即ち、第１神経回路網Ｎ１が実現すべき入出力特性を示す。但し、基本吹出口温度ＴＡの制御仕様は、例えば、（９）式により与えられるものであり、図５（ａ）に示すグラフは、外気温Ｔｇ，目標温度Ｔｍを固定し、内気温Ｔｎについてのみ変化させたものを示す。なお、Ａ，Ｂ，Ｃ，Ｄは定数である。
【００５３】
ＴＡ＝Ａ×Ｔｎ＋Ｂ×Ｔｇ＋Ｃ×Ｔｍ＋Ｄ                    （９）
この（９）式から算出される基本吹出口温度ＴＡは、−１００℃〜４００℃の範囲を取るものとし、一方、ＯＣＵ３０が実際に実現できる基本吹出口温度ＴＡは、−２０℃〜１２０℃の範囲であるものとする。このため、ＯＣＵ３０では、図５（ｂ）に示すように、ＥＣＵ２８からの制御信号ＳTAが、−２０℃以下を要求していれば−２０℃に、また１２０℃以上を要求していれば１２０℃にクリッピングして制御に使用するようにされている。
【００５４】
このようなカーエアコンの制御装置２０に使用される神経回路網Ｎ１の学習を実行する際には、まず、学習データファイルＤＦＧを次のように作成する。
即ち、図６に示すように、基本吹出口温度制御仕様に基づき、そのグラフ上の複数点（ここではＰ個）について、入力（教師入力）と出力（教師出力）との組からなる教師データを設定する。
【００５５】
そして、教師出力ｔp （ｐ＝１，２，…Ｐ）の大きさに応じて、動作領域をｔp ≧１２０℃、−２０℃＜ｔp ＜１２０℃，ｔp ≦−２０℃の三つに分割し、各動作領域毎の誤差許容範囲を［表１］に示すように設定する。なお、［表１］には、この誤差許容範囲に相当する網出力ｎp の許容範囲も示す。
【００５６】
【表１】
0003823554.tif 000007
【００５７】
次に、このように設定された学習データファイルＤＦＧを用い、上述の神経回路網学習システム２により学習処理を行わせた結果、得られた第１神経回路網Ｎ１の入出力特性を図７（ａ）に示す。
【００５８】
図７（ａ）に示すように、本実施形態での学習結果では、内気温Ｔｎが−２０℃以下及び１２０℃以上の両動作範囲で大きくばらつくが、ＯＣＵ３０にてその両動作範囲の特性がクリッピングされ、実際には図７（ｂ）に示すような入出力特性が実現されることになる。
【００５９】
ここで、比較のため、誤差許容範囲の幅が一律（［−１，１］）に設定された従来の学習方法を適用することにより得られる入出力特性を図８示す。
即ち、従来の方法では、図７（ａ）に示すような入出力特性になっても、学習が終了せず、図８に示すような入出力特性が実現されるまで、学習が無駄に継続されるのである。
【００６０】
以上説明したように、本実施形態によれば、実現すべき入出力特性に対して忠実に一致させる必要のない動作領域では、個別誤差ｅp の誤差許容範囲（ひいては網出力ｎp の許容範囲）が大きく設定されており、ＯＣＵ３０が実際に必要な動作範囲（−２０℃〜１２０℃）だけ個別誤差ｅp が十分に収束すれば、直ちに学習が終了するため、誤差許容範囲が一律に設定された従来の学習方法に比べて、神経回路網の学習を短時間で効率よく行うことができる。
【００６１】
また、本実施形態によれば、（８）式に示す誤差評価値Ｅを算出するための評価関数が、学習中に変更されてしまうことがないため、シナプス荷重の更新に、高速な学習法であるＢＦＧＳ法を用いることができ、神経回路網の学習をより短時間で行うことができる。
【００６２】
なお、本実施形態では、誤差許容範囲として、無限大（±∞）を用いているが、計算機上で無限大を表現することが困難である場合には、神経回路網が出力する可能性のない十分に大きな値、例えばこの場合には、１×１０4 ，−１×１０-4程度に置き換えてもよい。
［第２実施形態］
次に、第２実施形態について説明する。
【００６３】
なお、本実施形態は、第１実施形態とは、Ｓ１５０での個別誤差ｅp の算出方法、及び学習データファイルＤＦＧの内容が一部異なるだけであるため、この相異する部分を中心に説明する。
即ち、本実施形態では、図２に示す神経回路網学習処理のＳ１５０において、個別誤差ｅｗp を（７）式の代わりに（１０）式を用いて算出し、従って、続くＳ１６０において、誤差評価値Ｅを（８）式の代わりに（１１）式を用いて求めるようにされている。
【００６４】
【数８】
0003823554.tif 000008
【００６５】
なお、個別誤差ｅｗp が０となる網出力ｎp の範囲［Ｌｐ，Ｕｐ］は、先の［表１］に示した網出力ｎp の許容範囲と一致するように設定されており、本実施形態における学習データファイルＤＦＧでは、Ｓ１７０にて個別誤差ｅｗp が収束したか否かを判断するために用いる誤差許容範囲が０に設定されている。
【００６６】
このような条件の元で、神経回路網学習システム２に学習処理を行わせると、個別誤差ｅｗp が０となる動作領域では、その個別誤差ｅｗp に対応する教師データの誤差評価値Ｅへの寄与がゼロとなるため、その教師データの学習が抑制されることになり、また、その抑制された分、他の教師データが集中的に学習されることになる。しかも、実現すべき入出力特性に対して忠実に一致させる必要のない動作領域では、個別誤差ｅp が０となる動作領域が大きく設定されているため、ＯＣＵ３０が実際に必要な動作範囲（−２０℃〜１２０℃）のみ集中的に学習されることになる。
【００６７】
しかも、本実施形態によれば、（１１）式に示す誤差評価値Ｅを算出するための評価関数が、学習中に変更されてしまうことがないため、第１実施形態と同様に、シナプス荷重の更新に、高速な学習法であるＢＦＧＳ法を用いることができ、神経回路網の学習をより短時間で行うことができる。
【００６８】
なお、本実施形態では、個別誤差が０となる網出力ｎp の範囲［Ｌｐ，Ｕｐ］を、第１実施形態における誤差許容範囲に相当するように設定したが、これより小さな範囲に設定してもよい。
［第３実施形態］
次に第３実施形態について説明する。
【００６９】
なお、本実施形態は、第１実施形態とは、Ｓ１６０での誤差評価値の算出方法、及び学習データファイルＤＦＧの内容が一部異なるだけであるため、この相異する部分を中心に説明する。
即ち、本実施形態では、図２に示す神経回路網学習処理のＳ１６０において、誤差評価値Ｅを（７）式の代わりに、各個別誤差の自乗値ｅp2に重み付け係数Ｃp を乗じ、その乗算値の平均値を算出する（１２）式を用いて求めるようにされている。
【００７０】
【数９】
0003823554.tif 000009
【００７１】
また、学習データファイルＤＦＧには、教師データ毎に設定された重み付け係数Ｃp が含まれており、個別誤差の誤差許容値は、一律に同じ値に設定されている。
【００７２】
このような条件の元で、神経回路網学習システム２に学習処理を行わせると、重み付け係数Ｃp が大きな値に設定された動作領域の個別誤差ｅp ほど、その個別誤差ｅp に対応する教師データの誤差評価値Ｅへの寄与度が大きくなり、その教師データの学習が優先的に行われることになる。
【００７３】
例えば、重み付け係数をＣp を、第１の動作領域ではＣp ＝１，第２の動作領域ではＣp ＝０．１とした場合、第１の動作領域の教師データは、第２の動作領域の教師データより１０倍も寄与度が大きい。
従って、実現すべき入出力特性が非連続的な変化をする動作領域では、この動作領域の教師データに対応する個別誤差の重み付け係数を、それ以外の動作領域のものより小さく設定する等、個別誤差の収束し易さに応じて誤差許容範囲を調整すれば、一部の個別誤差が収束しないことにより学習時間が増大したり、収束し易い動作領域の教師データが過剰に学習されたりすることを防止できるため、バランスよく、しかも短時間で効率よく学習を行うことができる。
【００７４】
ここで、重み付け係数Ｃp を用いて誤差評価値Ｅを求める本実施形態の学習方法と、重み付け係数Ｃp を用いないで誤差評価値Ｅを求める従来の学習方法との比較実験について説明する。
なお、比較実験には、学習が行われる神経回路網ＮＥＴとして、ユニット数１の入力層，ユニット数８の中間層，ユニット数１の出力層の３層構造からなるものを用い、また、この神経回路網ＮＥＴに学習させるべき入出力特性として、図９（ａ）に示すように入力ｘに対して出力ｙ＝ｈ(ｘ)が０〜１の間を周期的に変化するものを用い、また、教師データは、次の（１３）式にて定義される２０１個のデータを用いた。
【００７５】
（ｘp，ｔp）＝（ｐ／２００，ｈ(ｐ／２００)）            （１３）
但し、ｐ＝０，１，…２００である。
また、重み付け係数Ｃp は、入出力特性の動作領域を教師出力ｔｐが連続的に変化する第１の領域（０．１＜ｔｐ＜０．９）と、非連続的に変化する第２の領域（ｔｐ≦０．１，ｔｐ≧０．９）とに分割し、以下のように設定した。
【００７６】
Ｃｐ＝１      （０．１＜ｔｐ＜０．９）
Ｃｐ＝０．１  （ｔｐ≦０．１，ｔｐ≧０．９）
そして、本実施形態では、（１４）式にて算出される誤差評価値Ｅ１を、従来方法では、（１５）式にて算出される誤差評価値Ｅ２を最小化するように、いずれもＢＦＧＳ法にてシナプス荷重を更新するものとした。
【００７７】
【数１０】
0003823554.tif 000010
【００７８】
また、カウント値Ｃの上限値をＣth＝５００とし、また、許容誤差範囲は、動作領域によらず一律に［−０．２，０．２］とした。
そして、シナプス荷重の初期値を乱数により適当に設定し、初期値を変化させながら、本実施形態の学習方法と従来の学習方法とを、それぞれ１０回ずつ試行した結果を［表２］に示す。
【００７９】
【表２】
0003823554.tif 000011
【００８０】
なお、最大誤差とは、個別誤差の絶対値｜ｅp｜＝｜ｔp−ｎp｜ の最大値であり、収束性は、最大誤差が許容誤差の絶対値（０．２）以下であれば収束したものとして○、許容誤差より大きければ収束しなかったものとして×にて示した。
【００８１】
また、試行番号１についてのみ、学習の結果として実現された入出力特性を、図９（ｂ），（ｃ）に示す。
従来の学習方法では、１０試行のうち１試行でしか収束しなかったのに対し、本実施形態の学習方法では、８試行で収束した。また、本実施形態の学習方法では、誤差評価値及び最大誤差ともに小さく、実現すべき入出力特性をより精度よく実現できることが確認された。
【００８２】
更に、図９（ｂ）に示すように、従来の学習方法では、教師入力ｘ＜０．５の範囲にて、第２の領域（ｔｐ≦０．１，ｔｐ≧０．９）での過学習が見られ、教師入力ｘ≧０．５の範囲では、実現すべき入出力特性に全く追従していない。これに対し、本実施形態の学習方法では、図９（ｃ）に示すように、第１の領域（０．１＜ｔｐ＜０．９）では、実現すべき入出力特性に精度よく近似されており、また、第２の領域（ｔｐ≦０．１，ｔｐ≧０．９）では、不連続に変化する地点を平滑化した滑らかな入出力特性が実現されていることも確認された。
【００８３】
なお、本実施形態では、個別誤差ｅp として出力偏差ｔp−ｎpを用いたが、第２実施形態と同様に（１０）式にて定義された個別誤差ｅｗp を用いてもよい。
また、上記第１〜第３実施形態では、制御対象としてＯＣＵ３０を用いて説明したが、例えばアンチスキッドシステムの制御、ＦＡ機器制御、ＥＦＩ制御等をはじめとする様々な制御に用いることができることは言うまでもない。
【００８４】
更に上記第１〜第３実施形態では、シナプス荷重の更新にＢＦＧＳ法を用いているが、その他の方法を用いてもよい。特にＢＦＧＳ法のように、誤差評価値を算出するための評価関数が学習途中で変更されないことを前提とする方法に対して好適に用いることができる。
【図面の簡単な説明】
【図１】  神経回路網学習システムの概略構成を表すブロック図である。
【図２】  神経回路網学習処理の内容を表すフローチャートである。
【図３】  神経回路網の構成を表す説明図である。
【図４】  オートカーエアコンの制御装置の構成を表すブロック図である。
【図５】  基本吹出口温度の制御仕様を表すグラフである。
【図６】  教師データの設定方法を表す説明図である。
【図７】  学習の結果得られた神経回路網の入出力特性を表すグラフである。
【図８】  従来方法による学習結果を表すグラフである。
【図９】  比較実験に用いた神経回路網の制御仕様、及び学習結果を表すグラフである。
【図１０】  個別誤差の設定内容をグラフ化した説明図である。
【図１１】  従来の学習方法の問題点を表す説明図である。
【図１２】  従来の学習方法の問題点を表す説明図である。
【符号の説明】
２…神経回路網学習システム      ４…データファイル格納部
６…網構成部      ８…学習実行部    １０…入力操作部
１２…表示部      ２０…制御装置      ２１…目標温度設定器
２２…外気温センサ    ２４…内気温センサ    ２６…日射センサ
２８…オートカーエアコン制御ＥＣＵ    ＤＦＧ…学習データファイル
ＤＦＮ…神経回路網データファイル    ＮＥＴ，Ｎ１〜Ｎ３…神経回路網
【図１】
0003823554.tif 000014
【図２】
0003823554.tif 000015
【図３】
0003823554.tif 000016
【図４】
0003823554.tif 000017
【図５】
0003823554.tif 000018
【図６】
0003823554.tif 000019
【図７】
0003823554.tif 000020
【図８】
0003823554.tif 000021
【図９】
0003823554.tif 000022
【図１０】
0003823554.tif 000023
【図１１】
0003823554.tif 000024
【図１２】
0003823554.tif 000025