(57)【特許請求の範囲】
【請求項１】
入力信号ベクトルと教師信号ベクトルを入力とし、出力信号ベクトルを出力とするニューラルネットワークの学習方式において、
前記出力信号ベクトルと前記教師信号ベクトルの差分ベクトルを計算する差分計算手段と、
前記教師信号ベクトルの各要素値の誤差範囲を表す上限値と下限値の組を要素として誤差範囲ベクトルとし、前記差分ベクトルの各要素値が前記誤差範囲ベクトルの対応する要素の上限値と下限値の範囲内に入っているか否かを判定する誤差比較手段と、
前記誤差比較手段においてすべての要素値が誤差範囲ベクトルの対応する要素の上限値と下限値の範囲内と判定された場合はニューラルネットワークに入力信号ベクトル及び教師信号ベクトルの組を学習しない指示を行い、そうでない場合はニューラルネットワークに入力信号ベクトル及び教師信号ベクトルの組を学習する指示を行う学習指示手段とを有することを特徴とするニューラルネットワークの学習方式。
【請求項２】
前記教師信号ベクトルの各要素値の誤差は、前記教師信号ベクトルを計測により得ることによる計測誤差であり、上限値と下限値で表される誤差範囲に分布することを特徴とする請求項１に記載のニューラルネットワークの学習方式。
【請求項３】
前記教師信号ベクトルの各要素値の誤差は、前記誤差範囲に一様分布することを特徴とする請求項２に記載のニューラルネットワークの学習方式。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、入力信号ベクトルと教師信号ベクトルを入力とし、出力信号ベクトルを出力とするニューラルネットワークの学習方式に関する。
【０００２】
【従来の技術】
入力信号ベクトルと教師信号ベクトルを入力とし、出力信号ベクトルを出力とするニューラルネットワークは、パターン分類、関数同定に基づく予測等を低コストで実現することが可能な実用的手法である。入力信号ベクトルとは、ニューラルネットワークに入力される、一般に多次元の信号のベクトルであり、出力信号ベクトルとは、入力信号ベクトルをニューラルネットワークに入力した時にニューラルネットワークから出力される、一般に多次元の信号のベクトルである。また、教師信号ベクトルとは、ある入力信号ベクトルをニューラルネットワークに入力したときの出力信号ベクトルとして望ましい信号、すなわち模範値とでもいうべき信号のベクトルである。
【０００３】
さて、ニューラルネットワークにパターン分類、予測等を行わせる場合は、それに先立ち、ニューラルネットワークに学習用データセットの学習を行わせておく必要がある。学習用データセットは、入力信号ベクトルと教師信号ベクトルとの組のサンプルの集合で、個々のデータを人為的に作成する場合と、実際の物理的、化学的プロセスから計測によって得る場合とがある。前者の例としては、文字分類を行わせるニューラルネットワークの学習用データセットを作成する場合で、文字とその分類先は操作者が与える。後者の例としては、ある物理系の伝達関数を同定するためのニューラルネットワークの学習用データセットを作成する場合で、系の入力信号および出力信号を計測して、それらをそれぞれ入力信号ベクトルおよび教師信号ベクトルとする。
【０００４】
パターン分類、関数同定による予測等が可能なニューラルネットワークとしては、パーセプトロン、(M)ADALINE、バックプロパゲーションネットワーク等が挙げられる。中でもバックプロパゲーションネットワークは、理論的には任意の関数を近似できることが知られており、応用範囲の広いモデルである。これらのモデルの学習方式は、学習用データセットの中のある入力信号ベクトルをニューラルネットワークに入力した時のニューラルネットワークの出力信号ベクトルとそれに対する教師信号ベクトルとの差の、学習用データセットすべてについての自乗和を最小化する方向（最急降下方向）に内部構造を少しずつ変更することで学習を行うというもので、通常はこのような動作を何回も繰り返すことで出力信号ベクトルの精度を徐々に高めていく。学習がうまく収束すれば、学習用データセットの中の任意の入力信号ベクトルをニューラルネットワークに与えると、ニューラルネットワークはそれに対する教師信号ベクトルに（限りなく）近い出力信号ベクトルを出力する。
【０００５】
特に、バックプロパゲーションネットワークにおける学習方式は、 D. E. Rumelhart, G. E. Hinton, R. J. Williamsによる "Learning Internal Representations by Error Propagation" ( Parallel Distributed Processing, D. E. Rumelhart, J.L.McClelland, and the PDP Research Group, MIT Press, 1986)に示されている。
【０００６】
【発明が解決しようとする課題】
入力信号ベクトルと教師信号ベクトルを入力とし、出力信号ベクトルを出力とするニューラルネットワークの学習に用いる教師信号ベクトルを、物理的計測手段、または化学的計測手段、あるいはその他の計測手段によって得る場合、多くの場合は計測値には定量的計測誤差が含まれている。したがって、入力信号ベクトルが同一であっても、それに対する教師信号ベクトルは計測誤差のため一般には一致しない。このような信号について従来の学習方式を適用した場合、教師信号ベクトルの含んでいる計測誤差に影響を受け、正しい学習を行わせるのが困難であるという問題点があった。
【０００７】
本発明は、かかる従来の学習方式の問題点に鑑み、教師信号ベクトルが誤差を含んでいる場合においても、正しく、かつ高速にニューラルネットワークに学習を行わせる学習方式を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明による学習方式は、教師信号ベクトルが含んでいる誤差を考慮した学習をさせることにより、正しい学習を高速に行わせるようにしたもので、入力信号ベクトルと教師信号ベクトルを入力とし、出力信号ベクトルを出力とするニューラルネットワークの学習方式において、前記出力信号ベクトルと前記教師信号ベクトルの差分ベクトルを計算する差分計算手段と、前記教師信号ベクトルの各要素値の誤差範囲を表す上限値と下限値の組を要素として誤差範囲ベクトルとし、前記差分ベクトルの各要素値が前記誤差範囲ベクトルの対応する要素の上限値と下限値の範囲内に入っているか否かを判定する誤差比較手段と、前記誤差比較手段においてすべての要素値が誤差範囲ベクトルの対応する要素の上限値と下限値の範囲内と判定された場合はニューラルネットワークに入力信号ベクトル及び教師信号ベクトルの組を学習しない指示を行い、そうでない場合はニューラルネットワークに入力信号ベクトル及び教師信号ベクトルの組を学習する指示を行う学習指示手段とを有するものである。
【０００９】
【作用】
本発明の構成および作用を図を用いて詳細に説明する。
図１において、Ｊ次元の入力信号ベクトルとＫ次元の教師信号ベクトルの組Ｎ個からなる学習用データセットのＰ番目（1 ≦Ｐ≦Ｎ）の入力信号ベクトル１（IP）をニューラルネットワーク３に入力し、Ｋ次元の出力信号ベクトル４（OP）を得る。
【００１０】
次に、差分計算部５にて、出力信号ベクトル４（OP）から教師信号ベクトル２（TP）を減算する。この結果得られる差分ベクトルＤのｉ番目の要素をDi、出力信号ベクトル４（OP）及び教師信号ベクトル２（TP）のｉ番目の要素をそれぞれOPi 、TPi とすると、
Di = OPi - TPi  (1  ≦ i  ≦ K)
である。
【００１１】
このようにして得られた差分ベクトルが、計測誤差の範囲を示す誤差範囲ベクトル７の範囲内に入っているか否かの判定を誤差比較部６にて行う。この比較は次のように行う。何らかの計測手段によって得られた教師信号ベクトルのｉ番目（1 ≦ｉ≦Ｋ）の値Tiの真の値がViであるとき、Tiの誤差範囲が、
Ai  ≦ Vi - Ti  ≦ Bi
であるとすると、誤差比較部６は、差分ベクトルＤのｉ番目の要素Diにおいて、
Ai  ≦ Di ≦ Bi
がすべてのi （1 ≦ｉ≦Ｋ）について成り立つか否かの判定を行う。判定結果は「真」または「偽」のいずれかで、これが学習指示部８に渡される。
【００１２】
学習指示部８は、誤差比較部６から渡された値が「偽」であるときには、ニューラルネットワーク３に対し、入力信号１（IP）と教師信号２（TP）の組を学習する指示を出す。ニューラルネットワーク３はそれ本来の学習方式で学習を行う。一方、誤差比較部６から渡された値が「真」であるときには、学習指示部８はニューラルネットワーク３に対して学習指示を出さない。ニューラルネットワーク３は、入力信号１（IP）と教師信号２（IP）の組については学習しない。
【００１３】
以上の処理をすべてのＰに対して行うことを１サイクルとし、これをある所定のサイクル数だけ繰り返し行うか、または、あるサイクルにおいて、すべてのＰについて誤差比較部８の出力が１度も「偽」とならなかった場合に、ニューラルネットワーク３の学習を終了する。
【００１４】
この方式により、教師信号ベクトルに誤差が含まれている場合も正しい学習を実行できる。しかも、学習用データセットのすべての要素について常に学習計算を行うわけではないので、学習に要する時間が短縮される。
【００１５】
【実施例】
次に、本発明の具体的な実施例を図面を用いて説明する。
ここでは、３層バックプロパゲーションネットワークを用いて、入出力系の入力と出力の関係を示す関数を同定する場合を例として説明する。対象となっている系は２入力１出力で、２個の入力信号ｘ、ｙは、
ｚ= 0.8sin( ｘ＋ｙ) ＋0.1                   (1)
という関数で１個の出力信号ｚに変換されているものとする。
【００１６】
ところが、何らかの計測手段によって得られる出力信号ｚは、[-0.05, 0.05] に一様分布する計測誤差を含んでいるものとする。すなわち、あるｘとｙに対する系の出力信号の計測値ｕは、
ｕ= ｚ+ ｗ
である。ｗは真の出力信号値ｚに含まれる計測誤差で、[-0.05, 0.05] の一様乱数である。結局、「あるｘとｙを入力したらｕという出力が観測された」ということだけが、対象の系について外部から知り得るすべてであるとする。
【００１７】
さて、ある入力信号(x, y)とそれに対する出力信号の計測値(u) の組につき、２次元ベクトル(x, y)をニューラルネットワークの入力信号ベクトル、１次元ベクトル(u) を教師信号ベクトルとして、このようなサンプルの組を多数集めたものを学習用データセットとする。これをニューラルネットワークに学習させることによって、対象としている系の入出力関係を同定する。
【００１８】
このような目的に本発明を適用した場合の動作の様子を図２に示す。
図２において、学習用データセットの１番目が与える入力信号ベクトル１のｘ、ｙの値はそれぞれ0.125 、0.084 である。これをニューラルネットワーク３に入力し、ニューラルネットワーク３の演算を行って得られた出力信号ベクトル４の値は0.332 である。次に、出力信号ベクトル４の値から教師信号ベクトル２の値である0.255 を減算した差分ベクトルの値0.077 が、差分計算部５にて算出される。誤差比較部６では、差分算出部５の演算結果である0.077 が、誤差範囲ベクトル７が与える[-0.05, 0.05] に入っているか否かをチェックする。
【００１９】
0.077 ＞0.05であり、0.077 は誤差範囲[-0.05, 0.05] に入っていないので、誤差比較部６は「偽」という値を学習指示部８に渡す。「偽」という値を受けた学習指示部８は、ニューラルネット３に対し、入力信号ベクトル１と教師信号ベクトル２の組を学習するよう指示を出す。ニューラルネットワーク３は入力信号ベクトル１と教師信号ベクトル２の組について学習演算を行う。
【００２０】
また、図２において、学習用データセットの２番目が与える入力信号ベクトル１のｘ、ｙの値はそれぞれ0.535 、0.948 である。これをニューラルネットワーク３に入力し、ニューラルネットワーク３の演算を行って得られた出力信号ベクトル４の値は0.885 である。次に、出力信号ベクトル４の値から教師信号ベクトル２の値である0.864 を減算した差分ベクトルの値0.021 が、差分計算部５にて算出される。誤差比較部６では、差分算出部５の演算結果である0.021 が、誤差範囲ベクトル７が与える[-0.05, 0.05] に入っているか否かをチェックする。-0.05 ≦ 0.021  ≦ 0.05 であり、0.021 は誤差範囲[-0.05, 0.05] に入っているので、誤差比較部６は「真」という値を学習指示部８に渡す。「真」という値を受けた学習指示部８は、ニューラルネット３に対し、入力信号ベクトル１と教師信号ベクトル２の組を学習する指示を出さない。この結果、ニューラルネットワーク３は入力信号ベクトル１と教師信号ベクトル２の組について学習演算を行わない。
【００２１】
このような動作を学習用データセットすべて（図２では 100個）に対して適用する。この動作を１サイクルとすると、これを 100サイクル繰り返した結果と、従来の学習方式（入力信号ベクトルと教師信号ベクトルを毎回必ず学習する方式）を 100サイクル繰り返した場合の結果とを比較したものを図３に示す。図３は、ニューラルネットワークの学習を開始してからの経過時間と、
【００２２】
【数１】
0003751982.tif 000002
【００２３】
で定義される学習誤差Ｅとの関係をプロットしたグラフである。
【００２４】
これより、本発明による方式が、従来方式よりも学習誤差が早い時期に小さくなることがわかる。例えば、学習誤差が1.0 に達するまでに要する時間は、従来方式によると3.0 秒であるのに対し、本発明によると2.4 秒である。
【００２５】
また、100 回の繰り返し学習をするのに要する時間は、従来方式によれば15.9秒であるのに対し、本発明によれば11.5秒であり、従来方式よりも短い時間で学習が終了していることがわかる。
【００２６】
図４は、学習用データセットの 100個の要素について、入力信号ベクトル（２次元）の２個の値の和を横軸に、それに対する教師信号ベクトル（１次元）の値を縦軸にとってプロットしたグラフである。また、グラフ中の３本の曲線は、(1) 式で与えられる曲線と、それから±0.05だけ離れた曲線のグラフである。これより、教師信号ベクトルの値は、(1) 式で与えられるｚを中心に±0.05の範囲内を振れていることが分かる。
【００２７】
図５は、本発明による方法で学習を行ったニューラルネットワークに、学習用データセットの 100個すべての入力信号ベクトル（２次元）を与えた場合について、グラフの横軸にニューラルネットワークに入力した入力信号ベクトルの要素の和を、縦軸にニューラルネットワークの出力信号ベクトルの値をプロットしたグラフである。グラフ中の３本の曲線は、図４と同様に(1) 式で与えられる曲線と、それから±0.05だけ離れた曲線のグラフである。ニューラルネットワークの出力信号値の大部分が、(1) で与えれらるｚの±0.05の範囲内に入っていることが分かる。
【００２８】
図３、図５より、本発明による方法でニューラルネットの学習を行うことで関数の同定を行った場合、入力信号ベクトルと誤差を含んだ教師信号ベクトルからもとの関数をよく近似した関数を、短時間で同定できることが分かる。
【００２９】
【発明の効果】
本発明によれば、教師信号ベクトルの誤差範囲が既知である場合に、ニューラルネットワークの学習計算において、出力信号ベクトルと教師信号ベクトルの差分ベクトルのすべての要素値が、誤差範囲ベクトルの対応する要素の上限値と下限値の範囲内にある場合は学習計算を行わないようにしているから、教師信号ベクトルに誤差が含まれている場合も正しい学習を実行でき、かつ、学習に要する時間が短縮される。
【図面の簡単な説明】
【図１】本発明の構成を示すブロック図である。
【図２】本発明の一実施例における信号値を示す図である。
【図３】本発明と従来方式の学習誤差の減少速度を比較した図である。
【図４】学習用データセットの入力信号ベクトルと教師信号ベクトルの関係を示す図である。
【図５】本発明による方式で学習を終えたニューラルネットワークにおける学習用データセットの入力信号ベクトルと、出力信号ベクトルの関係を示す図である。
【符号の説明】
１  入力信号ベクトル
２  教師信号ベクトル
３  ニューラルネットワーク
４  出力信号ベクトル
５  差分計算部
６  誤差比較部
７  誤差範囲ベクトル
８  学習指示部
【図１】
0003751982.tif 000003
【図２】
0003751982.tif 000004
【図３】
0003751982.tif 000005
【図４】
0003751982.tif 000006
【図５】
0003751982.tif 000007