(57)【特許請求の範囲】
【請求項１】
ニューラルネットワークの学習を行なう装置であって、
それぞれ複数のニューロンを有する入力層と中間層と、ｎ個（ｎは１以上の整数）のニューロンを有する出力層とを備えた多層構造のニューラルネットワークと、
前記ニューラルネットワークに学習させるべき学習データとして、前記入力層に与える学習入力データと、前記出力層から出力されるべきｎ個の第１の学習出力データと、それぞれ所定の関数に従って前記ｎ個の第１の学習出力データに従属するｍ個（ｍは１以上の整数）の第２の学習出力データとを含む複数組の学習データを記憶する学習データ格納手段と、
前記ニューラルネットワークの前記入力層に前記学習入力データを与えて得られたｎ個の第１の出力データから、前記所定の関数に従ってｍ個の第２の出力データを算出する出力データ算出手段と、
前記（ｎ＋ｍ）個の出力データと前記（ｎ＋ｍ）個の学習出力データとの誤差を示す指標を、前記ニューラルネットワークの学習状態を評価するための評価関数として算出する誤差算出手段と、
前記評価関数を減少させるように前記ニューラルネットワークにおける結合重みを調整する結合重み調整手段と、
を備えることを特徴とするニューラルネットワークの学習装置。
【請求項２】
請求項１記載のニューラルネットワークの学習装置であって、
前記所定の関数は、前記ｎ個の第１の出力データのそれぞれに関して微分可能な関数である、ニューラルネットワークの学習装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、多層構造のニューラルネットワークの学習を行なう装置に関する。
【０００２】
【従来の技術】
ニューラルネットワークは、神経細胞（ニューロン）のネットワークを用いて、対象とする特定のシステムの複雑な入出力関係を予測しようとする情報処理技術である。
【０００３】
ニューラルネットワークの学習は、学習データの入力データ（以下、「学習入力データ」と呼ぶ）をニューラルネットワークに与え、その時のニューラルネットワークの出力が、所望の出力結果（以下、「学習出力データ」または「教師データ」と呼ぶ）に一致するように、ニューロン間の結合重みを調整する過程である。
【０００４】
図１は、従来のニューラルネットワークの構成を示す説明図である。従来のニューラルネットワークの学習では、出力層の各ニューロンからの出力データＹ１  〜Ｙ４  と、その教師データｄ１  〜ｄ４  （学習出力データ）とを用いて、下記の数式１で与えられる誤差Ｅを求め、この誤差Ｅが所定の許容値以下になるようにニューロン間の結合重みを調整していた。
【０００５】
【数１】
0003608237.tif 000002
【０００６】
【発明が解決しようとする課題】
ニューラルネットワークで予測しようとする出力データの種類によっては、複数の出力データＹｉ  のうちのいくつかが、他の出力データに従属している場合も存在する。例えば、顔料の調合率や合金の調合率を出力データとするニューラルネットワークでは、調合率の合計値が１００％になる。すなわち、４成分系の顔料や合金の場合には、次の数式２が成り立っている。
【０００７】
【数２】
0003608237.tif 000003
【０００８】
従来のニューラルネットワークの学習装置では、すべての出力データをニューラルネットワークで予想して、その予想誤差Ｅを数式１に従って求めるようにしており、数式２のような出力データ相互の関係式を考慮して学習を行なうものは存在しなかった。
【０００９】
この発明は、従来技術における上述の課題を解決するためになされたものであり、出力データ相互の関係を考慮して学習を効率的に行なうことのできるニューラルネットワークの学習装置を提供することを目的とする。
【００１０】
【課題を解決するための手段および作用】
上述の課題を解決するため、この発明の請求項１に記載したニューラルネットワークの学習装置は、
それぞれ複数のニューロンを有する入力層と中間層と、ｎ個（ｎは１以上の整数）のニューロンを有する出力層とを備えた多層構造のニューラルネットワークと、
前記ニューラルネットワークに学習させるべき学習データとして、前記入力層に与える学習入力データと、前記出力層から出力されるべきｎ個の第１の学習出力データと、それぞれ所定の関数に従って前記ｎ個の第１の学習出力データに従属するｍ個（ｍは１以上の整数）の第２の学習出力データとを含む複数組の学習データを記憶する学習データ格納手段と、
前記ニューラルネットワークの前記入力層に前記学習入力データを与えて得られたｎ個の第１の出力データから、前記所定の関数に従ってｍ個の第２の出力データを算出する出力データ算出手段と、
前記（ｎ＋ｍ）個の出力データと前記（ｎ＋ｍ）個の学習出力データとの誤差を示す指標を、前記ニューラルネットワークの学習状態を評価するための評価関数として算出する誤差算出手段と、
前記評価関数を減少させるように前記ニューラルネットワークにおける結合重みを調整する結合重み調整手段と、
を備えることを特徴とする。
【００１１】
ｎ個の第１の出力データから所定の関数を用いてｍ個の第２の出力データを求め、こうして得られた（ｎ＋ｍ）個の出力データと、これに対応する（ｎ＋ｍ）個の学習出力データとの誤差を学習時の評価関数として用いる。従って、第１と第２の出力データ相互の関係を考慮して学習を効率的に行なうことができる。
【００１２】
請求項２に記載したニューラルネットワークの学習装置では、前記所定の関数は、前記ｎ個の第１の出力データのそれぞれに関して微分可能な関数である。
【００１３】
所定の関数が第１の出力データに関して微分可能な関数であれば、ニューロン間の結合重みを学習する際に、重み係数を容易に調整することができる。
【００１４】
【実施例】
図２は、この発明の一実施例を適用するニューラルネットワークの構成を示す説明図である。このニューラルネットワークは、入力層と中間層と出力層とで構成される三層の多層構造を有している。入力層は、３個のニューロンＮ１（１）〜Ｎ３（１）で構成されており、出力層も３個のニューロンＮ１（３）〜Ｎ３（３）で構成されている。なお、ニューロンの符号の右肩にある括弧付きの番号は、ニューロンの階層を示している。また、中間層も複数のニューロンで構成されている。
【００１５】
入力層の３個のニューロンＮ１（１）〜Ｎ３（１）には、入力データＸ１  〜Ｘ３  がそれぞれ入力される。図２の左下部に示すように、（ｋ−１）番目の階層のｊ番目ニューロンＮｊ（ｋ−１）からＫ番目の階層のｉ番目のニューロンＮｉ（ｋ）に伝達される信号は、ニューロンＮｊ（ｋ−１）の出力Ｑｊ（ｋ−１）に重みＷｉｊ（ｋ）  を乗じたものである。例えば、入力層の第１のニューロンＮ１（１）から中間層の第１のニューロンＮ１（２）に伝達される信号はＷ１１（２）  Ｘ１  である。一般に、（ｋ−１）番目の階層の各ニューロンからｋ番目の階層のｉ番目のニューロンＮｉ（ｋ）への入力の合計値Ｕｉ（ｋ）は、次の数式３で与えられる。
【００１６】
【数３】
0003608237.tif 000004
【００１７】
ここで、Ｑｊ（ｋ−１）は（ｋ−１）番目の階層のｊ番目のニューロンの出力、ｍは（ｋ−１）番目の階層のニューロンの数、θ（ｋ）は所定のしきい値である。
【００１８】
ｋ番目の階層のｉ番目のニューロンＮｉ（ｋ）の入力Ｕｉ（ｋ）と出力Ｑｉ（ｋ）との関係は、次の数式４に示す情報伝達関数ｆ（シグモイド関数）で与えられる。
【００１９】
【数４】
0003608237.tif 000005
【００２０】
なお、図２の出力層においては、数式４の出力Ｑｉ（ｋ）が出力データＹｉ  （ｉ＝１〜３）に相当する。但し、入力層のニューロンは数式４の例外であり、入力データＸ１  〜Ｘ３  がそのまま出力される。
【００２１】
ニューラルネットワークの学習は、入力層への入力データＸ１  〜Ｘ３  （学習入力データ）と、出力層からの正しい出力データである教師データｄ１  〜ｄ４  （学習出力データ）との間の関係を数多く与えて、正しい入出力関係を与えるような重みＷｉｊ（ｋ）  の値を決定する過程である。以下では、バックプロパゲーションと呼ばれる学習アルゴリズムに従って学習を行なう場合について説明する。
【００２２】
ニューラルネットワークの学習状態を評価するための評価関数としては、次の数式５で与えられる誤差Ｅを用いる。
【００２３】
【数５】
0003608237.tif 000006
【００２４】
この評価関数Ｅは、出力データＹｉ  と教師データｄｉ  との自乗誤差の和の１／２である。なお、評価関数Ｅとしては、出力データＹｉ  と教師データｄｉ  との誤差を示す指標であればよく、自乗誤差の和に比例する値や標準偏差に比例する値なども使用することができる。
【００２５】
上記の数式５は、上述した数式１と同じである。但し、この実施例においては、ニューラルネットワークから直接出力されない第４の出力データＹ４  も含めて評価関数Ｅを定義しているところに従来との差異がある。
【００２６】
第４の出力データＹ４  は、図２にも示すように、ニューラルネットワークから直接出力される３つの出力データＹ１  〜Ｙ３  から、次の数式６に示す関数ｇ（Ｙ１  ，Ｙ２  ，Ｙ３  ）に従って算出される。
【００２７】
【数６】
0003608237.tif 000007
【００２８】
バックプロパゲーションによってニューラルネットワークの学習を行なう場合には、出力層のｉ番目のニューロンＮｉ（３）と中間層のｊ番目のニューロンＮｊ（２）との間の重み係数Ｗｉｊ（３）は、いわゆる最急降下法を用いて、次の数式７に従って更新される。
【００２９】
【数７】
0003608237.tif 000008
【００３０】
ここで、Ｗｉｊ（ｋ）（ｎ）はｎ回の学習で得られた重み係数、Ｗｉｊ（ｋ）（ｎ＋１）は（ｎ＋１）回の学習で得られた重み係数である。また、ηは極値探索のためのパラメータであり、定数である。数式７の右辺の偏微分は、次の数式８に変形できる。
【００３１】
【数８】
0003608237.tif 000009
【００３２】
ここで、Ｕｉ（３）は、出力層のｉ番目のニューロンの入力である。また、Ｑｉ（３）は出力層のｉ番目のニューロンの出力であり、Ｙｉ  に等しい。数式８の最右辺の３つの偏微分の値は、以下のようにして求めることができる。
【００３３】
数式８の最右辺の最初の偏微分は、評価関数Ｅを出力データＹｉ  で偏微分したものであり、上記の数式５から導かれる次の数式９で与えられる。
【００３４】
【数９】
0003608237.tif 000010
【００３５】
数式９において（Ｙ４  −ｄ４  ）の項が存在するのは、第４の出力データＹ４  が数式６に従ってｉ番目の出力データＹｉ  に従属しているからである。数式９の右辺の値は、ｉ番目の出力データＹｉ  および教師データｄｉ  と、４番目の出力データＹ４  および教師データｄ４  とによって決定される。
【００３６】
ところで、出力層のｉ番目のニューロンＮｉ（３）に対しては、上記の数式４で示される入力Ｕｉ（ｋ）と出力Ｑｉ（ｋ）の関係が成立するので、出力データＹｉ  （＝Ｑｉ（３））は次の数式１０で与えられる。
【００３７】
【数１０】
0003608237.tif 000011
【００３８】
従って、数式８の最右辺の２番目の偏微分は、シグモイド関数ｆを入力Ｕｉ（３）で偏微分したものであり、次の数式１１で与えられる。
【００３９】
【数１１】
0003608237.tif 000012
【００４０】
なお、数式１１の右辺の値は、入力Ｕｉ（３）としきい値θ（３）とによって決定される。
【００４１】
出力層のｉ番目のニューロンＮｉ（３）への入力Ｕｉ（３）は、上記の数式３に従って、次の数式１２で与えられる。
【００４２】
【数１２】
0003608237.tif 000013
【００４３】
従って、数式８の最右辺の３番目の偏微分の値は、次の数式１３で与えられるように、中間層のｊ番目のニューロンの出力Ｑｊ（２）に等しい。
【００４４】
【数１３】
0003608237.tif 000014
【００４５】
上記の数式７，８，９，１１，１３を用いることによって、（ｎ＋１）回目の学習による重み係数Ｗｉｊ（３）  （ｎ＋１）を求めることができる。なお、入力層から中間層への信号伝達の重み係数Ｗｉｊ（２）  の学習は、通常のバックプロパゲーションを用いて実行することができる。
【００４６】
図３は、この発明の一実施例としてのニューラルネットワークの学習装置の構成を示すブロック図である。この学習装置は、学習データ格納手段１００と、結合重み格納手段１０２と、多層構造型ニューラルネットワーク１０４と、想起結果格納手段１０６と、外部事象予測手段１０８と、全予測事象誤差算出手段１１０と、結合重み調整手段１１２と、教師データ格納手段１１４とを有している。多層構造型ニューラルネットワーク１０４は、図２に示すニューラルネットワークである。また、学習データ格納手段１００は、多層構造型ニューラルネットワーク１０４の学習を行なうための学習データを格納する手段であり、結合重み格納手段１０２は多層構造型ニューラルネットワーク１０４の結合重みＷｉｊ（ｋ）  を格納する手段である。「想起結果」は、多層構造型ニューラルネットワーク１０４から直接出力される３つの出力データＹ１  〜Ｙ３  である。外部事象予測手段１０８は、ニューラルネットワークで直接予測されない第４の出力データＹ４  を予測する手段であり、この実施例では上記の数式６に従って第４の出力データＹ４  を算出する。全予測事象誤差算出手段１１０は、４つの出力データＹ１  〜Ｙ４  から、上記の数式５に従って評価関数Ｅを算出する。また、結合重み調整手段１１２は、上記の数式７〜１３を用いて、評価関数Ｅが小さくなるように結合重みＷｉｊ（ｋ）  を調整する手段である。なお、教師データ格納手段１１４には、学習データ格納手段１００から与えられた教師データｄ１  〜ｄ４  が格納される。
【００４７】
学習データ格納手段１００と教師データ格納手段１１４は、請求項に記載された発明における学習データ格納手段に相当する。また、外部事象予測手段１０８が本発明における出力データ算出手段に相当し、全予測事象誤差算出手段１１０が本発明における誤差算出手段に、結合重み調整手段１１２が本発明における結合重み調整手段にそれぞれ相当する。
【００４８】
なお、上記の各格納手段は磁気ディスクやＲＡＭなどで実現され、その他の手段はソフトウェアプログラムをＣＰＵが実行することによって実現される。
【００４９】
図４は、実施例の検証に用いた学習データを示す図である。図４の１３組の学習データにおける学習入力データ（Ｘ１  ，Ｘ２  ，Ｘ３  ）と教師データ（ｄ１，ｄ２
，ｄ３  ，ｄ４  ）には、次の数式１４のような関係がある。
【００５０】
【数１４】
0003608237.tif 000015
【００５１】
図５は、図４の学習データで学習したニューラルネットワークに、適当な入力データ（Ｘ１  ，Ｘ２  ，Ｘ３  ）を与えて予測を行なった結果を示す図である。図５の「真値」の欄は、上記の数式１４に従って得られる値である。図５の「実施例」の欄は、図２に示すニューラルネットワークを図４の学習データで学習させた場合に得られる想起結果である。また、図５の「比較例」の欄は、図１に示す従来のニューラルネットワークを図４の学習データで学習させた場合に得られる想起結果である。
【００５２】
図５の３つのケースのいずれにおいても、実施例の結果は比較例の結果に比べて真値に近い。従って、実施例の学習装置を用いることによって、ニューラルネットワークにおける学習効率を向上させることができたことが解る。
【００５３】
図６は、赤、青、黄、白の４色の顔料を混合することによって混合物を生成する場合について検証を行なった結果を示す図である。学習データとしては、混合物の色の三刺激値を学習入力データとし、４つの顔料の調合率を教師データとする複数組の学習データ（図示せず）を、実施例と比較例に共通に用いた。図６の結果からも、実施例が比較例に比べて予測精度が高いことが解る。
【００５４】
以上のように、上記実施例では、ニューラルネットワークから直接出力される３つの出力データＹ１  〜Ｙ３  と、第４の出力データＹ４  との関係を与える関数ｇを用いて中間層から出力層への信号伝達の重み関数を学習している。従って、ニューラルネットワークから直接出力される３つの出力データＹ１  〜Ｙ３  とその教師データｄ１  〜ｄ３  のみを用いて学習する場合に比べて、学習をより効率的に行うことができる。換言すれば、同じ学習データを用いると従来よりも予測精度が向上する。また、従来よりも少ない学習データによって従来と同程度の予測精度が得られる。
【００５５】
さらに、図２に示すニューラルネットワークでは、図１に示す従来のニューラルネットワークに比べて出力層のニューロンが少ないので、その重み係数も少なく、この結果、学習効率をさらに向上させることができるという利点もある。
【００５６】
なお、この発明は上記実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００５７】
（１）ニューラルネットワークで直接出力されない第２のタイプの出力データと、ニューラルネットワークから直接出力される第１のタイプの出力データとの関係を表わす関数としては、上記数式６以外の任意の関数を用いることができる。但し、この関数は、第１のタイプの出力データのそれぞれに関して偏微分可能であることが好ましい。この理由は、数式８の最右辺の第１の偏微分が、数式９と同様にして決定できるからである。
【００５８】
（２）第２のタイプの出力データは複数であってもよい。一般には、ｍ個（ｍは１以上の整数）の第２のタイプの出力データが、出力層のｎ個（ｎは１以上の整数）のニューロンから出力されるｎ個の第１のタイプの出力データに従属すればよい。また、中間層が１層でなく、複数の中間層を設けるようにすることも可能である。
【００５９】
【発明の効果】
以上説明したように、請求項１に記載された発明によれば、第１と第２の出力データ相互の関係を考慮して学習を効率的に行なうことができる。
【００６０】
また、請求項２に記載された発明によれば、ニューロン間の結合重みを学習する際に、重み係数を容易に調整することができる。
【図面の簡単な説明】
【図１】従来のニューラルネットワークの構成を示す説明図。
【図２】この発明の一実施例におけるニューラルネットワークの構成を示す説明図。
【図３】この発明の一実施例としてのニューラルネットワークの学習装置の構成を示すブロック図。
【図４】実施例の検証に用いた学習データを示す図。
【図５】図４の学習データで学習したニューラルネットワークを用いた予測結果を示す図。
【図６】顔料の調合問題に対して本発明の実施例を適用した結果を示す図。
【符号の説明】
１００…学習データ格納手段
１０２…結合重み格納手段
１０４…多層構造型ニューラルネットワーク
１０６…想起結果格納手段
１０８…外部事象予測手段
１０８…想起誤差算出手段
１１０…全予測事象誤差算出手段
１１２…結合重み調整手段
１１４…教師データ格納手段
【図１】
0003608237.tif 000016
【図２】
0003608237.tif 000017
【図３】
0003608237.tif 000018
【図４】
0003608237.tif 000019
【図５】
0003608237.tif 000020
【図６】
0003608237.tif 000021