(57)【要約】【課題】  複数の出力に対して簡潔なファジィルールを容易に獲得できる知識ルール抽出方法及び装置、並びに、これらの方法や装置の実現に好適なファジィ推論型ニューラルネットワークを提供する。【解決手段】  ファジィ推論ネットワーク（ＦＩＮＮ）１０を構成する中間層ニューロンＭ1 〜ＭN2は、いずれも出力層ニューロンＯ1 〜ＯN3の中のいずれか一つに接続される。このため、中間層ニューロンＭj を指定してファジィ推論ルールを抽出した場合、そのルールがどの出力層のニューロンに対して獲得されたものであるかを明確に特定できる。また、着目した一つの出力層ニューロンＯk に接続された全ての中間層ニューロンＭj と、着目した一つの入力層ニューロンＩＮi との間の重みｗijの出現頻度分布に基づいてファジィ推論ルールを抽出するため、多入力多出力であっても、各出力毎に、各入力に対する簡潔なファジィルールを自動的に獲得できる。【選択図】  図１
2005234706.tif 000002
【特許請求の範囲】
【請求項１】
入力層，中間層，および出力層からなり、前記入力層からの入力値を予め設定されたメンバシップ関数に従って変換して前記中間層へ出力するファジィ推論型ニューラルネットワークを用いて、if-then 型のファジー推論ルールを抽出する知識ルール抽出方法であって、
前記ニューラルネットワークを、前記中間層を構成する中間層ニューロンのそれぞれが、前記出力層を構成する出力層ニューロンのいずれか一つに接続されるように構成する第１のステップと、
予め設定された学習則に従って前記ニューラルネットワークの学習を行うことにより、前記メンバシップ関数の入出力特性を規定する特徴パラメータを取得する第２のステップと、
前記出力層ニューロン毎に、該出力層ニューロンに基づいて後件部が規定され、該出力層ニューロンに関連する前記メンバシップ関数の特徴パラメータに基づいて前件部が規定される前記ファジィ推論ルールを抽出する第３のステップと、
からなることを特徴とする知識ルール抽出方法。
【請求項２】
入力層，中間層，および出力層からなり、前記入力層からの入力値を予め設定されたメンバシップ関数に従って変換して前記中間層へ出力するファジィ推論型ニューラルネットワークを用いて、if-then 型のファジー推論ルールを抽出する知識ルール抽出装置であって、
前記ニューラルネットワークを、前記中間層を構成する中間層ニューロンのそれぞれが、前記出力層を構成する出力層ニューロンのいずれか一つに接続されるように構成する初期設定手段と、
予め設定された学習則に従って、前記初期設定手段により初期設定されたニューラルネットワークの学習を行うことにより、前記メンバシップ関数の入出力特性を規定する特徴パラメータを取得する学習手段と、
前記出力層ニューロン毎に、該出力層ニューロンに基づいて後件部が規定され、該出力層ニューロンに関連する前記メンバシップ関数の特徴パラメータに基づいて前件部が規定される前記ファジィ推論ルールを抽出するルール抽出手段と、
を備えることを特徴とする知識ルール抽出装置。
【請求項３】
前記初期設定手段は、
前記出力層ニューロンの各々に接続する前記中間層ニューロンの数や前記特徴パラメータの初期値を、前記出力層ニューロン毎に設定した自己組織化マップを用いて求めることを特徴とする請求項２に記載の知識ルール抽出装置。
【請求項４】
前記ルール抽出手段は、
前記特徴パラメータの値の出現頻度分布を求め、該出現頻度分布を単一の正規分布で近似し、該近似した正規分布の中心値を、前記前件部を規定する情報として抽出することを特徴とする請求項２又は３に記載の知識ルール抽出装置。
【請求項５】
前記ルール抽出手段は、
前記特徴パラメータの値の出現頻度分布を求め、該出現頻度分布の中で出現頻度が最大となるものを、前記前件部を規定する情報として抽出することを特徴とする請求項２又は３に記載の知識ルール抽出装置。
【請求項６】
前記学習手段は、
前記出力層ニューロンのそれぞれについて、該出力層ニューロンに関連する前記入力層ニューロン及び前記中間層ニューロンと共に構成される部分ニューラルネットワークを設定し、該部分ニューラルネットワーク毎に、学習を実行することを特徴とする請求項２〜５のいずれかに記載の知識ルール抽出装置。
【請求項７】
前記メンバシップ関数は、入出力特性を表すグラフが釣鐘型の形状を有し、
前記特徴パラメータとして、出力値が前記グラフのピークとなる時の入力値である中心値、及び前記グラフのピーク幅を規定する分散値を用いることを特徴とする請求項２〜６のいずれかに記載の知識ルール抽出装置。
【請求項８】
前記学習手段は、
前記特徴パラメータである分散値を増減するための更新値に、値域が０〜１の値を取る飽和型関数を作用させること
を特徴とする請求項７に記載の知識ルール抽出装置。
【請求項９】
入力層，中間層，および出力層からなり、前記入力層からの入力値を予め設定されたメンバシップ関数に従って変換して前記中間層へ出力するファジィ推論型ニューラルネットワークにおいて、
前記中間層を構成する各中間層ニューロンと、前記出力層を構成する各出力層ニューロンとの接続関係を任意に設定する接続手段を備えることを特徴とするファジィ推論型ニューラルネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファジィ推論型ニューラルネットワーク、並びにこれを用いた知識ルールの抽出方法及び装置に関する。
【背景技術】
【０００２】
従来より、各分野における熟練者の経験的な知識や感覚をコンピュータ上でシミュレートし、人間特有の柔軟かつ的確な判断や制御をコンピュータ上に実現するものとして、ファジィシステムが知られている。
【０００３】
一般に、ファジィシステムでは、入力と出力とが、ある指標に対して持つ適応度を０〜１までの数値で与えるメンバシップ関数により対応付けられている。
例えば、入力が年齢を表す場合、「中年である」という指標を表すには、図１４に示すように、入出力特性のグラフが最大値を一つもつ釣鐘型の形状（ガウス分布）を有したメンバシップ関数を用いることができる。
【０００４】
なお、図１４に示されたメンバシップ関数は、指標「中年である」に対する適応度は、「４０歳」のときに最も高く、「４０歳」から年齢が離れるほど低くなるという経験的な知識を模擬したものである。
【０００５】
ところで、ファジィシステムでは，メンバシップ関数の形状を自動で決定する方法が確立されていないという問題点があった．
これに対して、メンバシップ関数の形状をニューラルネットワークと組み合わせることによって自動で決定することを可能としたファジィ推論ニューラルネットワーク（ＦＩＮＮ）が提案されている（例えば、非特許文献１参照。）。
【０００６】
このＦＩＮＮでは、ニューラルネットワークの持つ学習能力を利用することにより各メンバシップ関数を最適化することができ、また、その最適化された個々のメンバシップ関数に基づいてIf-then 型のファジィ推論ルールを抽出することが可能となる。
【０００７】
例えば、ＦＩＮＮを学習することによって、図１４に示すようなメンバシップ関数が与えられた場合には、これに基づいて「If 年齢≒40 then 中年らしさ≒1」というファジー推論ルールを抽出することができる。
［ＦＩＮＮの概要］
以下、ＦＩＮＮの概要について説明する。
【０００８】
ＦＩＮＮは、図１２（ａ）に示すように、入力層（非特許文献１では「入出力層の入力部」。以下同様。），中間層（「ルール層」），出力層（「入出力層の出力部」）を備え、入力層を構成する各入力層ニューロンと中間層を構成する各中間層ニューロンとの間、及び各中間層ニューロンと出力層を構成する各出力層ニューロンとの間は全結合とされている（但し、図中では、結合関係を見易くするために、結合の一部のみ図示。）。更に、各入力層ニューロンと各中間層ニューロンとの間の各結合部分にそれぞれ配置されたメンバシップ関数からなる関数群ＦＦが設けられている。
【０００９】
ここで、入力層ニューロンの数をＮ１、中間層ニューロンの数をＮ２、出力層ニューロンの数をＮ３として、ＦＩＮＮの動作を説明する。なお、ＦＩＮＮへの入力は、（１）に示すように、ベクトルＵにて表し、ＦＩＮＮからの出力は、（２）に示すように、ベクトルＹにて表すものとする。但し、ｕi は入力層ニューロンＩＮi （ｉ＝１，２…，Ｎ１）の入力値であり、ｙk は出力層ニューロンＯk （ｋ＝１，２…，Ｎ３）の出力値である。
【００１０】
Ｕ＝（ｕ1，ｕ2…，ｕi…，ｕN1）                             （１）
Ｙ＝（ｙ1，ｙ2…，ｙk…，ｙN3）                             （２）
また、入力層ニューロンＩＮi から中間層ニューロンＭj （ｊ＝１，２…，Ｎ２）へのメンバシップ関数は、図１２（ｂ）に示すように、入出力特性のグラフが釣鐘型の形状を有しており、（３）にて与えられるものとする。但し、ｗijは出力値がピークとなる時の入力値（中心値）、σijはピークの幅を規定する分散値、μijは入力値ｕi に対する出力値（中間層ニューロンＭj への入力値）である。
【００１１】
μij＝ｅｘｐ｛−(ｕi−ｗij)2 ／σij2 ｝                     （３）
つまり、中間層ニューロンＭj には、μ1j，μ2j…μN1jが入力される。そして、中間層ニューロンＭj では、（４）式に示すように、全入力値μ1j，μ2j…μN1j中の最小値を出力値（適応度）ρj とする。
【００１２】
ρj ＝ｍｉｎ［μ1j，μ2j…，μij，…μN1j］                  （４）
また、出力層ニューロンＯk では、（５）に示すように、全ての中間層ニューロンＭ1 〜ＭN2から入力される適応度ρj の重み付け平均を求めることによって出力ｙk を得るものとする。但し、ｗjkは、中間層ニューロンＭj から出力層ニューロンＯk への重みであり、後件部定数とも称する。
【００１３】
【数１】
2005234706.tif 000003
【００１４】
このように構成されたＦＩＮＮが与えられた場合、中間層ニューロンＭj に着目すれば、（６）に示すようなファジー推論ルールを読み取る（抽出する）ことができる。
If (u1 is *w1j), and …,(ui is *wij), …,(uN1 is *wN1j) then (yk is wjk)   （６）
但し、＊ｗijはσijの大きさによるｗijの近傍である。
［ＦＩＮＮの構成手順］
次に、このようなＦＩＮＮを構成する手順について説明する。
【００１５】
まず、自己組織化マップ（ＳＯＭ）を用いて、全てのメンバシップ関数の中心値ｗijと、全ての後件部定数ｗjkとを仮決定する。
このとき、入力空間と出力空間とを総合的に扱うために、（１）（２）にて示したＮ１次元の入力ベクトルＵとＮ３次元の出力ベクトルＹを、（７）に示すように、（Ｎ１＋Ｎ３）次元の学習ベクトルＩに統合する（図１３参照）。
【００１６】
Ｉ＝（Ｕ，０）＋（０，Ｙ）
＝（ｕ1，ｕ2…，ｕi…，ｕN1，ｙ1，ｙ2…，ｙk…，ｙN3）            （７）
また、ＳＯＭは、入力層ＬＩから中間層ニューロンＭj への結合ベクトルＷjU＝（ｗ1j，ｗ2j…，ｗij…，ｗN1j）と、中間層ニューロンＭj から出力層ＬＯへの結合ベクトルＷjY＝（ｗj1，ｗj2…，ｗjk…，ｗjN3）とをまとめた重みベクトルＷj （（８）参照）の集合体である。
【００１７】
Ｗj ＝（ＷjU，０）＋（０，ＷjY）
＝（ｗ1j，ｗ2j…，ｗij…，ｗN1j，ｗj1，ｗj2…，ｗjk…，ｗjN3）    （８）
この学習ベクトルＩに対してKohonen の自己組織化アルゴリズム用いて、重みベクトルＷj の値の更新を繰り返すと、ＳＯＭ上で、類似した重みベクトルＷj 同士が近くに配置される。つまり、入力と出力との関係が特徴毎に自動的に分類されることになる。なお、Kohonen の自己組織化アルゴリズムは周知のものであるため、ここではその詳細についての説明を省略する。
【００１８】
このようにして得られたＳＯＭ上の重みベクトルについて、任意の二つの重みベクトルのユークリッド距離があるしきい値より小さければ、これらを統合して、両ベクトルの平均ベクトルを新たな重みベクトルとする。
【００１９】
そして、この操作を繰り返すことにより、最終的に得られた重みベクトルの各要素を用いて、ＦＩＮＮを構成するメバシップ関数の中心値ｗij、及びＦＩＮＮの中間層出力の重み（後件部定数）ｗijを初期設定する。
【００２０】
最後に、このように初期設定されたＦＩＮＮを、教師あり学習であるＬＭＳ（Least Mean Square ）学習則を用いて学習することにより、メンバシップ関数の分散値σijを決定すると共に、メンバシップ関数の中心値ｗijや後件部定数ｗjkの調整（最適化）を行う。
【非特許文献１】彌富仁，萩原将文著、「ファジー推論ニューラルネットワークを用いた風景画像からの知識抽出と認識」電子情報通信学会論文誌Ｄ−II、Vol.J82-D-II No.4 pp.685-693、１９９９年４月
【発明の開示】
【発明が解決しようとする課題】
【００２１】
しかし、上述のＦＩＮＮでは、中間層ニューロンＭ1 〜ＭN2のいずれもが、全ての出力層ニューロンＯ1 〜ＯN3に影響を与えるため、上述の（６）に示したように中間層ニューロンＭj を指定してファジィ推論ルールを抽出した場合、そのルールがどの出力層ニューロンに対して獲得されたものであるかを明確にすることができないという問題があった。
【００２２】
また、ＦＩＮＮからは、膨大な数のファジィ推論ルールが獲得され、その中には、役に立たないルールも多数含まれている。このため、どのルールが実際の出力を簡潔に表現した有用なものであるか、最終的には設計者が判断する必要がある。しかし、このような判断は、設計者の経験に委ねられているため、客観性に乏しいだけでなく膨大な手間を要するという問題もあった。
【００２３】
本発明は、上記問題点を解決するために、複数の出力に対して簡潔なファジィルールを容易に獲得できる知識ルール抽出方法及び装置、並びに、これらの方法や装置の実現に好適なファジィ推論型ニューラルネットワークを提供することを目的とする。
【課題を解決するための手段】
【００２４】
上記目的を達成するためになされた第一発明の知識ルール抽出方法では、まず、第１のステップにおいて、ニューラルネットワークを、中間層を構成する中間層ニューロンのそれぞれが、出力層を構成する出力層ニューロンのいずれか一つに接続されるように構成する。
【００２５】
続く第２のステップにおいて、予め設定された学習則に従ってニューラルネットワークの学習を行うことにより、メンバシップ関数の入出力特性を規定する特徴パラメータを取得する。
【００２６】
更に第３のステップにおいて、出力層ニューロン毎に、その出力層ニューロンに基づいて後件部が規定され、その出力層ニューロンに関連するメンバシップ関数の特徴パラメータに基づいて前件部が規定されるファジィ推論ルールを抽出する。
【００２７】
この場合、中間層ニューロンは、いずれも単一の出力層ニューロンにしか接続されていないため、中間層ニューロンを指定してファジィ推論ルールを抽出した場合、そのルールがどの出力層のニューロンに対して獲得されたものであるかは一目瞭然である。
【００２８】
つまり、本発明によれば、複数の出力があっても、各出力についての簡潔なファジィルールを容易に獲得することができる。
次に第二発明の知識ルール抽出装置では、初期設定手段が、ニューラルネットワークを、中間層を構成する中間層ニューロンのそれぞれが、出力層を構成する出力層ニューロンのいずれか一つに接続されるように構成する。そして、学習手段が、予め設定された学習則に従って、初期設定手段により初期設定されたニューラルネットワークの学習を行うことにより、メンバシップ関数の入出力特性を規定する特徴パラメータを取得する。すると、ルール抽出手段が、出力層ニューロン毎に、該出力層ニューロンに基づいて後件部が規定され、該出力層ニューロンに関連するメンバシップ関数の特徴パラメータに基づいて前件部が規定されるファジィ推論ルールを抽出する。
【００２９】
つまり、本発明の知識ルール抽出装置は、第一発明の方法を実現する装置であり、従って第一発明と同様の効果を得ることができる。
なお、初期設定手段では、出力層ニューロンの各々に接続する中間層ニューロンの数や特徴パラメータの初期値を、出力層ニューロン毎に設定した自己組織化マップを用いて求めることが望ましい。
【００３０】
つまり、非特許文献１に記載の従来装置では、出力層全体を一括した自己組織化マップを用いてニューラルネットワークの初期値を求めているが、本発明では、初期設定手段が構成すべきニューラルネットワークに適した初期値が得られるように、自己組織化マップを分割しているのである。また、自己組織化マップを分割することにより、個々のマップの規模が小さくなるため、全体を一括して処理する従来装置と比較して、処理量を大幅に削減することができる。
【００３１】
ところで、ルール抽出手段は、例えば、特徴パラメータの値の出現頻度分布を求め、該出現頻度分布を単一の正規分布で近似し、該近似した正規分布の中心値を、ファジィ推論ルールの前件部を規定する情報として抽出するように構成すればよい。
【００３２】
また、ルール抽出手段は、より単純には、例えば、特徴パラメータの値の出現頻度分布を求め、該出現頻度分布の中で出現頻度が最大となるものを、ファジィ推論ルールの前件部を規定する情報として抽出するように構成してもよい。
【００３３】
これらのように、ルール抽出手段にて統計的な手法を用いることにより、膨大な数のルールの中から有効なルールの抽出を、設計者の主観に頼ることなく自動的に行うことができる。
【００３４】
また、学習手段は、出力層ニューロンのそれぞれについて、該出力層ニューロンに関連する入力層ニューロン及び中間層ニューロンからなる部分ニューラルネットワークを設定し、この部分ニューラルネットワーク毎に学習を実行することが望ましい。
【００３５】
この場合、部分ニューラルネットワークの学習結果から、その部分ニューラルネットワークとは関係のない出力層ニューロンの影響を確実に排除することができ、より精度の高い学習結果を得ることができる。
【００３６】
ここで、メンバシップ関数は、例えば、入出力特性を表すグラフが釣鐘型の形状を有したものを用いることができる。この場合、特徴パラメータとして、出力値がピークとなる時の入力値である中心値、及びグラフのピーク幅を規定する分散値を用いればよい。
【００３７】
そして、このようなメンバシップ関数を用いる非特許文献１では、ＬＭＳ学習において、メンバシップ関数の特徴パラメータである分散値σijを更新する際に（９）式を用いることが記載されている。但し、εσは学習係数である。
【００３８】
【数２】
2005234706.tif 000004
【００３９】
しかし、この式を用いて学習を繰り返した場合、図１０（ｂ）に示すように、分散値σijが発散して非常に大きな値となってしまうことがある。なお、図１０（ｂ）は、学習の進捗に従って分散値σijが変化する様子をシミュレーションにより求めた結果である。但し、シミュレーションの条件は、εP＝0.01，学習回数は35回，σの初期値は0.6から1.0の範囲でランダムに設定し、ｗの初期値は0.0から0.5の範囲でランダムに設定し、初期値を変えて試行は10回行っている。この条件において、図７に示した領域分割した画像の各領域の特徴量を入力し認識結果を出力するファジィ推論ニューラルネットワークにおいて、学習回数によってファジィメンバシップ関数の分散値σ5,14の変化の様子を示したものである。
【００４０】
そして、分散値が非常に大きな値に設定されたメンバシップ関数は、釣鐘状とはならず，ほとんどの入力に対して出力が「１」となり、メンバシップ関数として有効に作用しないため、正しい学習結果を得ることができなくなってしまう。
【００４１】
そこで、学習手段では、特徴パラメータである分散値を増減するための更新値に、値域が０〜１の値を取る飽和型関数を作用させることが望ましい。なお、飽和型関数として具体的には、例えば、シグモイド関数やステップ関数等がある。
【００４２】
この場合、個々の学習における更新値の上限が制限されるため、分散値の発散を抑制することができる。なお、図１０（ａ）は、図１０（ｂ）の場合と同じ条件で、（９）式の代わりに、分散値の更新値にシグモイド関数を作用させた（１０）式を用いて行ったシミュレーションの結果であり、学習の進捗に従って、分散値が収束する様子が示されている。但し、（１０）式を用いる場合、出力層ニューロン毎に計算が実行され、Ｎ２ｋは、着目する出力層ニューロンに接続された中間層ニューロンの数である。
【００４３】
【数３】
2005234706.tif 000005
【００４４】
また、図１１は、従来装置でも分散値の発散が発生しない条件において、一つの入力層ニューロンに着目し、学習後に得られるその入力層ニューロンに関するメンバシップ関数の中心値ｗij（図中（ａ）参照）及び分散値σij（図中（ｂ）参照）の値についての出現頻度分布を、シミュレーションにより求めた結果である。但し、図中上段の出現頻度分布は、特徴パラメータの更新に（９）式を用いた場合、図中下段の出現頻度分布は、特徴パラメータの更新に（１０）式を用いた場合である。また、シミュレーションの条件は、上記と同じである。
【００４５】
この図１１には、（１０）式を適用することで、特徴パラメータのばらつきが抑制される様子が示されている。
次に、第三発明のファジィ推論型ニューラルネットワークは、中間層を構成する各中間層ニューロンと、出力層を構成する各出力層ニューロンとの接続関係を任意に設定する接続手段を備えることを特徴とする。
【００４６】
このように構成されたファジィ推論型ニューラルネットワークでは、接続手段を適宜設定することによって、中間層ニューロンのそれぞれが、出力層ニューロンのいずれか一つに接続された形態を簡単に実現することができ、上述した第一発明の知識ルール抽出方法を実施する際や、第二発明の知識ルール抽出装置を構成する際に、好適に用いることができる。
【発明を実施するための最良の形態】
【００４７】
以下に本発明の実施形態を図面と共に説明する。
図１は、（ａ）本発明が適用された知識ルール抽出装置１の構成を示すブロック図、（ｂ）は知識ルール抽出装置１の構成要素であるファジィ推論ニューラルネットワーク１０の構成を示す説明図である。
【００４８】
図１（ａ）に示すように、知識ルール抽出装置１は、ファジィ推論ニューラルネットワーク（ＦＩＮＮ）１０と、ＦＩＮＮ１０への入出力データを格納するデータ格納部１１と、データ格納部１１に格納されたデータに基づいてＦＩＮＮ１０の初期設定を行うネットワーク初期設定部１２と、ネットワーク初期設定部１２により初期設定されたＦＩＮＮ１０の学習を、データ格納部１１に格納されたデータを用い、ＬＭＳ学習則に従って実行するＬＭＳ学習部１３と、学習後のＦＩＮＮ１０から得られる各種パラメータに基づいてファジィ推論ルールを抽出するルール抽出部１４とを備えている。
【００４９】
なお、知識ルール抽出装置１は、ワークステーション等、ＣＰＵ，ＲＯＭ，ＲＡＭ，Ｉ／Ｏポートを中心に構成された周知の汎用計算機上に構成される。具体的には、ＦＩＮＮ１０はＲＡＭ上に構成され、データ格納部１１はＩ／Ｏポートを介して接続される外部記憶装置により構成され、その他の各部１２〜１４は、ＣＰＵが実行する処理として実現される。
【００５０】
また、ネットワーク初期設定部１２が設定するＦＩＮＮ１０は、図１（ｂ）に示すように、入力層ＬＩ、中間層ＬＭ、出力層ＬＯからなる３層構造を有している。そして、入力層ＬＩを構成する各入力層ニューロンＩＮi （ｉ＝１，２…，Ｎ１）と中間層ＬＭを構成する各中間層ニューロンＭj （ｊ＝１，２…，Ｎ２）とは全結合とされ、各入力層ニューロンＩＮi と各中間層ニューロンＭj との結合部分にそれぞれ配置されたメンバシップ関数からなる関数群ＦＦが設けられている。また、各中間層ニューロンＭj と出力層ＬＯを構成する各出力層ニューロンＯk （ｋ＝１，２…，Ｎ３）とは、中間層ニューロンＩＮi のそれぞれが、出力層ニューロンＯk のいずれか一つに接続されるように結合されている。但し、Ｎ１は入力層ニューロンの数、Ｎ２は中間層ニューロンの数、Ｎ３は出力層ニューロンの数である。
【００５１】
以下では、入力層ニューロンＩＮi の入力値をｕi 、出力層ニューロンＯk の出力値をｙk とし、ＦＩＮＮ１０への入力は、（１１）に示すように、ベクトルＵにて表し、ＦＩＮＮ１０からの出力は、（１２）に示すように、ベクトルＹにて表すものとする。
【００５２】
Ｕ＝（ｕ1，ｕ2…，ｕi…，ｕN1）                             （１１）
Ｙ＝（ｙ1，ｙ2…，ｙk…，ｙN3）                             （１２）
また、入力層ニューロンＩＮi から中間層ニューロンＭj へのメンバシップ関数は、図１２（ｂ）に示したように、入出力特性のグラフが釣鐘型の形状（ガウス分布）を有しており、（１３）にて与えられるものとする。但し、ｗijは出力値がピークとなる時の入力値（中心値）、σijはピークの幅を規定する分散値、μijは入力値ｕi に対する出力値（中間層ニューロンＭj への入力値）である。
【００５３】
μij＝ｅｘｐ｛−(ｕi−ｗij)2 ／σij2 ｝                     （１３）
つまり、中間層ニューロンＭj には、μ1j，μ2j…μN1jが入力され、その中間層ニューロンＭj では、（１４）式に示したように、全入力値μ1j，μ2j…μN1j中の最小値を出力値（適応度）ρj とするものとする。
【００５４】
ρj ＝ｍｉｎ［μ1j，μ2j…，μij，…μN1j］                  （１４）
更に、出力層ニューロンＯk では、（１５）に示すように、自身に接続された中間層ニューロンＭj から入力される適応度ρj の重み付け平均を求めることによって出力ｙk を得るものとする。但し、Ｎ２k は、出力層ニューロンＯk に接続された中間層ニューロンＭj の数、ｗjkは、中間層ニューロンＭj から出力層ニューロンＯk への重み（「後件部定数」とも称する。）である。
【００５５】
【数４】
2005234706.tif 000006
【００５６】
このように構成された知識ルール抽出装置１では、図２のフローチャートに示すように、まず、ネットワーク初期設定部１２によるネットワーク初期設定処理（Ｓ１１０）が実行され、次に、ＬＭＳ学習部１３による学習処理（Ｓ１２０）が実行され、最後に、ルール抽出部１４によるルール抽出処理（Ｓ１３０）が実行される。
【００５７】
以下、各処理の詳細について説明する。
まず、Ｓ１１０にて実行するネットワーク初期設定処理を、図３に示すフローチャートに沿って説明する。
【００５８】
本処理は、自己組織化マップ（ＳＯＭ）を用いて、全てのメンバシップ関数の中心値ｗijと、全ての後件部定数ｗjkとを仮決定する（初期値を求める）ものである。但し、従来装置（図１３参照）とは異なり、図４に示すように、出力層ニューロンＯ1 〜ＯN3毎に構成したＳＯＭを用いる。
【００５９】
このため、本処理では、まず、出力層ＬＯの中から一つの出力層ニューロンＯk を選択し（Ｓ２１０）、データ格納部１１に格納されたデータに基づき、（１６）に示すように、その選択された出力層ニューロンＯk に関する（Ｎ１＋１）次元の学習ベクトルＩk を生成する（Ｓ２２０）。
【００６０】
Ｉk ＝（Ｕ，０）＋（０，ｙk ）
＝（ｕ1，ｕ2…，ｕi…，ｕN1，ｙk ）                     （１６）
これと共に、選択した出力層ニューロンＯk についてのＳＯＭを生成し、そのＳＯＭを乱数を用いて初期化する（Ｓ２３０）。
【００６１】
なお、ＳＯＭは、出力層ニューロンＯk に接続された中間層ニューロンをＭj として、入力層ＬＩから中間層ニューロンＭj への結合ベクトルＷjU＝（ｗ1j，ｗ2j…，ｗij…，ｗN1j）と、中間層ニューロンＭj から出力層ニューロンＯk への重みｗjkとをまとめた重みベクトルＷj （（１７）参照）の集合体である。但し、重みベクトルＷj は、出力層ニューロンＯk に接続すべき中間層ニューロンの数だけ用意される。
【００６２】
Ｗj ＝（ＷjU，０）＋（０，ｗjk）
＝（ｗ1j，ｗ2j…，ｗij…，ｗN1j，ｗjk）                  （１７）
つまり、本ステップでは、この重みベクトルＷj の各要素が初期化されることになる。
【００６３】
次に、Ｓ２２０にて生成した学習ベクトルＩk を用い、Ｓ２３０にて生成したＳＯＭの重みベクトルＷj を、Kohonen の自己組織化アルゴリズムに従って更新するＳＯＭ学習処理を実行する（Ｓ２４０）。
【００６４】
具体的には、ＳＯＭを構成する各重みベクトルＷj と、学習ベクトルＩk とのユークリッド距離||Ｗj−Ｉk||を計算し、最も距離の小さい重みベクトルＷj を、勝ちニューロンとする。そして、勝ちニューロンとその近傍の重みベクトルを、学習ベクトルＩk に近づくように更新する。但し、勝ちニューロンに近いものほど、更新量が大きく、また、更新を繰り返すほど、更新範囲が次第に狭くなるようにされている。
【００６５】
なお、Kohonen の自己組織化アルゴリズムは周知のものであるため、これ以上の説明については省略する。
このようなＳＯＭの学習を繰り返すことで、ＳＯＭ上では、類似した重みベクトルＷj 同士が近くに配置される。つまり、入力と出力との関係が特徴毎に自動的に分類されることになる。
【００６６】
次に、全ての出力層ニューロンＯ1 〜ＯN3について、上述の処理（Ｓ２１０〜Ｓ２４０）を実行したか否かを判断し（Ｓ２５０）、未処理の出力層ニューロンＯk が存在すれば、Ｓ２１０に戻って同様の処理を繰り返す。一方、全ての出力層ニューロンＯ1 〜ＯN3について処理が終了していれば、ＳＯＭ学習処理の結果からＦＩＮＮ１０を構成して（Ｓ２６０）、本処理を終了する。
【００６７】
なお、ＦＩＮＮ１０を構成する際には、ＳＯＭを構成する重みベクトルＷj を、それぞれ一つの中間層ニューロンＭj に対応させる。具体的には、重みｗijは、入力層ニューロンＩＮi と中間層ニューロンＭj との間に配置されたメンバシップ関数の中心値とされ、重みｗjkは、中間層ニューロンＭj から出力層ニューロンＯk への重みとされる。
【００６８】
次に、Ｓ１２０にて実行するＬＭＳ学習処理を、図５に示すフローチャートに沿って説明する。
本処理では、まず、出力層ＬＯの中から一つの出力層ニューロンＯk を選択し（Ｓ３１０）、その選択した出力層ニューロンＯk に対応した教師入力データＵｔ＝（ｕｔ1 ，ｕｔ2 …，ｕｔN1）及び教師出力データｙｔk （以下では両者を合わせて「教師データ」と称する。）を、データ格納部１１から取得する（Ｓ３２０）。そして、取得した教師入力データＵｔをＦＩＮＮ１０に入力し、ＦＩＮＮ１０の出力を推論結果データｙk として取得する（Ｓ３３０）。
【００６９】
Ｓ３２０にて取得した教師出力データｙｔk と、Ｓ３３０にて取得した推論結果データｙk とに基づいて、重みｗjkを（１８）により微調整すると共に、メンバシップ関数の分散値σijを（１９）により更新する（Ｓ３５０）。
【００７０】
【数５】
2005234706.tif 000007
【００７１】
【数６】
2005234706.tif 000008
【００７２】
次に、Ｓ３１０にて選択された出力層ニューロンＯk に対応する全ての教師データＩk を処理したか否かを判断し（Ｓ３５０）、未処理の教師データＩk があればＳ３２０に戻って、上述の処理（Ｓ３２０〜Ｓ３４０）を繰り返す。一方、出力層ニューロンＯk に対応する全ての教師データＩk について処理が終了していれば、今度は、全ての出力層ニューロンＯ1 〜ＯN3について、上述の処理（Ｓ３２０〜Ｓ３５０）を実行したか否かを判断する（Ｓ３６０）。そして、未処理の出力層ニューロンＯk があれば、Ｓ３１０に戻って同様の処理を繰り返し、全ての出力層ニューロンＯ1 〜ＯN3について処理が終了していれば、本処理を終了する。
【００７３】
つまり、本処理では、選択された一つの出力層ニューロンＯk と、その出力層ニューロンＯk に接続された中間層ニューロンと、全ての入力層ニューロンとからなる部分ニューラルネットワーク毎に、ＬＭＳ学習を実行するようにされている。
【００７４】
次に、Ｓ１３０にて実行するルール抽出処理を、図６に示すフローチャートに沿って説明する。
本処理では、まず、出力層ＬＯの中から一つの出力層ニューロンＯk を選択し（Ｓ４１０）、続けて入力層ＬＩの中から一つの入力層ニューロンＩＮi を選択する（Ｓ４２０）。
【００７５】
そして、Ｓ４１０にて選択された出力層ニューロンＯk に接続された全ての中間層ニューロンＭj と、Ｓ４２０にて選択された入力層ニューロンＩＮi との間の重み（メンバシップ関数の中心値）ｗijを抽出し、その重みｗijの値の出現頻度分布を算出する（Ｓ４３０）。
【００７６】
更に、Ｓ４３０で算出した出現頻度分布を正規分布を用いて近似し、その正規分布の中心値Ｃi を算出する（Ｓ４４０）。具体的には、正規分布の平均値を（２０）により算出する、いわゆる最尤推定法を用いることができる。
【００７７】
【数７】
2005234706.tif 000009
【００７８】
そして、Ｓ４４０にて算出された中心値Ｃｉを用いて「If ｕi≒Ｃi then ｙk≒１」というファジィ推論ルールを抽出する（Ｓ４５０）。
次に、全ての入力層ニューロンＩＮ1 〜ＩＮN1について、上述の処理（Ｓ４２０〜Ｓ４５０）を実行したか否かを判断し（Ｓ４６０）、未処理の入力層ニューロンＩＮi があれば、Ｓ４２０に戻って未処理の入力層ニューロンＩＮi について同様の処理を繰り返し、全ての入力層ニューロンＩＮ1 〜ＩＮN1について処理が終了していれば、今度は、全ての出力層ニューロンＯ1 〜ＯN3について、上述の処理（Ｓ４１０〜Ｓ４６０）を実行したか否かを判断する（Ｓ４７０）。そして、未処理の出力層ニューロンＯk があれば、Ｓ４１０に戻って、未処理の出力層ニューロンＯk に対して同様の処理を繰り返し、全ての出力層ニューロンＯ1 〜ＯN3について処理が終了していれば、本処理を終了する。
【００７９】
つまり、一つの出力層ニューロンＯk に着目した場合、各入力層ニューロンＩＮ1 〜ＩＮN1それぞれについて、中間層ニューロンの数（Ｎ２個）ずつ生成されるルールを、各入力層ニューロンＩＮ1 〜ＩＮN1毎にそれぞれ一つのルールに自動的に統合して抽出するようにされている。換言すれば、抽出されるルール数を１／Ｎ２に圧縮するようにされている。
【００８０】
以上説明したように、本実施形態の知識ルール抽出装置１によれば、ＦＩＮＮ１０を構成する中間層ニューロンＭ1 〜ＭN2は、いずれも出力層ニューロンＯ1 〜ＯN3の中のいずれか一つにしか接続されていないため、中間層ニューロンＭj を指定してファジィ推論ルールを抽出した場合、そのルールがどの出力層のニューロンに対して獲得されたものであるかを明確に特定することができる。
【００８１】
また、本実施形態では、着目した出力層ニューロンＯk に接続された全ての中間層ニューロンＭj と、着目した一つの入力層ニューロンＩＮi との間の重みｗijの出現頻度分布を求め、その出現頻度分布に基づいて、着目した入力層ニューロンＩＮi と出力層ニューロンＯk との関係を表すファジィ推論ルールを抽出しているため、多入力多出力であっても、各出力毎に、各入力に対する簡潔なファジィルールを自動的に獲得することができる。
【００８２】
更に、本実施形態では、ＬＭＳ学習処理において、メンバシップ関数の分散値σijを更新する際に、分散値を増減する更新値に対してシグモイド関数を作用させて分散値σijの発散を抑制しているため、信頼性の高い学習結果を得ることができ、ひいては信頼性の高いファジィ推論ルールを取得することができる。
【実施例】
【００８３】
本実施形態の知識ルール抽出装置１を画像認識に適用した実施例を以下に説明する。
ここでは、車載カメラで撮影された画像に基づき、その画像を分割してなる各領域が、予め設定された対象物のいずれであるかを特定するためのファジィ推論ルールを抽出する例について説明する。
【００８４】
なお、領域の特徴量（即ち、ＦＩＮＮ１０の入力層ニューロンＩＮi ）としては、領域の大きさＳ (＝領域を構成する画素数）、領域の色情報（Ｒ，Ｇ，Ｂ）の平均輝度値、領域の重心座標（Ｇｘ，Ｇｙ）、領域に外接する矩形の座標（ｘ１，ｙ１，ｘ２，ｙ２）、充填率、ひずみ率（Ｈｘ，Ｈｙ）の１３種類（Ｎ１＝１３）を用いるものとする。
【００８５】
また、充填率とは，領域の大きさＳと、外接矩形の大きさＳ’との比率Ｓ／Ｓ’である。また、ひずみ率（Ｈｘ，Ｈｙ）とは，外接矩形の中心座標（Ｃｘ，Ｃｙ）と領域の重心座標（Ｇｘ，Ｇｙ）とのずれを比率（０〜１）で表したものであり、（２１）（２１）により算出される値である。なお、中心座標と重心座標とが一致していれば、（Ｈｘ，Ｈｙ）＝（０．５，０．５）となる。
【００８６】
Ｈｘ＝０．５−（Ｇｘ−Ｃｘ）／（ｘ２−ｘ１）            （２１）
Ｈｙ＝０．５−（Ｇｙ−Ｃｙ）／（ｙ２−ｙ１）            （２２）
これら充填率，ひずみ率に限らず他の特徴量も、０〜１までの値に正規化したものを用いる。これはＦＩＮＮ１０で扱う数値のスケールが統一されていない場合、学習する重みの精度が変わってしまうことにより、学習がうまく収束しない事態を避けるための処置である。
【００８７】
なお、使用する特徴量は上述したものに限定されるものではなく、例えば，領域のテクスチャを表す分散値のような指標や、領域に含まれる最大輝度値・最小輝度値、周囲に隣接する領域の数・平均面積等を用いてもよい。
【００８８】
一方、特定すべき対象物（即ち、ＦＩＮＮ１０の出力層ニューロンＯk ）としては、道路，空，建物，樹木，歩道，それ以外の６種類（Ｎ３＝６）を用い、ＦＩＮＮ１０の中間層ニューロンＭj の数は、２１０個（Ｎ２＝２１０）とした。
【００８９】
まず、知識ルール抽出装置１を作動させる以前に実施する前処理として、図７に示すように、認識すべき対象物が撮影されている元画像（図中（ａ）参照）を、元画像の各画素の輝度値差が一定値以下となる領域毎に領域分割した画像（図中（ｂ）参照）を作成する。この領域分割の具体的な手法としては、例えば、領域成長法，ウォーターシッド法などの公知技術を用いることができる。
【００９０】
次に、分割した各領域毎に、上述の特徴量を抽出し、これをＦＩＮＮ１０への入力Ｕとして、その領域が表す対象物と対応付けてデータ格納部１１に格納する。但し、各対象物についての入力Ｕが、必要な数だけ（例えば２０個以上ずつ）格納されるまで、元画像を変えながら上述の処理を繰り返す。
【００９１】
このようにして、データ格納部１１に、必要な数のデータが格納されると、知識ルール抽出装置１を作動させ、ＦＩＮＮ１０の設定，学習、更には、学習結果に基づくファジィ推論ルールの抽出を行う。
【００９２】
ここで、対象物（出力層ニューロンＯk ）として道路に着目し、特徴量（入力層ニューロンＩＮi ）として色情報Ｂ及び重心情報Ｇｙに着目し、この着目したパラメータについて、Ｓ４３０にて求められた出現頻度分布を、図８に示す。
【００９３】
なお、図８には、比較のため、中間層ニューロンＭ1 〜ＭN2と出力層ニューロンＯ1 〜ＯN3との間を全結合としたＦＩＮＮを用いた従来装置から得られた出現頻度分布も示す。
この出現頻度分布図に基づいて、色情報Ｂ及び重心情報Ｇｙについて、以下のファジィ推論ルールが抽出される。
【００９４】
「If Ｂ≒0.4 then 道路≒１」
「If Ｇｙ≒0.8 then 道路≒1」
従来装置では、その出現頻度分布図を見れば明らかなように、どの結果が、道路を表すルールとして妥当なものであるかを特定することが極めて困難であるのに対して、本実施例では、妥当なファジィ推論ルールを自動的に得ることができた。
［他の実施形態］
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、様々な態様にて実施することが可能である。
【００９５】
上記実施形態では、ＦＩＮＮ１０をＲＡＭ上に構成したが、ハードウェアにより構成してもよい。この場合、ＦＩＮＮ１０は、図９に示すように、中間層ニューロンＭ1 〜ＭN2と出力層ニューロンＯ1 〜ＯN3との間を全結合とする各結合部分にスイッチを設け、中間層ニューロンＭ1 〜ＭN2と出力層ニューロンＯ1 〜ＯN3との結合関係を任意に設定できるように構成したものを用いればよい。
【００９６】
上記実施形態では、Ｓ３４０において分散値σijの値を更新する更新値にシグモイド関数を作用させているが、シグモイド関数の代わりにステップ関数を作用させてもよい。また、分散値σijに限らず、中心値ｗijの値を更新する更新値にも同様に、シグモイド関数或いはステップ関数を作用させるように構成してもよい。
【００９７】
上記実施形態では、Ｓ４３０において出現頻度分布を求める際に、重みｗijの値をそのまま用いたが、これに分散値σijを乗じた値σij×ｗijを用いるようにしてもよい。
上記実施形態では、Ｓ４４０において、ファジィ推論ルールの前件部の情報として、出現頻度分布を正規分布で近似し、その近似した正規分布の中心値を抽出しているが、正規分布にて近似することなく、単純に出現頻度分布のなかで最大値を有するもの抽出するように構成してもよい。この場合、ルール抽出処理をより簡易なものとすることができる。
【００９８】
上記実施形態では、ＦＩＮＮ１０は、中間層ニューロンＭ1 〜ＭN2は、それぞれ、出力層ニューロンＯ1 〜ＯN3のいずれか一つに接続するように構成されているが、Ｓ２４０で得られる複数のＳＯＭの間で、互いに同じ（或いは非常に近似した）重みベクトルＷが存在する場合には、その重みベクトルＷに基づいて設定される中間層ニューロンを、異なる出力層ニューロン間で共有させるように構成してもよい。
【図面の簡単な説明】
【００９９】
【図１】実施形態の知識ルール抽出装置の構成を示すブロック図、及び該装置にて使用されるファジィ推論ニューラルネットワークの構成を示す説明図である。
【図２】知識ルール抽出装置の全体的な処理の流れを示すフローチャートである。
【図３】ネットワーク初期設定処理の内容を示すフローチャートである。
【図４】ネットワーク初期設定処理にて使用する自己組織化マップ（ＳＯＭ）の構成を示す説明図である。
【図５】ＬＭＳ学習処理の内容を示すフローチャートである。
【図６】ルール抽出処理の内容を示すフローチャートである。
【図７】実施例にて実行する前処理の内容を説明するための説明図である。
【図８】色情報及び重心情報に関するメンバシップ関数の中心値の出現頻度分布を示すグラフである。
【図９】ファジィ推論ニューラルネットワークのハードウェアによる構成例を示す説明図である。
【図１０】ＬＭＳ学習の際の更新値にシグモイド関数を作用させた場合のシミュレーション結果を示すグラフである。
【図１１】ＬＭＳ学習の際の更新値にシグモイド関数を作用させた場合のシミュレーション結果を示すグラフである。
【図１２】ファジィ推論ニューラルネットワークの概要を示す説明図である。
【図１３】ファジィ推論ニューラルネットワークの初期設定値の算出に使用する自己組織化マップ（ＳＯＭ）の構成を示す説明図である。
【図１４】メンバシップ関数の一例を示すグラフである。
【符号の説明】
【０１００】
１…知識ルール抽出装置、１０…ファジィ推論ニューラルネットワーク（ＦＩＮＮ）、１１…データ格納部、１２…ネットワーク初期設定部、１３…ＬＭＳ学習部、１４…ルール抽出部、ＦＦ…関数群、ＬＩ…入力層、ＬＭ…中間層、ＬＯ…出力層、ＩＮi …入力層ニューロン、Ｍj …中間層ニューロン、Ｏk …出力層ニューロン。
【図１】
2005234706.tif 000010
【図２】
2005234706.tif 000011
【図３】
2005234706.tif 000012
【図４】
2005234706.tif 000013
【図５】
2005234706.tif 000014
【図６】
2005234706.tif 000015
【図９】
2005234706.tif 000016
【図１０】
2005234706.tif 000017
【図１３】
2005234706.tif 000018
【図１４】
2005234706.tif 000019
【図７】
2005234706.tif 000020
【図８】
2005234706.tif 000021
【図１１】
2005234706.tif 000022
【図１２】
2005234706.tif 000023