説明

信号識別装置の学習方法

【課題】競合学習型ニューラルネットの学習に用いる学習データを適正化することにより、信号識別装置のカテゴリの分類精度を高める。
【解決手段】ニューラルネット1を複数個のデータからなるデータセットにより学習させたときに、複数種類のカテゴリに属するデータで1つのニューロンが発火する場合に、学習データ選択部7では、当該ニューロンと入力されたデータとの乖離度を求める。学習データ選択部7は、データに対応付けたカテゴリごとに乖離度の平均値を求め、乖離度が小さいほうのカテゴリを持つデータを学習データ記憶部6に残し、乖離度が大きいほうのカテゴリを持つデータを学習データ記憶部6から削除する。ニューラルネット1における出力層のすべてのニューロンが単一のカテゴリに分類されるまで学習データ記憶部6からのデータの削除を繰り返す。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、振動成分を含む対象信号を競合学習型ニューラルネットワークを用いて分類する信号識別装置において、競合学習型ニューラルネットワークを適正に学習させる信号識別装置の学習方法に関するものである。
【背景技術】
【0002】
従来から、ニューラルネットワーク(ニューロコンピュータ)の分類機能を利用することにより、振動成分を含む対象信号を分類する技術が知られている。この種の技術は、音声の認識や機器が正常に動作しているか機器に異常が生じているかを判定する異常監視装置などに用いられている。たとえば、この種の技術を採用した異常監視装置では、機器の動作音や機器の振動をセンサ部(トランスデューサ)により電気信号に変換してセンサ部の出力を対象信号に用い、対象信号について複数個のパラメータからなる特徴量を抽出し、この特徴量をニューラルネットワークで分類する技術が種々提案されている。
【0003】
ニューラルネットワークには種々の構成が知られており、たとえば、競合学習型ニューラルネットワーク(自己組織化マップ=SOM)を用いて特徴量のカテゴリを分類することが提案されている。競合学習型ニューラルネットワークは、入力層と出力層との2層からなるニューラルネットワークであり、学習モードと検査モードとの2動作を行う。
【0004】
学習モードでは、教師信号を用いずに学習データを与える。学習データにカテゴリを与えておけば、出力層のニューロンにカテゴリを対応付けることができ、同種のカテゴリに属するニューロンからなるクラスタを形成することができる。したがって、学習モードでは、出力層のニューロンのクラスタにカテゴリを示すクラスタリングマップを対応付けることができる。
【0005】
検査モードでは、分類しようとする特徴量(入力データ)を学習済みの競合学習型ニューラルネットワークに与え、クラスタリングマップにおいて発火したニューロンが属するクラスタのカテゴリをクラスタリングマップに照合することによって、入力データのカテゴリを分類することができる(たとえば、特許文献1参照)。
【特許文献1】特開2004−354111号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
ところで、競合学習型ニューラルネットワークでは、教師信号を用いていないから、学習モードにおいて入力される学習データのカテゴリの精度により、検査モードの際のカテゴリの分類の精度が決定される。すなわち、学習モードにおいて使用する学習データとして適正なものを採用する必要があるが、学習データの選別には適切な基準が存在しない。したがって、競合学習型ニューラルネットワークにおける出力層の1つのニューロンが複数のカテゴリの学習データで発火する場合が生じる。言い換えると、適切な学習データを用いて学習しなければ、発火したときにカテゴリを決定できないニューロンが出力層に含まれるという問題が生じる。
【0007】
本発明は上記事由に鑑みて為されたものであり、その目的は、競合学習型ニューラルネットの学習に用いる学習データを適正化することにより、信号識別装置のカテゴリの分類精度を高める信号識別装置の学習方法を提供することにある。
【課題を解決するための手段】
【0008】
請求項1の発明は、振動成分を含む対象信号を取り込む信号入力部と、対象信号について複数のパラメータからなる特徴量を抽出する特徴抽出部と、特徴抽出部により抽出した特徴量を入力データとし学習データを用いてあらかじめ学習したカテゴリに従って入力データを分類する競合学習型ニューラルネットワークと、各競合学習型ニューラルネットワークによる分類結果を出力する出力部と、特定のカテゴリに分類されることが期待される複数個のデータからなるデータセットのうち学習データとして採用するデータを選択する学習データ選択部とを備える信号識別装置における競合学習型ニューラルネットワークの学習方法であって、競合学習型ニューラルネットワークにおける出力層の各ニューロンにはそれぞれ重み係数の組を要素とする重みベクトルが対応付けられており、学習データ選択部は、データセットのデータにより学習させた競合学習型ニューラルネットワークにおける出力層の各ニューロンにおいて複数のカテゴリに属するニューロンが存在するときに、データセットにおけるカテゴリ毎のデータと当該ニューロンとの乖離度の平均値を求めるとともに、当該平均値が最小であるカテゴリのデータのみをデータセットに残して他のデータを削除するデータ選別処理を行い、競合学習型ニューラルネットワークにおける出力層のすべてのニューロンが単一のカテゴリに分類されるまでデータ選別処理を行う処理を繰り返すことを特徴とする。
【0009】
この方法によれば、競合学習型ニューラルネットワークにおける出力層のすべてのニューロンがそれぞれ単一のカテゴリに分類されるように学習データを選別するから、出力層のいずれかのニューロンが発火すれば必ずカテゴリを特定することができ、カテゴリを特定できない曖昧な結果を回避してカテゴリの分類精度を高めることができる。また、出力層のニューロンのうち複数種類のカテゴリの学習データによって発火するニューロンのみを対象として、乖離度によりカテゴリへの帰属の程度を評価するから、定量的な評価により各ニューロンに適正なカテゴリを付与することができる。
【0010】
請求項2の発明は、請求項1の発明において、前記乖離度として、着目するニューロンの重みベクトルと前記競合学習型ニューラルネットワークへの入力データとの差分ベクトルの大きさを用いることを特徴とする。
【0011】
この方法によれば、乖離度として入力したデータと発火したニューロンとの重みベクトルとの差分を評価し、この差分が小さくなるカテゴリのデータを学習データに採用することにより、学習データを定量的に適正化することができる。
【発明の効果】
【0012】
本発明の方法によれば、競合学習型ニューラルネットワークにおける出力層のすべてのニューロンをそれぞれ単一のカテゴリに分類するように学習データが設定され、カテゴリの分類精度を高めることができるという利点がある。また、定量的な評価により各ニューロンに適正なカテゴリを付与することができるという利点がある。
【発明を実施するための最良の形態】
【0013】
以下に説明する実施形態では、機器の動作によって得られる対象信号の特徴量によって機器の動作が正常か異常かを判別する異常監視装置に本発明の技術を採用する例を示す。つまり、信号識別装置として異常監視装置を例示する。また、機器としてはモータのような動力源を備える設備機器を想定するが、機器の種類はとくに問わない。
【0014】
本実施形態で説明する信号識別装置は、図1に示すように、教師なしの競合学習型ニューラルネットワーク(以下、単に「ニューラルネット」と呼ぶ)1を用いている。ニューラルネット1は、図2に示すように、それぞれ入力層11と出力層12との2層からなり、出力層12の各ニューロンN2が入力層11のすべてのニューロンN1とそれぞれ結合された構成を有している。ニューラルネット1は、逐次処理型のコンピュータで適宜のアプリケーションプログラムを実行することにより実現する場合を想定しているが、専用のニューロコンピュータを用いることも可能である。
【0015】
ニューラルネット1の動作には、学習モードと検査モードとがあり、学習モードにおいて適宜の学習データを用いて学習した後に、検査モードにおいて実際の対象信号から生成した特徴量(入力データ)のカテゴリを分類する。
【0016】
すなわち、入力層11のニューロンN1と出力層12のニューロンN2との結合度(重み係数)は可変であり、学習モードにおいて、学習データをニューラルネット1に入力することによりニューラルネット1を学習させ、入力層11の各ニューロンN1と出力層12の各ニューロンN2との重み係数を決める。言い換えると、出力層12の各ニューロンN2には、入力層11の各ニューロンN1との間の重み係数を要素とする重みベクトルが対応付けられる。したがって、重みベクトルは入力層11のニューロンN1と同数の要素を持ち、入力層11に入力される特徴量のパラメータの個数と重みベクトルの要素の個数とは一致する。
【0017】
一方、検査モードでは、カテゴリを判定すべき入力データをニューラルネット1の入力層11に与えると、出力層12のニューロンN2のうち、重みベクトルと入力データとのユークリッド距離が最小であるニューロンN2が発火する。学習モードにおいて出力層12のニューロンN2にカテゴリが対応付けられていれば、発火したニューロンN2の位置のカテゴリによって入力データのカテゴリを知ることができる。
【0018】
出力層12のニューロンN2には、たとえば6×6個の領域を有する2次元のクラスタリングマップ5の各領域に一対一に対応付けられている。したがって、学習モードにおいて、クラスタリングマップ5の各領域に学習データのカテゴリを対応付けておけば、入力データにより発火したニューロンN2に対応するカテゴリをクラスタリングマップ5により知ることができるから、クラスタリングマップ5はニューラルネット1による分類結果を出力する出力部として機能する。
【0019】
クラスタリングマップ5の各領域(実質的には出力層12の各ニューロンN2)には後述する手順でカテゴリを対応付ける。また、本実施形態では、説明を簡単にするために、ニューラルネット1で分類すべきカテゴリは正常と異常との2種類としており、学習モードでは正常と異常との2種類のカテゴリの学習データを入力する。出力層12の各ニューロンN2のカテゴリには、学習データのカテゴリが反映され、多数個(たとえば、150個)の学習データを与えると、属性の類似度の高いカテゴリがクラスタリングマップ5上で近い位置に配置される。
【0020】
したがって、出力層12のニューロンN2のうち同種のカテゴリに属する学習データに対応して発火したニューロンN2は、クラスタリングマップ5上で近い位置に集まりニューロンN2の集合からなるクラスタを形成する。学習モードでニューラルネット1a,1bに与えられる学習データは学習データ記憶部6に格納されており、必要に応じて学習データ記憶部6から読み出されてニューラルネット1に与えられる。
【0021】
ところで、ニューラルネット1により分類する対象信号は、機器Xから得られる電気信号であって、たとえば、機器Xの動作音を検出するマイクロホン2aと、機器Xの動作時に生じる振動を検出する振動センサ2bとの少なくとも一方からなるセンサ部2の出力を用いる。センサ部2の構成は機器Xの種類に応じて適宜に選択され、マイクロホン2a、振動センサ2bのほか、TVカメラ、匂いセンサなどの各種のセンサを単独または組み合わせて用いることができる。あるいはまた、機器Xが発生する信号を取り出して対象信号に用いることも可能である。センサ部2は機器Xの動作により生じる対象信号を取り込むから、信号入力部として機能する。
【0022】
センサ部2で得られた電気信号である対象信号は、特徴抽出部3に与えられ対象信号の特徴量が抽出される。本実施形態では、センサ部2から特徴抽出部3に与えられる対象信号は振動成分を含む信号であって、特徴抽出部3に入力されることにより対象信号の振動成分を表す複数種類の特徴量が抽出される。
【0023】
特徴抽出部3では、機器Xが発生する対象信号から同じ条件で特徴量を抽出するために、まず機器Xの動作に同期したタイミング信号(トリガ信号)を用いたり、対象信号の波形の特徴(たとえば、ひとまとまりの対象信号の開始点と終了点)を用いたりすることによって、対象信号の切り出し(セグメンテーション)を行った後、適宜の単位時間ごとの信号に分割し、単位時間毎に特徴量を抽出する。したがって、特徴抽出部3はセンサ部2から与えられる対象信号を一時的に記憶するバッファを備える。また、特徴抽出部3では、必要に応じて周波数帯域を制限するなどして、ノイズを低減させる前処理を行う。さらに、センサ部2から出力される対象信号をデジタル信号に変換する機能も備える。
【0024】
説明を簡単にするために、ここでは、セグメンテーションを行った後の対象信号の振動成分から複数の周波数成分(周波数帯域ごとのパワー)を抽出し、各周波数成分を特徴量に用いるものとして説明する。周波数成分の抽出には、FFT(高速フーリエ変換)の技術、あるいは多数個のバンドパスフィルタからなるフィルタバンクを用いる。どの周波数成分を特徴量に用いるかは、対象とする機器Xや抽出しようとする異常に応じて適宜に選択される。
【0025】
特徴抽出部3から単位時間毎に得られた特徴量は、特徴量の抽出のたびにニューラルネット1に与えられる。また、特徴量は学習データとしても用いるために学習データ記憶部6にも格納される。学習データ記憶部6はFIFO(先入れ先出し)であって、最大で、たとえば150個の特徴量が学習データとして保持されるようになっている。
【0026】
以下では、本発明の特徴である学習データ選択部4について説明する。上述したように学習データ記憶部6には多数個の学習データを格納することができるが、各学習データに対応付けたカテゴリは、必ずしも適正であるとは限らない。そこで、学習データ記憶部6では、学習データ記憶部6に格納されたデータをニューラルネット1に与えたときの結果を評価し、その評価によって学習データ記憶部6に格納されているデータから学習に適したデータを選別することにより、適正な学習データのみが学習データ記憶部6に残るようにしている。
【0027】
ここでは、学習データ記憶部6に格納されているデータの集合をデータセットと呼び、データセットを構成している各データはそれぞれ特定のカテゴリ(つまり、正常と異常とのカテゴリ)に分類されることが期待されているものとする。つまり、各データにはカテゴリが対応付けられているものとする。データセットは、学習データ記憶部6に格納されたデータの全体と考えているが、学習データ記憶部6に複数のデータセットを格納してもよい。また、データセットを構成するデータの個数は学習データ記憶部6に格納可能な範囲内で任意である。
【0028】
学習モードにおいて学習データ記憶部6に格納されているデータセットの1つをニューラルネット1に与えると、各データごとに出力層12のニューロンN2が発火する。学習データ選択部4では、発火したニューロンN2と入力されたデータ(データを識別できる情報と当該データのカテゴリ)とを組にして記憶する。学習後に出力層12の各ニューロンN2について発火させたデータのカテゴリを検査し、当該ニューロンN2を発火させたデータのカテゴリが1種類であれば、そのカテゴリを当該ニューロンN2のカテゴリとする。
【0029】
一方、ニューロンN2の中にはカテゴリの異なるデータで発火したニューロンN2が存在する場合もある。複数のカテゴリのデータで発火したニューロンN2はカテゴリを決めることができないからカテゴリを「グレイ」とする。
【0030】
学習データ選択部4では、「グレイ」のニューロンN2については、当該ニューロンN2に対応付けた重みベクトルと、入力されたデータとの乖離度を求める。乖離度は、入力データ(ベクトル)と、当該入力データにより発火したニューロンN2に対応付けた重みベクトルとの差分ベクトルの大きさを反映する値であって、入力データを[X]、発火したニューロンN2の重みベクトルを[Wwin]とすれば([a]はaがベクトルであることを意味している)、乖離度Yは次式で定義される。
Y=([X]/X−[Wwin]/Wwin)([X]/X−[Wwin]/Wwin)
ここにTは転置を表し、角付き括弧を付与していないX,Wwinは各ベクトルのノルムを表す。各ベクトルの要素をノルムで除算していることにより、乖離度Yは正規化されている。
【0031】
カテゴリが「グレイ」であるニューロンN2は、正常と異常との2種類のカテゴリのデータによって発火するニューロンN2である。そこで、正常と異常との各カテゴリのデータごとに乖離度Yの平均値を求め、乖離度Yの平均値が小さいほうのカテゴリを当該ニューロンN2のカテゴリとして採用する。また、このとき他のカテゴリに属するデータはデータセットから削除する。
【0032】
上述のように、カテゴリが「グレイ」であるニューロンN2について、当該ニューロンN2を発火させたデータをカテゴリ毎に分け、各カテゴリごとに乖離度Yの平均値を求め、平均値が小さいほう(3種類以上のカテゴリがある場合には最小のもの)のデータのみをデータセットに残し、「グレイ」のニューロンN2を発火させた他のデータを削除する処理をデータ選別処理と呼ぶことにする。データ選別処理は、「グレイ」のすべてのニューロンN2に対して行い、その処理を、ニューラルネット1における出力層12のすべてのニューロンN2が単一のカテゴリに分類されるまで繰り返す。
【0033】
すなわち、図3に示すように、出力層12のニューロンN2(クラスタリングマップ5と等価)が6×6個であって、データセットによる学習で正常(白抜き部位)と異常(黒塗り部位)と「グレイ」(斜線部位)とに分かれたとする。いま、データセットのデータを(識別番号−カテゴリ)という形式で表すものとし、識別番号は3桁でデータを識別し、カテゴリには正常(OK)と異常(NG)とがあるものとする。たとえば、002−OKという形式で表される。
【0034】
カテゴリが正常である領域のニューロンN2を発火させたデータ(002−OK、009−OK、017−OK)のカテゴリはいずれも正常であり、カテゴリが異常である領域のニューロンN2を発火させたデータ(041−NG、059−NG、072−NG)のカテゴリはいずれも異常になる。しかしながら、「グレイ」のニューロンN2を発火させたデータには、正常と異常とのデータが混在する。
【0035】
いま、図3の例で上から5行目、左から2列目のニューロンN2を発火させたデータが、001−OK、005−OK、010−OK、037−OK、051−NG、070−NGであり、上から3行目、左から4列目のニューロンN2を発火させたデータが、003−OK、008−OK、015−OK、048−NG、057−NG、063−NGであったとする。
【0036】
この場合に、当該ニューロンN2を発火させたデータとの乖離度Yを上述した演算により求め、さらにOKとNGとのカテゴリごとに乖離度Yの平均値を求める。たとえば、上から5行目、左から2列目のニューロンN2に関して正常と異常とのカテゴリのデータについて求めた乖離度Yの平均値が、それぞれ0.83、0.25であったとすると、0.25のほうが小さいから、このニューロンN2を発火させたデータのうち、正常のカテゴリを有するデータ(001−OK、005−OK、010−OK、037−OK)を削除する。また、同様に、上から3行目、左から4列目のニューロンN2に関して正常と異常とのカテゴリのデータについて求めた乖離度Yの平均値が、それぞれ0.40、1.13であったとすると、異常のカテゴリを有するデータ(048−NG、057−NG、063−NG)を削除する。
【0037】
本実施形態では、カテゴリが2種類であるから、「グレイ」の各ニューロンN2に対して、通常は1回ずつデータ選別処理を行えば、出力層12のすべてのニューロンN2に単一のカテゴリを付与することができる。また、3種類以上のカテゴリに分類する場合でもデータ選別処理を有限回行えば収束する。このようにして、出力層12の各ニューロンN2にそれぞれ1種類のカテゴリを対応付けることができるように学習データを最適化することが可能になる。
【0038】
上述の動作によって、たとえば図4(a)に示すように、学習データ記憶部6に登録された最初のデータでは、出力層12のニューロンN2のうち「グレイ」(斜線部)に分類される領域が大きかったとしても、上述の動作を繰り返すうちに、図4(c)に示すように、「グレイ」の領域がなくなるように学習データを修正することが可能になる。
【0039】
学習データ選択部4の動作を図5にまとめる。図5においてステップS1〜S4は、学習データ選択部4により学習データを選別するまでの前処理である。すなわち、機器Xなどから学習に用いるための信号(機器Xだけではなく、シミュレーションにより生成した信号なども用いることができる)を収集し(S1)、特徴抽出部3で信号の特徴量を抽出する(S2)。特徴量は学習データ記憶部6に格納され、学習データ記憶部6に記憶されたデータセットを用いてニューラルネット1の学習を行う(S3)。さらに、ニューラルネット1の学習により各ニューロンN2に対応付けたカテゴリを、クラスタリングマップ5に付与する(S4)。
【0040】
ところで、ニューラルネット1を学習モードで学習させる間に学習データ選択部4では、出力層12で発火したニューロンN2と、当該ニューロンN2を発火させたデータとを対応付けて記憶することにより、各ニューロンN2とカテゴリとの対応リストを作成し(S5)、リスト中に複数のカテゴリのデータで発火したニューロンN2が存在しなければ(S6)、すべてのニューロンN2にそれぞれ単一のカテゴリを付与したことになるから、学習データ選択部4による処理を終了する(S7)。
【0041】
一方、リスト中に複数のカテゴリのデータで発火した「グレイ」のニューロンN2が存在するときには、「グレイ」のニューロンを1個ずつ選択し(S8)、当該ニューロンN2を発火させたデータをカテゴリ毎に分類するとともに、各カテゴリごとの乖離度Yの平均値を求める(S9)。さらに、乖離度の平均値が最小であるカテゴリのデータのみをデータセットに残し、同じニューロンN2を発火させた他のデータはデータセットから削除する(S10)。つまり、ステップS7〜S9がデータ選別処理になる。
【0042】
リスト中に他に「グレイ」のニューロンN2が存在していれば、データ選別処理を繰り返し、出力層12におけるすべての「グレイ」のニューロンN2についてデータ選別処理を行った後に(S11,S12)、学習データ記憶部6に残されているデータを学習データに用い、ステップS3に戻ってニューラルネット1の学習を再度行う。
【0043】
以後は、カテゴリが「グレイ」であるニューロンN2が存在しなくなるまで同上の処理を繰り返す。なお、上述の動作では、学習データ記憶部6にあらかじめ多数個のデータを格納しておき、データ選別処理を繰り返すことによって「グレイ」のニューロンN2がなくなるように収束させているが、この動作に代えて、学習データ記憶部6には比較的少数のデータを格納しておき、学習データ記憶部6に格納されるデータを適時に追加することも可能である。
【図面の簡単な説明】
【0044】
【図1】本発明の実施形態を示すブロック図である。
【図2】同上に用いるニューラルネットの概略構成図である。
【図3】同上の動作説明図である。
【図4】同上の動作説明図である。
【図5】同上の動作説明図である。
【符号の説明】
【0045】
1 ニューラルネット(競合学習型ニューラルネットワーク)
2 センサ部
2a マイクロホン
2b 振動センサ
3 特徴抽出部
4 学習データ選択部
5 クラスタリングマップ
6 学習データ記憶部
11 入力層
12 出力層
N1,N2 ニューロン

【特許請求の範囲】
【請求項1】
振動成分を含む対象信号を取り込む信号入力部と、対象信号について複数のパラメータからなる特徴量を抽出する特徴抽出部と、特徴抽出部により抽出した特徴量を入力データとし学習データを用いてあらかじめ学習したカテゴリに従って入力データを分類する競合学習型ニューラルネットワークと、各競合学習型ニューラルネットワークによる分類結果を出力する出力部と、特定のカテゴリに分類されることが期待される複数個のデータからなるデータセットのうち学習データとして採用するデータを選択する学習データ選択部とを備える信号識別装置における競合学習型ニューラルネットワークの学習方法であって、競合学習型ニューラルネットワークにおける出力層の各ニューロンにはそれぞれ重み係数の組を要素とする重みベクトルが対応付けられており、学習データ選択部は、データセットのデータにより学習させた競合学習型ニューラルネットワークにおける出力層の各ニューロンにおいて複数のカテゴリに属するニューロンが存在するときに、データセットにおけるカテゴリ毎のデータと当該ニューロンとの乖離度の平均値を求めるとともに、当該平均値が最小であるカテゴリのデータのみをデータセットに残して他のデータを削除するデータ選別処理を行い、競合学習型ニューラルネットワークにおける出力層のすべてのニューロンが単一のカテゴリに分類されるまでデータ選別処理を行う処理を繰り返すことを特徴とする信号識別装置の学習方法。
【請求項2】
前記乖離度として、着目するニューロンの重みベクトルと前記競合学習型ニューラルネットワークへの入力データとの差分ベクトルの大きさを用いることを特徴とする請求項1記載の信号識別装置の学習方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate