(57)【特許請求の範囲】
【請求項１】
出力値生成手段、分割手段、中間・出力区間ルール抽出手段、入力・中間区間ルール抽出手段及び入力・出力区間ルール生成手段を備え、入力素子、中間素子及び出力素子を持つ学習済みのニューラルネットを対象として、該ニューラルネットの入力素子の入力値又はその値の属する区間から該ニューラルネットの出力素子の出力値の属する区間への関係を示す区間ルールを抽出するための区間ルール抽出装置における区間ルール抽出方法において、
前記出力値生成手段により、複数のサンプルデータの各々について、当該サンプルデータを前記ニューラルネットの入力素子に入力した場合における各々の入力素子、中間素子及び出力素子の出力値を生成する出力値生成ステップと、
前記分割手段により、前記複数のサンプルデータの各々に対応する前記出力素子の出力値に基づいて、該出力素子の出力値の取る範囲を複数の出力区間に分割する分割ステップと、
前記中間・出力区間ルール抽出手段により、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する前記中間素子の出力値と前記出力素子の出力値の属する前記出力区間との間の対応関係に基づいて、前記中間素子の出力値の取る範囲を複数の中間区間に分割するとともに、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する前記中間素子の出力値の属する中間区間と前記出力素子の出力値の属する出力区間との間の対応関係に基づいて、前記ニューラルネットにおける前記中間区間から前記出力区間への入出力関係を中間・出力区間ルールとして抽出する中間・出力区間ルール抽出ステップと、
前記入力・中間区間ルール抽出手段により、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する前記入力素子の出力値と前記中間素子の出力値の属する前記中間区間との間の対応関係に基づいて、前記入力素子の出力値の取る範囲を複数の入力区間に分割するとともに、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する前記入力素子の出力値の属する入力区間と前記中間素子の出力値の属する中間区間との間の対応関係に基づいて、前記ニューラルネットにおける前記入力区間から前記中間区間への入出力関係を入力・中間区間ルールとして抽出する入力・中間区間ルール抽出ステップと、
前記入力・出力区間ルール生成手段により、前記中間・出力区間ルールに前記入力・中間区間ルールを代入することによって、前記ニューラルネットにおける前記入力区間から前記出力区間への入出力関係を入力・出力区間ルールとして生成する入力・出力区間ルール生成ステップとを有することを特徴とする区間ルール抽出方法。
【請求項２】
前記分割ステップにおいては、前記出力値生成ステップにおいて前記出力値生成手段により生成された、前記複数のサンプルデータの各々に対応する前記出力素子の出力値をクラスタリングし、これによって得られたクラスタ間の境界線に基づいて、前記分割を行うことを特徴とする請求項１に記載の区間ルール抽出方法。
【請求項３】
前記中間・出力区間ルール抽出ステップにおいては、
前記分割ステップにおける前記出力区間に係る分割の結果に基づいて、前記出力値生成ステップにおいて前記出力値生成手段により生成された、前記複数のサンプルデータの各々に対応する前記出力素子の出力値を離散化し、
中間・出力素子間の入出力パターンを分類する分類木を生成し、
分類木中で用いられる判定条件に基づいて、各中間素子の出力値について前記中間区間に係る分割を行い、
この分割によって決定されるそれぞれの領域について、当該領域を構成する中間区間を条件部とし、当該領域に含まれる前記出力素子の出力値の属する出力区間のうち最も多いものを結論部とするルールを抽出し、これを前記入力・中間区間ルールとすることを特徴とする請求項１に記載の区間ルール抽出方法。
【請求項４】
前記入力・中間区間ルール抽出ステップにおいては、
前記中間・出力区間ルール抽出ステップにおける前記中間区間に係る分割の結果に基づいて、前記出力値生成ステップにおいて前記出力値生成手段により生成された、前記複数のサンプルデータの各々に対応する前記中間素子の出力値を離散化し、
入力・中間素子間の入出力パターンを分類する分類木を生成し、
分類木中で用いられる判定条件に基づいて、各入力素子の出力値について前記入力区間に係る分割を行い、
この分割によって決定されるそれぞれの領域について、当該領域を構成する入力区間を条件部とし、当該領域に含まれる前記中間素子の出力値の属する中間区間のうち最も多いものを結論部とするルールを抽出し、これを前記入力・中間区間ルールとすることを特徴とする請求項１に記載の区間ルール抽出方法。
【請求項５】
出力値生成手段、分割手段、第1の抽出手段、第２の抽出手段、第３の抽出手段及び入力・出力区間ルール生成手段を備え、第１層を構成する入力素子、第２層から第ｎ−１（ｎは４以上）層までを構成する中間素子及び第ｎ層を構成する出力素子を持つ学習済みのニューラルネットを対象として、該ニューラルネットの入力素子の入力値又はその値の属する区間から該ニューラルネットの出力素子の出力値の属する区間への関係を示す区間ルールを抽出するための区間ルール抽出装置における区間ルール抽出方法において、
前記出力値生成手段により、複数のサンプルデータの各々について、当該サンプルデータを前記ニューラルネットの第１層の素子に入力した場合における各々の第1層から第ｎ層までの素子の出力値を生成する出力値生成ステップと、
前記分割手段により、前記複数のサンプルデータの各々に対応する前記第ｎ層の素子の出力値に基づいて、該第ｎ層の素子の出力値の取る範囲を複数の出力区間に分割する分割ステップと、
前記第1の抽出手段により、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する第ｎ−１層の素子の出力値と第ｎ層の出力素子の出力値の属する出力区間との間の対応関係に基づいて、第ｎ−１層の素子の出力値の取る範囲を複数の第ｎ−１層区間に分割するとともに、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する第ｎ−１層の素子の出力値の属する第ｎ−１層区間と第ｎ層の素子の出力値の属する出力区間との間の対応関係に基づいて、前記ニューラルネットにおける第ｎ−１層区間から出力区間への入出力関係を第ｎ−１の区間ルールとして抽出する第1の抽出ステップと、
前記第２の抽出手段により、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する第ｉ−１層の素子の出力値と第ｉ層の素子の出力値の属する第ｉ層区間との間の対応関係に基づいて、第ｉ−１層の素子の出力値の取る範囲を複数の第ｉ−１層区間に分割するとともに、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する第ｉ−１層の素子の出力値の属する第ｉ−１層区間と第ｉ層の素子の出力値の属する第ｉ層区間との間の対応関係に基づいて、前記ニューラルネットにおける第ｉ−１層区間から第ｉ層区間への入出力関係を第ｉ−１の区間ルールとして抽出する処理を、ｉについてｎ−１をはじめとして３になるまで１ずつ減じながら逐次的に繰り返し行う第２の抽出ステップと、
前記第３の抽出手段により、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する第１層の素子の出力値と第２層の出力素子の出力値の属する第２層区間との間の対応関係に基づいて、第１層の素子の出力値の取る範囲を複数の入力区間に分割するとともに、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する第１層の素子の出力値の属する入力区間と第２層の素子の出力値の属する第２層区間との間の対応関係に基づいて、前記ニューラルネットにおける入力区間から第２層区間への入出力関係を第１の区間ルールとして抽出する第３の抽出ステップと、
前記入力・出力区間ルール生成手段により、前記第ｎ−１の区間ルールへ、前記第ｎ−２の区間ルールから前記第１の区間ルールまでを逐次代入することによって、前記ニューラルネットにおける前記入力区間から前記出力区間への入出力関係を入力・出力区間ルールとして生成する入力・出力区間ルール生成ステップとを有することを特徴とする区間ルール抽出方法。
【請求項６】
出力値生成手段、分割手段、中間・出力区間ルール抽出手段、入力・中間区間ルール抽出手段及び入力・出力区間ルール生成手段を備え、入力素子、中間素子及び出力素子を持つ学習済みのニューラルネットを対象として、該ニューラルネットの入力素子の入力値又はその値の属する区間から該ニューラルネットの出力素子の出力値の属する区間への関係を示す区間ルールを抽出するための区間ルール抽出装置としてコンピュータを機能させるためのプログラムであって、
前記出力値生成手段により、複数のサンプルデータの各々について、当該サンプルデータを前記ニューラルネットの入力素子に入力した場合における各々の入力素子、中間素子及び出力素子の出力値を生成する出力値生成ステップと、
前記分割手段により、前記複数のサンプルデータの各々に対応する前記出力素子の出力値に基づいて、該出力素子の出力値の取る範囲を複数の出力区間に分割する分割ステップと、
前記中間・出力区間ルール抽出手段により、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する前記中間素子の出力値と前記出力素子の出力値の属する前記出力区間との間の対応関係に基づいて、前記中間素子の出力値の取る範囲を複数の中間区間に分割するとともに、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する前記中間素子の出力値の属する中間区間と前記出力素子の出力値の属する出力区間との間の対応関係に基づいて、前記ニューラルネットにおける前記中間区間から前記出力区間への入出力関係を中間・出力区間ルールとして抽出する中間・出力区間ルール抽出ステップと、
前記入力・中間区間ルール抽出手段により、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する前記入力素子の出力値と前記中間素子の出力値の属する前記中間区間との間の対応関係に基づいて、前記入力素子の出力値の取る範囲を複数の入力区間に分割するとともに、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する前記入力素子の出力値の属する入力区間と前記中間素子の出力値の属する中間区間との間の対応関係に基づいて、前記ニューラルネットにおける前記入力区間から前記中間区間への入出力関係を入力・中間区間ルールとして抽出する入力・中間区間ルール抽出ステップと、
前記入力・出力区間ルール生成手段により、前記中間・出力区間ルールに前記入力・中間区間ルールを代入することによって、前記ニューラルネットにおける前記入力区間から前記出力区間への入出力関係を入力・出力区間ルールとして生成する入力・出力区間ルール生成ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、学習済みのニューラルネットから、入力値又はその属する区間から出力の属する区間を識別するための区間ルールを抽出するための区間ルール抽出方法に関する。
【０００２】
【従来の技術】
ニューラルネットは、高度な情報処理機能を人工的に実現するために開発されたコンピュータ技術である。すなわち、ニューラルネットワークは、コンピュータを使用しての、脳の神経回路などを模擬した人工知能の技術であり、情報を入力するための入力素子の集まりである入力層、この入力から答えがどのような値になるのかを出力する出力素子の集まりである出力層、およびそれらの層の中間にある中間素子の集まりである中間層から構成され、各層の各素子は荷重値パラメータを持つ多くの結合によって連結しあっている。
【０００３】
ニューラルネットは、属性によって表される入力データと、その入力データに対するニューラルネットの望ましい出力データに基づいて荷重値パラメータを修正する学習処理により、高度な情報処理機能を獲得することができる。
【０００４】
しかし、学習されたニューラルネットが高度な情報処理機能を有していても、ニューラルネットの荷重値を見ただけでは、ニューラルネットによってどのような機能が学習されたのか分からないため、エキスパートシステムにおける知識獲得分野や、データマイニング分野においては、人間に理解しやすい形でニューラルネットが学習によって獲得した機能をルールとして取り出す方法が必要とされている。そのため、ニューラルネットからルールを抽出する手法として、例えば、LuMin Fu「Rule Learning by Searching on adapted nets」 Proceedings of the National Conference on Artificial Intelligence(1991)や、Geoffrey G.Towell「Extracting Refined Rules from Knowledge-Based Neural Networks」 Machine Learning13(1993)、R.Setiono「Understanding Neural Networks via Rule Extraction」 Proceedings of IJCAI’95、M.Mar Abad Grau「A Fast Method for Rule Extraction in Neural Networks」 Proceedings of ICNN’98、特開平7-234852号などが知られているが、これらは結論部分が区間であるルールが得られない。
【０００５】
区間ルールを抽出する手法としては、Sebastian B.Thrun「Extracting Provably Correct Rules from Artificial Neural Networks」が知られている。しかし、この方法は区間の境界線を決定するためにランダムサーチが必要であり、素子数や階層数の多いニューラルネットになると、計算量が膨大になるため適用は困難である。
【０００６】
【発明が解決しようとする課題】
上記のように、学習済みのニューラルネットから、ニューラルネットがどのような機能を学習したのかをルールの形で抽出したいというニーズがあり、区間ルールでないルールを抽出できる方法は多く提案されているものの、従来の区間ルールを抽出する方法はランダムサーチが必要なため、大規模な問題への適用が困難であるという問題点があった。
【０００７】
本発明は、上記事情を考慮してなされたもので、大規模な問題に対して適用することも可能とするために、対象とするニューラルネットについて、区間ルールの境界線を効率的な計算量で計算でき、精度のよい区間ルールを抽出可能な区間ルール抽出方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明は、出力値生成手段、分割手段、中間・出力区間ルール抽出手段、入力・中間区間ルール抽出手段及び入力・出力区間ルール生成手段を備え、入力素子、中間素子及び出力素子を持つ学習済みのニューラルネットを対象として、該ニューラルネットの入力素子の入力値又はその値の属する区間から該ニューラルネットの出力素子の出力値の属する区間への関係を示す区間ルールを抽出するための区間ルール抽出装置における区間ルール抽出方法において、前記出力値生成手段により、複数のサンプルデータの各々について、当該サンプルデータを前記ニューラルネットの入力素子に入力した場合における各々の入力素子、中間素子及び出力素子の出力値を生成する出力値生成ステップと、前記分割手段により、前記複数のサンプルデータの各々に対応する前記出力素子の出力値に基づいて、該出力素子の出力値の取る範囲を複数の出力区間に分割する分割ステップと、前記中間・出力区間ルール抽出手段により、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する前記中間素子の出力値と前記出力素子の出力値の属する前記出力区間との間の対応関係に基づいて、前記中間素子の出力値の取る範囲を複数の中間区間に分割するとともに、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する前記中間素子の出力値の属する中間区間と前記出力素子の出力値の属する出力区間との間の対応関係に基づいて、前記ニューラルネットにおける前記中間区間から前記出力区間への入出力関係を中間・出力区間ルールとして抽出する中間・出力区間ルール抽出ステップと、前記入力・中間区間ルール抽出手段により、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する前記入力素子の出力値と前記中間素子の出力値の属する前記中間区間との間の対応関係に基づいて、前記入力素子の出力値の取る範囲を複数の入力区間に分割するとともに、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する前記入力素子の出力値の属する入力区間と前記中間素子の出力値の属する中間区間との間の対応関係に基づいて、前記ニューラルネットにおける前記入力区間から前記中間区間への入出力関係を入力・中間区間ルールとして抽出する入力・中間区間ルール抽出ステップと、前記入力・出力区間ルール生成手段により、前記中間・出力区間ルールに前記入力・中間区間ルールを代入することによって、前記ニューラルネットにおける前記入力区間から前記出力区間への入出力関係を入力・出力区間ルールとして生成する入力・出力区間ルール生成ステップとを有することを特徴とする。
【０００９】
本発明によれば、サンプルデータに対するニューラルネットの各素子の出力値であるパターンデータに基づいて、ニューラルネットの出力素子の分割区間を決定し、ある層の区間分割をもとに離散化されたパターンデータを使って、その層より入力層側に近い隣接する層の区間分割を生成し、その層からルールを抽出するという処理を入力層まで行い、最後に合成するので、探索を用いずに短時間で精度の良いルールを抽出できる。
【００１０】
また、ユーザからの指示入力に基づいて前記出力区間分割を生成するようにすれば、ユーザが興味を持っているニューラルネットの出力の範囲を満たすような入力の範囲をルールとして取り出すことができる。あるいは、クラスタリングを用いた方法によってニューラルネットの出力素子の分割区間を決定すれば、ニューラルネットの出力を自動的に分割し、パターンデータの性質を反映したルールを取り出すことができる。
【００１１】
また、分類木を用いた方法によって中間素子の分割区間、入力素子の分割区間を決定すれば、分類木はサンプルデータを判別するための境界条件を高速に生成できるので、分割区間を効率的に決定できる。また、既存の分類木生成方法は、連続変数入力、離散変数入力、およびそれらの混合した入力を扱えるので、入力部分に連続変数や離散変数が混在するパターンデータからもルールを抽出できる。さらに、分類木の枝刈りによってルールの複雑さを抑えることができる。
【００１２】
また、本発明は、出力値生成手段、分割手段、第1の抽出手段、第２の抽出手段、第３の抽出手段及び入力・出力区間ルール生成手段を備え、第１層を構成する入力素子、第２層から第ｎ−１（ｎは４以上）層までを構成する中間素子及び第ｎ層を構成する出力素子を持つ学習済みのニューラルネットを対象として、該ニューラルネットの入力素子の入力値又はその値の属する区間から該ニューラルネットの出力素子の出力値の属する区間への関係を示す区間ルールを抽出するための区間ルール抽出装置における区間ルール抽出方法において、前記出力値生成手段により、複数のサンプルデータの各々について、当該サンプルデータを前記ニューラルネットの第１層の素子に入力した場合における各々の第1層から第ｎ層までの素子の出力値を生成する出力値生成ステップと、前記分割手段により、前記複数のサンプルデータの各々に対応する前記第ｎ層の素子の出力値に基づいて、該第ｎ層の素子の出力値の取る範囲を複数の出力区間に分割する分割ステップと、前記第1の抽出手段により、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する第ｎ−１層の素子の出力値と第ｎ層の出力素子の出力値の属する出力区間との間の対応関係に基づいて、第ｎ−１層の素子の出力値の取る範囲を複数の第ｎ−１層区間に分割するとともに、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する第ｎ−１層の素子の出力値の属する第ｎ−１層区間と第ｎ層の素子の出力値の属する出力区間との間の対応関係に基づいて、前記ニューラルネットにおける第ｎ−１層区間から出力区間への入出力関係を第ｎ−１の区間ルールとして抽出する第1の抽出ステップと、前記第２の抽出手段により、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する第ｉ−１層の素子の出力値と第ｉ層の素子の出力値の属する第ｉ層区間との間の対応関係に基づいて、第ｉ−１層の素子の出力値の取る範囲を複数の第ｉ−１層区間に分割するとともに、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する第ｉ−１層の素子の出力値の属する第ｉ−１層区間と第ｉ層の素子の出力値の属する第ｉ層区間との間の対応関係に基づいて、前記ニューラルネットにおける第ｉ−１層区間から第ｉ層区間への入出力関係を第ｉ−１の区間ルールとして抽出する処理を、ｉについてｎ−１をはじめとして３になるまで１ずつ減じながら逐次的に繰り返し行う第２の抽出ステップと、前記第３の抽出手段により、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する第１層の素子の出力値と第２層の出力素子の出力値の属する第２層区間との間の対応関係に基づいて、第１層の素子の出力値の取る範囲を複数の入力区間に分割するとともに、前記複数のサンプルデータの各々について得られた、当該サンプルデータに対応する第１層の素子の出力値の属する入力区間と第２層の素子の出力値の属する第２層区間との間の対応関係に基づいて、前記ニューラルネットにおける入力区間から第２層区間への入出力関係を第１の区間ルールとして抽出する第３の抽出ステップと、前記入力・出力区間ルール生成手段により、前記第ｎ��１の区間ルールへ、前記第ｎ−２の区間ルールから前記第１の区間ルールまでを逐次代入することによって、前記ニューラルネットにおける前記入力区間から前記出力区間への入出力関係を入力・出力区間ルールとして生成する入力・出力区間ルール生成ステップとを有することを特徴とする。このように、中間層を複数層持つニューラルネットについても、同様の効果が得られる。
【００１３】
なお、区間ルール抽出方法に係る発明は、区間ルール抽出装置に係る発明としても成立する。
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための（あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための）プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【００１４】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【００１５】
図１に、本発明の一実施形態に係る区間ルール抽出装置の構成例を示す。
【００１６】
図２に、本区間ルール抽出装置の処理手順の一例を示す。
【００１７】
図１に示されるように、この区間ルール抽出装置は、サンプルデータ記憶部１０１、学習済みニューラルネット記憶部１０２、パターンデータ生成部１０３、パターンデータ記憶部１０４、出力区間分割部１０５、出力区間分割記憶部１０６、中間・出力区間ルール抽出部１０７、入力・中間区間ルール抽出部１０８、入力・中間区間ルール記憶部１０９、中間・出力区間ルール記憶部１１０、ルール合成部１１１、入力・出力区間ルール記憶部１１２を備えている。
【００１８】
この区間ルール抽出装置は、ソフトウェアによって実現することができる（すなわち計算機上でソフトウェアを実行する形で実現することができる）。その際、そのソフトウェアの一部または全部の機能をチップ化あるいはボード化して該計算機に組み込んで実現することもできる。あるいは、この区間ルール抽出装置を専用のハードウェアとして構成することも可能である。
【００１９】
なお、本区間ルール抽出装置の処理においてユーザの操作を介入させる形態をとる場合には、ユーザの指示入力等を受け付けるなどの機能を提供するＧＵＩ等の手段が用いられる。
【００２０】
サンプルデータ記憶部１０１、学習済みニューラルネット記憶部１０２、パターンデータ記憶部１０４、出力区間分割記憶部１０６、入力・中間区間ルール記憶部１０９、中間・出力区間ルール記憶部１１０、入力・出力区間ルール記憶部１１２は、いずれも、例えばハードディスクや光ディスクや半導体メモリなどの記憶装置によって構成される。なお、各記憶部は、別々の記憶装置によって構成されていてもよいし、それらの全部または一部が同一の記憶装置によって構成されていてもよい。
【００２１】
もちろん、本区間ルール抽出装置にネットワーク通信装置を付加して、外部とデータのやり取りができるようにしてもよい。
【００２２】
さて、図１において、サンプルデータ記憶部１０１には、区間ルール抽出のための処理に供されるサンプルデータが格納される。なお、サンプルデータがどのようにして作成あるいは収集されたものであるかについては特に限定されない。また、サンプルデータは、ニューラルネットの学習に用いられたデータと一部又は全部が重複していても構わないし、ニューラルネットの学習に用いられたデータと異なるものであってもよい。
【００２３】
学習済みニューラルネット記憶部１０２には、区間ルール抽出の対象となる学習済みのニューラルネットのデータが格納される。
【００２４】
パターンデータ生成部１０３は、サンプルデータ記憶部１０１からサンプルデータを取り出し、学習済みニューラルネット記憶部１０２から学習済みニューラルネットのデータを取り出し、ニューラルネットの各素子の出力値であるパターンデータを生成する（ステップＳ１）。パターンデータ生成部１０３によって生成されたパターンデータは、パターンデータ記憶部１０４に格納される。
【００２５】
出力区間分割部１０５は、パターンデータ記憶部１０４に格納されたパターンデータを取り出し、出力区間分割を生成する（ステップＳ２）。出力区間分割部１０５によって生成された出力区間分割のデータは、出力区間分割記憶部１０６に格納される。
【００２６】
この出力区間分割処理には、例えば、（１）ユーザから指定されたニューラルネットの出力の範囲を取り出す方法（例えばユーザは興味を持っている１または複数の範囲を指定することができる）、（２）パターンデータの出力素子部分をクラスタリングし、隣接するクラスタとクラスタの境界線を出力区間分割として取り出す方法、などの種々の方法が可能である。
【００２７】
出力区間分割処理の方法としては、１つの方法のみを用いるものとしてもよいし、複数の方法からユーザが適宜選択可能としてもよい。
【００２８】
中間・出力区間ルール抽出部１０７は、出力区間分割記憶部１０６に格納されている出力区間分割と、パターンデータ記憶部１０４に格納されているパターンデータとを取り出し、パターンデータの中間素子部分とパターンデータの出力素子部分との関係を、図３に例示するような形の区間ルールとして抽出する（ステップＳ３）。中間・出力区間ルール抽出部１０７によって抽出された中間・出力区間ルールのデータは、中間・出力区間ルール記憶部１１０に格納される。
【００２９】
中間・出力区間ルール抽出処理は、例えば、次のようにする。まず、パターンデータのうち中間層部分を説明変数とし、出力層部分を出力区間分割記憶部１０６に格納された出力区間分割を基に離散化したものを非説明変数として、分類木を作成する。次に、分類木中で分類に利用された境界線を用いて中間層空間を複数の領域に分類する。そして、分割された各領域について、その領域を構成する区間を条件部とし、その領域内に含まれるサンプルデータの非説明変数が最も多く含まれる区間を結論部としたルールを抽出する（最も多く含まれる区間が複数ある場合には、予め定められた方法によって一つを選択すればよい）。例えば、図４に示すように、ある素子の入力１の区間がＢで且つ入力２の区間がＢである場合に、出力が区間１〜３にばらついたときは、最も多い区間２を採用する。
【００３０】
入力・中間区間ルール抽出部１０８は、中間・出力区間ルール記憶部１１０に格納されている中間・出力区間ルールと、パターンデータ記憶部１０４に格納されているパターンデータとを取り出し、パターンデータの入力素子部分とパターンデータの中間素子部分との関係を、区間ルールとして抽出する（ステップＳ４）。入力・中間区間ルール抽出部１０８によって抽出された入力・中間区間ルールのデータは、入力・中間区間ルール記憶部１０９に格納される。
【００３１】
入力・中間区間ルール抽出処理は、例えば、次のようにする。すなわち、中間・出力区間ルール抽出処理での例と同様、まず、パターンデータのうち入力層部分を説明変数とし、中間層部分を中間・出力区間ルール記憶部１１０に格納された中間・出力区間ルールで用いられている中間区間分割を基に離散化したものを非説明変数として、分類木を作成する。次に、分類木中で分類に利用された境界線を用いて入力層空間を複数の領域に分類する。そして、分割された各領域について、その領域を構成する区間を条件部とし、その領域内に含まれるサンプルデータの非説明変数が最も多く含まれる区間を結論部としたルールを抽出する。
【００３２】
ルール合成部１１１は、入力・中間区間ルール記憶部１０９に格納されている入力・中間区間ルールと、中間・出力区間ルール記憶部１１０に格納されている中間・出力区間ルールとを取り出し、中間・出力区間ルールに入力・中間区間ルールを代入して合成することによって、入力・出力区間ルールを生成する（ステップＳ５）。ルール合成部１１１によって生成された入力・出力区間ルールのデータは、入力・出力区間ルール記憶部１１２に格納される。
【００３３】
以下では、本実施形態の区間ルール抽出装置について、具体例を用いつつ説明する。
【００３４】
なお、ここでは、本発明の理解を容易にするために、１入力１出力のニューラルネットを例にとって説明するとともに、図４のような出力の属する区間のばらつきが発生しない結果となった例を使って説明する。もちろん、本発明は、多入力１出力のニューラルネット、１入力多出力のニューラルネット、多入力多出力のニューラルネットにも適用可能である。また、図４のような出力の属する区間のばらつきが発生した場合には、前述したように例えば最も多く含まれる区間を採用するなどすればよい。
【００３５】
図５に、１入力・１出力の３層ニューラルネットの例を示す。図５において、ｉ１、ｉ２は、入力素子、ｏ１は出力素子、ｈ１、ｈ２、ｈ３は、中間素子である。なお、図５の例では、入力素子ｉ２と中間素子ｈ３には定数１が入力されるものとしている。
【００３６】
図６に、図５に示したニューラルネットの荷重値パラメータの例を示す。図６において、例えば、ｉ１行ｈ１列の数値（１５．４１）は、入力素子ｉと中間素子ｈ１との間の結合荷重値を表す。
【００３７】
本実施形態では、入力１の値を０．０〜１．０まで０．０５刻みでサンプルすることによって得られる２１個のデータをサンプルデータとし、該サンプルデータの各データをそれぞれ入力とした場合の各素子の出力の集合をパターンデータとする。
【００３８】
図７に、本具体例のニューラルネットとサンプルデータを基に、パターンデータ生成部１０３によって生成されたパターンデータの例を示す。ここで、「パターンＮｏ」は、事例番号に相当する。このようなパターンデータに基づいて、出力区間、中間区間、入力区間を分割していく。
【００３９】
パターンデータが生成されたならば、次に、出力区間分割部１０５により出力区間分割処理を行う。
【００４０】
出力区間を自動決定する際には、例えば、Ｋ−Ｍｅａｎｓ法（「統計学事典(p.389)  竹内哲編  東洋経済新報社  ISBN4-492-01038-6」）というよく知られたクラスタリング手法を用いてクラスタを作成し、クラスタ間の境界線を基に分割を生成し、パターンデータの出力部分を離散化する。境界が０．５２であった場合におけるパターンデータとその分割結果の例を図８（ａ），（ｂ）に示す。また、図１０のテーブルの初段目に、得られた出力区間分割の例を示す。
【００４１】
なお、ユーザ指定によって出力区間を分割する場合には、例えば、図７あるいは図８のような情報を表示画面に表示し、ユーザに区間数や各区間の両端の値などを入力させるようにしてもよい。また、その際に、ユーザ指定に従って図７あるいは図８のような情報を区間が識別できるように色分けなどして呈示し、ユーザに決定ボタンまたは変更ボタンなどを押させるようにしてもよい。
【００４２】
次に、中間・出力区間ルール抽出部１０７により中間・出力区間ルール抽出処理を行う。
【００４３】
中間区間については、例えばＣ４．５（「ＡＩによるデータ解析  Ｊ．Ｒ．キンラン著  古川康一訳  （株）凸版印刷  ISBN4-8101-8920-1」）というよく知られた分類木生成手法などを用いて分類木を作成し、分類木中で用いられた境界線を基に分割する。
【００４４】
図９（ａ）に、Ｃ４．５によって作成された出力素子ｏ１の分類木の例を示す。この例では、中間素子ｈ２についてクラスタ間の境界として０．３３が使用され、中間素子ｈ１についてクラスタ間の境界として０．５１が使用されている。この結果、例えば、中間素子ｈ１について図１０のテーブルの２段目に示すような出力区間分割が得られ、中間素子ｈ２について同じく３段目に示すような出力区間分割が得られ、そして、各区間内に含まれるパターンデータの最も頻度の高い関係をルールとして抽出することによって、図１１（ａ）に示すような中間・出力区間ルールが得られる。
【００４５】
次に、入力・中間区間ルール抽出部１０８により入力・中間区間ルール抽出処理を行う。
【００４６】
入力区間については、中間区間と同様に、例えばＣ４．５などを用いて分類木を作成し、分類木中で用いられた境界線を基に分割する。
【００４７】
図９の（ｂ）にＣ４．５によって作成された中間素子ｈ１の分類木の例を示し、（ｃ）にＣ４．５によって作成された中間素子ｈ２の分類木の例を示す。（ｂ）ではクラスタ間の境界として０．７８が使用され、（ｃ）ではクラスタ間の境界として０．２８が使用されている。この結果、例えば、入力素子ｉ１について図１０のテーブルの４段目に示すような出力区間分割が得られ、そして、図１１（ｂ）に示すような入力・中間区間ルールが得られる。
【００４８】
次に、ルール合成部１１１によりルール合成処理を行う。例えば、図１１の（ａ）のような中間・出力区間ルールに（ｂ）のような入力・中間区間ルールを代入して合成することによって、（ｃ）のような入力・出力区間ルールが生成される。図１１（ｃ）に例示した入力・出力区間ルールをみると、図７に示したパターンデータの傾向に従った区間ルールが抽出されていることが確認できる。
【００４９】
なお、上記では、各々の区間ルールの抽出を必要な区間分割が得られた時点で行ったが、その代わりに、全各区間ルールの抽出を最後にまとめて行ってもよい。
【００５０】
以上では、中間層が１層であるニューラルネットワークについて説明してきたが、中間層が２層以上のニューラルネットワークに対しても本発明は適用可能である。
【００５１】
例えば、中間層が第１層から第２層まで２層あるとすると、サンプルデータに対するニューラルネットの各素子の出力値を得て各素子のパターンデータを生成し、該パターンデータに基づいて、ニューラルネットの出力素子からの出力を複数の区間に分割して出力区間分割を生成し、該パターンデータ及び該出力区間分割に基づいて、ニューラルネットの第１層の中間素子と第２層の中間素子と間の入出力関係を第２の区間ルールとして抽出し、該パターンデータ及び該第２の区間ルールに基づいて、該ニューラルネットの入力素子と第１層の中間素子との間の入出力関係を第１の区間ルールとして抽出し、該第１の区間ルールと該第２の区間ルールを合成することによって、該ニューラルネットの入力素子と出力素子との間の入出力関係を入力・出力区間ルールとして生成することができる。
【００５２】
また、中間層がｎ−２層あるとすると、入力層を第１層、中間層を第２層から第ｎ−１層、出力層を第ｎ層として、パターンデータに基づく出力区間分割、パターンデータと出力区間分割に基づく第ｎ−１層の素子と第ｎ層すなわち出力層の素子との間での第ｎ−１の区間分割／ルール抽出、パターンデータと第ｎ−１の区間ルールに基づく第ｎ−２層の素子と第ｎ−１層の素子との間での第ｎ−２の区間分割／ルール抽出、…、パターンデータと第３の区間ルールに基づく第２層の素子と第３層の素子との間での第２の区間分割／ルール抽出、パターンデータと第２の区間ルールに基づく第１層すなわち入力層の素子と第２層の素子との間での第１の区間分割／ルール抽出、全ルール合成による入力・出力区間ルールの生成の順に行えばよい。
【００５３】
これらの場合について、全区間ルールの抽出を最後にまとめて行ってもよい点も同様である。
【００５４】
以上説明したように本実施形態によれば、従来の方法のように探索を用いず、サンプルデータに基づき分割区間を決定するので、分割区間を効率的に決定することが可能である。例えばＣ４．５のような分類木生成方法を用いると、ニューラルネットの素子数×パターンデータ数×ｌｏｇ（パターンデータ数）の計算量でルールを抽出可能である。
また、各素子ごとの入出力関係を区間ルールとして抽出しその後に合成するので、ニューラルネットの入出力部分しか考慮に入れない場合に比較して、精度のよい区間ルールを抽出することが可能である。
そして、出力区間の生成にクラスタリング手法を用いることにより、パターンデータの固まり具合に対応したルールを自動的に抽出することが可能となる。
さらに、中間区間や入力区間の生成に分類木を用いることにより、連続・離散混合入力を扱うことが可能となり、分類木の枝刈りによってルールの複雑さを抑えることが可能となる。
【００５５】
なお、以上の各機能は、ソフトウェアとしても実現可能である。
【００５６】
また、本実施形態は、コンピュータに所定の手段を実行させるための（あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための）プログラムを記録したコンピュータ読取り可能な記録媒体としても実施することもできる。
【００５７】
なお、本実施形態で例示した構成は一例であって、それ以外の構成を排除する趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の一部を省いたり、例示した構成に別の機能を付加したり、それらを組み合わせたりすることなどによって得られる別の構成も可能である。また、例示した構成と論理的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成の要部と論理的に等価な別の構成なども可能である。また、例示した構成と同一もしくは類似の目的を達成する別の構成、例示した構成と同一もしくは類似の効果を奏する別の構成なども可能である。
また、本実施形態内において、各種構成部分についての各種バリエーションは、適宜組み合わせて実施することが可能である。
また、各実施形態は、装置全体としての発明、装置内部の構成部分についての発明、またはそれらに対応する方法の発明等、種々の観点、段階、概念またはカテゴリに係る発明を包含・内在するものである。
従って、この発明の実施の形態に開示した内容からは、例示した構成に限定されることなく発明を抽出することができるものである。
【００５８】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【００５９】
【発明の効果】
本発明によれば、ニューラルネットから精度の良い区間ルールを効率的に抽出することが可能になる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る区間ルール抽出装置の構成例を示す図
【図２】同区間ルール抽出装置の処理手順の一例を示すフローチャート
【図３】抽出された区間ルール例を示す図
【図４】ルール抽出について説明するための図
【図５】ニューラルネットの構造例を示す図
【図６】ニューラルネットの荷重値パラメータの例を示す図
【図７】パターンデータ例を示す図
【図８】パターンデータの離散化について説明するための図
【図９】各素子の分類木について説明するための図
【図１０】得られた各分割の例を示す図
【図１１】得られた各区間ルールの例を示す図
【符号の説明】
１０１…サンプルデータ記憶部
１０２…学習済みニューラルネット記憶部
１０３…パターンデータ生成部
１０４…パターンデータ記憶部
１０５…出力区間分割部
１０６…出力区間分割記憶部
１０７…中間・出力区間ルール抽出部
１０８…入力・中間区間ルール抽出部
１０９…入力・中間区間ルール記憶部
１１０…中間・出力区間ルール記憶部
１１１…ルール合成部
１１２…入力・出力区間ルール記憶部
ｉ１，ｉ２…入力素子
ｈ１〜ｈ３…中間素子
ｏ１…出力素子
【図１】
0003785049.tif 000002
【図２】
0003785049.tif 000003
【図３】
0003785049.tif 000004
【図４】
0003785049.tif 000005
【図５】
0003785049.tif 000006
【図６】
0003785049.tif 000007
【図７】
0003785049.tif 000008
【図８】
0003785049.tif 000009
【図９】
0003785049.tif 000010
【図１０】
0003785049.tif 000011
【図１１】
0003785049.tif 000012