(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-07
(45)【発行日】2024-11-15
(54)【発明の名称】異常判定方法、異常判定システム及びプログラム
(51)【国際特許分類】
G05B 23/02 20060101AFI20241108BHJP
【FI】
G05B23/02 302W
G05B23/02 H
(21)【出願番号】P 2021136225
(22)【出願日】2021-08-24
【審査請求日】2023-12-13
(73)【特許権者】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【氏名又は名称】伊藤 英輔
(74)【代理人】
【識別番号】100161702
【氏名又は名称】橋本 宏之
(74)【代理人】
【識別番号】100189348
【氏名又は名称】古都 智
(74)【代理人】
【識別番号】100196689
【氏名又は名称】鎌田 康一郎
(72)【発明者】
【氏名】山科 勇輔
(72)【発明者】
【氏名】錦 尚志
(72)【発明者】
【氏名】中島 佳之
(72)【発明者】
【氏名】永尾 剣一
(72)【発明者】
【氏名】松原 敬信
【審査官】岩▲崎▼ 優
(56)【参考文献】
【文献】特開2021-005119(JP,A)
【文献】特開平05-119191(JP,A)
【文献】特開2016-014961(JP,A)
【文献】特開2021-022290(JP,A)
【文献】特開2019-178625(JP,A)
【文献】特開2018-120343(JP,A)
【文献】特開昭61-016307(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/00 - 23/02
(57)【特許請求の範囲】
【請求項1】
複数の変数を含む正常データを学習して作成した判定モデルと、前記複数の変数を含む評価対象データとを比較して、前記変数ごとに前記評価対象データと前記判定モデルとの距離を算出し、前記距離の総和を前記評価対象データの異常度として算出するステップと、
前記異常度に基づいて、前記評価対象データが異常か否かを判定するステップと、
前記複数の変数のうちの少なくとも一つについて、前記異常度を低下させるための値の調整方向を算出するステップと、
前記調整方向を出力するステップと、
を有
し、
前記調整方向を算出するステップでは、
前記距離が大きい前記変数から順に所定個を選択し、
選択した前記変数について前記距離を減らす方向を前記調整方向として算出し、
前記調整方向を出力するステップでは、
選択した前記変数と、当該変数ごとの前記調整方向を出力する、
異常判定方法。
【請求項2】
前記変数を所定個選択する際には、制御可能な前記変数を選択する、
請求項
1に記載の異常判定方法。
【請求項3】
前記調整方向は、1つの前記変数について、前記評価対象データに含まれる前記変数の値から、当該変数に最も近い前記判定モデルに含まれる同じ前記変数の値への方向である、
請求項1から請求項
2の何れか1項に記載の異常判定方法。
【請求項4】
前記複数の変数のデータについて正常区間を設定するステップと、
前記正常区間に含まれる前記データを前記正常データとして学習し、前記変数ごとの正常な範囲を規定する前記判定モデルを作成するステップと、
をさらに有する請求項1から請求項
3の何れか1項に記載の異常判定方法。
【請求項5】
前記変数ごとに重み付けを設定して前記距離を算出する、
請求項1から請求項
3の何れか1項に記載の異常判定方法。
【請求項6】
前記異常度を減らす方向に調整した前記変数の値を、所定の機器の動作または所定の作業を模擬するシミュレータに入力して、前記シミュレータに前記動作または前記作業を模擬させるステップと、
前記模擬の結果に基づいて、前記異常度を減らす目的で前記変数を調整するかどうかを評価するステップと、
をさらに有する請求項1から請求項
5の何れか1項に記載の異常判定方法。
【請求項7】
前記判定モデルは、前記正常データに含まれる前記変数の確率密度分布であり、
前記異常度として算出するステップでは、前記評価対象データに含まれる前記変数の確率密度分布と前記正常データに基づく前記変数の確率密度分布との密度比を算出し、
前記調整方向を算出するステップでは、前記評価対象データの確率密度分布と前記正常データの確率密度分布の位置関係に基づいて、前記値の調整方向を算出する、
請求項1から請求項
6の何れか1項に記載の異常判定方法。
【請求項8】
前記判定モデルは、前記正常データを入力すると前記正常データを出力するよう構築された前記正常データを再現するモデルであり、
前記異常度として算出するステップでは、前記評価対象データを前記判定モデルに入力したときに前記判定モデルが出力するデータが入力した前記評価対象データをどの程度再現しているかを示す再現度を算出し、
前記調整方向を算出するステップでは、前記再現度に基づいて、前記値の調整方向を算出する。
請求項1から請求項
7の何れか1項に記載の異常判定方法。
【請求項9】
複数の変数を含む正常データを学習して作成した判定モデルと、前記複数の変数を含む評価対象データとを比較して、前記変数ごとに前記評価対象データと前記判定モデルとの距離を算出し、前記距離の総和を前記評価対象データの異常度として算出する手段と、
前記異常度に基づいて、前記評価対象データが異常か否かを判定する手段と、
前記複数の変数のうちの少なくとも一つについて、前記異常度を低下させるための値の調整方向を算出する手段と、
前記調整方向を出力する手段と、
を有
し、
前記調整方向を算出する手段は、
前記距離が大きい前記変数から順に所定個を選択し、
選択した前記変数について前記距離を減らす方向を前記調整方向として算出し、
前記調整方向を出力する手段は、
選択した前記変数と、当該変数ごとの前記調整方向を出力する、
異常判定システム。
【請求項10】
コンピュータに、
複数の変数を含む正常データを学習して作成した判定モデルと、前記複数の変数を含む評価対象データとを比較して、前記変数ごとに前記評価対象データと前記判定モデルとの距離を算出し、前記距離の総和を前記評価対象データの異常度として算出するステップと、
前記異常度に基づいて、前記評価対象データが異常か否かを判定するステップと、
前記複数の変数のうちの少なくとも一つについて、前記異常度を低下させるための値の調整方向を算出するステップと、
前記調整方向を出力するステップと、
を有し、
前記調整方向を算出するステップでは、
前記距離が大きい前記変数から順に所定個を選択し、
選択した前記変数について前記距離を減らす方向を前記調整方向として算出し、
前記調整方向を出力するステップでは、
選択した前記変数と、当該変数ごとの前記調整方向を出力する処理、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、異常判定方法、異常判定システム及びプログラムに関する。
【背景技術】
【0002】
近年、機械学習を用いて、機械設備や作業の異常判定を行う手法が提案されている。正常時と異常時のデータが十分に存在する場合、教師あり学習によって正常と異常とを判別するモデルを構築することができる。しかし、機械設備や作業に関しては、一般的に異常時のデータが少ないため、正常時のデータを学習してモデルを構築することが多い(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
正常時のデータを使って構築された学習済みモデルを用いることにより、評価対象が正常か異常かを判定することは可能である。しかし、異常と判定された場合に、どのようにすれば評価対象を正常な状態にすることができるかは分からない。
【0005】
本開示は、上記課題を解決することができる異常判定方法、異常判定システム及びプログラムを提供する。
【課題を解決するための手段】
【0006】
本開示の異常判定方法は、複数の変数を含む正常データを学習して作成した判定モデルと、前記複数の変数を含む評価対象データとを比較して、前記複数の変数ごとに前記評価対象データと前記判定モデルとの距離を算出し、前記距離の総和を前記評価対象データの異常度として算出するステップと、前記異常度に基づいて、前記評価対象データが異常か否かを判定するステップと、前記複数の変数のうちの少なくとも一つについて、前記異常度を低下させるための値の調整方向を算出するステップと、前記調整方向を出力するステップと、を有し、前記調整方向を算出するステップでは、前記距離が大きい前記変数から順に所定個を選択し、選択した前記変数について前記距離を減らす方向を前記調整方向として算出し、前記調整方向を出力するステップでは、選択した前記変数と、当該変数ごとの前記調整方向を出力する。
【0007】
本開示の異常判定システムは、複数の変数を含む正常データを学習して作成した判定モデルと、前記複数の変数を含む評価対象データとを比較して、前記複数の変数ごとに前記評価対象データと前記判定モデルとの距離を算出し、前記距離の総和を前記評価対象データの異常度として算出する手段と、前記異常度に基づいて、前記評価対象データが異常か否かを判定する手段と、前記複数の変数のうちの少なくとも一つについて、前記異常度を低下させるための値の調整方向を算出する手段と、前記調整方向を出力する手段と、を有し、前記調整方向を算出する手段は、前記距離が大きい前記変数から順に所定個を選択し、選択した前記変数について前記距離を減らす方向を前記調整方向として算出し、前記調整方向を出力する手段は、選択した前記変数と、当該変数ごとの前記調整方向を出力する。
【0008】
本開示のプログラムは、コンピュータに、複数の変数を含む正常データを学習して作成した判定モデルと、前記複数の変数を含む評価対象データとを比較して、前記複数の変数ごとに前記評価対象データと前記判定モデルとの距離を算出し、前記距離の総和を前記評価対象データの異常度として算出するステップと、前記異常度に基づいて、前記評価対象データが異常か否かを判定するステップと、前記複数の変数のうちの少なくとも一つについて、前記異常度を低下させるための値の調整方向を算出するステップと、前記調整方向を出力するステップと、を有し、前記調整方向を算出するステップでは、前記距離が大きい前記変数から順に所定個を選択し、選択した前記変数について前記距離を減らす方向を前記調整方向として算出し、前記調整方向を出力するステップでは、選択した前記変数と、当該変数ごとの前記調整方向を出力する処理、を実行させる。
【発明の効果】
【0009】
上述の異常判定方法、異常判定システム及びプログラムによれば、異常判定の結果に加え、異常の要因と正常状態に戻すための情報を得ることができる。
【図面の簡単な説明】
【0010】
【
図1】実施形態に係る異常判定システムの一例を示すブロック図である。
【
図2】実施形態に係る判定モデルの構築方法の一例を示すフローチャートである。
【
図3A】実施形態に係る判定方法の一例を示す第1の図である。
【
図3B】実施形態に係る異常度および方向の算出方法について説明する図である。
【
図4A】実施形態に係る確率密度分布に基づく判定方法等を説明する図である。
【
図4B】実施形態に係る再現度に基づく判定方法等を説明する図である。
【
図5】実施形態に係る異常判定処理の一例を示すフローチャートである。
【
図6】実施形態に係るパラメータ評価方法の一例を示すフローチャートである。
【
図7】実施形態に係る異常判定システムのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、本開示の異常判定方法について、
図1~
図7を参照して説明する。
<実施形態>
(構成)
図1は、実施形態に係る異常判定システムの一例を示すブロック図である。
異常判定システム1は、監視対象の機械設備や作業等の異常を判定するシステムである。例えば、異常判定システム1は、機械設備に設けられたセンサが計測した計測値や制御装置から指令された制御信号などを取得し、運転中の機械設備に異常が生じていないか否かを判定する。あるいは、異常判定システム1は、作業員が用いる工具や機器のセンサが計測した計測値あるいは作業結果に対する計測結果などを取得し、作業に異常が生じていないか否かを判定する。また、このような異常判定に加え、異常判定システム1は、異常ありと判定した場合に、異常の要因およびその改善方法を案内するガイダンス情報を提供する。
【0012】
異常判定システム1は、異常判定装置10と、シミュレータ20とを備える。異常判定装置10は、データ取得部11と、設定受付部12と、制御部13と、出力部14と、記憶部15と、を備える。
【0013】
データ取得部11は、異常判定用の判定モデルの構築に用いる学習データを取得する。また、データ取得部11は、異常判定の対象となる評価対象データを取得する。学習データおよび評価対象データには、温度、圧力などセンサによる計測値、バルブ開度や回転数の指令値といった制御信号などの複数のパラメータと、各パラメータが計測、指令等された時刻の情報などが含まれている。
【0014】
設定受付部12は、データ取得部11が取得した学習データについて、正常状態区間の設定を受け付ける。正常状態区間とは、例えば、機械設備の運転状態が正常であるとき時間帯など、正常時の学習データの範囲を規定する設定情報のことである。また、設定受付部12は、異常判定用の閾値などの設定を受け付ける。さらに、設定受付部12は、異常の要因と判定されたパラメータについて、ガイダンス情報として提示するか否か、あるいは優先的に提示するかどうかについての設定を受け付ける。例えば、ガイダンス情報では、異常要因のパラメータとその改善方法が提示されるが、ユーザが操作できないパラメータについては提示対象から除くことができる。反対に、機械設備の状態を正常に戻すために有効で且つユーザが制御可能、操作可能なパラメータについては優先的にガイダンス情報として提示することができる(後述する重み係数)。
【0015】
制御部13は、判定モデルの構築処理、異常判定処理、ガイダンス情報の出力処理の各処理の制御を行う。制御部13は、モデル構築部131と、異常判定部132と、要因評価部133と、を備える。
モデル構築部131は、正常状態区間の学習データ(正常データ)を学習して、判定モデルを構築する。
異常判定部132は、判定モデルと評価対象データとに基づいて、機械設備や作業が正常か異常かを判定する。
要因評価部133は、異常判定部132が異常と判定した場合、異常と判定する要因となったパラメータのうち、影響度の大きいものを所定個選択し、そのパラメータの値をどのようにすれば(例えば、大きくする、小さくする等)正常状態に近づくかを評価する。
【0016】
出力部14は、異常判定部132による正常/異常の判定結果を出力する。出力部14は、要因評価部133の評価結果に基づいてガイダンス情報を作成し、ガイダンス情報を出力する。
記憶部15は、学習データ、判定モデル、正常状態区間の設定など種々の情報を記憶する。
【0017】
シミュレータ20は、監視対象の機械設備の動作や溶接などの作業を模擬する計算モデルである。例えば、学習データに含まれるパラメータを与えると、シミュレータ20は、機械設備の動作や作業を模擬し、一定期間動作した後の機械設備の状態を示す値や、作業結果に対する評価値などを出力する。
【0018】
(判定モデルの構築)
図2は、実施形態に係る判定モデルの構築方法の一例を示すフローチャートである。最初にデータ取得部11が、学習データを取得し(ステップS1)、学習データを記憶部15に記録する。例えば、学習データは、温度、圧力、電流、電圧など複数のパラメータについての時系列データであり、その大部分は、正常時のものである。次に、ユーザが、正常状態区間を設定する(ステップS2)。設定受付部12は、正常状態区間の設定を受け付け、記憶部15へ記録する。例えば、ある機械設備が時刻t1~t2において正常に動作している場合、ユーザは、時刻t1~t2を正常状態区間として設定する。次に、ユーザが、判定モデルの構築を異常判定装置10へ指示する。すると、モデル構築部131は、判定モデルの構築を開始する。まず、モデル構築部131は、正常状態区間に属する学習データを抽出する(ステップS3)。例えば、モデル構築部131は、学習データの中から時刻t1~t2の正常状態区間のデータを抽出する。次に、モデル構築部131は、抽出した正常時の学習データを学習して、判定モデルを構築する(ステップS4)。運転中の機械設備や実際の作業中に採取できるパラメータのほとんどは正常時のデータである。そこで、正常状態区間を設定して、全ての学習データの中から正常時のデータを抽出し、抽出したデータを学習して、各パラメータについての正常な値の範囲を定めた判定モデルを構築する。判定モデルの構築手法は特に限定されない。例えば、正常データの分布を包絡する範囲を判定モデルとしてもよいし、正常時のデータの確率密度分布を計算して、確率密度分布を用いた判定モデルとしてもよい。例えば、正常データに含まれるパラメータごとの確率密度分布(確率密度関数)を算出して、これを判定モデルとする。あるいは、正常時のデータの各パラメータの値の再現度に基づいて異常判定を行うモデルを構築してもよい。具体的には、学習する正常データの各パラメータを再現するようなモデル(例えば、正常データを入力すると同様の値を出力するオートエンコーダ)を構築して、このモデルを判定モデルとしてもよい。または、正常時における複数のパラメータ間の相関関係を学習して判定モデルを構築してもよい。
【0019】
図3Aに、正常時の学習データで構築された判定モデルによって、異常判定を行う処理の概略を示す。
図3Aに示す判定モデルMは、正常データを空間にプロットしてその分布範囲を正常領域とする判定モデルの模式図である。
【0020】
(判定モデルの例)
図3Aに示す点xと点kは、共に学習データや評価対象データに含まれる複数のパラメータから演算される値を概念的に示した点であって、点xは評価対象データを示し、点kは判定モデルMに含まれる点のうち、点xに最も近い点(最近傍点に限定されず、例えば、n番目に近い点や最近傍点を含む所定範囲内の任意の点であってもよい。)を示す。異常判定部132は、評価対象データ(点x)の異常判定を行う場合、判定モデルMに含まれる近傍点kを特定し、点xと点kの距離(異常度)を算出する。そして、その距離が閾値以上の場合、異常判定部132は、点xによって示される評価対象データは異常であると判定する。点xが異常と判定されると、要因評価部133は、点xおよび点kを構成する各パラメータのうち距離への貢献度が高いパラメータを特定し、特定したパラメータ同士を比較して、点xにおける特定したパラメータの値をどのようにすれば、正常に近づくかを算出する。これらの処理については、次に
図3Bを用いて具体的に説明する。
【0021】
(異常度、異常要因、方向の算出方法)
図3Bに距離(異常度)の算出方法、異常要因の特定方法、値の調整方向の算出方法の具体例を示す。一例として学習データおよび評価対象データに含まれるパラメータは3個であり、それぞれをパラメータ1、2、3とする。また、評価対象データxをx=(x1、x2、x3)で表し、判定モデルMに含まれる評価対象データxの近傍点kをk=(k1、k2、k3)で表わす。なお、パラメータの数(3個)は一例であり、その数に限定は無い。
【0022】
・距離(異常度)
異常判定部132は、
図3Bの式(1a)によって、評価対象データxと近傍点kの距離D(x)を算出する。距離D(x)を異常度ともいう。式(1a)に示すように、異常度は、各パラメータ間の差分を足し合わせた1つの値である。異常判定部132は、距離D(x)が閾値Th以上であれば異常と判定し、距離D(x)が閾値Th未満であれば、正常と判定する。
また、異常判定部132は、パラメータ1~3のそれぞれに重み付けを付して、距離D(x)を計算してもよい。例えば、異常判定部132は、パラメータ1~3のそれぞれにA1~A3の重み係数を乗じて、
図3Bの式(1b)によって、距離D(x)を計算する。パラメータ1が機器設備や作業の状態に大きく影響することが分かっていて、パラメータ1に重きを置く場合、ユーザは、A1に大きな値を設定する。これにより、異常の検出精度を向上することができる。なお、距離の計算は、ユークリッド距離以外にも、マハラノビス距離やマンハッタン距離を計算してもよい。
【0023】
・要因
要因評価部133は、(k1-x1)2、(k2-x2)2、(k3-x3)2の中から大きい順に所定個を選択する。つまり、要因評価部133は、距離への貢献が高いパラメータを異常の要因として選択する。要因評価部133は、パラメータ1~3のそれぞれに重み付けを付して、異常の要因となるパラメータを特定してもよい。例えば、要因評価部133は、パラメータ1~3のそれぞれにA1~A3の重み係数を乗じた値が大きいものから順に所定個を選択してもよい。パラメータ1が制御上有効なパラメータ(制御しやすい、運転状態などに影響を与えやすい等)の場合、ユーザは、A1に大きな値を設定し、パラメータ1が異常要因として選択されやすくすることができる。
【0024】
・方向
要因評価部133は、異常要因として特定したパラメータについて、2乗する前の差分の計算式によって、正常に近づけるための値の調整方向を算出する。例えば、異常の要因としてパラメータ1を特定した場合、要因評価部133は、(k1-x1)を計算して、(k1-x1)を0に近づける方向を評価する。具体的には、(k1-x1)が正の値であれば、要因評価部133は、x1を大きくする方向が正常に近づける方向であると評価し、(k1-x1)が負の値であれば、x1を小さくする方向が正常に近づける方向であると評価する。
【0025】
他の判定モデルの例を
図4A、
図4Bに示す。
図4Aに確率密度分布を判定モデルとする例を示し、
図4Bに再現度に基づいて異常判定を行う判定モデルの例を示す。
図4Aの左上図は、正常データに含まれる複数のパラメータのうちのパラメータ1の確率密度分布を示している。左上図に例示する正常データから算出された確率密度分布が判定モデルである。
図4Aの左下図は、評価対象データに含まれる複数のパラメータのうちのパラメータ1の確率密度分布を示している。各グラフの縦軸は確率密度、横軸はパラメータ1の値を示している。異常判定部132は、所定期間(例えばt1~t2)に計測された評価対象データのデータ集合を用いて確率密度分布を算出し、予め算出してあった正常データの確率密度分布(=判定モデル)との密度比を算出する。より具体的には、異常判定部132は、評価対象データの値が存在するv1~v2の範囲で正常データと評価対象データの確率密度分布の密度比(確率密度分布の曲線を表す確率密度関数の比)を異常度として計算し、密度比が“1”を中心とする許容範囲を逸脱するとパラメータ1は異常であると判定する。
図4Aの右図に計算した密度比の例を示す。図の例では、密度比が“1”から乖離している為、評価対象データのパラメータ1については異常と判定される。異常判定部132は、評価対象データに含まれる複数のパラメータのそれぞれについて密度比(異常度)を算出し、1つでも密度比が“1”を中心とする許容範囲から逸脱するパラメータがあれば、所定期間に計測された評価対象データを異常と判定する。あるいは、異常判定部132は、密度比が許容範囲から逸脱するパラメータが所定個以上存在する場合に異常と判定するように構成されていてもよい。
【0026】
また、要因評価部133は、各パラメータについて計算した密度比(異常度)のうち許容範囲を逸脱したパラメータについて、密度比を対数変換して大きいものから順に所定個を異常要因として特定してもよいし、確率密度分布の分散が大きいものから順に所定個を異常要因として特定してもよいし、密度比“1”を中心とする許容範囲を逸脱している範囲の面積が大きいものから順に所定個を異常要因として特定してもよいし、正常データの確率密度分布の平均値と評価対象データの確率密度分布の平均値との距離Lを算出し、距離Lが長いものから順に所定個を異常要因として特定してもよい。また、要因評価部133は、これらを組み合わせて異常要因を特定してもよい。例えば、要因評価部133は、複数の方法で異常要因と特定されるパラメータを最終的な異常要因として特定してもよいし、複数の方法の何れかで異常要因と特定されるパラメータの全てを最終的な異常要因として特定してもよい。また、要因評価部133は、異常要因として特定した各パラメータについて、正常データの確率密度が最も高い値(確率密度分布の平均値)の方向(
図4Aの左下図の太線矢印方向)を正常に近づける方向であると評価する。
【0027】
次に
図4Bを参照して再現度に基づく判定モデルによって異常判定を行う処理について説明する。(ステップ1)モデル構築部131は、パラメータ1~3を含む正常データを学習データとして、如何なる正常データを入力しても、入力したデータ自身を出力するように学習し、正常データを再現するような判定モデル(例えばオートエンコーダ)を構築する。(ステップ2)異常判定部132は、構築された判定モデルに評価対象データのパラメータ1~3の(Q1~Q3とする)を入力する。判定モデルが出力するパラメータ1~3の値をQ1´~Q3´とすると、異常判定部132は、|Q1-Q1´|、|Q2-Q2´|、|Q3-Q3´|を計算し、これらの値を再現度(異常度)とする。再現度(異常度)は小さい方が良く、異常判定部132は、少なくとも1つのパラメータについて再現度が閾値を超えたらその評価対象データを異常と判定する。あるいは、異常判定部132は、再現度が閾値を超えるパラメータが所定個以上存在する場合に異常と判定するように構成されていてもよい。また、要因評価部133は、再現度(異常度)が大きいものから順に所定個を異常要因として特定する。例えば、|Q1-Q1´|=0、|Q2-Q2´|=2、|Q3-Q3´|=5であり、1つだけ異常要因を特定する場合、要因評価部133は、パラメータ3を異常要因として特定する。また、要因評価部133は、再現度(異常度)=0となる方向を正常に近づける方向であると評価する。例えば、評価対象データのQ3´について、|Q3-Q3´|=5が|Q3-Q3´|=0となるような方向を正常に近づける方向として評価する。
【0028】
また、複数パラメータ間の相関関係を学習して判定モデルを作成し、その相関関係が所定の方法で計算された相関係数で表されている場合、例えば、異常判定部132は、評価対象データのパラメータ1とパラメータ2の相関係数と、判定モデルにおけるパラメータ1とパラメータ2の相関係数と、の差を計算する。異常判定部132は、他のパラメータ間についても相関係数の差を計算し、これらの総和が閾値以上の場合、評価対象データは異常であると判定する。評価対象データが異常と判定されると、要因評価部133は、パラメータ間の差が大きなものから順に所定個を選択し、パラメータの値をどのようにすれば正常に近づくかを算出する。例えば、パラメータ1とパラメータ2の相関係数、パラメータ3とパラメータ4の相関係数が正常時におけるそれらのパラメータの相関係数よりも大幅に高い又は低い場合、要因評価部133はこれらのパラメータ1、2の組みとパラメータ3、4の組みを選択する。そして、要因評価部133は、正常時のデータにおける対応するパラメータ間の相関係数と評価対象データにおける相関係数とを比較して、例えば、パラメータ1を大きくし且つパラメータ2を小さくする、パラメータ3を小さくし且つパラメータ4を大きくする、といった相関関係を正常に近づけるために必要な各パラメータの調整方向を算出する。
【0029】
異常判定部132の判定結果とともに要因評価部133によって特定された異常要因と正常に近づけるための方向の評価結果をユーザに提示することで、ユーザは、どのようにすれば、機械設備や作業の状態を正常な状態に戻すことができるかを把握することができる。
【0030】
(異常判定処理)
次に、
図3A、
図3Bを用いて説明した異常判定方法、異常要因の特定方法、正常に近づける方向の評価方法を適用した場合を例に異常判定システム1による異常判定処理の流れを説明する。
図5は、実施形態に係る異常判定処理の一例を示すフローチャートである。
異常判定に先立って、閾値等の設定を行う(ステップS10)。例えば、ユーザは、正常か異常かの判定に用いる異常度の閾値Th、式(1b)を用いる場合にはA1等の重み係数、ガイダンス情報において異常となる要因を最大で何個提示するかの設定(例えば3個など)、ガイダンス情報に提示するパラメータから除外するパラメータの設定などを行う。異常要因の最大提示数の設定については、ガイダンス情報をユーザが視認して、その後の制御などの参考にする場合には人が扱える数を設定する。あるいは、制御装置等と連携し、コンピュータ制御に適用して活用する場合であれば、数十個のパラメータを提示するよう設定してもよい。また、ガイダンス情報に提示するパラメータから除外するパラメータの設定については、制御できないパラメータや制御すると不具合が生じる可能性があるパラメータを設定する。制御できないパラメータを除外するのは、ガイダンス情報として、正常状態へ戻すための値の調整方向が提示されることから、ユーザが制御できるパラメータに限定して提示するという意味である。不具合が生じる可能性があるパラメータについては、次に
図6を用いて説明する。また、除外するパラメータを設定するのではなく、ガイダンス情報として提示可能なパラメータの設定を行ってもよい。設定受付部12は、これらの設定を受け付け、設定された情報を記憶部15に記録する。
【0031】
次にデータ取得部11が、評価対象データを取得する(ステップS11)。例えば、異常判定装置10は、監視対象の機械設備等と通信可能に接続されていて、データ取得部11は、オンラインで評価対象データを取得してもよい。あるいは、データ取得部11は、オフライン状態で過去に採取された評価対象データを取得してもよい。一例として、評価対象データをxとする。また、xは3つのパラメータ1~3で構成され、x=(x1、x2、x3)とする。データ取得部11は、取得した評価対象データを異常判定部132へ出力する。
【0032】
次に、異常判定部132が、異常度を算出する(ステップS12)。例えば、異常判定部132は、評価対象データについて、判定モデルとの距離をパラメータごとに算出し、その距離の総和を異常度として算出する。異常度は、
図3Bを参照して説明した距離D(x)である。異常判定部132は、判定モデルにおける近傍点kを算出して、
図3Bの式(1a)または式(1b)によって異常度を算出する。
【0033】
次に、異常判定部132が、算出した異常度とステップS10にて設定した閾値Thを比較して正常か異常かを判定する(ステップS13)。異常判定部132は、異常度が閾値Th以上であれば異常と判定し、異常度が閾値Th未満であれば正常と判定する。正常と判定した場合(ステップS13;No)、異常判定部132は判定結果「正常」を出力部14へ出力する。出力部14は、判定結果「正常」を表示装置等へ出力する(ステップS17)。
【0034】
異常と判定した場合(ステップS13;Yes)、異常判定部132は、判定結果「異常」を出力部14へ出力するとともに、どのパラメータが要因となって異常度が高くなっているか、また、異常度を減らす方向について算出するよう要因評価部133へ指示する。要因評価部133は、異常の要因を特定する(ステップS14)。要因評価部133は、異常度の算出時に計算された各パラメータについての距離(式(1a)の(k1-x1)等)に注目して、距離の大きいものから順にパラメータを、所定個を選択する(ステップS10で、除外するパラメータに設定されたものを除く、または、提示可能なパラメータの設定を行った場合にはその中から選択する。)。例えば、ステップS10で、上位2個を選択するよう設定されている場合、要因評価部133は、パラメータ1~3の中から、距離が長いものから順に2つのパラメータを選択する(パラメータ1、2とする。)。次に、要因評価部133は、ステップS14で選択したパラメータについて、正常状態へ近づけるための方向を算出する(ステップS15)。例えば、要因評価部133は、パラメータ1を正常に近づける方向について、(k1-x1)を計算し、計算結果が負であればパラメータ1の値を小さくし、正であればパラメータ1の値を大きくすると算出する。また、要因評価部133は、パラメータ2について(k2-x2)を計算し、計算結果が負であればパラメータ2の値を小さくし、正であればパラメータ2の値を大きくすると算出する。要因評価部133は、特定した異常の要因となるパラメータとそのパラメータについての正常に近づけるための方向の情報とを出力部14へ出力する。
【0035】
次に出力部14が判定結果とガイダンス情報とを出力する(ステップS16)。例えば、出力部14は、「異常発生」との判定結果と、異常の要因はパラメータ1およびパラメータ2であること、パラメータ1については値を小さくし、パラメータ2については値を大きくすることを案内するガイダンス情報とを表示装置に表示する。これにより、機械設備の運転員は、機械設備の運転状態が異常となったことだけでなく、表示されたガイダンス情報を見て、パラメータ1とパラメータ2が要因で異常が発生していることを知ることができる。また、機械設備の運転状態が正常となる方向にパラメータ1とパラメータ2を調整することができる。
【0036】
一般に加工機械などの機械設備や溶接などの作業の異常判定に機械学習を用いる場合、異常時のデータが少ないため、正常時のデータだけを使って判定モデルを構築することが多い。通常、このような判定モデルは異常のレベルを異常度として出力するのみで、異常の要因や異常度を下げるための方法を案内することができない。しかしながら、機械設備や作業では、品質、コスト、リードタイムの確保のため、可能な限り手戻りを抑制する必要があり、異常時の対処に即応性が求められる。このためには、異常の発生とともに異常の要因や対処方法を可能な限り早く知る必要がある。これに対し、本実施形態によれば、各パラメータについて評価対象データと判定モデル間の距離を算出して、その距離の総和を異常度として算出する。そして、異常度が閾値を超えた場合、各パラメータについて計算した距離に基づいて、どのパラメータが要因となって、異常度が大きくなっているかを提示することができる。また、異常度を低下させる方法(方向)を評価することで、そのパラメータをどのように動かせば、異常度が小さくなるかを提示することができる。
【0037】
上記のとおり、ガイダンス情報として提示される異常要因となるパラメータとそのパラメータを正常に近づけるための方向の情報は、特にオンラインでの作業や機械設備の運転に適用することで、作業等の状態を速やかに正常化させる効果があるが、例えば、学習データの不足等により判定モデルの精度が十分でなく、不適切なパラメータを提示してしまう可能性や、あるパラメータを変化させることで他のパラメータが影響を受け全体としては有益に作用しない場合等があり得る。本実施形態の異常判定システム1では、このような不具合を防止するために、シミュレータ20を使って、異常要因と特定されたパラメータを調節することが適切かどうかを事前に確かめることができる。次に
図6を用いて、ステップS14で特定されたパラメータを調整(正常に近づける)することが適切かどうかを評価する処理の一例について説明する。
【0038】
(異常要因パラメータの評価方法)
図6は、実施形態に係るパラメータ評価方法の一例を示すフローチャートである。
図5と同内容の処理については同じ符号を付し、簡単に説明する。
異常判定装置10とシミュレータ20は、通信可能に接続されている。また、シミュレータ20は、機械設備の動作を模擬する計算モデルであって、ユーザが、初期条件などの計算条件を設定して動作の模擬を指示すると、シミュレータ20は、機械設備の動作を模擬するよう構成されている。シミュレータ20は模擬中に計算した計算結果(温度、圧力、バルブの開度など)を出力するが、これらは評価対象データとなる。データ取得部11は、シミュレータ20が模擬中に出力する評価対象データを取得し、異常判定装置10は、このデータに対して異常判定等を行う。制御部13は、出力部14を通じて、制御情報をシミュレータ20へ出力することができる。または、ユーザが、制御情報をシミュレータ20へ入力してもよい。シミュレータ20は、制御情報を受け取ると、その内容を模擬計算に反映させる。例えば、制御部13がパラメータ1の値を所定量だけ低下させるようシミュレータ20へ制御情報を出力すると、シミュレータ20は、その制御情報に基づいて、機械設備においてパラメータ1を低下させるような操作が行われた場合の動作を模擬し、パラメータ1の値が所定量だけ低下した状態を算出する。異常判定装置10とシミュレータ20がこのように構成されていることを前提として、以下の説明を行う。
【0039】
まず、ユーザが閾値等の設定を行う(ステップS10)。次に、ユーザが、計算条件を設定して、シミュレータ20を起動する。シミュレータ20は、機械設備の模擬を開始する(ステップS101)。データ取得部11は、シミュレータ20が出力した評価対象データを取得する(ステップS11)。異常判定部132は、異常度を算出し(ステップS12)、異常判定を行う(ステップS13)。異常の場合(ステップS13;Yes)、要因評価部133は、異常の要因となるパラメータを所定個特定し(ステップS14)、各パラメータについて正常に近づける方向を算出する(ステップS15)。制御部13は、要因評価部133が異常の要因として特定したパラメータのうちの1つについて、所定量だけ正常に近づける方向に調整する制御情報を作成し、この制御情報をシミュレータ20へ出力し、模擬内容に反映させる(ステップS18)。制御部13は、ステップS18の処理を、ステップS14で特定された所定個のパラメータについて実行する。シミュレータ20は、パラメータ調整後の機械設備の動作を模擬する。データ取得部11は、パラメータ調整後にシミュレータ20が計算した計算結果を記憶部15に記録する(ステップS19)。なお、ステップS14~S18に関し、一度に複数のパラメータの調整を反映させると、どのパラメータの調整の影響が機械設備に現れたかが不明瞭となるので、1つのパラメータ(例えば、異常度に最も貢献するパラメータ)のみを選択し、そのパラメータの値だけを正常に近づく方向に調整して、シミュレータ20に反映させるようにしてもよい。
【0040】
ユーザは、記憶部15に記録されたシミュレータ20による模擬結果から、ステップS15で特定されたパラメータを調整することが適切かどうかを評価する(ステップS20)。例えば、パラメータの調整後の計算結果が、機械設備の運転状態が正常に戻ったことを示していれば、そのパラメータをステップS15で算出された方向へ調整することは適切であったと考えられる。反対に、調整後の計算結果が、機械設備の運転状態が調整後も異常のままであったことを示していれば、ステップS14で特定されたパラメータの調整は適切では無い可能性があると考えられる。パラメータの調整が適切では無い場合、ユーザは、そのパラメータをガイダンス情報として提示するパラメータの中から除外する設定を行うことができる。例えば、
図5のステップS10にて、評価対象から除外するパラメータとして、このパラメータを設定する。すると、要因評価部133は、ステップS14にて、除外設定された当該パラメータを特定対象から除外する。これにより、除外設定されたパラメータは、ガイダンス情報として提示されることが無くなり、異常判定時に誤ってこのパラメータが調整されることを防ぐことができる。
【0041】
図7は、実施形態に係る異常判定システムのハードウェア構成の一例を示す図である。コンピュータ900は、CPU901、主記憶装置902、補助記憶装置903、入出力インタフェース904、通信インタフェース905を備える。上述の異常判定システム1は、コンピュータ900に実装される。そして、上述した各機能は、プログラムの形式で補助記憶装置903に記憶されている。CPU901は、プログラムを補助記憶装置903から読み出して主記憶装置902に展開し、当該プログラムに従って上記処理を実行する。また、CPU901は、プログラムに従って、記憶領域を主記憶装置902に確保する。また、CPU901は、プログラムに従って、処理中のデータを記憶する記憶領域を補助記憶装置903に確保する。
【0042】
なお、異常判定システム1の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各機能部による処理を行ってもよい。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、CD、DVD、USB等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また、このプログラムが通信回線によってコンピュータ900に配信される場合、配信を受けたコンピュータ900が当該プログラムを主記憶装置902に展開し、上記処理を実行しても良い。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0043】
以上のとおり、本開示に係るいくつかの実施形態を説明したが、これら全ての実施形態は、例として提示したものであり、発明の範囲を限定することを意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これらの実施形態及びその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0044】
<付記>
各実施形態に記載の異常判定方法、異常判定システム及びプログラムは、例えば以下のように把握される。
【0045】
(1)第1の態様に係る異常判定方法は、複数の変数(パラメータ)を含む正常データ(機械設備や作業の状態が正常時のデータ)を学習して作成した判定モデルと、前記複数の変数を含む評価対象データとを比較して、前記変数ごとに前記評価対象データと前記判定モデルとの距離を算出し、前記距離の総和を前記評価対象データの異常度として算出するステップと(S12)、前記異常度に基づいて、前記評価対象データが異常か否かを判定するステップと(S13)、前記複数の変数のうちの少なくとも一つについて、前記異常度を低下させるための値の調整方向を算出するステップと(S14、S15)、前記調整方向を出力するステップと(S16)、を有する。
これにより、異常判定だけではなく、どうすれば正常状態に戻せるのかを把握することができる。
【0046】
(2)第2の態様に係る異常判定方法は、(1)の異常判定方法であって、調整方向を算出するステップでは、前記距離が大きい前記変数から順に所定個を選択し(S14)、選択した前記変数について前記距離を減らす方向を前記調整方向として算出し(S15)、前記調整方向を出力するステップでは、選択した前記変数と、当該変数ごとの前記調整方向を出力する。
これにより、異常判定だけではなく、どのパラメータが要因となって異常度が大きくなっているのか、そのパラメータをどうすれば正常状態に戻せるのかを把握することができる。
【0047】
(3)第3の態様に係る異常判定方法は、(2)の異常判定方法であって、前記変数を所定個選択する際には、制御可能な前記変数を選択する。
これにより、ガイダンス情報として提示されたパラメータを制御して、機械設備や作業の状態を回復することができる。
【0048】
(4)第4の態様に係る異常判定方法は、(1)~(3)の異常判定方法であって、前記調整方向は、1つの前記変数について、前記評価対象データに含まれる前記変数の値から、当該変数に最も近い前記判定モデルに含まれる同じ前記変数の値への方向である。
これにより、異常の要因として特定されたパラメータについて、正常に近づけるための方向を算出することができる。パラメータを算出された方向へ調整することで、監視対象の機械設備や作業の状態を正常な状態に戻すことができる可能性がある。
【0049】
(5)第5の態様に係る異常判定方法は、(1)~(4)の異常判定方法であって、前記複数の変数のデータについて正常区間を設定するステップと、前記正常区間に含まれる前記データを前記正常データとして学習し、前記変数ごとの正常な範囲を規定する前記判定モデルを作成するステップと、をさらに有する。
監視対象から正常データしか得られず正常データを学習した正常モデルしか構築できない場合であっても、その正常モデルを用いて異常判定を行うだけではなく、どうすれば正常状態に戻せるのかを把握することができる。
【0050】
(6)第6の態様に係る異常判定方法は、(1)~(5)の異常判定方法であって、前記変数ごとに重み付けを設定して前記距離を算出する。
これにより、各パラメータの関係について、所望の重み付けを設定することにより、ユーザの意図にあったパラメータ(例えば、制御上効果的なパラメータ)についてのガイダンス情報を優先的に提示できるようになる。
【0051】
(7)第7の態様に係る異常判定方法は、(1)~(6)の異常判定方法であって、前記異常度を減らす方向に調整した前記変数の値を、所定の機器の動作または所定の作業を模擬するシミュレータに入力して、前記シミュレータに前記動作または前記作業を模擬させるステップと(S18)、前記模擬の結果に基づいて、前記異常度を減らす目的で前記変数を調整するかどうかを評価するステップと(S20)、をさらに有する。
これにより、ガイダンス情報に提示されるパラメータとその改善方法が適切かどうかをシミュレーション環境で確認することができる。
【0052】
(8)第8の態様に係る異常判定方法は、(1)~(7)の異常判定方法であって、前記判定モデルは、前記正常データに含まれる前記変数の確率密度分布であり、前記異常度として算出するステップでは、前記評価対象データに含まれる前記変数の確率密度分布と前記正常データに基づく前記変数の確率密度分布との密度比を算出し、前記調整方向を算出するステップでは、前記評価対象データの確率密度分布と前記正常データの確率密度分布の位置関係に基づいて、前記値の調整方向を算出する。
これにより、正常データを構成する複数の変数の値の出現しやすさ(確率密度分布)に基づいて、評価対象データの異常度を算出することができる。
【0053】
(9)第9の態様に係る異常判定方法は、(1)~(8)の異常判定方法であって、前記判定モデルは、前記正常データを入力すると前記正常データを出力するよう構築された前記正常データを再現するモデルであり、前記異常度として算出するステップでは、前記評価対象データを前記判定モデルに入力したときに前記判定モデルが出力するデータが入力した前記評価対象データをどの程度再現しているかを示す再現度を算出し、前記調整方向を算出するステップでは、前記再現度に基づいて、前記値の調整方向を算出する。
これにより、正常データを再現するモデルによる評価対象データの再現度に基づいて、評価対象データの異常度を算出することができる。
【0054】
(10)第10の態様に係る異常判定システム1は、複数の変数を含む正常データを学習して作成した判定モデルと、前記複数の変数を含む評価対象データとを比較して、前記変数ごとに前記評価対象データと前記判定モデルとの距離を算出し、前記距離の総和を前記評価対象データの異常度として算出する手段(異常判定部132)と、前記異常度に基づいて、前記評価対象データが異常か否かを判定する手段(異常判定部132)と、前記複数の変数のうちの少なくとも一つについて、前記異常度を低下させるための値の調整方向を算出する手段(要因評価部133)と、前記調整方向を出力する手段(出力部14)と、を有する。
【0055】
(11)第11の態様に係るプログラムは、コンピュータ900に、複数の変数を含む正常データを学習して作成した判定モデルと、前記複数の変数を含む評価対象データとを比較して、前記変数ごとに前記評価対象データと前記判定モデルとの距離を算出し、前記距離の総和を前記評価対象データの異常度として算出するステップと、前記異常度に基づいて、前記評価対象データが異常か否かを判定するステップと、前記複数の変数のうちの少なくとも一つについて、前記異常度を低下させるための値の調整方向を算出するステップと、前記調整方向を出力するステップと、を実行させる。
【符号の説明】
【0056】
1・・・異常判定システム
10・・・異常判定装置
11・・・データ取得部
12・・・設定受付部
13・・・制御部
131・・・モデル構築部
132・・・異常判定部
133・・・要因評価部
14・・・出力部
15・・・記憶部
20・・・シミュレータ
900・・・コンピュータ
901・・・CPU
902・・・主記憶装置
903・・・補助記憶装置
904・・・入出力インタフェース
905・・・通信インタフェース