(57)【要約】【課題】簡単な手法により汎用能力を向上できる階層型ニューラルネットワークの学習方法、そのプログラム及びそのプログラムを記録した記録媒体を提供する。【解決手段】入力データ及び教師データを含んでなる学習データに基づいてバックプロパゲーションによる学習を行う階層型ニューラルネットワークの学習方法において、例えば重要度の高い領域に含まれる学習データを重複して利用する（ステップＳ１０２）。更に、重要度において利用回数も設定する（ステップＳ１０３）。これにより、任意の領域の学習習熟度が向上されたモデルが実現できる。また、例えば全領域において均等に事象数が分布するように学習データを重複させることで、偏りの無い推定値を得られるモデルが実現できる。【選択図】          図３
2004265190.tif 000002
【特許請求の範囲】
【請求項１】
入力データ及び教師データを含んでなる学習データに基づいてバックプロパゲーションによる学習を行う階層型ニューラルネットワークの学習方法において、
前記バックプロパゲーションによる学習で重要度に応じて学習データを複数回利用することを特徴とする階層型ニューラルネットワークの学習方法。
【請求項２】
入力データ及び教師データを含んでなる学習データに基づいてバックプロパゲーションによる学習を行う階層型ニューラルネットワークの学習方法において、
重複して利用する学習データを設定する重複利用学習データ設定ステップと、
前記重複利用学習データ設定ステップで設定した前記学習データの利用回数を設定する利用回数設定ステップと、
全ての学習データを１回利用して前記バックプロパゲーションによる学習を行う学習ステップと、
前記重複利用学習ステップで設定した前記学習データを前記利用回数設定ステップで設定した前記利用回数回利用して前記バックプロパゲーションによる学習を行う追加学習ステップと
を有することを特徴とする階層型ニューラルネットワークの学習方法。
【請求項３】
入力データ及び教師データを含んでなる学習データに基づいてバックプロパゲーションによる学習を行う学習ステップを有する階層型ニューラルネットワークの学習方法において、
重複して利用する学習データを設定する重複利用学習データ設定ステップと、
前記重複利用学習データ設定ステップで設定した前記学習データの利用回数を設定する利用回数設定ステップと、
前記学習ステップにおいて用いる前記学習データに、前記重複利用学習ステップで設定した前記学習データを前記利用回数設定ステップで設定した前記利用回数分付加する重複学習データ付加ステップと
を有することを特徴とする階層型ニューラルネットワークの学習方法。
【請求項４】
前記重複利用学習データ設定ステップは、前記教師データの分布に基づいて前記重複して利用する学習データを設定することを特徴とする請求項２又は３記載の階層型ニューラルネットワークの学習方法。
【請求項５】
前記重複利用学習データ設定ステップは、予め分割された前記教師データの分布領域の中から少なくとも１つの領域を選択させ、選択された該領域に含まれる教師データを含む学習データを前記重複して利用する学習データとして設定することを特徴とする請求項２又は３記載の階層型ニューラルネットワークの学習方法。
【請求項６】
前記重複利用学習データ設定ステップは、前記教師データの分布領域の少なくとも一部の領域を選択させ、選択された該領域に含まれる教師データを含む学習データを前記重複して利用する学習データとして設定することを特徴とする請求項２又は３記載の階層型ニューラルネットワークの学習方法。
【請求項７】
前記重複利用学習データ設定ステップは、前記教師データの分布をヒストグラムで表示し、該ヒストグラムに基づいて前記領域を選択させることを特徴とする請求項５又は６記載の階層型ニューラルネットワークの学習方法。
【請求項８】
前記利用回数設定ステップは、前記重複利用学習データ設定ステップで設定した前記重複して利用する学習データの重要度に基づいて前記利用回数を設定させることを特徴とする請求項２から７の何れか１項に記載の階層型ニューラルネットワークの学習方法。
【請求項９】
入力データ及び教師データを含んでなる学習データに基づいてバックプロパゲーションによる学習を行う階層型ニューラルネットワークの学習方法を実現するコンピュータを機能させるためのプログラムであって、
重複して利用する学習データを設定する重複利用学習データ設定処理と、
前記重複利用学習データ設定処理で設定した前記学習データの利用回数を設定する利用回数設定処理と、
全ての学習データを１回利用して前記バックプロパゲーションによる学習を行う学習処理と、
前記重複利用学習処理で設定した前記学習データを前記利用回数設定処理で設定した前記利用回数回利用して前記バックプロパゲーションによる学習を行う追加学習処理と
を前記コンピュータに実行させるためのプログラム。
【請求項１０】
入力データ及び教師データを含んでなる学習データに基づいてバックプロパゲーションによる学習を行う階層型ニューラルネットワークの学習方法を実現するコンピュータを機能させるためのプログラムであって、
重複して利用する学習データを設定する重複利用学習データ設定処理と、
前記重複利用学習データ設定処理で設定した前記学習データの利用回数を設定する利用回数設定処理と、
前記学習において用いる前記学習データに、前記重複利用学習処理で設定した前記学習データを前記利用回数設定処理で設定した前記利用回数分付加する重複学習データ付加処理と、
該重複学習データ付加処理で前記重複して利用する学習データが前記利用回数分付加された学習データに基づいて前記バックプロパゲーションによる学習を行う学習処理と
を前記コンピュータに実行させるためのプログラム。
【請求項１１】
前記重複利用学習データ設定処理は、前記教師データの分布に基づいて前記重複して利用する学習データを設定することを特徴とする請求項９又は１０記載のプログラム。
【請求項１２】
前記利用回数設定処理は、前記重複利用学習データ設定ステップで設定した前記重複して利用する学習データの重要度に基づいて前記利用回数を設定させることを特徴とする請求項９から１１の何れか１項に記載のプログラム。
【請求項１３】
請求項９から１２のいずれか１項に記載の前記プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、階層型ニューラルネットワークの学習方法、そのプログラム及びそのプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
従来、複数項目のデータ（入力データ）から目的とする項目のデータを推定するために利用されるモデリング手法の１つに、階層型ニューラルネットワークが存在する。図１１に、階層型ニューラルネットワーク９００の概念図を示す。
【０００３】
図１１を参照すると、階層型ニューラルネットワーク９００は、例えば入力層９１０と中間層９２０と出力層９３０との３層で構成され、中間層９２０が２層で構成された合計４層構造を有している。但し、このほかにも、入力層９１０と出力層９３０とのみで構成された２層型ニューラルネットワークや中間層９２０が例えば単層又は３層以上で構成された多層型ニューラルネットワーク等、目的に応じて種々変形することが可能である。
【０００４】
各層９１０，９２０及び９３０はユニット１１と呼ばれるデータ処理要素によって構成されている。ユニット１１の作用を図２を用いて説明する。各ユニット１１には、入力変数ｘｉ（ｉ：１からｎまでの自然数，ｎ：１以上の自然数）が、それぞれの入力に設定された結合荷重ｗｉで乗算されつつ入力される。ユニット１１では、これらを以下の式１に基づいて合計し、値ｓを算出する。この際、ユニットバイアスαも加算する。
【数１】
2004265190.tif 000003
【０００５】
その後、得られた値ｓを変換式ｆ（ｓ）で変換し、変換後の値ｔを後段の層の入力として出力する、若しくは、推定値ｙｊ（ｊ：１からｍまでの自然数，ｍ：１以上の自然数）として出力する。尚、図１１に示す階層構造では、入力層９１０を構成するユニット（これを入力層ユニット９１１という）に、ｉ＝１，ｗ１＝１，α＝０，ｆ（ｓ）＝ｓを適用している。即ち、入力層９１０は入力変数ｘ１〜ｘｎに１対１で対応し、且つ入力された入力変数ｘｉをそのまま出力する入力層ユニット９１１で構成されている。また、中間層９２０を構成するユニット（これを中間層ユニット９２１，９２２という）及び出力層９３０を構成するユニット（これを出力層ユニット９３１という）には、ｉ，ｗｉに任意の実数、ｆ（ｓ）にシグモイド関数を適用している。更に、各階層を構成するユニットの出力は、後の階層を構成する全ユニットの入力に結合されている。但し、出力層ユニット９３１からの出力は、そのまま推定値ｙｊとなる。
【０００６】
このような構成を有する階層型ニューラルネットワーク９００の学習では、上記の任意の実数α及びｗｉを修正し、モデルを構築する作業がなされる。モデル構築時には、例えば過去の実績で得られた入力データと教師データとを含む学習データが必要である。入力データとは、上記の入力変数Ｘｉに相当するものである。教師データとは、入力データに対応するデータであり、入力データ取得時（又は算出／設定時）に同時に得られた測定値である。
【０００７】
この学習データは、構築したモデルの精度に実質的に影響を与えるデータである。一般的に階層型ニューラルネットワーク９００の学習では、学習データに含まれる入力データから得られた推定値ｙと、この学習データに含まれる教師データとを比較して、これらの差が小さくなるように修正する。「全ての学習データを１回用いて修正を行うこと」を「１回のモデル学習」とし、上記の差が十分に小さくなるまで、このモデル学習は繰り返される。このような処理をバックプロパゲーションという。図１２に、バックプロパゲーションを用いた従来技術による学習方法のフローチャートを示す。
【０００８】
図１２では、まず、蓄積されているデータを、学習データとテストデータと検証データとに分割する（ステップＳ９０１）。次に、上記で触れたバックプロパゲーションに従って、学習データに基づいてモデルを修正する（ステップＳ９０２）。このように、１回のモデル学習が終了すると、次に、ステップＳ９０１で分割したテストデータを用いて修正されたモデルの学習の度合いをテストし（ステップＳ９０３）、このテスト結果に基づいて学習の度合いを判定する（ステップＳ９０４）。この結果、学習を継続する必要があると判断した場合（ステップＳ９０５のＹｅｓ）、ステップＳ９０２に帰還して、再度、学習データによるモデルの修正を行い、その後の学習の度合いを検証する（ステップＳ９０２〜Ｓ９０５）。また、ステップＳ９０４の結果、学習を継続する必要がないと判断した場合（ステップＳ９０５のＮｏ）、ステップＳ９０１で分割した検証データに基づいて学習後のモデルの精度を評価し（ステップＳ９０６）、学習を終了する。
【０００９】
以上のようなフローチャートからも判るように、モデル学習では、入力データに対して出力された推定値ｙが教師データに近い値となるように修正される。しかしながら、これは既知のデータを基にモデルを学習させるものであるため、学習データに偏りが存在する場合、その影響が顕著にモデルへ反映されてしまうという問題を有する。例えば、１つの入力データに対して複数の大きく異なる教師データが存在したり、或いは類似する入力データにそれぞれ対応づけられた教師データが大きく異なる場合、望ましい推定値ｙを出力するようにモデルを修正することは困難である（但し、類似するとは入力／教師データが分布領域に対して比較的集中して分布していることを示し、大きく異なるとは入力／教師データが分布領域に対して比較的広範囲に分布していることを示す）。具体的には、類似する入力データ群（これらをＡ群，Ｂ群とする）において、それぞれの群における入力データに対応づけられた教師データが大きく異なり、且つ各群の事象数（サンプル数）に偏りが存在する場合、このモデルから得られる推定値ｙは、事象数が多く存在する方の教師データに偏って算出されてしまう。即ち、このようなモデルでは、一方（事象数が少ない方）を推定できないという問題が存在する。
【００１０】
このような問題は、例えばバルーンネットモデルを適用して解決することも可能である（例えば以下に示す特許文献１参照）。即ち、ニューラルネットワークに学習ベクトル量子化の手法で学習させることで入力空間内に定義された各クラス領域内に、バルーンネットモデルの手法を用いて均等分布する疑似データを発生させ、これに基づいて学習を行う。これにより、分布の偏りが見かけ上解消され、事象数が少ない領域においても学習を行うことが可能となる。
【００１１】
このほか、ニューラルネットワークの学習方法としては、例えば特許文献２が開示するような、学習が困難な範囲のデータを一時的に学習の対象から除外することで、誤差の収束を効率化した方法も存在する。
【００１２】
【特許文献１】
特開２０００−１７２６６２号公報
【特許文献２】
特開平１１−３５３２９６号公報
【００１３】
【発明が解決しようとする課題】
しかしながら、例えば特許文献１に開示された方法では、各クラス領域を定義するために、学習ベクトル量子化により得られる理論的に最適なカテゴリ識別境界を必要としたり、疑似データの生成にバルーンネットモデルを適用する必要が存在するため、手法が複雑であるという問題が存在する。
【００１４】
また、例えば特許文献２で開示された方法では、一時的に学習が困難なデータを除外し、後で改めてこのデータに基づいて学習を行うため、学習に要する回数が増加し、学習行程が煩雑化してしまうという問題が存在する。
【００１５】
そこで本発明は、簡単な手法により汎用能力を向上できる階層型ニューラルネットワークの学習方法、そのプログラム及びそのプログラムを記録した記録媒体を提供することを目的とする。
【００１６】
【課題を解決するための手段】
かかる目的を達成するために、本発明は、請求項１記載のように、入力データ及び教師データを含んでなる学習データに基づいてバックプロパゲーションによる学習を行う階層型ニューラルネットワークの学習方法において、前記バックプロパゲーションによる学習で重要度に応じて学習データを複数回利用するように構成される。重要な学習データを重複して学習するという簡単な構成を用いることで、簡単な手法により階層型ニューラルネットワークの汎用能力が向上するように学習を行うことができる。
【００１７】
また、本発明は、請求項２記載のように、入力データ及び教師データを含んでなる学習データに基づいてバックプロパゲーションによる学習を行う階層型ニューラルネットワークの学習方法において、重複して利用する学習データを設定する重複利用学習データ設定ステップと、前記重複利用学習データ設定ステップで設定した前記学習データの利用回数を設定する利用回数設定ステップと、全ての学習データを１回利用して前記バックプロパゲーションによる学習を行う学習ステップと、前記重複利用学習ステップで設定した前記学習データを前記利用回数設定ステップで設定した前記利用回数回利用して前記バックプロパゲーションによる学習を行う追加学習ステップとを有するように構成される。モデル学習時に所定（設定した）学習データを例えば２回以上重複して使用するという簡単な構成を用いることで、階層型ニューラルネットワークの汎用能力が簡単な手法により向上するように学習を行うことが可能となる。
【００１８】
また、本発明は、請求項３記載のように、入力データ及び教師データを含んでなる学習データに基づいてバックプロパゲーションによる学習を行う学習ステップを有する階層型ニューラルネットワークの学習方法において、重複して利用する学習データを設定する重複利用学習データ設定ステップと、前記重複利用学習データ設定ステップで設定した前記学習データの利用回数を設定する利用回数設定ステップと、前記学習ステップにおいて用いる前記学習データに、前記重複利用学習ステップで設定した前記学習データを前記利用回数設定ステップで設定した前記利用回数分付加する重複学習データ付加ステップとを有するように構成される。モデル学習時に所定（設定した）学習データを例えば２回以上重複して使用するという簡単な構成を用いることで、階層型ニューラルネットワークの汎用能力が簡単な手法により向上するように学習を行うことが可能となる。
【００１９】
また、請求項２又は３記載の前記重複利用学習データ設定ステップは、請求項４記載のように、前記教師データの分布に基づいて前記重複して利用する学習データを設定するように構成されることが好ましい。教師データの分布に基づいて重複して利用する学習データを設定するように構成することで、モデルの構築者に容易に重複する学習データを選択させることができる。
【００２０】
また、請求項２又は３記載の前記重複利用学習データ設定ステップは、請求項５記載のように、予め分割された前記教師データの分布領域の中から少なくとも１つの領域を選択させ、選択された該領域に含まれる教師データを含む学習データを前記重複して利用する学習データとして設定するように構成されることが好ましい。予め分割した領域を選択することで、重複して利用する学習データを容易に設定できるように構成されるため、モデルの構築者に要する手間を軽減することが可能となる。
【００２１】
また、請求項２又は３記載の前記重複利用学習データ設定ステップは、請求項６記載のように、前記教師データの分布領域の少なくとも一部の領域を選択させ、選択された該領域に含まれる教師データを含む学習データを前記重複して利用する学習データとして設定するように構成されることが好ましい。教師データの分布における領域を選択させ、これから重複して利用する学習データを設定できるように構成することで、モデルの構築者に要する手間を軽減することが可能となる。
【００２２】
また、請求項５又は６記載の前記重複利用学習データ設定ステップは、請求項７記載のように、前記教師データの分布をヒストグラムで表示し、該ヒストグラムに基づいて前記領域を選択させるように構成されることが好ましい。ヒストグラムを表示することで、視覚的な理解を可能とするため、構築者は容易に重複する学習データを設定するための教師データの領域を選択することができる。
【００２３】
また、請求項２から７の何れか１項に記載の前記利用回数設定ステップは、請求項８記載のように、前記重複利用学習データ設定ステップで設定した前記重複して利用する学習データの重要度に基づいて前記利用回数を設定させるように構成されることが好ましい。例えば重要度の高い学習データの利用回数を多く取ることで、この領域の推定値の正確さを向上させることが可能となる。また、事象数が少ない領域の学習データを重要度が高いとして多くの回数利用して学習することで、この範囲を推定することが可能なモデルが構築できる。
【００２４】
また、本発明は、請求項９記載のように、入力データ及び教師データを含んでなる学習データに基づいてバックプロパゲーションによる学習を行う階層型ニューラルネットワークの学習方法を実現するコンピュータを機能させるためのプログラムであって、重複して利用する学習データを設定する重複利用学習データ設定処理と、前記重複利用学習データ設定処理で設定した前記学習データの利用回数を設定する利用回数設定処理と、全ての学習データを１回利用して前記バックプロパゲーションによる学習を行う学習処理と、前記重複利用学習処理で設定した前記学習データを前記利用回数設定処理で設定した前記利用回数回利用して前記バックプロパゲーションによる学習を行う追加学習処理とを前記コンピュータに実行させる。モデル学習時に所定（設定した）学習データを例えば２回以上重複して使用するという簡単な構成を用いることで、階層型ニューラルネットワークの汎用能力が簡単な手法により向上するように学習を行わせることが可能な学習方法をプログラムを用いて実現できる。
【００２５】
また、本発明は、請求項１０記載のように、入力データ及び教師データを含んでなる学習データに基づいてバックプロパゲーションによる学習を行う階層型ニューラルネットワークの学習方法を実現するコンピュータを機能させるためのプログラムであって、重複して利用する学習データを設定する重複利用学習データ設定処理と、前記重複利用学習データ設定処理で設定した前記学習データの利用回数を設定する利用回数設定処理と、前記学習において用いる前記学習データに、前記重複利用学習処理で設定した前記学習データを前記利用回数設定処理で設定した前記利用回数分付加する重複学習データ付加処理と、該重複学習データ付加処理で前記重複して利用する学習データが前記利用回数分付加された学習データに基づいて前記バックプロパゲーションによる学習を行う学習処理とを前記コンピュータに実行させる。モデル学習時に所定（設定した）学習データを例えば２回以上重複して使用するという簡単な構成を用いることで、階層型ニューラルネットワークの汎用能力が簡単な手法により向上するように学習を行わせることが可能な学習方法をプログラムを用いて実現できる。
【００２６】
また、請求項９又は１０記載の前記重複利用学習データ設定処理は、請求項１１記載のように、前記教師データの分布に基づいて前記重複して利用する学習データを設定するように構成されることが好ましい。教師データの分布に基づいて重複して利用する学習データを設定するように構成することで、モデルの構築者に容易に重複する学習データを選択させることができる。
【００２７】
また、請求項９から１１の何れか１項に記載の前記利用回数設定処理は、例えば請求項１２記載のように、前記重複利用学習データ設定ステップで設定した前記重複して利用する学習データの重要度に基づいて前記利用回数を設定させるように構成されることが好ましい。例えば重要度の高い学習データの利用回数を多く取ることで、この領域の推定値の正確さを向上させることが可能となる。また、事象数が少ない領域の学習データを重要度が高いとして多くの回数利用して学習することで、この範囲を推定することが可能なモデルが構築できる。
【００２８】
また、本発明は、請求項１３記載のように、請求項９から１２のいずれか１項に記載の前記プログラムが記録された記録媒体である。このように、上記したプログラムを記録媒体に記録することで、これを広く頒布することが可能となる。
【００２９】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
【００３０】
〔第１の実施形態〕
まず、本発明の第１の実施形態について図面を用いて詳細に説明する。図１は、本実施形態に係る階層型ニューラルネットワーク１００の概念図である。図１に示すように、本実施形態による階層型ニューラルネットワーク１００は、例えば入力層１１０と中間層１２０と出力層１３０との３層構造を有する。
【００３１】
各層１１０，１２０及び１３０はユニットと呼ばれるデータ処理要素によって構成されている。但し、このほかにも、入力層１１０と出力層１３０とのみで構成された２層型ニューラルネットワークや中間層１２０が例えば２層で構成された４層型ニューラルネットワーク等、目的に応じて種々変形することが可能である。
【００３２】
各層１１０，１２０及び１３０はユニットと呼ばれるデータ処理要素によって構成されている。ユニットの作用を図２を用いて説明する。各ユニットには、入力変数ｘｉ（ｉ：１からｎまでの自然数，ｎ：１以上の自然数）が、それぞれの入力に設定された結合荷重ｗｉで乗算されつつ入力される。ユニットでは、これらを上述した式１に基づいて合計し、値ｓを算出する。この際、ユニットバイアスαも加算する。
【００３３】
その後、得られた値ｓを変換式ｆ（ｓ）で変換し、変換後の値ｔを後段の層の入力として出力する、若しくは、推定値ｙｊ（ｊ：１からｍまでの自然数，ｍ：１以上の自然数）として出力する。尚、図１に示す階層構造では、入力層１１０を構成するユニット（これを入力層ユニット９１１という）に、ｉ＝１，ｗ１＝１，α＝０，ｆ（ｓ）＝ｓを適用している。即ち、入力層９１０は入力変数ｘ１〜ｘｎに１対１で対応し、且つ入力された入力変数ｘｉをそのまま出力する入力層ユニット９１１で構成されている。また、中間層１２０を構成するユニット（これを中間層ユニット１２１という）及び出力層１３０を構成するユニット（これを出力層ユニット１３１という）には、ｉ，ｗｉに任意の実数、ｆ（ｓ）にシグモイド関数を適用している。更に、各階層を構成するユニットの出力は、後の階層を構成する全ユニットの入力に結合されている。但し、出力層ユニット１３１からの出力は、そのまま推定値ｙとなる。
【００３４】
このような構成を有する階層型ニューラルネットワーク１００の学習では、上記の任意の実数α及びｗｉを修正し、モデルを構築する作業がなされる。モデル構築時には、例えば過去の実績で得られた入力データと教師データとを含む学習データが必要である。入力データとは、上記の入力変数Ｘｉに相当するものである。油等を流通させる配管を例に挙げると、入力データとしては、対象箇所（計測箇所）の築年数であったり、配管内の油の圧力や温度であったり、配管の寸法や形状であったり、流通させた日数や総時間を示す運転データ等とすることができる。教師データとは、入力データに対応するデータであり、入力データ取得時（又は算出／設定時）に同時に得られた測定値である。上記の例を引用すると、入力データとしては、対象の配管の腐食速度等とすることができる。
【００３５】
階層型ニューラルネットワーク１００における構築したモデルの推定精度（推定値ｙの精度）の向上、即ち、モデル学習は、学習データを用いて行われる。尚、このほかにも、学習の度合いを判定するためのテストデータや、学習後の推定精度を検証するための検証データ等が存在し、構築完了した階層型ニューラルネットワーク１００を評価することが可能となっている。
【００３６】
本実施形態は、上記の構成において、階層型ニューラルネットワーク１００の学習をより成熟させるために、例えば、ある特定の領域（例えば事象数が少ない領域）の推定値ｙが得られないという問題を回避するために、この領域に属する教師データを含む学習データを繰り返し使用する。これにより、見かけ上、この領域に属する事象数が増加するため、この領域に含まれる事象を十分に考慮した推定値ｙを得ることができるようになる。このほか、重要とする領域の推定値ｙを正確に得るために、この領域に属する教師データの繰り返しの利用回数を増加させる。これにより、この領域に対して得られる推定値ｙの分布が理想状態に近づき、より正確な値を得ることが可能となる。
【００３７】
次に、図３を用いて、本実施形態における階層型ニューラルネットワーク１００の学習方法を説明する。
【００３８】
本実施形態では、まず、蓄積されているデータを、学習データとテストデータと検証データとに分割する（ステップＳ１０１）。これは、従来でも成されていることであるため、詳細な説明を省略する。
【００３９】
次に、本実施形態では、重複して利用する学習データを設定する（ステップＳ１０２）。このステップは、例えば教師データの分布領域において、重み付けをする領域を１つ以上選択し、この領域に含まれる教師データを含む学習データを特定することで行われる。この際、教師データの分布領域を予め複数に分割しておいて、これらの中から何れか１つ以上を選択するように構成しても、対象とする領域を数値等で任意に指定するように構成しても良い。また、指定する領域の数は、１つであっても、複数であっても良い。更に、領域を選択／設定させる際に、図４に示すような、教師データの分布を示すヒストグラムを含んで構成された画面（領域選択画面）を構築者に呈示し、これに基づいて予め分割された領域（分割領域１４１）を選択させたり、数値又はグラフに基づいて領域（設定領域１４２）を設定させたりするとよい。これにより、構築者の使い勝手を向上させることが可能となる。
【００４０】
次に、本実施形態では、ステップＳ１０２で設定した領域に属する教師データを含む学習データの繰り返しの利用回数（再利用回数）を設定する（ステップＳ１０３）。この再利用回数は、階層型ニューラルネットワーク１００の構築者が任意に設定できるように構成することができる。また、特にステップＳ１０２で複数の領域を設定した場合等では、上述でも触れたように、個々の領域の重要度に応じて再利用回数を設定できるように構成すると良い。
【００４１】
このように、加重対象の領域を設定し且つ再利用回数を設定することで、実質的に追加する学習データを決定すると、本実施形態では、まず、上記で触れたバックプロパゲーションに従って、全ての学習データに基づいてモデルを修正する（ステップＳ１０４）。この際の処理は、従来と同様であるため、ここでは詳細な説明を省略する。
【００４２】
次に、本実施形態では、ステップＳ１０２及びＳ１０３で設定した領域及びこの領域毎の再利用回数に基づく追加された学習データに基づいて、ステップＳ１０４と同様に、バックプロパゲーションに従ったモデルの修正を行う（ステップＳ１０５）。これにより、追加分の修正が行われる。
【００４３】
このように全学習データに基づく修正及び追加した学習データに基づく修正が完了すると、本実施形態では、ステップＳ１０１で分割したテストデータを用いて修正されたモデルの学習の度合いをテストし（ステップＳ１０６）、このテスト結果に基づいて学習の度合いを判定する（ステップＳ１０７）。この結果、学習を継続する必要があると判断した場合（ステップＳ１０８のＹｅｓ）、本実施形態では、ステップＳ１０４に帰還して、再度、全学習データ及び追加した学習データによるモデルの修正を行い、その後の学習の度合いを検証する（ステップＳ１０４〜Ｓ１０８）。また、ステップＳ１０７の結果、学習を継続する必要がないと判断した場合（ステップＳ１０８のＮｏ）、本実施形態では、ステップＳ１０１で分割した検証データに基づいて学習後のモデルの精度を評価し（ステップＳ１０９）、学習を終了する。
【００４４】
以上のように動作することで、本実施形態では、全学習データ以外に、各領域の重要度に応じて重点的に学習を行うことが可能となるため、より使用者の要求に応じた推定値ｙを算出できるモデルを構築することが可能となる。即ち、例えば教師データの分布に偏りが存在するデータに対してモデルを構築する場合でも、本実施形態による学習を用いることで、広範囲の推定を十分な精度で行えるモデルを構築することが可能となる。更に、従来では分布の偏りにより適用できなかった分野でも、本実施形態のような重点的な学習を行う学習方法を用いて構築したモデルによれば、所望する推定値を得ることが可能となる。更に、本実施形態では、このような学習方法をデータを重要度に応じて複数回使用するという簡単な構成で実現している。
【００４５】
次に、以上のように学習させた階層型ニューラルネットワーク１００を用いて行ったシミュレーション結果の例を以下に図面と共に説明する。尚、一般的に階層型ニューラルネットワークにおいて、入力層と中間層とに入力されるデータの取り得る値の範囲は、０〜１と規定されており、この規定を外れると学習が困難となる場合が存在するため、以下の説明では、教師データを０〜１の範囲に正規化して行った場合を例に挙げる。
【００４６】
図５は、比較のために例示する従来技術によるモデルを用いて行ったシミュレーション結果を示すグラフである。また、図６は、本実施形態によるモデルであって、分割した全ての領域で事象数が略均等となるように重み付け（加重）を行った場合のシミュレーション結果を示すグラフである。また、図７は、本実施形態によるモデルであって、分割した領域中、０．２より大きく０．６以下の領域が他の領域よりも多くの事象数となるように重み付け（加重）を行った場合のシミュレーション結果を示すグラフである。尚、各図面（ａ）において、‘Ａｃｔｕａｌ’は実測された値、即ち教師データを示し、‘Ｐｒｅｄｉｃｔｉｏｎ’はシミュレーションにより得られた推定値ｙを示す。従って、（ａ）は教師データと推定値との対応を示す散布図となっている。また、各図面（ｂ）は（ａ）における分布領域を０以上０．２以下の領域と０．２より大きく０．６以下の領域と０．６より大きく１以下の領域とに分割した際の各領域の事象数を示す。尚、（ｂ）中、‘Ｉｔｅｒａｔｉｏｎ’は各領域における学習データの繰り返しの数を示している。また、図５における‘Ｎｏｒｍａｌ’は学習データの追加無しの状態での推定値ｙの分布を示し、図６における‘Ｆｌａｔ’は略均等となるように学習データを追加した状態での推定値ｙの分布数を示し、図７における‘Ｗｅｉｇｈｔ’は重み付けを行うように学習データを追加した状態での推定値ｙの分布を示す。
【００４７】
図５から図７を参照すると判るように、図５に示す従来のモデルでは、教師データの事象数が少ない領域（例えば０．６より大きく１以下の領域）を推定値ｙとして取ることが困難であるのに対し、教師データの分布数が均等となるように学習データを追加した場合では（図６参照）、この領域までも推定値として取ることが可能となっている。更に、教師データの分布数を特定の領域で特に加重した場合では（図７参照）、この領域におけるリニアリティが向上しているのが判る。
【００４８】
以上のように、本実施形態によれば、所望する任意の領域を推定することが可能となる。この結果、汎用能力が向上された階層型ニューラルネットワークのモデルを構築することができる。
【００４９】
また、このような階層型ニューラルネットワーク１００の学習方法は、例えばプログラムにより構成され、これが例えば図８に示すようなパーソナルコンピュータやワークステーション等のコンピュータにおいて実行されることで実現される。具体的には、上記のプログラムが例えばハードディスクドライブ等の記憶装置１６４に記憶されており、これがＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１６１により読み出され、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１６２に所定の作業領域が確保されつつ、これが実行されることで、実現される。尚、入力装置１６５及び出力装置１６６は、図３に示すフローチャートにおいて、領域の設定や再利用回数の設定等を行ったり、所定の画面やグラフ等を表示するために用いられる。また、このプログラムは例えばＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のリムーバブルな記録媒体に記録して広く頒布することができる。
【００５０】
また、図９に、本実施形態による階層型ニューラルネットワーク１００を適用する装置の具体例を示す。本具体例では、常圧蒸留塔１５０から流出される油をポンプ１５１を用いて配管１５２内に流通させる構成を挙げる。尚、測定点は図中、１５１ａ，１５１ｂ，１５１ｃ，１５１ｄとする。
【００５１】
このような構成において、入力データとして使用するデータ種類には、例えば肉厚データ，運転データ，環境データの３種類が適用できる。肉厚データには、測定日，測定位置，測定肉厚等のデータが含まれる。運転データには、日毎の温度，流量，油種等が含まれる。尚、運転データは、通常、日付が連続したデータとなる。環境データには、油種，実測の硫黄分濃度等が含まれる。
【００５２】
これらのデータにおいて、肉厚データは教師データとなるものである。また、運転データと環境データとは、入力データとなるものである。従って、モデル構築時には、肉厚データと運転データと環境データとを学習データとし、これに基づいて学習をさせた。この学習の結果、所望する年月日（現在，過去，未来を問わない）の各測定点１５１ａ，１５１ｂ，１５１ｃ，１５１ｄの配管の肉厚の推定において、通常、推定が困難な、いわゆる異常状態を推定することも可能となった。尚、より詳細なデータとするために、配管断面における各点（例えばＡ〜Ｈ）に対して上述の肉厚データを観測するとよい。
【００５３】
〔第２の実施形態〕
次に、本発明の第２の実施形態について、図面を用いて詳細に説明する。図１０は、本実施形態による階層型ニューラルネットワーク１００の学習方法を示すフローチャートである。
【００５４】
本実施形態による学習方法では、図３に示すフローチャートにおけるステップＳ１０４及びＳ１０５に代えて、ステップＳ２０２が加わり、更に、ステップＳ１０３の後段にステップＳ２０１が追加されている。
【００５５】
ステップＳ１０１からＳ１０３において、学習データとテストデータと検証データとを分割し、加重する教師データの領域の設定と再利用回数の設定とを完了すると、本実施形態では、ステップＳ２０１において、特定した領域に含まれる教師データを含む学習データを再利用回数分複製し、これをバックプロパゲーションによるモデルの修正を行う際に使用する学習データのデータ列に追加する（ステップＳ２０１）。このように、データ列自体に追加分の学習データを付加すると、本実施形態では、このデータ列全てに基づいてモデルの修正を行う（ステップＳ２０２）。これにより、第１の実施形態と同様に、所望した領域の学習データに基づいて重点的に学習を行うことが可能となるため、より使用者の要求に応じた推定値ｙを算出できるモデルを構築できる。尚、他の構成は、第１の実施形態と同様であるため、ここでは説明を省略する。
【００５６】
〔他の実施形態〕
以上、説明した実施形態は本発明の好適な一実施形態にすぎず、本発明はその趣旨を逸脱しない限り種々変形して実施可能である。
【００５７】
【発明の効果】
以上説明したように、本発明によれば、全学習データ以外に、各領域の重要度に応じて重点的に学習を行う構成によって、簡単な手法により汎用能力を向上できる階層型ニューラルネットワークの学習方法が実現されている。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る階層型ニューラルネットワーク１００の概念を示す図である。
【図２】階層型ニューラルネットワークにおける各階層を構成するユニット１１の作用を説明するための図である。
【図３】本発明の第１の実施形態におけるモデルの学習方法を示すフローチャートである。
【図４】本発明の第１の実施形態における学習方法において表示される領域選択画面の一例を示す図である。
【図５】従来技術によるモデルを用いたシミュレーション結果を示すグラフである。
【図６】本発明の第１の実施形態におけるモデル（均等分布）を用いたシミュレーション結果を示すグラフである。
【図７】本発明の第１の実施形態におけるモデル（重付け）を用いたシミュレーション結果を示すグラフである。
【図８】本発明の第１の実施形態による学習方法を実現するためのプログラムが実行されるコンピュータの構成を示すブロック図である。
【図９】本発明の第１の実施形態による階層型ニューラルネットワーク１００を適用する装置の具体例を示す図である。
【図１０】本発明の第２の実施形態におけるモデルの学習方法を示すフローチャートである。
【図１１】一般的な階層型ニューラルネットワーク９００の概念を示す図である。
【図１２】従来技術におけるモデルの学習方法を示すフローチャートである。
【符号の説明】
１００  階層型ニューラルネットワーク
１１０  入力層
１１１  入力層ユニット
１２０  中間層
１２１  中間層ユニット
１３０  出力層
１３１  出力層ユニット
１４１  分割領域
１４２  設定領域
【図１】
2004265190.tif 000004
【図２】
2004265190.tif 000005
【図３】
2004265190.tif 000006
【図４】
2004265190.tif 000007
【図５】
2004265190.tif 000008
【図６】
2004265190.tif 000009
【図７】
2004265190.tif 000010
【図８】
2004265190.tif 000011
【図９】
2004265190.tif 000012
【図１０】
2004265190.tif 000013
【図１１】
2004265190.tif 000014
【図１２】
2004265190.tif 000015