(57)【要約】【課題】矛盾した教師データであっても適切に総誤差評価関数を把握することにより学習の終了判定が実現でき、学習終了時に、必要とされる計算精度を得られるニューラルネットワーク学習における前処理装置を得る。【解決手段】教師データ中の同一入力パターンを探索して、入力パターン毎のケース数を計数するとともに、教師データ中の同一入力パターンに対する全出力パターンの教師出力データの平均値を算出し、当該平均値を各入力パターンにおける教師出力値に書き換え、同一入力パターンデータの重複分を教師入力データから削除する前処理を施す前処理部と、この前処理部で処理を施された教師データでニューラルネットワーク学習を実行し、各入力パターンの誤差評価関数を導出する誤差修正部と、前記誤差修正部から導出される各入力パターンの誤差評価関数と入力パターン毎のケース数から成る重み係数を用いて、ニューラルネットワーク学習の収束条件を決定するための総誤差評価関数を計算する総誤差評価関数部とを、具備する。【選択図】図１
2011107885.tif 000002
【特許請求の範囲】
【請求項１】
教師データ中の同一入力パターンを探索して、入力パターン毎のケース数を計数するとともに、教師データ中の同一入力パターンに対する全出力パターンの教師出力データの平均値を算出し、当該平均値を各入力パターンにおける教師出力値に書き換え、同一入力パターンデータの重複分を教師入力データから削除する前処理を施す前処理部と、
この前処理部で処理を施された教師データでニューラルネットワーク学習を実行し、各入力パターンの誤差評価関数を導出する誤差修正部と、
前記誤差修正部から導出される各入力パターンの誤差評価関数と入力パターン毎のケース数から成る重み係数を用いて、ニューラルネットワーク学習の収束条件を決定するための総誤差評価関数を計算する総誤差評価関数部とを、
具備することを特徴とするニューラルネットワーク学習の前処理装置。
【請求項２】
前記誤差修正部において、各入力パターンの誤差評価関数の平均をとることにより総誤差評価関数を導出する場合、前記総誤差評価関数部では、入力パターン毎のケース数を重み係数に用い、各入力パターンの誤差評価関数の重み付き平均として総誤差評価関数を計算することを特徴とする請求項１記載のニューラルネットワーク学習の前処理装置。
【請求項３】
前記誤差修正部において、各入力パターンの誤差評価関数の総和をとることにより総誤差評価関数を導出する場合、前記総誤差評価関数部では、入力パターン毎のケース数を重み係数に用い、各入力パターンの誤差評価関数の重み付き総和として総誤差評価関数を計算することを特徴とする請求項１記載のニューラルネットワーク学習の前処理装置。
【請求項４】
前記前処理部は、教師データが矛盾していない場合、入力された教師データに実効的な変換を加えず、入力パターン毎のケース数を導出しないことを特徴とする請求項１記載のニューラルネットワーク学習の前処理装置。
【請求項５】
前記前処理部は、教師データ中の同一入力パターンを探索して、入力パターン毎のケース数を計数する同一入力パターン探索部と、全出力パターンの教師出力データの平均値を算出し、当該平均値を各入力パターンにおける教師出力値に書き換え、同一入力パターンデータを教師入力データから削除する平均値導出部を有していることを特徴とする請求項１記載のニューラルネットワーク学習の前処理装置。
【請求項６】
前記ニューラルネットワーク学習の収束条件は、総誤差評価関数の絶対値が、予め設定した第１の閾値を下回る、又は、学習進行時に総誤差評価関数の変化量が、予め設定した第２の閾値を下回ることとし、いずれかの条件が満たされたときに学習を終了させることを特徴とする請求項１記載のニューラルネットワーク学習の前処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、教師あり学習に対して使用されるニューラルネットワーク学習における前処理装置に関する。
【背景技術】
【０００２】
教師あり学習に対して使用されるニューラルネットワーク学習では、理想となる入出力の値が記載された教師データが使用される。教師データが与えられる場合のニューラルネットワーク学習は、教師データの入出力が再現できるように、ニューラルネットワーク内部のパラメータが調整される。
【０００３】
従来、教師データの取り扱いに関し、種々の提案がなされている。例えば、ニューラルネットワークで取り扱う教師データの修正方法が提案されている(例えば、特許文献１参照。）。この手法は、あるデータを教師データに追加する際に、距離が近いデータとの平均を取って合成するものである。これにより、教師データのケース数は増えず、ニューラルネットワークの学習時間が増えないようにするものである。
【０００４】
また、矛盾する教師データについて統一する手法が提案されている(例えば、特許文献２参照。）。これは、自動車用腐食現象予測に関するもので、腐食予測に関わる入力データの選定及び学習方法についての提案であるが、矛盾した教師データに対して、「データの統一」と記述される処理をしている。尚、「データの統一」が具体的にどのような処理を行うかは、記述されていない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平４−１８４６６８号公報
【特許文献２】特開２００２−２５７６８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般的に、ニューラルネットワークの教師あり学習においては、同一入力パターンであるのに異なる出力パターンとなるような矛盾した教師データは用いられない。なぜなら、同一の入力に対し異なる出力を同時に満たす解が存在せず、それら出力の平均値を導出するよう学習されるからである。このとき、ニューラルネットワークの出力値は教師データの出力を再現しないため、従来の学習方法では総誤差評価関数を過大評価してしまう。総誤差評価関数は、全入力データに対して、ニューラルネットワークによる出力結果がどれほど教師データの出力に近づいたかを表す関数であり、ニューラルネットワークの学習進行状況(学習精度)を表す情報量である。通常は、任意で決めた閾値よりも総誤差評価関数が小さくなったとき、学習を打ち切る。ところが、矛盾した教師データの場合には、ニューラルネットワークの学習結果は教師データを再現しなくなるため、ニューラルネットワークの出力と教師データの出力との差からでは収束誤差が適切に評価できず、適切に学習の終了判定ができないという問題が起こる。このとき、従来の総誤差評価関数には余分な成分(矛盾データ成分)が加わっているため、学習終了時の学習精度を適切に評価することもできない。さらに、同一教師データのパターン分だけ不要な計算コストが発生し、学習時間が長くなるという問題もあった。
【０００７】
そこで、本発明は、上記の問題に鑑みてなされたもので、矛盾した教師データであっても適切に総誤差評価関数を把握することにより学習の終了判定が実現でき、学習終了時に、必要とされる計算精度を得られるニューラルネットワーク学習における前処理装置を提供するものである。
【課題を解決するための手段】
【０００８】
本発明の一態様によれば、教師データ中の同一入力パターンを探索して、入力パターン毎のケース数を計数するとともに、教師データ中の同一入力パターンに対する全出力パターンの教師出力データの平均値を算出し、当該平均値を各入力パターンにおける教師出力値に書き換え、同一入力パターンデータの重複分を教師入力データから削除する前処理を施す前処理部と、この前処理部で処理を施された教師データでニューラルネットワーク学習を実行し、各入力パターンの誤差評価関数を導出する誤差修正部と、前記誤差修正部から導出される各入力パターンの誤差評価関数と入力パターン毎のケース数から成る重み係数を用いて、ニューラルネットワーク学習の収束条件を決定するための総誤差評価関数を計算する総誤差評価関数部とを、具備することを特徴とするニューラルネットワーク学習の前処理装置が提供される。
【０００９】
本発明のニューラルネットワーク学習の前処理装置は、前記誤差修正部において、各入力パターンの誤差評価関数の平均をとることにより総誤差評価関数を導出する場合、前記総誤差評価関数部では、入力パターン毎のケース数を重み係数に用い、各入力パターンの誤差評価関数の重み付き平均として総誤差評価関数を計算することを特徴とする。
【００１０】
また、本発明のニューラルネットワーク学習の前処理装置は、前記誤差修正部において、各入力パターンの誤差評価関数の総和をとることにより総誤差評価関数を導出する場合、前記総誤差評価関数部では、入力パターン毎のケース数を重み係数に用い、各入力パターンの誤差評価関数の重み付き総和として総誤差評価関数を計算することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、矛盾する教師データに影響されることなく、総誤差評価関数を適切に評価するので、必要とされる学習精度で、確実に学習速度を向上させることが出来るとともに、入力データを重複して学習しないので、学習時間を短縮することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係るニューラルネットワーク学習の前処理装置の構成を示す図である。
【図２】教師データの一例を示す図である。
【図３】前処理部の概略の構成を説明する図である。
【図４】図２に示す教師データに対して前処理を施した教師データと入力パターン毎のケース数を示す図である。
【図５】総誤差評価関数評価部における処理を説明する図である。
【図６】学習した際の計算速度を比較した結果を示す図である。
【図７】前処理なしの場合の総誤差評価関数と反復計算回数の関係を示すグラフである。
【図８】前処理ありの場合の総誤差評価関数と反復計算回数の関係を示すグラフである。
【図９】第２の実施形態における教師データの実際のデータ形式を示す図である。
【図１０】学習した際の計算速度を比較した結果を示す表である。
【図１１】前処理なしの場合と前処理ありの場合について、反復計算回数と総誤差評価関数の関係を示した表である。
【図１２】学習したデータに対する降水予測の結果を示す表である。
【図１３】未学習のデータに対する降水予測の結果を示す表である。
【図１４】教師データの一例を示す図である。
【図１５】前処理済み教師データと入力パターン毎のケース数データを示す図である。
【図１６】ケース数を保持しない前処理手法における前処理済み教師データと入力パターン毎のケース数データを示す図である。
【図１７】学習結果の収束を三者で比較したもので、収束誤差の比（入力パターンの１のビットの数が１の点で規格化）を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施の形態について、図面を参照して説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。
【００１４】
図１は、本発明の実施形態に係るニューラルネットワーク学習の前処理装置の構成を示す図である。本実施形態において、ニューラルネットワークは、入力層―中間層―出力層からなる３層構造のもので説明するが、これに限定されることはない。
【００１５】
ニューラルネットワーク学習の前処理装置１００は、入力した教師データに対して前処理を行う前処理部１０１と、ニューラルネットワーク部１０２から構成されている。ニューラルネットワーク部１０２は、誤差修正部１０３と総誤差評価関数評価部１０４から構成されている。
【００１６】
前処理部１０１に対して教師データが入力されると、教師データに対する前処理済み教師データと、教師データの同一入力パターン毎のケース数データが生成される。前処理済み教師データと同一入力パターン毎のケース数データはニューラルネットワーク部１０２に送信される。
【００１７】
ニューラルネットワーク部１０２では、前処理済み教師データを利用して学習を行う。すなわち、誤差修正部１０３において教師データと目標出力との相対誤差が最小になるように修正しながら、学習を繰り返す。ある入力１ケースの誤差評価関数は、（そのパターンのケース数）×（教師出力ノードの値 −ニューラルネットワーク出力ノードの値）２を全出力ノードで計算し、その総和をとったものとして導出される。ニューラルネットワークの出力値は（理論的な収束値＋収束誤差）と表わされ、収束誤差が小さくなるように学習を繰り返す。
【００１８】
総誤差評価関数評価部１０４では、入力したケース数データを利用して総誤差評価関数の評価を行い、ニューラルネットワーク部１０２が学習の終了判定ができるようにする。総誤差評価関数は、各パターンで計算した誤差評価関数をパターン数の総和ではなくケース数データの総和で平均化したものである。
【００１９】
学習が終了すると、ニューラルネットワークの学習結果として、結合強度やバイアスといったニューラルネットワーク内部の学習済みパラメータデータがニューラルネットワーク部１０２から出力される。
【００２０】
次に、本実施形態において取り扱う教師データについて説明する。図２は、教師データの一例を示す図である。本実施形態では、教師データとして２値のビットデータで表現される教師データを例にしている。
【００２１】
２値のビットデータは、次のような性質を持っている。（１）ある入力ビットが１のとき、対応する位置の出力ビットが１になる可能性がある、（２）出力側で１の値を取るビット数は１ケースで１ビットのみである、（３）出力パターンとして複数考えられる場合は、全てのパターンが均等の確率で選択される。
【００２２】
図２に示すように、５ビット長の教師データの場合、教師入力データの入力パターンは“０００００”と“１１１１１”を除いた全３０パターンがある。そこで、各パターンについて、例えば１２個（１２ケース）の入力データを用意する。ここで、１２個用意した理由は、ケース数の少ないパターンは学習時に軽視されることから、各入力パターンのケース数が均等であるように設定するためである。本実施形態では、全教師データが平等に重要であると仮定しているため、１２個（１２ケース）ずつ用意するように設定したが、本発明では必ずしもこのような設定を必要とするものではない。上記した２値のビットデータの性質から、教師入力データが“０００１１”であるとき、教師出力データとしては“００００１”と、“０００１０”が出現する可能性がある。そして、出現確率は均等なので、“００００１”が６個、“０００１０”も６個となる。同様に、教師入力データが“００１１１”であるとき、教師出力データとしては“００００１”と、“０００１０”と“００１００”が出現する可能性がある。そして、出現確率は均等なので、“００００１”が４個、“０００１０”が４個、“００１００”も４個となる。ここで、教師入力データの１つ１つを「ケース」と呼ぶこととする。各パターンについて１２ケースずつ用意するので、３０×１２＝３６０、すなわち、本実施形態に係るニューラルネットワーク学習の前処理装置では、全部で３６０ケースの教師データを取り扱う。図２に示した教師データは、同一パターンの入力データであるにもかかわらず、異なる出力パターンが出現するので、矛盾した教師データを含んでいることになる。
【００２３】
（前処理）
矛盾した教師データを含んだままでのニューラルネットワーク学習では、上記したように、適切な学習終了が判断できなくなる。そこで、本実施形態では、前処理部１０１において、教師データに対して以下に詳述するような前処理を施す。
【００２４】
図３は、前処理部１０１の概略の構成を説明する図である。前処理部１０１は、同一入力パターン探索部２０１と、平均値導出部２０２から構成されている。
【００２５】
教師データが前処理部１０１に入力されると、まず同一入力パターン探索部２０１において、教師データ中の同一入力パターンが探索される。探索結果は、入力パターン毎のケース数として計数する。図２に示した教師データの例では、全３０個の入力パターンに対するケース数がそれぞれ計数され、入力パターン毎のケース数データは全パターンに対してそれぞれ１２個という値を持つ。
【００２６】
得られた入力パターン毎のケース数データは、同一入力パターン探索部２０１からニューラルネットワーク部１０２へ出力される。
【００２７】
次に、平均値導出部２０２において、教師データの出力を各入力パターンに対する収束値に修正する。具体的には、係る修正は、教師データ中の同一入力パターンに対する全出力パターンの教師出力の平均値をとることになる。この平均値の導出処理は、教師データ中の全入力パターンに対して行われる。そして、平均値導出部２０２で導出したそれぞれのパターンにおける出力平均値は、教師出力値に書き換える。この書き換え処理では、入力パターン１つにつき一度だけ出力データを書き換え、以後、同一の入力パターンデータは教師入力データ中から削除する。したがって、教師入力データ数が３６０→３０と大幅に減り、入力データを重複して学習することが避けられる。
【００２８】
図２に示した教師データに対して前処理を施した結果は、図４に示すような前処理済み教師データと入力パターン毎のケース数データとなる。図４では、教師入力データは３０パターンとなり、例えば“０００１１”の入力パターンに対する教師出力データは、“０００ 1/2 1/2”と修正され、“００１１１”の入力パターンに対する教師出力データは、“００ 1/3 1/3 1/3”と修正されている。そして、入力パターン毎のケース数は、いずれも１２個となっている。
【００２９】
最終的に、前処理部１０１からは、教師データを入力パターン毎に出力が平均された前処理済み教師データがニューラルネットワーク部１０２へ出力される。このように、教師データ中の同一入力パターンを統一することで、ケース毎でなく入力パターン毎の学習を行う。上記から明らかであるように、前処理部１０１は矛盾していない教師データに対しては、実効的なデータ変換処理が行われない。そのため、教師データの中に矛盾している教師データが含まれているか否かを事前に判断する必要はない。
【００３０】
次に、ニューラルネットワーク内部の総誤差評価関数の評価について説明する。図５は、総誤差評価関数評価部１０４における評価処理を説明する図である。総誤差評価関数評価部１０４では、総誤差評価関数の計算と学習終了判定が実行される。
【００３１】
まず、誤差修正部１０３において前処理済みの教師データを１度だけ読み込み、学習を開始する。ニューラルネットワークでの学習方法は、例えば、逆誤差伝播法を用いることができる。誤差逆伝播法は、階層型ニューラルネットワークである多層パーセプトロンの学習に使われる学習アルゴリズムで、ある教師データが与えられたとき、多層パーセプトロンの出力が教師データと一致するように各層のノード間の結合強度を修正するという学習法である。また、総誤差評価関数の最小化には、例えば、準ニュートン法を用いることができる。準ニュートン法は、最適化問題のアルゴリズムの一つで、可変計量法とも呼ばれ、数値計算を反復的に行うニュートン法と同様な手法で最小値を探す手法である。
【００３２】
ニューラルネットワークの出力ノードの値は、（理論的な収束値＋収束誤差）であるが、矛盾した教師データで学習する場合には、矛盾した教師データの影響を受けて、総誤算評価関数の評価が正しく評価されない。総誤差評価関数をＥとすると、Ｅ＝（教師出力ノードの値−理論的な収束値−収束誤差）2  で表わされるが、矛盾した教師データで学習した場合には、（該当出力ノードの理論的な収束値）＝（(同一入力パターン間で平均化した教師出力ノードの値)となるため、誤差評価関数は、ケース数×（教師出力ノードの値と上記平均値とのずれ＋収束誤差）２となる。したがって、収束誤差が０になったとしても、（教師出力ノードの値−理論的な収束値）≠０となり、誤差評価関数は０にならない。このため、総誤差評価関数Ｅが学習の終了判定に重要な収束誤差を表わさなくなる。一方、矛盾しない教師データの場合は、ケース数=１、（該当出力ノードの理論的な収束値）＝（教師出力ノードの値）であり、誤差評価関数＝ケース数×（収束誤差）２となり、収束誤差が０に近づくことで、誤差評価関数が０に近づく。
【００３３】
そこで、本実施形態においては、同一入力パターン毎に、出力パターンを平均化した値に教師データを修正する前処理を施し、総誤差評価関数が正しく収束誤差を表わすようにする。さらに、パターン間の収束誤差も含めて学習結果を厳密に変化させないために、入力データ間の出現数などによる重み付けを行う。すなわち、教師データの修正時に、その入力パターンが登場した回数（ケース数）を重み係数として求める。そして、重み係数を使って、ケース数分の重みを付けた総誤差評価関数Ｅを導出する。図２に示した教師データの例では、“００００１”の入力パターンの重み係数は１２、“０００１１”の入力パターンの重み係数は１２、“００１１１”の入力パターンの重み係数は１２となる。
【００３４】
収束判定に際しては、総誤差評価関数Ｅの評価にあたり各入力パターンの重み係数を利用する。総誤差評価関数評価部１０４は、入力パターン毎のケース数データ１０８を一度だけ読み込む。総誤差評価関数Ｅの具体的な計算としては、教師データと現在のニューラルネットワーク出力データとの差の平方和に、重み係数として該入力パターンのケース数を乗ずる。本実施形態においては、各入力パターンにおける誤差評価関数の平均値として総誤差評価関数Ｅを導出しているが、この平均処理において各パターンの誤差評価関数の重み付き総和を、入力パターン毎のケース数データ１０８の総和で除することで、重み付き平均として導出している。このため、ニューラルネットワークの学習処理は、本実施形態に係る前処理を施しても、学習結果を変化させることはない。
【００３５】
収束判定については、次のような手法を採用するのが好適である。例えば、（１）総誤差評価関数の絶対値が、予め設定した第１の閾値を下回る、（２）学習進行時に総誤差評価関数の変化量が、予め設定した第２の閾値を下回るという２つの収束条件のうち、いずれかの条件が満たされたときに学習を終了する。尚、個別の問題に合わせた他の収束条件を用いても本発明の趣旨は損なわれないことは言うまでもない。
【００３６】
次に、上記したように構成した本実施形態に係るニューラルネットワーク学習における前処理装置によって、奏される効果について説明する。前提条件として、ニューラルネットワークの構造を５−１５−５の３層構造型とし、収束条件として予め設定する総誤差評価関数の絶対値について第１の閾値を１Ｅ-６、総誤差評価関数の変化量について第２の閾値を１Ｅ-９とする。効果の確認のため、ニューラルネットワーク部分を同一にし、前処理を行わずにニューラルネットワーク計算を行った結果と、前処理を行ってニューラルネットワーク計算を行った結果を比較する。
【００３７】
前処理を行わない場合、図２に示すように矛盾した教師データを含む教師データを用いているため、教師データ中の出力値にニューラルネットワークの出力値が収束しない。そのため、総誤差評価関数が一定値より小さくならない。そこで、反復計算回数を１０００回で学習を打ち切っている。尚、再現性についても確認するため、前処理なしの場合、前処理ありの場合、それぞれ５回の試行をしている。
【００３８】
図６は、学習した際の計算速度を比較した結果を示している。前処理なしの場合、教師データは３６０ケースあるが、前処理ありの場合、教師データはパターン数である３０ケースを学習することになる。ニューラルネットワークの学習時間と比較すると、入力パターン毎のケース数データを重み係数として利用する計算には教師データのデータ量が少ないため、計算速度が約７倍程度向上していることが確認できる。したがって、前処理を施すことにより、ニューラルネットワークの学習時間の短縮が図られることがわかる。
【００３９】
図７は、前処理なしの場合の総誤差評価関数と反復計算回数の関係を示すグラフである。
【００４０】
図７によれば、前処理なしの場合、反復計算回数が２０回程度で総誤差評価関数が０．５１という値から低減しなくなっていることがわかる。この０．５１という値は、教師データの矛盾による成分の影響が表れたもので、総誤差評価関数が（教師出力の値−理論的な収束値−収束誤差）で決まるのに対し、教師データと理論的な収束値の不一致に起因する成分である。
【００４１】
図８は、前処理ありの場合の総誤差評価関数と反復計算回数の関係を示すグラフである。
【００４２】
前処理ありの場合には、教師データ中の矛盾が解決されているため、総誤差評価関数は純粋に教師出力とニューラルネットワーク出力との間の収束誤差を反映する。そのため、前処理ありの学習計算は、反復計算を重ねることにより、総誤差評価関数は０に近づいていくのがわかる。したがって、総誤差評価関数自体と総誤差評価関数の変化量について閾値を用いた収束判定条件を適用することができる。尚、図８に示す５回の試行結果から、総誤差評価関数の０への近づき方に差があることがわかる。これは、反復計算回数からでは、総誤差評価関数の計算精度が決まらないことを示している。
【００４３】
（第２の実施形態）
第２の実施形態では、教師データに対して前処理を施しても、学習結果の収束値に影響を与えないことについて、例を挙げて説明する。本実施形態は、ニューラルネットワークの構造や総誤差評価関数自体と総誤差評価関数の変化量についての閾値が異なるが、第１の実施形態と同等の構成としている。
【００４４】
第２の実施形態では、図２に示したような機能検証用に設定したデータではなく、現実に用いられる可能性があるデータに対して前処理を施してニューラルネットワーク学習させ、降水予測を行う。教師出力の平均値を効果的に利用する一例として、降雨予測や配電系統分野における現象などに対し、対象となる現象の発生確率を入力パターン別に導出することが挙げられる。
【００４５】
一例として、京都府の１０地点の降水有無のデータを利用して降水予測に適用した。京都府の１０地点（須知、三和、長岡京、三岳、故屋岡、京北、鷲峰山、本庄、花背峠、綾部）、４つの時刻（現在、３０分前、６０分前、９０分前）の降水有無を入力データとし、それら１０地点の１０分後の降水有無を予測する。降水データは、気象庁が発表している「地域気象観測システム」（AMeDAS（ Automated Meteorological Data Acquisition System））のデータを用いている。教師データを２００４年８月、２００６年８月、２００８年８月、汎化性能の検証として２００５年８月、２００７年８月のデータを利用した。この二つのデータ時には、同じモデルで降雨したことを仮定している。
【００４６】
実際のデータ形式を図９に示す。図９に示すデータ中の値が１の場合、降水があったことを示している。教師データから全地点・全時刻晴れていた入力条件、すなわち全て０となっている入力パターンは除外し、２４６９ケースに対して学習を行った。尚、ニューラルネットワークから出力されるのは同一入力に対する平均出力であるため、出力値は各地点の１０分後の降水確率という意味を持つ。
【００４７】
本実施形態においては、汎化性能の向上を意図して過度に中間層を増やさずに、ニューラルネットワークの構造は、４０−２５−１０のペンシル型を用いた。ニューラルネットワークの構造上、総誤差評価関数Ｅは０に収束しないため、総誤差評価関数の絶対値について第１の閾値は１Ｅ-２、総誤差評価関数の変化量について第２の閾値は１Ｅ-４と設定した。再現性についても確認するため、前処理なしの場合、前処理ありの場合、それぞれ５回の試行をしている。
【００４８】
図１０は、学習した際の計算速度を比較した結果を示している。前処理なしの場合には教師データは２４６９ケースあるが、前処理ありの場合には教師データのパターン数である１２９５ケースを学習することとなった。このように、事前に教師データが矛盾しているかどうかを判断する必要はなく、前処理の結果、学習するケース数が減っていれば矛盾した教師データを含んでいることがわかる。学習速度については、５回の試行結果から、平均して約１．７倍向上していることが確認できる。
【００４９】
図１１は前処理なしの場合と前処理ありの場合について、反復計算回数と総誤差評価関数の関係を示した表である。図１１に示すように、前処理なしの場合と前処理ありの場合では、両者の総誤差評価関数Ｅの差は矛盾した教師データによる成分０．１１と同等程度になっている。前処理を行わない場合、総誤差評価関数に、ニューラルネットワークの構造による誤差成分以外に、矛盾した教師データによる誤差成分が含まれてしまうため、ニューラルネットワークの構造による誤差成分と総誤差評価関数が正しく関係付けられない。
【００５０】
本実施形態により矛盾した教師データによる成分を解消することで、総誤差評価関数がニューラルネットワークの構造により適切に決定付けられるため、本発明がニューラルネットワークの構造決定支援に有用であることが確認できた。
【００５１】
図１２は学習したデータに対する降水予測の結果を示す表であり、図１３は未学習のデータに対する降水予測の結果を示す表である。図１２、図１３において、左端の列はニューラルネットワークの降水確率（出力確率）を１０％刻みで区切ったものである。前処理なしの場合の降水確率（出力確率）及び前処理ありの場合の降水確率（出力確率）の列は、（実際に降水した度数）／（その行に含まれるニューラルネットワークの出力確率の度数）として計算したものである。これらは、ニューラルネットワークの出力確率がどの程度の信頼性であるかを示している。例えば、図１２中の前処理なしの場合、ニューラルネットワークの出力確率が８０〜９０％であった度数は１５２１件であり、そのうち実際に１３９４件が降水したため、降水確率（出力確率）９１．６９％となっている。それぞれの結果は、５回試行した降水確率（出力確率）の平均値を示している。標準偏差については、５回試行した結果の中での実験的な標準偏差を示しており、各試行における収束誤差成分は含めていない。そのため、真の標準偏差と比して小さく見積もられている。
【００５２】
図１２、図１３において、重要なことは、降水予測としてニューラルネットワークの出力確率の信頼性評価ではなく、前処理無しの場合と前処理ありの場合の学習結果が誤差の範囲でほぼ一致していることである。
【００５３】
本実施形態によれば、教師データに前処理を施しても、学習結果の収束値が変わらず、学習結果が変化しないことが、第１の実施形態のように人為的に設定したデータだけではなく実データにおいても確認できた。また、教師データに対して前処理を施す際、事前に教師データの矛盾性を確認する必要はなく、前処理を施すことによって学習速度が向上する効果がある。さらに、総誤差評価関数をニューラルネットワークの構造による成分のみにすることでニューラルネットワーク構造決定支援に役立つ可能性がある。
【００５４】
（第３の実施形態）
次に、教師データに対して前処理を施しても、学習結果の各入力パターンにおける収束誤差に影響を与えないことについて、例を挙げて説明する。本実施形態においては、ニューラルネットワークの構造は５−１５−５のノードを持つ３層構造型とし、第１の閾値を１Ｅ-６、第２の閾値を１Ｅ-９にそれぞれ設定し、第１の実施形態と同等の構成としている。
【００５５】
図１４は、教師データの一例を示す図である。図１４に示すデータは２値のビットデータで、図２に示したデータと同じ性質をもっているが、各入力パターンの重複数が図２に示した場合と異なっている。同一の入力パターンの重複数は、教師入力データ中のビット“１”の数と同じである。すなわち、入力パターン“０００１１”の場合、２ケース有り、出力パターンは、“００００１”が１ケース、“０００１０”が１ケースとなる。入力パターン“００１１１”の場合、３ケース有り、出力パターンは、“００００１”が１ケース、“０００１０”が１ケース、“００１００” が１ケースとなる。“０００００”と“１１１１１”は用いないので、教師データは、３０パターン、７５ケースとなる。
【００５６】
このようなデータに対して、同一入力パターン毎に、出力パターンを平均化した値に教師データを修正する前処理を施すと、前処理済み教師データと入力パターン毎のケース数データは図１５に示すようになる。図１５では、例えば“０００１１”の入力パターンに対する教師出力データは、“０００1/2 1/2”と修正され、入力パターン毎のケース数（＝重み係数）は２個、このケースの誤差評価関数はE2=7.1E-7 となっている。また、“００１１１”の入力パターンに対する教師出力データは、“００1/3 1/3 1/3”と修正され、入力パターン毎のケース数（＝重み係数）は３個、このケースの誤差評価関数はE3=2.5E-6 となっている。
【００５７】
一方、上記特許文献１では、あるデータを教師データに追加する際に、距離が近いデータとの平均を取って合成するが、ケース数は保持していない。そのため、入力パターン毎のケース数データは全て１ケースとして記録される処理となる（図１６参照）。
【００５８】
以上の条件下で、同じデータに対して、本実施形態による前処理を施した場合、特許文献１のようにケース数を保持しない場合、前処理なしの場合について、ニューラルネットワーク学習をそれぞれ３回ずつ試行し再現性を確認した。前処理なしの場合については、第１の実施形態と同じく１０００回の反復回数で学習を打ち切っている。
【００５９】
入力ケース毎に収束誤差を導出し、入力データの1ビットの数毎に収束誤差を平均し、「１ビットの数＝１」を使って規格化し、学習結果の収束を三者で比較すると、図１７に示すようになる。図１７の横軸は入力データ中の“１”の数を表している。これは、入力パターンの1の数によってケース数が変化しているためである。図１７の縦軸は対応する横軸の各ケースにおける平均誤差評価関数を、入力データ中の“１”の数が１個のパターンのときの値で規格化したものである。図１７の生成手順を詳述すると、まず、入力中で“１”の数ごとにパターンを分ける。ここでは、“１”の数が、１個が５パターン、２個が１０パターン、３個が１０パターン、４個が５パターンとなっている。次いで、“１”の数ごとに、誤差評価関数を平均化する。なお、このときの誤差評価関数には、特許文献１の場合と比較するので、ケース数は乗じていない。したがって、それぞれ、１個：Ｅ１、２個：Ｅ２、３個：Ｅ３、４個：Ｅ４、と置いている。そして、それぞれ、Ｅ１で規格化した値を縦軸の値とする。したがって、１個：Ｅ１／Ｅ１、２個：Ｅ２／Ｅ１、３個：Ｅ３／Ｅ１、４個：Ｅ４／Ｅ１で表わされている。
【００６０】
図１７から明らかなように、特許文献１のようにケース数を保持しない前処理を施した場合では、入力パターンの“１”の数毎に見た収束誤差の比が異なることが確認できる。一方で、本実施形態と前処理なしの結果は概ね全パターンにわたり同程度の比の収束誤差になっている。
【００６１】
この結果から、本発明に係る教師データの前処理手法は、収束値だけでなく各入力パターンの収束誤差においても、前処理前と学習結果を変えないという効果が確認できる。
【００６２】
以上説明したように、本実施形態によれば、矛盾した教師データが含まれる教師データを取り扱っても、同一入力パターンに対する出力の平均値をニューラルネットワークにより導出したい場合に学習速度の向上と総誤差評価関数を適切に評価することができる。
【００６３】
なお、本発明は上記の実施形態のそのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００６４】
１００…ニューラルネットワーク学習の前処理装置、１０１…前処理部、１０２…ニューラルネットワーク部、１０３…誤差修正部、１０４…総誤差評価関数評価部、２０１…同一入力パターン探索部、２０２…平均値導出部。
【図１】
2011107885.tif 000003
【図２】
2011107885.tif 000004
【図３】
2011107885.tif 000005
【図４】
2011107885.tif 000006
【図５】
2011107885.tif 000007
【図６】
2011107885.tif 000008
【図９】
2011107885.tif 000009
【図１０】
2011107885.tif 000010
【図１１】
2011107885.tif 000011
【図１２】
2011107885.tif 000012
【図１３】
2011107885.tif 000013
【図１４】
2011107885.tif 000014
【図１５】
2011107885.tif 000015
【図１６】
2011107885.tif 000016
【図７】
2011107885.tif 000017
【図８】
2011107885.tif 000018
【図１７】
2011107885.tif 000019