(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023106472
(43)【公開日】2023-08-01
(54)【発明の名称】異常検知装置及び異常検知方法
(51)【国際特許分類】
G05B 23/02 20060101AFI20230725BHJP
【FI】
G05B23/02 302T
G05B23/02 302Z
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023079191
(22)【出願日】2023-05-12
(62)【分割の表示】P 2019110547の分割
【原出願日】2019-06-13
(71)【出願人】
【識別番号】301078191
【氏名又は名称】株式会社日立ハイテクソリューションズ
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】渋谷 久恵
(72)【発明者】
【氏名】古賀 陸樹
(72)【発明者】
【氏名】岡部 淳
(72)【発明者】
【氏名】本屋 俊弘
(72)【発明者】
【氏名】鈴木 敦久
(57)【要約】
【課題】異常検知装置において、設備のセンサ数が多い場合においても異常検知感度を向上させる。
【解決手段】複数のセンサ信号の間の類似度に基づいてセンサグループを設定するセンサグループ設定部を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
センサグループ設定処理と学習処理と異常判定処理とを行う異常検知装置であって、
設備に装着された複数のセンサから出力される複数の時系列のセンサ信号が入力される第1のセンサ信号入力部と、
前記センサグループ設定処理において用いられ、センサグループ設定条件の入力操作のための画面を出力部に表示し、前記第1のセンサ信号入力部に入力された複数の前記センサ信号の間の類似度を求め、前記類似度と前記画面を介して入力された前記センサグループ設定条件とに基づいてセンサグループを設定するセンサグループ設定部と、
前記複数のセンサから出力される複数の前記センサ信号が入力される第2のセンサ信号入力部と、
前記異常判定処理及び前記学習処理において用いられ、前記センサグループ毎に、前記第2のセンサ信号入力部に入力された複数の前記センサ信号から時刻毎に特徴ベクトルを抽出する特徴ベクトル抽出部と、
前記異常判定処理において用いられ、前記センサグループ毎に、指定された学習期間の前記特徴ベクトルを学習データとして、各時刻の異常測度を算出する異常測度算出部と、
前記異常判定処理において用いられ、前記センサグループ毎に、前記異常測度を所定のしきい値と比較することにより各時刻の前記センサ信号が正常か異常かを判定する異常検出部と、
を有し、
前記特徴ベクトル抽出部は、以下のいずれかの処理を行うことで、前記特徴ベクトルの要素となる値を取得し、
前記センサ信号を正準化する、
前記離散ウェーブレット変換を前記センサ信号に施す、
前記異常測度は、
前記学習データとしての特徴ベクトルから得られた基準ベクトルと、算出対象の前記特徴ベクトルと、の距離であり、
前記所定のしきい値は、
正常な前記学習データから得られる前記異常測度の最大値、
正常な前記学習データを、予め定めた割合より多く正常と判定するように調整された値、
のいずれかである異常検知装置。
【請求項2】
前記センサグループ設定条件は、前記センサグループ当たりの最大センサ数、を少なくとも含むことを特徴とする請求項1に記載の異常検知装置。
【請求項3】
前記センサグループ設定部による前記センサグループの設定は、1以上のセンサを含むクラスタを一時的に複数作成することを伴う階層的クラスタリング処理を用いて行われ、
前記センサグループ設定条件は、第1クラスタと第2クラスタとの結合要否を判断するための類似度基準値を少なくとも含むことを特徴とする請求項1に記載の異常検知装置。
【請求項4】
前記センサグループ設定条件は、前記センサグループの核となるセンサの指定、を少なくとも含み、
前記センサグループ設定条件を用いて設定された前記センサグループは、前記核となるセンサと、前記核となるセンサとの類似度に基づいて選択されたセンサと、を少なくとも含むことを特徴とする請求項1に記載の異常検知装置。
【請求項5】
前記センサグループ設定条件は、全ての前記センサグループに含めるセンサの指定、を少なくとも含むことを特徴とする請求項1に記載の異常検知装置。
【請求項6】
前記センサグループ設定条件は、前記センサ信号のヒストグラムの分布から外れているはずれ値を削除するデータクレンジング処理の条件、を少なくとも含むことを特徴とする請求項1に記載の異常検知装置。
【請求項7】
前記異常検出部は、前記出力部に、前記センサグループに含まれる前記センサ毎の前記類似度を表示することを特徴とする請求項1に記載の異常検知装置。
【請求項8】
前記異常検出部は、前記出力部に、前記センサグループに含まれる前記センサ毎の前記センサ信号の分布画像を表示することを特徴とする請求項1に記載の異常検知装置。
【請求項9】
センサグループ設定処理と学習処理と異常判定処理とを行う異常検知方法であって、
設備に装着された複数のセンサから出力される複数の時系列のセンサ信号を入力し、
前記センサグループ設定処理において、複数の前記センサ信号の間の類似度を求め、前記類似度に基づいてセンサグループを設定し、
前記異常判定処理及び前記学習処理において、前記センサグループ毎に、複数の前記センサ信号から時刻毎に特徴ベクトルを抽出し、
前記異常判定処理において、前記センサグループ毎に、指定された学習期間の前記特徴ベクトルを学習データとして、各時刻の異常測度を算出し、
前記異常判定処理において、前記センサグループ毎に、前記異常測度を所定のしきい値と比較することにより各時刻の前記センサ信号が正常か異常かを判定し、
前記特徴ベクトルの抽出は、以下のいずれかの処理を行うことで、前記特徴ベクトルの要素となる値を取得し、
前記センサ信号を正準化する、
前記離散ウェーブレット変換を前記センサ信号に施す、
前記異常測度は、
前記学習データとしての特徴ベクトルから得られた基準ベクトルと、算出対象の前記特徴ベクトルと、の距離であり、
前記所定のしきい値は、
正常な前記学習データから得られる異常測度の最大値、
正常な前記学習データを、予め定めた割合より多く正常と判定するように調整された値、
のいずれかである異常検知方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異常検知装置及び異常検知方法に関する。
【背景技術】
【0002】
電力会社では、ガスタービンの廃熱などを利用して地域暖房用温水を供給したり、工場向けに高圧蒸気や低圧蒸気を供給したりしている。石油化学会社では、ガスタービンなどを電源設備として運転している。このようにガスタービンなどを用いた各種プラントや設備において、設備の不具合またはその兆候を検知する異常検知は、社会へのダメージを最小限に抑えるためにも極めて重要である。
【0003】
ガスタービンや蒸気タービンのみならず、水力発電所での水車、原子力発電所の原子炉、風力発電所の風車、航空機や重機のエンジン、鉄道車両や軌道、エスカレータ、エレベータ、機器及び部品レベルでも搭載電池の劣化及び寿命など、上記予防保全を必要とする設備は枚挙に暇がない。
【0004】
このため、対象設備やプラントでは様々な物理情報を取得する複数のセンサを取り付け、センサ毎の監視基準に従って対象設備やプラントが正常か異常かを判定する。
【0005】
特許文献1には、過去の正常データの学習に基づいて算出される異常測度をしきい値と比較することによって異常の有無を検知する異常検知方法が開示されている。さらに、異常検知感度を阻害するセンサを除外することを目的として、センサ信号の二次元の分布に基づいて算出した評価値に基づいてセンサを除外する方法が開示されている。ここに、異常測度とは、複数のセンサによる測定値を1つのベクトル値として表現し、正常状態のベクトル値からの偏移量のことである。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1では、感度を阻害するセンサを適切に除外することが可能であり、異常検知感度を向上させることができる。しかし、設備のセンサ数が多いとセンサ1個当たりの影響が小さくなって異常検知感度が低下してしまう。異常検知対象とするセンサを30個程度に減らせば対象とするセンサの異常検知感度は向上する。しかし、例えば、もとのセンサ数が100個であれば、70個程度が異常検知対象とはならず、それらのセンサに発生した異常は検知できなくなってしまい異常検知感度が低下する。
【0008】
本発明の目的は、異常検知装置において、設備のセンサ数が多い場合においても異常検知感度を向上させることにある。
【課題を解決するための手段】
【0009】
本発明の一態様の異常検知装置は、設備に装着された複数のセンサから出力される複数の時系列のセンサ信号が入力される第1のセンサ信号入力部と、前記第1のセンサ信号入力部に入力された複数の前記センサ信号の間の類似度を求め、前記類似度に基づいてセンサグループを設定するセンサグループ設定部と、前記複数のセンサから出力される複数の前記センサ信号が入力される第2のセンサ信号入力部と、前記センサグループ毎に、前記第2のセンサ信号入力部に入力された複数の前記センサ信号から時刻毎に特徴ベクトルを抽出する特徴ベクトル抽出部と、前記センサグループ毎に、指定された学習期間の前記特徴ベクトルを学習データとして、各時刻の異常測度を算出する異常測度算出部と、前記センサグループ毎に、前記異常測度を所定のしきい値と比較することにより各時刻の前記センサ信号が正常か異常かを判定する異常検出部とを有することを特徴とする。
【0010】
本発明の一態様の異常検知方法は、設備に装着された複数のセンサから出力される複数の時系列のセンサ信号を入力し、複数の前記センサ信号の間の類似度を求め、前記類似度に基づいてセンサグループを設定し、前記センサグループ毎に、複数の前記センサ信号から時刻毎に特徴ベクトルを抽出し、前記センサグループ毎に、指定された学習期間の前記特徴ベクトルを学習データとして、各時刻の異常測度を算出し、前記センサグループ毎に、前記異常測度を所定のしきい値と比較することにより各時刻の前記センサ信号が正常か異常かを判定することを特徴とする。
【発明の効果】
【0011】
本発明に一態様によれば、設備のセンサ数が多い場合においても、全センサを対象として異常検知の感度を向上させてセンサに発生した異常を検知することができる。
【図面の簡単な説明】
【0012】
【
図1】実施形態の異常検知装置の一構成例を示す図である。
【
図2】複数のセンサ信号をリスト化して表形式に表した例を示す図である。
【
図3】実施形態の異常検知装置の行う全体の処理フローを示す図である。
【
図4】実施例1のセンサグループ設定処理のフローを示す図である。
【
図5】二次元頻度分布算出処理のフローを示す図である。
【
図6】二次元頻度分布画像作成方法を説明する図である。
【
図7】センサ間の類似度を算出する方法を説明する図である。
【
図9A】実施例2のセンサグループ設定処理のフローを示す図である。
【
図9B】実施例3のセンサグループ設定処理のフローを示す図である。
【
図10A】学習時の異常測度算出処理のフローを示す図である。
【
図10B】局所部分空間法による異常測度算出処理を説明する図である。
【
図12】センサグループ設定条件を設定するGUIの例を示す図である。
【
図13B】センサ信号表示画面の例を示す図である。
【
図14A】オフライン解析条件を設定するGUIの例を示す図である。
【
図14B】オンライン解析結果の表示対象を指定するGUIの例を示す図である。
【
図15A】解析結果全体表示画面の例を示す図である。
【
図15B】解析結果拡大表示画面の例を示す図である。
【発明を実施するための形態】
【0013】
以下、図面を用いて実施形態について説明する。
【0014】
図1を参照して、実施形態の異常検知装置の一構成例について説明する。
異常検知装置100は、検知対象である設備101に装着された複数のセンサから出力されるセンサ信号102を、所定時間ごとに(周期的に)取得する。取得したセンサ信号102は、一旦センサ信号蓄積部103に蓄積される。信号入力部(第1のセンサ信号入力部)104は、センサ信号蓄積部103からセンサ信号102を入力し、センサグループ設定部105へ送る。センサグループ設定部105は、センサ信号間の類似性(類似度)に基づきセンサグループを設定し、結果をグループ情報蓄積部106に保存する。
【0015】
信号入力部(第2のセンサ信号入力部)107は、センサ信号蓄積部103から、あるいは設備101に装着されたセンサから直接にセンサ信号102を入力し、特徴ベクトル抽出部108へ送る。特徴ベクトル抽出部108は、グループ情報蓄積部106からセンサグループの情報を入力し、設定されたグループ毎に、センサ信号102をもとに特徴ベクトルを抽出し異常測度算出部109へ送る。異常測度算出部109は、予め指定された学習期間の特徴ベクトルを用いて、所定時間毎(以下、各時刻と表現する場合もある)の特徴ベクトル毎に異常測度を算出する。
【0016】
しきい値算出部110は、異常測度算出部109による学習データの異常測度に基づいてしきい値を算出する。特徴ベクトル抽出部108で抽出された学習期間の特徴ベクトル、しきい値算出部110で算出されたしきい値ほか、異常検知時に必要となるデータは学習結果として学習結果蓄積部111に保存される。異常検出部112は、異常測度算出部109から送られる各特徴ベクトルの異常測度と、しきい値算出部110で算出したしきい値とを比較することで、設備101の異常を検出する。異常検出部112で検出された検知結果は出力部113に出力される。
【0017】
ここで、以下で用いる用語の簡単な説明を行う。特徴ベクトルとは、複数のセンサによる測定値を1つのベクトル値として表現したものである。異常測度とは、注目する特徴ベクトルの、指定された期間の特徴ベクトルからの偏移量のことである。つまり、異常測度とは、複数のセンサによる測定値を1つのベクトル値として表現し、正常状態のベクトル値からの偏移量のことである。
【0018】
異常検知の対象とする設備101は、例えば、ガスタービンや蒸気タービンなどの設備やプラントである。設備101は、その状態を表すセンサ信号102を出力する。センサ信号102はセンサ信号蓄積部103に蓄積される。
【0019】
図2は、複数のセンサ信号102をリスト化して表形式に表した例である。
センサ信号102は、物理特性の異なる複数の物理情報が所定間隔毎に取得される多次元時系列信号である。
図2に示す表の構成は、日時201の情報と、複数のセンサのセンサ値202を対応させて示している。センサは、数百から数千といった数になる場合もあり、それらの種類によって、例えば、シリンダ、オイル、冷却水などの温度、オイルや冷却水の圧力、軸の回転速度、室温、運転時間などをセンサ値として出力する。センサ値は、設備やプラントなどの出力や状態を表すのみならず、何かの状態をある値(たとえば目標値)に制御するための制御信号の場合もある。
【0020】
異常検知装置100の動作には、センサ信号蓄積部103に蓄積されたデータを用いてセンサグループを設定する「センサグループ設定」処理と、センサ信号蓄積部103に蓄積されたデータを用いて学習データの生成及び保存を行う「学習」処理と、入力信号に基づき異常を検知する「異常検知」処理のフェーズがある。基本的に「センサグループ設定」と「学習」はオフラインの処理、「異常検知」はオンラインの処理である。ただし、「異常検知」をオフラインの処理とすることも可能である。以下の説明では、それらを「センサグループ設定時」「学習時」、「異常検知時」という言葉で区別する。
【0021】
図3の処理フローを参照して、実施形態の異常検知装置100の動作について説明する。
尚、
図3では処理の概要を記載している。
【0022】
(a)はセンサグループ設定処理で、指定期間のセンサ信号を入力し(S301)、センサ信号間の類似度を算出し(S302)、類似度に基づきセンサグループを設定する(S303)。
【0023】
(b)は学習時の異常測度算出処理で、学習期間のセンサ信号を入力し(S311)、特徴ベクトルの抽出(S312)と異常測度の算出(S313)としきい値の算出(S314)を行う。
【0024】
(c)は異常検知時の異常判定処理で、検知対象のセンサ信号を入力し(S321)、特徴ベクトルの抽出(S322)と異常測度の算出(S323)を行う。そして、算出した異常測度をS314で求めたしきい値と比較することにより、設備の正常/異常を判定する(S324)。なお、(b)(c)は、センサグループ設定部105で設定されたグループ毎の処理である。
【0025】
【実施例0026】
図4のフローを参照して、実施例1のセンサグループ設定処理について説明する。
最初に、信号入力部(第1のセンサ信号入力部)104において、センサ信号蓄積部103に蓄積されたセンサ値のうち指定された期間のセンサ信号を入力する(S401)。次に、センサグループ設定部105において、センサ2個の総当りで二次元頻度分布画像を作成する(S402)。次に、二次元頻度分布画像をもとにセンサ信号間の類似度を算出する(S403)。
【0027】
次に、類似度に基づく階層的クラスタリングを行う(S404)。各クラスタには入力した全てのセンサ信号が重複なく割り当てられており、これがすなわちセンサグループとなる。最後に、グループ情報をグループ情報蓄積部106に保存する(S405)。出力部113に出力される出力形式は、センサグループ毎の使用センサのセンサ名または番号のリストあるいは不使用センサのセンサ名または番号である。
【0028】
ここで、
図5を参照して、二次元頻度分布算出処理(S402)について説明する。
図5は、二次元頻度分布算出処理のフローを示す図である。
始めに、指定された期間のセンサ信号を入力する(S501)。各センサ信号についてステップS503からS506までの処理を繰り返す(S502、ループ1)。まず、学習期間のデータの最大値(MAX)と最小値(MIN)を求める(S503)。次に、最小値から最大値までの範囲を指定された数Nで分割する際の刻み幅Sを算出する(S504)。なお、S=(MAX-MIN)/Nで計算できる。次に、二次元頻度分布算出の処理範囲を算出する(S505)が、ここではステップS503で算出されたMINからMAXをそのまま処理範囲とする。
【0029】
次に学習期間の全データについて、次式によりセンサ信号値(F)からビン番号(BNO)を算出する(S506)。
BNO=INT(N*(F-MIN)/(MAX-MIN))
ただし関数INT(X)はXの整数部を表す。ビン番号(BNO)を用いることで、各信号値は最小値0~最大値Nの(N+1)段階の整数値に変換される。
【0030】
次に、複数のセンサの中から2個のセンサを取り出し、それぞれのセンサ信号の組合せに基づき二次元頻度分布を算出する。これを全てのセンサの組合せについて、ステップS508からS510までの処理を繰り返す(S507、ループ2)。ここで、2個のセンサの組合せの中には同一センサの組合せを含める。従ってセンサの組合せ数(繰り返し数)は、(センサ数)×(センサ数+1)/2となる。
【0031】
まず、二次元分布算出用の二次元配列を確保し、全ての要素に0をセットする(S508)。配列のサイズはNである。学習期間の全データについて、2個のセンサ信号のビン番号BNOに対応する配列の要素に1を加算する(S509)。すなわち、一方のセンサ信号のビン番号は列の要素に対応させ、他方のセンサ信号のビン番号は行の要素に対応させる。この処理により、センサ2個による信号の二次元の頻度分布(ヒストグラム)が算出される。この頻度分布を画像に変換して保存する(S510)。変換方法については後述する。
図6は、時系列センサ信号と二次元頻度分布画像の関係を表す図である。
【0032】
ステップS510における、画像変換方法の例を説明する。
始めに配列要素の最大値すなわち最大頻度を求める。画像サイズは配列サイズと同じとし、各要素の値から対応する座標の画素値を例えば、255×配列の要素値/最大頻度とする。数値255は画素値を8ビットで表す場合の最大値であり、この値を用いれば、そのままビットマップ形式で保存できる。あるいは、画素値を255×LOG(配列の要素値+1)/LOG(最大頻度+1)とする。ただし関数LOG(X)はXの対数を表す。このような変換式を用いれば、最大頻度が大きい場合も、非ゼロの頻度に非ゼロの画素値を対応させることが可能になる。
【0033】
頻度分布画像の作り方は、上記方法に限定されない。例えば単純な頻度分布ではなく、1個のデータにガウス分布や他の重みつきフィルタを割り当て、それを重畳するようにしてもよい。あるいは、上記方法で得られた画像に所定サイズの最大値フィルタをかけたり、平均フィルタ、その他の重みつきフィルタをかけたりしてもよい。また、8ビットではなく、16ビットに変換してもよい。また、必ずしも画像形式で保存する必要はなく二次元配列を変換せずにバイナリあるいはテキスト形式で保存してもよい。
【0034】
次に、センサ信号間の類似度算出処理(S403)について説明する。
ここで、センサ信号間の類似度とは、信号値がお互いに影響を及ぼしているかどうかを定量化したものを表す。そこで、ステップS402で算出した二次元頻度分布画像を利用して類似度を算出する。
【0035】
図7は、センサaとセンサbの類似度算出を説明する図である。左から、センサa同士、センサb同士、センサaとセンサbの二次元頻度分布画像である。
【0036】
図5の処理により得られるこれらの画像は、二次元の特徴空間上で密度が高いところが高い画素値で表されている。ここでは、通常の濃淡画像とは異なり、画素値の0を白、255を黒で表したグレイスケールの画像である。これらの画像から、まずゼロでない画素をカウントしそれぞれCount(a, a)、Count(b, b)、Count(a, b)とする。類似度Similarity(a, b) を(数1)により算出する。ただし,Count(b, b) > Count(a, a)の場合は,次式のaとbを入れ替えて計算する。
【0037】
【0038】
状態数が多い方のセンサの値を決めたときにもう一方のセンサの値の範囲が小さいほど類似度が高いという考えに基づいて設計した式であり、対角線のみのときは類似度が1、全面塗りつぶされたときは類似度が0になる。
【0039】
図8A~
図8Cは、二次元頻度分布画像のいくつかの例を示す図である。横軸にセンサaの信号値(ビン番号)を、縦軸にセンサbの信号値(ビン番号)を示す。
【0040】
二次元頻度分布画像は2つのセンサの相関の強さに応じて、画像のパターンが変化する。
図8Aと
図8Bは相関が強い場合で、特に
図8Aは状態遷移に時間的なずれが存在する場合である。
図8Cは、相関が弱い場合である。ここで、
図8Aの二次元頻度分布画像における類似度は0.893であり、
図8Bの二次元頻度分布画像における類似度は0.838であり、
図8Cの二次元頻度分布画像における類似度は0.084である。
【0041】
なお、データ間の関係を表す数値として相関係数が知られているが、これは線形性を表す尺度であり、お互いに影響がある場合の全てをカバーすることができない。
図8Aは、センサ相互の影響は強いが相関係数は低い例である。
【0042】
次に、階層的クラスタリング処理(S404)について説明する。
階層的クラスタリングは、個々のデータを1個ずつのクラスタに割り当てるところから開始し、類似したクラスタを再帰的に結合していくものである。結合するクラスタを選択する基準によって、最短距離法、最長距離法、群平均法などの手法がある。それぞれの方法において、クラスタ間の類似度は、クラスタをまたがるデータ間の類似度の最大値、最小値、平均値で定義される。クラスタ間の類似度が大きい組から順次結合して1個のクラスタとしていき、全てのクラスタ間の類似度が予め定めた類似度基準値を下回ったとき、結合を停止する。ただし、着目する2個のクラスタに含まれるデータ数の合計が予め定めた最大センサ数より大きい場合は類似度を0とみなすことにより、1個のクラスタに含まれるデータ数が最大数を超えないようにする。類似度基準値はパラメータであり0から1の間の実数を指定する。また、最大センサ数もパラメータである。
最初に、信号入力部(第1のセンサ信号入力部)104において、センサ信号蓄積部103に蓄積されたセンサ値のうち指定された期間のセンサ信号を入力する(S901)。次に、センサグループ設定部105において、センサ2個の総当りで二次元頻度分布画像を作成する(S902)。次に、二次元頻度分布画像をもとにセンサ信号間の類似度を算出する(S903)。次に、センサグループ設定に関する指示を入力する(S904)。GUIから入力、ファイルの読み込みなど方法は問わないが、同じセンサグループとしたいセンサが指定されるものとする。指定される組合せは複数あってもよい。
次に、同じセンサグループと指定されたセンサ間の類似度をステップS903で算出された値によらず1とする(S905)。次に、類似度に基づく階層的クラスタリングを行う(S906)。同じセンサグループと指定されたセンサは類似度が1なので階層的クラスタリングの初めの段階で結合され、指定されていないセンサは類似度に応じて結合される。ステップS404と同様、予め最大センサ数と類似度基準値を指定しておき、最大センサ数を超える場合は結合せず、全てのクラスタ間の距離が類似度基準値を下回った場合は結合を停止する。最後に、グループ情報をグループ情報蓄積部106に保存する(S907)。