JP2022027057A - 異常検出装置、異常検出方法および異常検出プログラム - Google Patents
異常検出装置、異常検出方法および異常検出プログラム Download PDFInfo
- Publication number
- JP2022027057A JP2022027057A JP2020130838A JP2020130838A JP2022027057A JP 2022027057 A JP2022027057 A JP 2022027057A JP 2020130838 A JP2020130838 A JP 2020130838A JP 2020130838 A JP2020130838 A JP 2020130838A JP 2022027057 A JP2022027057 A JP 2022027057A
- Authority
- JP
- Japan
- Prior art keywords
- state
- data
- abnormality detection
- abnormality
- inputting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N99/00—Subject matter not provided for in other groups of this subclass
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Automation & Control Theory (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
【課題】異常検出精度を向上させる。【解決手段】正常モデル生成部106は、学習対象データと第1状態観測値と第1潜在状態値とにより構成されるデータを競合型ニューラルネットワークに入力することにより正常モデルを生成する。第1状態観測値および第1潜在状態値はそれぞれ、状態観測器および質的ソフトセンサに学習対象データを入力することによって得られる。異常度算出部108は、監視対象データと第2状態観測値と第2潜在状態値とにより構成されるデータを正常モデルと比較することにより異常度を算出する。第2状態観測値および第2潜在状態値はそれぞれ、状態観測器および質的ソフトセンサに監視対象データを入力することによって得られる。【選択図】図2
Description
本開示は、競合型ニューラルネットワークを用いて異常を検出する異常検出装置、方法およびプログラムに関する。
近年、機械学習を用いて各種機器の異常を検出する手法が提案されている。特許文献1には、競合型ニューラルネットワークを用いて実センサ観測値を万遍なく学習させることにより、回転数、経年劣化、日時および季節等によって正常状態にばらつきがある場合でも、異常の有無を適切に診断する異常監視装置が記載されている。
実センサの観測値から読み取れる情報および特徴から異常を検出する場合において、異常であるにも関わらず正常と判定してしまう誤判定が発生することがある。
本開示は、異常検出精度を向上させることを目的とする。
本開示は、異常検出精度を向上させることを目的とする。
本開示の一態様は、データ取得部(101)と、正常モデル生成部(106)と、異常度算出部(108)と、判定部(109)とを備える異常検出装置(1)である。
データ取得部は、異常を検出する対象である異常検出対象の学習対象データおよび監視対象データを取得するように構成される。
データ取得部は、異常を検出する対象である異常検出対象の学習対象データおよび監視対象データを取得するように構成される。
正常モデル生成部は、学習対象データと、異常検出対象が有する系統の状態を表す状態観測器に学習対象データを入力することによって得られる第1状態観測値と、異常検出対象の潜在状態を表す質的ソフトセンサに学習対象データを入力することによって得られる第1潜在状態値とにより構成されるデータを競合型ニューラルネットワークに入力することにより正常モデルを生成するように構成される。
異常度算出部は、監視対象データと、状態観測器に監視対象データを入力することによって得られる第2状態観測値と、質的ソフトセンサに監視対象データを入力することによって得られる第2潜在状態値とにより構成されるデータを正常モデルと比較することにより、異常検出対象の異常の度合いを示す異常度を算出するように構成される。
判定部は、異常度算出部により算出された異常度に基づいて、異常検出対象が正常であるか異常であるかを判定するように構成される。
このように構成された本開示の異常検出装置は、学習対象データおよび第1状態観測値に第1潜在状態値を加えて正常モデルを生成し、監視対象データおよび第2状態観測値に第2潜在状態値を加えて異常度を算出する。これにより、本開示の異常検出装置は、異常検出対象の状態を含めて学習した正常モデルにより異常を検出することができ、異常検出精度を向上させることができる。
このように構成された本開示の異常検出装置は、学習対象データおよび第1状態観測値に第1潜在状態値を加えて正常モデルを生成し、監視対象データおよび第2状態観測値に第2潜在状態値を加えて異常度を算出する。これにより、本開示の異常検出装置は、異常検出対象の状態を含めて学習した正常モデルにより異常を検出することができ、異常検出精度を向上させることができる。
[第1実施形態]
以下に本開示の第1実施形態を図面とともに説明する。
本実施形態の異常検出装置1は、車両に搭載され、図1に示すように、制御装置2と、通信装置3と、データ記憶装置4と、表示装置5とを備える。
以下に本開示の第1実施形態を図面とともに説明する。
本実施形態の異常検出装置1は、車両に搭載され、図1に示すように、制御装置2と、通信装置3と、データ記憶装置4と、表示装置5とを備える。
制御装置2は、CPU11、ROM12およびRAM13等を備えたマイクロコンピュータを中心に構成された電子制御装置である。マイクロコンピュータの各種機能は、CPU11が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ROM12が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、CPU11が実行する機能の一部または全部を、一つあるいは複数のIC等によりハードウェア的に構成してもよい。また、制御装置2を構成するマイクロコンピュータの数は1つでも複数でもよい。
通信装置3は、通信線を介して複数のECUとの間でデータ通信可能に接続されており、CAN通信プロトコルに従ってデータの送受信を行う。通信装置3に接続されている複数のECUは、具体的には、エンジン制御を行うエンジンECU、ブレーキ制御を行うブレーキECU、ステアリング制御を行うステアリングECU等である。CANは、Controller Area Networkの略である。CANは登録商標である。
データ記憶装置4は、各種データを記憶するための装置であり、本実施形態では例えばハードディスクドライブである。
表示装置5は、制御装置2からの指示に基づいて、表示画面に各種画像を表示する。
表示装置5は、制御装置2からの指示に基づいて、表示画面に各種画像を表示する。
制御装置2は、CPU11がプログラムを実行することで実現される機能の構成として、図2に示すように、データ取得部101、状態観測器生成部104、正常モデル生成部106、異常度算出部108、判定部109、要因分析部110および表示部111を備える。制御装置2を構成するこれらの要素を実現する手法はソフトウェアに限るものではなく、その一部又は全部の要素について、一つあるいは複数のハードウェアを用いて実現してもよい。例えば、上記機能がハードウェアである電子回路によって実現される場合、その電子回路は多数の論理回路を含むデジタル回路、又はアナログ回路、あるいはこれらの組合せによって実現してもよい。
またデータ記憶装置4は、学習対象データ記憶部102、監視対象データ記憶部103、状態観測器情報記憶部105および正常モデルパラメータ記憶部107を備える。
データ取得部101は、異常検出装置1に直接または間接的に接続された各種センサから、学習対象データおよび監視対象データを取得する。
データ取得部101は、異常検出装置1に直接または間接的に接続された各種センサから、学習対象データおよび監視対象データを取得する。
各種センサは、車両に搭載されたセンサ、および、各種の車両電子制御装置に接続されたセンサなどである。車両に搭載されたセンサとしては、温度計、湿度計およびGPSなどが挙げられる。車両電子制御装置に接続されたセンサとしては、エンジン回転センサ、タービン回転センサ、酸素センサおよび空燃比センサなどが挙げられる。
なお、データ取得部101は、ネットワークを介して、学習対象データおよび監視対象データを間接的に取得してもよい。例えば、データ取得部101は、ネットワークを介してデータベースからダウンロードすることにより、学習対象データおよび監視対象データを取得してもよい。
学習対象データおよび監視対象データは、車両の故障と車両の故障メカニズムとの少なくとも一方に関するデータであり、車両に関するデータと走行環境に関するデータとを含む。但し、学習対象データは、車両が正常状態である場合のデータである。監視対象データは、車両が正常状態である場合と、車両が異常状態である場合との両方を含むデータである。
学習対象データ記憶部102は、データ取得部101が取得した学習対象データを記憶する。
監視対象データ記憶部103は、データ取得部101が取得した監視対象データを記憶する。
監視対象データ記憶部103は、データ取得部101が取得した監視対象データを記憶する。
状態観測器生成部104は、変数構成を取得し、取得した変数構成に含まれる変数を用いて、車両の系統ごとに状態観測器を生成する。
状態観測器は、オブザーバまたはソフトセンサともいう。変数は、データ取得部101が取得する学習対象データおよび監視対象データに対応する。系統は、車両を構成する制御装置およびセンサ等を車両の機能毎にまとめることにより形成されている。車両の系統として、例えば、駆動系、空燃比系、空気系、点火系、燃料系およびスロットル系などが挙げられる。
状態観測器は、オブザーバまたはソフトセンサともいう。変数は、データ取得部101が取得する学習対象データおよび監視対象データに対応する。系統は、車両を構成する制御装置およびセンサ等を車両の機能毎にまとめることにより形成されている。車両の系統として、例えば、駆動系、空燃比系、空気系、点火系、燃料系およびスロットル系などが挙げられる。
状態観測器生成部104は、設定者の知見に基づき、状態観測器が車両の機能および故障メカニズムを表現するために必要または有益な変数構成を取得するようにしてもよい。変数構成は、状態観測器を構成するために用いられる1つの変数、または、状態観測器を構成するために用いられる複数の変数の組み合わせである。
状態観測器生成部104は、例えば式(1)に示すように、取得した変数構成に含まれる変数を線形結合することにより、状態観測器を生成する。式(1)のapXpは、p番目の状態観測器である。xpiは、p番目の状態観測器におけるi番目の変数である。apiは、p番目の状態観測器におけるi番目の係数である。すなわち、apiは、変数xpiの係数である。iは、1からnまでの整数である。なお、状態観測器生成部104は、係数apiの初期値をランダムな値とし、変数xpiを結合して状態観測器の初期状態を生成する。
状態観測器は、異常検出装置1の検出対象となる機器の機能、または、機器の故障メカニズムを反映していることが望ましい。本実施形態では、機器の機能の例として、車両の駆動と、車両の空燃比とを含む。
機器の故障メカニズムとは、機器の故障が生じる仕組みである。「機器の故障メカニズムを反映している」とは、機器の機能または機器の故障メカニズムに応じて、状態観測器から出力される状態観測値が変化することである。
状態観測器の変数構成に含まれる変数は、異常検出装置1の検出対象となる機器の機能の因子、または機器の故障メカニズムの因子であることが望ましい。例えば、機器の故障メカニズムがエンジンのオーバーヒートの場合には、エンジンの温度が、オーバーヒートを引き起こす直接的な因子である。また、エンジンの回転数と冷却液の量とが、エンジンの温度上昇を引き起こす直接的な因子、すなわち、オーバーヒートを引き起こす間接的な因子である。
例えば、図3に示すように、車両の駆動系を機器の機能とした状態観測器(以下、駆動系状態観測器)は、エンジン回転数とタービン回転数とを変数として生成される。具体的には、1番目の状態観測器である駆動系状態観測器a1X1は、式(2)に示すように、エンジン回転数およびタービン回転数をそれぞれ変数x11および変数x12として、係数a11および係数a12を用いた線形結合により生成される。
また、図4に示すように、車両の空燃比系を機器の機能とした状態観測器(以下、空燃比系状態観測器)は、酸素センサ電圧と空燃比センサ電流とを変数として生成される。具体的には、2番目の状態観測器である空燃比系状態観測器a2X2は、式(3)に示すように、酸素センサ電圧および空燃比センサ電流をそれぞれ変数x21および変数x22として、係数a21および係数a22を用いた線形結合により生成される。
なお、上述した変数以外の変数を用いて状態観測器を生成してもよい。また、結合する変数の数は2つに限らず、3つ以上でもよい。さらに、生成する状態観測器の数は2つに限らず、1つでもよいし、3つ以上でもよい。
本実施形態では、状態観測器の例として、入力-出力の2層構造を有する例を挙げたが、3層以上であってもよい。3層以上の場合には、階層型ニューラルネットワークを用いて記述してもよい。
また、状態観測器として、変数を線形で結合する例を挙げたが、これに限らず、非線形な結合で構成されてもよい。例えば、階層型ニューラルネットワークを用いて記述する場合には、シグモイド関数を用いるので、非線形の結合で構成されることになる。
状態観測器を生成することにより、直接センサ等で測定することができない状態観測値を推定することができる。また、機器の機能および故障メカニズムを状態観測器に反映させることにより、故障の要因分析が容易になる。
状態観測器生成部104は、後述する質的ソフトセンサを生成する。ここで、「質的」データとは、直接数値で測定できないデータを指し、名義尺度及び順序尺度が属するデータの種類である。
状態観測器情報記憶部105は、状態観測器生成部104により生成された状態観測器および質的ソフトセンサの係数および変数構成を記憶する。
状態観測器情報記憶部105は、状態観測器生成部104により生成された状態観測器および質的ソフトセンサの係数および変数構成を記憶する。
なお、異常検出装置1は、状態観測器を生成するときに状態観測器生成部104を備えていればよい。すなわち、異常検出装置1は、状態観測器を生成して状態観測器の変数構成および係数を状態観測器情報記憶部105に記憶した後に状態観測器生成部104を異常検出装置1から切り離してもよい。
正常モデル生成部106は、学習対象データ記憶部102から学習対象データを読み出し、状態観測器情報記憶部105から状態観測器および質的ソフトセンサの変数構成および係数を読み出す。そして正常モデル生成部106は、状態観測器ごとに、状態観測器を構成する変数に対して学習対象データを当て嵌めて第1状態観測値を算出する。また正常モデル生成部106は、質的ソフトセンサごとに、質的ソフトセンサを構成する変数に対して学習対象データを当て嵌めて第1潜在状態値を算出する。
正常モデル生成部106は、例えば、学習対象データとして取得したエンジン回転数およびタービン回転数を式(2)に代入して得られる値を、駆動系状態観測器a1X1の第1状態観測値とする。また正常モデル生成部106は、学習対象データとして取得した酸素センサ電圧および空燃比センサ電流を式(3)に代入して得られる値を、空燃比系状態観測器a2X2の第1状態観測値とする。
そして正常モデル生成部106は、第1状態観測値と第1潜在状態値と学習対象データとを結合する。例えば、正常モデル生成部106は、エンジン回転数、タービン回転数、駆動系状態観測器a1X1の第1状態観測値、酸素センサ電圧、空燃比センサ電流、空燃比系状態観測器a2X2の第1状態観測値、および、第1潜在状態値の7つのデータを結合する。なお、第1状態観測値と第1潜在状態値と学習対象データとの結合は、第1状態観測値と第1潜在状態値と学習対象データとを同時に競合型ニューラルネットワークに入力できる状態となればよい。
さらに正常モデル生成部106は、結合したデータを競合型ニューラルネットワークに入力することにより、正常モデルとして正常面を学習する。競合型ニューラルネットワークは、入力層と出力層との2つの層を備えるネットワークであり、複数個の入力層ニューロンと、入力層ニューロンに全結合で結ばれた複数個の出力層ニューロンとで構成されている。各出力層ニューロンの重みデータが、正常面に相当する。
なお、競合型ニューラルネットワークに与える初期値としては、例えば、車種、測定季節、昼夜、カスタマイズ仕様、経年度など、入力されるデータの属性の組み合わせが複数ある場合に、万遍なくサンプリングあるいはランダムにサンプリングすることが望ましい。これにより、競合型ニューラルネットワークのマップ上のニューロンの重みベクトルの学習時の収束を速くすることができる。
本実施形態では、競合型ニューラルネットワークに入力された学習対象データ、第1状態観測値および第1潜在状態値と、勝者ユニットのニューロン重みデータとの差分である異常度が算出される。そして、差分の集合を用いて閾値が算出される。例えば差分(または、差分の絶対値)の集合の99.9%分位点の定数倍が閾値として用いられる。
正常モデルパラメータ記憶部107は、正常モデル生成部106が学習した正常面を表す学習済みパラメータを記憶する。また正常モデルパラメータ記憶部107は、正常モデル生成部106で算出された閾値を記憶する。
異常度算出部108は、監視対象データ記憶部103から監視対象データを読み出し、状態観測器情報記憶部105から状態観測器および質的ソフトセンサの変数構成および係数を読み出す。そして異常度算出部108は、状態観測器ごとに、状態観測器を構成する変数に対して監視対象データを当て嵌めて第2状態観測値を算出する。また異常度算出部108は、質的ソフトセンサごとに、質的ソフトセンサを構成する変数に対して監視対象データを当て嵌めて第2潜在状態値を算出する。
異常度算出部108は、例えば、監視対象データとして取得したエンジン回転数およびタービン回転数を式(2)に代入して得られる値を、駆動系状態観測器a1X1の第2状態観測値とする。また異常度算出部108は、監視対象データとして取得した酸素センサ電圧および空燃比センサ電流を式(3)に代入して得られる値を、空燃比系状態観測器a2X2の第2状態観測値とする。
そして異常度算出部108は、第2状態観測値と第2潜在状態値と監視対象データとを結合する。例えば、異常度算出部108は、エンジン回転数、タービン回転数、駆動系状態観測器a1X1の第2状態観測値、酸素センサ電圧、空燃比センサ電流、空燃比系状態観測器a2X2の第2状態観測値、および、第2潜在状態値の7つのデータを結合する。なお、第2状態観測値と第2潜在状態値と監視対象データとの結合は、第2状態観測値と第2潜在状態値と監視対象データとを同時に競合型ニューラルネットワークに入力できる状態となればよい。
さらに異常度算出部108は、正常モデルパラメータ記憶部107から、正常面(すなわち、ニューロンの重みデータ)などの学習済みパラメータを読み出す。そして異常度算出部108は、結合したデータを競合型ニューラルネットワークに入力することにより、監視対象データ、第2状態観測値および第2潜在状態値と正常面との距離を、異常度として算出する。
判定部109は、正常モデルパラメータ記憶部107から読み出した閾値と、異常度算出部108が算出した異常度とに基づいて、車両が正常であるか異常であるかを判定する。
要因分析部110は、車両が異常であると判定部109により判定された場合に、異常と判定される原因となった第2状態観測値、第2状態観測値および監視対象データを用いて、異常の原因を特定する。
表示部111は、異常の原因を特定する情報を表示装置5の表示画面に表示する。
次に、制御装置2のCPU11が実行する学習処理の手順を説明する。学習処理は、制御装置2の動作中において繰り返し実行される処理である。
次に、制御装置2のCPU11が実行する学習処理の手順を説明する。学習処理は、制御装置2の動作中において繰り返し実行される処理である。
学習処理が実行されると、CPU11は、図5に示すように、まずS10にて、各種センサから学習対象データを取得する。
さらにCPU11は、S20にて、S10で取得した学習対象データに対して、正規分布に近づける分布変換を行う。分布変換の例として、Bоx-Cоx変換およびJohnsоn変換が挙げられる。分布変換により、判定部109における判定精度が向上する可能性がある。
さらにCPU11は、S20にて、S10で取得した学習対象データに対して、正規分布に近づける分布変換を行う。分布変換の例として、Bоx-Cоx変換およびJohnsоn変換が挙げられる。分布変換により、判定部109における判定精度が向上する可能性がある。
そしてCPU11は、S30にて、分布変換後の学習対象データを学習対象データ記憶部102に記憶する。
次にCPU11は、S40にて、質的ソフトセンサ生成処理を実行する。ここで、質的ソフトセンサ生成処理の手順を説明する。
次にCPU11は、S40にて、質的ソフトセンサ生成処理を実行する。ここで、質的ソフトセンサ生成処理の手順を説明する。
質的ソフトセンサ生成処理が実行されると、CPU11は、図6に示すように、まずS210にて、共起行列を生成する。
共起行列は、図7に示すように、車両に搭載された機器(以下、車載機器)の状態の時間変化を示す複数のフラグで構成されている。共起行列CM1は、フラグA、フラグB、フラグCおよびフラグDで構成されている。車載機器の状態として、ヘッドランプのオン/オフ、変速機のギア(例えば、1速、2速、3速など)、カーエアコンの送風のオン/オフ、カーエアコンの送風量(例えば、弱、中、強など)が挙げられる。
共起行列は、図7に示すように、車両に搭載された機器(以下、車載機器)の状態の時間変化を示す複数のフラグで構成されている。共起行列CM1は、フラグA、フラグB、フラグCおよびフラグDで構成されている。車載機器の状態として、ヘッドランプのオン/オフ、変速機のギア(例えば、1速、2速、3速など)、カーエアコンの送風のオン/オフ、カーエアコンの送風量(例えば、弱、中、強など)が挙げられる。
フラグDの「1」、「2」、「3」はそれぞれ、カーエアコンの送風量の「弱」、「中」、「強」を示している。共起行列CM2で示すように、フラグDの代わりに、フラグD1、フラグD2およびフラグD3を用いるようにしてもよい。フラグD1は、カーエアコンの送風量が「弱」のときにセットされるフラグである。フラグD2は、カーエアコンの送風量が「中」のときにセットされるフラグである。フラグD3は、カーエアコンの送風量が「強」のときにセットされるフラグである。
なお、車載機器の状態として、フラグの値の代わりに、フラグにおける0から1への立ち上がり、または、フラグにおける1から0への立ち上がりをカウントするようにしてもよい。また、タイムウインドウなどを用いて共起行列を生成するようにしてもよい。
共起行列の生成が終了すると、CPU11は、図6に示すように、S220にて、S210で生成した共起行列について、コサイン類似度による分散共分散行列を生成する。なお、CPU11は、相互情報量による分散共分散行列を生成するようにしてもよいし、前処理なしによる分散共分散行列を生成するようにしてもよい。
次にCPU11は、S230にて、S220で生成された分散共分散行列に対してSVDを行うことによって、正常状態の係数(例えば、特異値など)を生成する。SVDは、Singular Value Decompositionの略である。なお、CPU11は、SVDの代わりに、バリ/プロマックス回転またはWord2Vecなどを用いて正常状態の係数を生成するようにしてもよい。
さらにCPU11は、S240にて、S230のSVDで算出された寄与率に基づいて次元削減を行う。そしてCPU11は、S250にて、S240での次元削減により得られた固有ベクトルを用いて質的ソフトセンサを生成する。
質的ソフトセンサは、例えば、複数のフラグの線形結合によって形成される。例えば、図7に示すように、第1潜在状態を示す質的ソフトセンサQS1は、フラグAとフラグBとの線形結合により形成される。第2潜在状態を示す質的ソフトセンサQS2は、フラグCとフラグD1とフラグD2との線形結合により形成される。なお、第1潜在状態は、例えば、車両が暖気前であることを示し、第2潜在状態は、例えば、車両が暖気後であることを示す。
S250の処理が終了すると、CPU11は、図6に示すように、S260にて、S250で生成された質的ソフトセンサの係数と変数構成とを状態観測器情報記憶部105に記憶し、質的ソフトセンサ生成処理を終了する。
質的ソフトセンサ生成処理が終了すると、CPU11は、図5に示すように、S50にて、状態観測器生成処理を実行する。ここで、状態観測器生成処理の手順を説明する。
状態観測器生成処理が実行されると、CPU11は、図8に示すように、まずS310にて、変数構成を取得する。
状態観測器生成処理が実行されると、CPU11は、図8に示すように、まずS310にて、変数構成を取得する。
そしてCPU11は、S320にて、例えば式(1)に示すように、取得した変数構成に含まれる変数を線形結合することにより、状態観測器を生成する。
次にCPU11は、S330にて、S320で生成した状態観測器の数が1つであるか否かを判断する。ここで、状態観測器の数が1つである場合には、CPU11は、S370に移行する。
次にCPU11は、S330にて、S320で生成した状態観測器の数が1つであるか否かを判断する。ここで、状態観測器の数が1つである場合には、CPU11は、S370に移行する。
一方、状態観測器の数が1つでない場合には、CPU11は、S340にて、S320で生成した状態観測器の数が2つであるか否かを判断する。ここで、状態観測器の数が2つである場合には、CPU11は、S350にて、生成した2つの状態観測器の相関を最大化し、S270に移行する。以下、S320で生成した2つの状態観測器のうち、一方の状態観測器を第1状態観測器、他方の状態観測器を第2状態観測器という。
具体的には、CPU11は、式(5)に示す制約条件下で、式(4)に示す相関係数ρが最大となるように第1状態観測器の係数と第2状態観測器の係数とを調整する。式(5)は、ラグランジュの未定乗数法の制約条件である。n,mは状態観測器の番号、Vは分散である。式(4)の分子は、第1状態観測器と第2状態観測器との標本共分散、式(4)の分母は、第1状態観測器の標本分散の平方根と第2状態観測器の標本分散の平方根との積である。
S340にて状態観測器の数が2つでない場合には、CPU11は、S360にて、S320で生成した3つ以上の状態観測器の相関を最大化し、S370に移行する。例えば、S320で第1状態観測器、第2状態観測器および第3の状態観測器が生成されている場合には、図9に示すように、2つの状態観測器間の相関の和を最大化することが望ましい。具体的には、式(6)を用いて、2つの状態観測器間の相関の和を最大化する。Nは状態観測器の総数である。gは和を表す関数であり、gの括弧内は和の対象である。状態観測器が4つ以上である場合でも、3つの場合と同様の方法で最大化を行う。なお、本実施形態において、「和」とは、単純和の他、二乗和、絶対値和などのように演算に和を含んでいればよい。
S370に移行すると、CPU11は、S320~S360の処理によって生成された状態観測器の係数と変数構成とを状態観測器情報記憶部105に記憶し、状態観測器生成処理を終了する。
状態観測器生成処理が終了すると、CPU11は、図5に示すように、S60にて、学習対象データ、変数構成および係数を読み出し、状態観測器ごとに、状態観測器を構成する変数に対して学習対象データを当て嵌めて第1状態観測値を算出する。
さらにCPU11は、S70にて、学習対象データ、変数構成および係数を読み出し、質的ソフトセンサごとに、質的ソフトセンサを構成する変数に対して学習対象データを当て嵌めて第1潜在状態値を算出する。
そしてCPU11は、S80にて、S10で取得した学習対象データと、S60で算出した第1状態観測値と、S70で算出した第1潜在状態値とを結合する。
次にCPU11は、S90にて、S80で結合したデータを競合型ニューラルネットワークに入力することにより、正常モデルとして正常面を学習する。
次にCPU11は、S90にて、S80で結合したデータを競合型ニューラルネットワークに入力することにより、正常モデルとして正常面を学習する。
図10に示すように、初期化された正常面PL1は、ニューロンを二次元格子状に配置したSOMである。SOMは、Self-Organizing Mapの略である。各ニューロンは、学習対象データ、第1状態観測値および第1潜在状態値で構成されている。例えば、各ニューロンは、エンジン回転数、タービン回転数、駆動系状態観測器a1X1の第1状態観測値、酸素センサ電圧、空燃比センサ電流、空燃比系状態観測器a2X2の第1状態観測値、および、第1潜在状態値の7つのデータで構成されている。以下、ニューロンを構成する各データを、ニューロンの重みデータという。
学習により、正常面を構成するニューロンの重みが初期値から変化し、学習済みの正常面PL2が得られる。
正常面の学習が終了すると、CPU11は、図5に示すように、S100にて、S90で学習した正常面を表す学習済みパラメータを正常モデルパラメータ記憶部107に記憶し、学習処理を終了する。
正常面の学習が終了すると、CPU11は、図5に示すように、S100にて、S90で学習した正常面を表す学習済みパラメータを正常モデルパラメータ記憶部107に記憶し、学習処理を終了する。
次に、制御装置2のCPU11が実行する監視処理の手順を説明する。監視処理は、正常面の学習が終了した後に繰り返し実行される処理である。
監視処理が実行されると、CPU11は、図11に示すように、まずS410にて、各種センサから監視対象データを取得する。
監視処理が実行されると、CPU11は、図11に示すように、まずS410にて、各種センサから監視対象データを取得する。
さらにCPU11は、S420にて、S410で取得した監視対象データに対して、正規分布に近づける分布変換を行う。
そしてCPU11は、S430にて、分布変換後の監視対象データを監視対象データ記憶部103に記憶する。
そしてCPU11は、S430にて、分布変換後の監視対象データを監視対象データ記憶部103に記憶する。
次にCPU11は、S440にて、監視対象データ、変数構成および係数を読み出し、状態観測器ごとに、状態観測器を構成する変数に対して監視対象データを当て嵌めて第2状態観測値を算出する。
さらにCPU11は、S450にて、監視対象データ、変数構成および係数を読み出し、質的ソフトセンサごとに、質的ソフトセンサを構成する変数に対して監視対象データを当て嵌めて第2潜在状態値を算出する。
そしてCPU11は、S460にて、S410で取得した監視対象データと、S440で算出した第2状態観測値と、S450で算出した第2潜在状態値とを結合する。以下、結合された監視対象データ、第2状態観測値および第2潜在状態値をまとめて検証用データという。
またCPU11は、S470にて、正常モデルパラメータ記憶部107から学習済みパラメータを取得する。
そしてCPU11は、S480にて、異常度算出処理を実行する。ここで、異常度算出処理の手順を説明する。
そしてCPU11は、S480にて、異常度算出処理を実行する。ここで、異常度算出処理の手順を説明する。
異常度算出処理が実行されると、CPU11は、図12に示すように、まずS610にて、ループカウンタlの値を1に設定する。
そしてCPU11は、S620にて、まず、監視時点kにおける検証用データZkと、正常面を構成する各ニューロンWi,jとのユークリッド距離dk,l,i,jを算出する。iは、正常面におけるニューロンの横方向位置を示す番号であり、1~Nの整数である。Nは正常面の横サイズを示す。jは、正常面におけるニューロンの縦方向位置を示す番号であり、1~Mの整数である。Mは正常面の縦サイズを示す。
そしてCPU11は、S620にて、まず、監視時点kにおける検証用データZkと、正常面を構成する各ニューロンWi,jとのユークリッド距離dk,l,i,jを算出する。iは、正常面におけるニューロンの横方向位置を示す番号であり、1~Nの整数である。Nは正常面の横サイズを示す。jは、正常面におけるニューロンの縦方向位置を示す番号であり、1~Mの整数である。Mは正常面の縦サイズを示す。
検証用データZkは、式(7)に示すように、X個のデータで構成されている。ニューロンWi,jは、式(8)に示すように、X個の重みデータで構成されている。
さらにCPU11は、S620にて、全てのニューロンWi,jにおいて算出されたユークリッド距離dk,l,i,jの中から、最小のユークリッド距離を、最小ユークリッド距離dk,lとする。
またCPU11は、S630にて、検証用データZkと、検証用データZkに最も近いニューロンW’k,lとのコサイン類似度cosθk,lを算出する。
またCPU11は、S640にて、最小ユークリッド距離dk,lとコサイン類似度cosθk,lとの積を異常度ck,lとして算出する。
またCPU11は、S640にて、最小ユークリッド距離dk,lとコサイン類似度cosθk,lとの積を異常度ck,lとして算出する。
そしてCPU11は、S650にて、ループカウンタlの値が予め設定された終了判定値L(例えば、10)を超えているか否かを判断する。ここで、ループカウンタlの値が終了判定値Lを超えていない場合には、CPU11は、S660にて、ループカウンタlをインクリメント(すなわち、1加算)する。さらにCPU11は、S670にて、正常面を構成するニューロンWi,jの中から、検証用データZkに最も近いニューロンW’k,lを取り除いて、S620に移行する。
またS650にて、ループカウンタlの値が終了判定値Lを超えている場合には、CPU11は、S680にて、L個の異常度ck,lの総和を総合異常度ckとして算出して、異常度算出処理を終了する。
異常度算出処理が終了すると、CPU11は、図11に示すように、S490にて、異常判定を行い、監視処理を終了する。具体的には、CPU11は、正常モデルパラメータ記憶部107から閾値を読み出し、S680で算出された総合異常度ckが閾値以下であるか否か判断する。総合異常度ckが閾値以下である場合には、CPU11は、車両が正常であると判断する。総合異常度ckが閾値を超えている場合には、CPU11は、車両が異常であると判断する。
このように構成された異常検出装置1は、データ取得部101と、正常モデル生成部106と、異常度算出部108と、判定部109とを備える。
データ取得部101は、車両の学習対象データおよび監視対象データを取得する。
データ取得部101は、車両の学習対象データおよび監視対象データを取得する。
正常モデル生成部106は、学習対象データと、第1状態観測値と、第1潜在状態値とにより構成されるデータを競合型ニューラルネットワークに入力することにより正常モデルを生成する。第1状態観測値は、車両が有する系統の状態を表す状態観測器に学習対象データを入力することによって得られる。第1潜在状態値は、車両の潜在状態を表す質的ソフトセンサに学習対象データを入力することによって得られる。
異常度算出部108は、監視対象データと、第2状態観測値と、第2潜在状態値とにより構成されるデータを正常モデルと比較することにより、車両の異常の度合いを示す異常度を算出する。第2状態観測値は、状態観測器に監視対象データを入力することによって得られる。第2潜在状態値は、質的ソフトセンサに監視対象データを入力することによって得られる。
判定部109は、異常度算出部108により算出された異常度に基づいて、車両が正常であるか異常であるかを判定する。
このように異常検出装置1は、学習対象データおよび第1状態観測値に第1潜在状態値を加えて正常モデルを生成し、監視対象データおよび第2状態観測値に第2潜在状態値を加えて異常度を算出する。これにより、異常検出装置1は、車両の状態を含めて学習した正常モデルにより異常を検出することができ、異常検出精度を向上させることができる。
このように異常検出装置1は、学習対象データおよび第1状態観測値に第1潜在状態値を加えて正常モデルを生成し、監視対象データおよび第2状態観測値に第2潜在状態値を加えて異常度を算出する。これにより、異常検出装置1は、車両の状態を含めて学習した正常モデルにより異常を検出することができ、異常検出精度を向上させることができる。
また異常検出装置1は、例えば図13に示すように、各監視時点においてどのようなデータの背景から異常が発生したかを可視化して要因分析を行うことができる。図13では、異常検出装置1は、監視時点t1および監視時点t2において第1潜在状態および第2潜在状態の値が0でないことを加味して要因分析を行うことができる。
質的ソフトセンサは、車両を構成する構成要素(例えば、ヘッドランプ、変速機、カーエアコン)の状態を表す複数のフラグを結合することにより生成される。これにより、異常検出装置1は、次元圧縮することで潜在的な状態を表す変数を生成し、ノイズ等に対しロバストなデータ状態を表す変数を獲得することができる。
以上説明した実施形態において、車両は異常検出対象に相当し、S10,S410はデータ取得手順としての処理に相当し、S90は正常モデル生成手順としての処理に相当し、S480は異常度算出手順としての処理に相当し、S490は判定手順としての処理に相当する。
[第2実施形態]
以下に本開示の第2実施形態を図面とともに説明する。なお第2実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
以下に本開示の第2実施形態を図面とともに説明する。なお第2実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第2実施形態の異常検出装置1は、学習処理および監視処理が変更された点が第1実施形態と異なる。
第2実施形態の学習処理は、S45,S75の処理が追加された点と、S80,S90の代わりにS85,S95の処理が実行される点とが第1実施形態と異なる。
第2実施形態の学習処理は、S45,S75の処理が追加された点と、S80,S90の代わりにS85,S95の処理が実行される点とが第1実施形態と異なる。
すなわち、図14に示すように、S40の処理が終了すると、CPU11は、S45にて、マハラノビス距離算出用パラメータを生成する。具体的には、CPU11は、状態観測器毎に、状態観測器を構成する変数に対応する学習対象データで標本平均および標本共分散行列をマハラノビス距離算出用パラメータとして算出する。例えば、駆動系状態観測器では、エンジン回転数およびタービン回転数を変数としてマハラノビス距離算出用パラメータが算出される。標本平均は式(9)で算出される。標本共分散行列は式(10)で算出される。式(9),(10)におけるx(n)は、状態観測器を構成する変数である。式(9),(10)におけるNは、学習対象データの数である。
S45の処理が終了すると、S50に移行する。
また、S70の処理が終了すると、CPU11は、S75にて、S10で取得した学習対象データを用いて、式(11)により第1指標を算出する。式(11)の左辺は第1指標である。式(11)の右辺は、マハラノビス距離を算出するための式である。
また、S70の処理が終了すると、CPU11は、S75にて、S10で取得した学習対象データを用いて、式(11)により第1指標を算出する。式(11)の左辺は第1指標である。式(11)の右辺は、マハラノビス距離を算出するための式である。
S75の処理が終了すると、CPU11は、S85にて、S10で取得した学習対象データと、S60で算出した第1状態観測値と、S70で算出した第1潜在状態値と、S75で算出した第1指標とを結合する。
次にCPU11は、S95にて、S85で結合したデータを競合型ニューラルネットワークに入力することにより、正常モデルとして正常面を学習し、S100に移行する。
第2実施形態の監視処理は、S455の処理が追加された点と、S460の代わりにS465の処理が実行される点とが第1実施形態と異なる。
第2実施形態の監視処理は、S455の処理が追加された点と、S460の代わりにS465の処理が実行される点とが第1実施形態と異なる。
すなわち、図15に示すように、S450の処理が終了すると、CPU11は、S455にて、S410で取得した監視対象データを用いて、式(11)により第2指標を算出する。
そしてCPU11は、S465にて、S410で取得した監視対象データと、S440で算出した第2状態観測値と、S450で算出した第2潜在状態値と、S455で算出した第2指標とを結合し、S470に移行する。第2実施形態では、結合された監視対象データ、第2状態観測値、第2潜在状態値および第2指標をまとめて検証用データという。
次に、マハラノビス距離を用いた正常面の学習と、マハラノビス距離を用いた異常検出とについて説明する。
図16のターミングチャートTC1は、車両の空気系の状態観測器を構成する変数である吸入空気量および負荷値の時間変化を示す。ターミングチャートTC1は、期間T1において、学習対象データとして取得された吸入空気量および負荷値の時間変化を示し、期間T2において、監視対象データとして取得された吸入空気量および負荷値の時間変化を示す。
図16のターミングチャートTC1は、車両の空気系の状態観測器を構成する変数である吸入空気量および負荷値の時間変化を示す。ターミングチャートTC1は、期間T1において、学習対象データとして取得された吸入空気量および負荷値の時間変化を示し、期間T2において、監視対象データとして取得された吸入空気量および負荷値の時間変化を示す。
領域R1,R2では、吸入空気量と負荷値との間で負の相関がある。これは、潜在状態が変化しただけであり、正常である。
領域R3では、吸入空気量が低下しているのに対して、負荷値が一定である。これは、負荷値の固着異常である。領域R1,R2,R3以外の領域では、吸入空気量と負荷値との間で正の相関がある。これは、正常である。
領域R3では、吸入空気量が低下しているのに対して、負荷値が一定である。これは、負荷値の固着異常である。領域R1,R2,R3以外の領域では、吸入空気量と負荷値との間で正の相関がある。これは、正常である。
グラフGR1,GR2は、縦軸を吸入空気量とし横軸を吸入空気量として、ターミングチャートTC1における吸入空気量および負荷値の分布を示す。
グラフGR1,GR2における領域R4内の複数の点は、ターミングチャートTC1における領域R1,R2内のデータに対応している。グラフGR1,GR2における領域R5内の複数の点は、ターミングチャートTC1における領域R3内のデータに対応している。グラフGR1,GR2における領域R4,R5以外の複数の点は、ターミングチャートTC1における領域R1,R2,R3以外のデータに対応している。
グラフGR1,GR2における領域R4内の複数の点は、ターミングチャートTC1における領域R1,R2内のデータに対応している。グラフGR1,GR2における領域R5内の複数の点は、ターミングチャートTC1における領域R3内のデータに対応している。グラフGR1,GR2における領域R4,R5以外の複数の点は、ターミングチャートTC1における領域R1,R2,R3以外のデータに対応している。
グラフGR1における複数の楕円は、マハラノビス距離の等距離線である。グラフGR2における複数の円は、ユークリッド距離の等距離線である。
図17に示すように、初期化された正常面PL3は、ニューロンを二次元格子状に配置したSOMである。各ニューロンは、学習対象データ、第1状態観測値、第1潜在状態値および第1指標で構成されている。例えば、各ニューロンは、エンジン回転数、タービン回転数、駆動系状態観測器a1X1の第1状態観測値、酸素センサ電圧、空燃比センサ電流、空燃比系状態観測器a2X2の第1状態観測値、第1潜在状態値、および、第1指標の8つのデータで構成されている。学習により、正常面を構成するニューロンの重みが初期値から変化し、学習済みの正常面PL4が得られる。
図17に示すように、初期化された正常面PL3は、ニューロンを二次元格子状に配置したSOMである。各ニューロンは、学習対象データ、第1状態観測値、第1潜在状態値および第1指標で構成されている。例えば、各ニューロンは、エンジン回転数、タービン回転数、駆動系状態観測器a1X1の第1状態観測値、酸素センサ電圧、空燃比センサ電流、空燃比系状態観測器a2X2の第1状態観測値、第1潜在状態値、および、第1指標の8つのデータで構成されている。学習により、正常面を構成するニューロンの重みが初期値から変化し、学習済みの正常面PL4が得られる。
マハラノビス距離を用いて算出された指標を、潜在状態値とともに学習させることにより、図18に示すように、領域R4内の複数の点を正常、領域R5内の複数の点を異常と判定させることが可能となる。図18における領域R6は、正常と判定される領域である。なお、指標によって、吸入空気量と負荷値との関係を見るが例外条件をSOMで設定する。
このように構成された異常検出装置1では、正常モデル生成部106は、第1指標を算出し、学習対象データと、第1状態観測値と、第1潜在状態値と、第1指標とにより構成されるデータを競合型ニューラルネットワークに入力することにより正常モデルを生成する。第1指標は、状態観測器を構成する複数の変数の関係性の変化を表し学習対象データを入力することによって得られる。
異常度算出部108は、第2指標を算出し、監視対象データと、第2状態観測値と、第2潜在状態値と、第2指標とにより構成されるデータを正常モデルと比較することにより異常度を算出する。第2指標は、状態観測器を構成する複数の変数の関係性の変化を表して監視対象データを入力することによって得られる。
これにより、異常検出装置1は、状態観測器を構成する複数の変数の関係性を含めて学習した正常モデルにより異常を検出することができ、異常検出精度を向上させることができる。
また、第1指標および第2指標はマハラノビス距離である。これにより、異常検出装置1は、ユークリッド距離基準では検出が難しかった関係性変化を検出することができる。
なお、マハラノビス距離では、状態観測器を構成する2つの変数が稀に線形関係から崩れる場合に、正常であっても指標が大きくなってしまうことがある。しかし、正常時に線形関係から崩れる場合の指標を、競合型ニューラルネットワークを用いて他の値と共にニューロンへ学習させることで、指標が高くても他の値を含めて判断することができ、第2種の過誤を抑止することができる。
なお、マハラノビス距離では、状態観測器を構成する2つの変数が稀に線形関係から崩れる場合に、正常であっても指標が大きくなってしまうことがある。しかし、正常時に線形関係から崩れる場合の指標を、競合型ニューラルネットワークを用いて他の値と共にニューロンへ学習させることで、指標が高くても他の値を含めて判断することができ、第2種の過誤を抑止することができる。
[第3実施形態]
以下に本開示の第3実施形態を図面とともに説明する。なお第3実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
以下に本開示の第3実施形態を図面とともに説明する。なお第3実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第3実施形態の異常検出装置1は、学習処理が変更された点が第1実施形態と異なる。
第3実施形態の学習処理は、S35の処理が追加された点が第1実施形態と異なる。
すなわち、図19に示すように、S30の処理が終了すると、CPU11は、S35にて、パラメータ設定処理を実行する。ここで、パラメータ設定処理の手順を説明する。
第3実施形態の学習処理は、S35の処理が追加された点が第1実施形態と異なる。
すなわち、図19に示すように、S30の処理が終了すると、CPU11は、S35にて、パラメータ設定処理を実行する。ここで、パラメータ設定処理の手順を説明する。
パラメータ設定処理が実行されると、CPU11は、図20に示すように、まずS710にて、後述するクラスタリング係数設定処理を実行する。
そしてCPU11は、S720にて、後述する正則化係数設定処理を実行する。さらにCPU11は、S730にて、後述するマップサイズ設定処理を実行して、パラメータ設定処理を終了する。
そしてCPU11は、S720にて、後述する正則化係数設定処理を実行する。さらにCPU11は、S730にて、後述するマップサイズ設定処理を実行して、パラメータ設定処理を終了する。
次に、S710で実行されるクラスタリング係数設定処理の手順を説明する。
クラスタリング係数設定処理が実行されると、CPU11は、図21に示すように、まずS810にて、外部要因による層別分類を行う。外部要因による層別分類とは、後述する第1探索範囲を、車両の条件に応じて設定することである。車両の条件として、例えば車速が挙げられる。
クラスタリング係数設定処理が実行されると、CPU11は、図21に示すように、まずS810にて、外部要因による層別分類を行う。外部要因による層別分類とは、後述する第1探索範囲を、車両の条件に応じて設定することである。車両の条件として、例えば車速が挙げられる。
またCPU11は、S820にて、クラスタリング係数の正常データの範囲を定義する。
そしてCPU11は、S830にて、DBSCANのクラスタリング係数を探索するための第1探索範囲を設定する。DBSCANは、Density-Based Spatial Clustering of Applications with Noiseの略であり、クラスタリングアルゴリズムである。DBSCANは、教師データの外れ値を除去するために行われる。DBSCANのクラスタリング係数は、近傍探索半径εおよび最小近傍点数minptsの2つである。第1探索範囲は、近傍探索半径εおよび最小近傍点数minptsのそれぞれで設定される。
そしてCPU11は、S830にて、DBSCANのクラスタリング係数を探索するための第1探索範囲を設定する。DBSCANは、Density-Based Spatial Clustering of Applications with Noiseの略であり、クラスタリングアルゴリズムである。DBSCANは、教師データの外れ値を除去するために行われる。DBSCANのクラスタリング係数は、近傍探索半径εおよび最小近傍点数minptsの2つである。第1探索範囲は、近傍探索半径εおよび最小近傍点数minptsのそれぞれで設定される。
次にCPU11は、S840にて、S830で設定された第1探索範囲内で、近傍探索半径εおよび最小近傍点数minptsの最適解を探索する。具体的には、CPU11は、S10で取得した学習対象データを用いて、第1探索範囲内で近傍探索半径εおよび最小近傍点数minptsを変化させながら正常モデルの学習を行って総合異常度を算出し、総合異常度が最小となる近傍探索半径εおよび最小近傍点数minptsを最適解として決定する。なお、正常モデルの学習および異常度の算出において、クロスバリデーションが用いられている。クロスバリデーションにより過学習を抑制し、汎化精度を確保することができる。また、クラスタリング係数の探索において、グリッドサーチが用いられている。
S840における最適解の探索では、例えば、図22のグラフGR3に示すように、CPU11は、まず、第1探索範囲SR1内に複数の設定値x0,x1,x2,x3,x4を設定する。そしてCPU11は、設定値x0,x1,x2,x3,x4のそれぞれについて総合異常度を算出し、総合異常度が最小となる設定値を最適解とする。グラフGR3では、設定値x2が最適解である。
S840の処理が終了すると、CPU11は、図21に示すように、S850にて、S840で探索した最適解の近傍に、第1探索範囲より狭い第2探索範囲を設定する。
次にCPU11は、S860にて、S850で設定された第2探索範囲内で、近傍探索半径εおよび最小近傍点数minptsの最適解を探索する。具体的には、CPU11は、S10で取得した学習対象データを用いて、第2探索範囲内で近傍探索半径εおよび最小近傍点数minptsを変化させながら正常モデルの学習を行って総合異常度を算出し、総合異常度が最小となる近傍探索半径εおよび最小近傍点数minptsを最適解として決定する。
次にCPU11は、S860にて、S850で設定された第2探索範囲内で、近傍探索半径εおよび最小近傍点数minptsの最適解を探索する。具体的には、CPU11は、S10で取得した学習対象データを用いて、第2探索範囲内で近傍探索半径εおよび最小近傍点数minptsを変化させながら正常モデルの学習を行って総合異常度を算出し、総合異常度が最小となる近傍探索半径εおよび最小近傍点数minptsを最適解として決定する。
S860における最適解の探索では、例えば、図22のグラフGR4に示すように、CPU11は、まず、第2探索範囲SR2内に複数の設定値(x2-2a),(x2-a),x2,(x2+a),(x2+2a)を設定する。そしてCPU11は、設定値(x2-2a),(x2-a),x2,(x2+a),(x2+2a)のそれぞれについて総合異常度を算出し、総合異常度が最小となる設定値を最適解とする。グラフGR4では、設定値(x2-2a)が最適解である。
S860の処理が終了すると、CPU11は、図21に示すように、S870にて、S860で探索した最適解を、クラスタリング係数(すなわち、近傍探索半径εおよび最小近傍点数minpts)に設定して、クラスタリング係数設定処理を終了する。
クラスタリング係数設定処理が終了すると、CPU11は、図20に示すように、S720にて、正則化係数設定処理を実行する。
正則化係数設定処理は、クラスタリング係数の代わりに正則化係数の最適解を探索する点以外はクラスタリング係数設定処理と同じであるため詳細な説明を省略する。すなわち、正則化係数設定処理では、CPU11は、まず、第1探索範囲を設定して第1探索範囲内で正則化係数の最適解を探索する。またCPU11は、第1探索範囲より狭い第2探索範囲を最適解の近傍に設定して第2探索範囲内で正則化係数の最適解を探索する。そしてCPU11は、第2探索範囲内で探索した最適解を正則化係数に設定する。
正則化係数設定処理は、クラスタリング係数の代わりに正則化係数の最適解を探索する点以外はクラスタリング係数設定処理と同じであるため詳細な説明を省略する。すなわち、正則化係数設定処理では、CPU11は、まず、第1探索範囲を設定して第1探索範囲内で正則化係数の最適解を探索する。またCPU11は、第1探索範囲より狭い第2探索範囲を最適解の近傍に設定して第2探索範囲内で正則化係数の最適解を探索する。そしてCPU11は、第2探索範囲内で探索した最適解を正則化係数に設定する。
正則化係数は、状態観測器の係数を算出するために行われるRGCCAで用いられる正則化項の係数である。RGCCAは、Regularized Generalized Canonical Correlation Analysisの略である。
正則化係数設定処理が終了すると、CPU11は、S730にて、マップサイズ設定処理を実行して、パラメータ設定処理を終了する。
マップサイズ設定処理は、クラスタリング係数の代わりに正常面の横サイズおよび縦サイズの最適解を探索する点以外はクラスタリング係数設定処理と同じであるため詳細な説明を省略する。すなわち、マップサイズ設定処理では、CPU11は、まず、第1探索範囲を設定して第1探索範囲内で正常面の横サイズおよび縦サイズの最適解を探索する。またCPU11は、第1探索範囲より狭い第2探索範囲を最適解の近傍に設定して第2探索範囲内で正常面の横サイズおよび縦サイズの最適解を探索する。そしてCPU11は、第2探索範囲内で探索した最適解を正常面の横サイズおよび縦サイズに設定する。
マップサイズ設定処理は、クラスタリング係数の代わりに正常面の横サイズおよび縦サイズの最適解を探索する点以外はクラスタリング係数設定処理と同じであるため詳細な説明を省略する。すなわち、マップサイズ設定処理では、CPU11は、まず、第1探索範囲を設定して第1探索範囲内で正常面の横サイズおよび縦サイズの最適解を探索する。またCPU11は、第1探索範囲より狭い第2探索範囲を最適解の近傍に設定して第2探索範囲内で正常面の横サイズおよび縦サイズの最適解を探索する。そしてCPU11は、第2探索範囲内で探索した最適解を正常面の横サイズおよび縦サイズに設定する。
パラメータ設定処理が終了すると、CPU11は、図19に示すように、S40に移行する。
このように構成された異常検出装置1は、正常モデルを生成するために用いられるクラスタリング係数、正則化係数およびマップサイズ(以下、パラメータ)について、予め設定された第1探索範囲内で最適解(以下、第1最適解)を探索する。そして異常検出装置1は、探索された第1最適解を含み且つ第1探索範囲より狭くなるように設定された第2探索範囲内でパラメータの最適解(以下、第2最適解)を探索する。
このように構成された異常検出装置1は、正常モデルを生成するために用いられるクラスタリング係数、正則化係数およびマップサイズ(以下、パラメータ)について、予め設定された第1探索範囲内で最適解(以下、第1最適解)を探索する。そして異常検出装置1は、探索された第1最適解を含み且つ第1探索範囲より狭くなるように設定された第2探索範囲内でパラメータの最適解(以下、第2最適解)を探索する。
これにより、異常検出装置1は、第1探索範囲内で粗く第1最適解を探索し、その後に第2探索範囲内で細かく第2最適解を探索することにより、パラメータの最適解を決定することができるため、最適解を探索するための計算量を削減することができる。
異常検出装置1は、クラスタリング係数、正則化係数、マップサイズの順に最適解の探索を行う。クラスタリング係数、正則化係数、マップサイズの順は、正常モデルの精度に及ぼす影響が大きい順である。これにより、異常検出装置1は、正常モデルの精度の低下を抑制することができる。
以上説明した実施形態において、S830,S840は第1探索部および第1探索手順としての処理に相当し、S850,S860は第2探索部および第2探索手順としての処理に相当する。
以上、本開示の一実施形態について説明したが、本開示は上記実施形態に限定されるものではなく、種々変形して実施することができる。
[変形例1]
上記実施形態では、異常検出装置1が車両の異常を検出する形態を示した。しかし、異常検出装置1は、輸送機器、農具機器および建設機器などの異常を検出するようにしてもよい。
[変形例1]
上記実施形態では、異常検出装置1が車両の異常を検出する形態を示した。しかし、異常検出装置1は、輸送機器、農具機器および建設機器などの異常を検出するようにしてもよい。
[変形例2]
上記実施形態では、異常検出装置1が車両に搭載される形態を示した。しかし、異常検出装置1は、車両に搭載されていなくてもよい。例えば、異常検出装置1は、車両の外部に設置され、車両のコネクティッドECUに有線または無線で接続されるようにしてもよい。
上記実施形態では、異常検出装置1が車両に搭載される形態を示した。しかし、異常検出装置1は、車両に搭載されていなくてもよい。例えば、異常検出装置1は、車両の外部に設置され、車両のコネクティッドECUに有線または無線で接続されるようにしてもよい。
[変形例3]
上記実施形態では、監視対象データとニューロンとの差分で異常度を算出する形態を示した。しかし、図23に示すように、各次元のニューロンと監視対象データとの大小を加味して負値の異常度を表現するようにしてもよい。これにより、各次元の正常値より大きいか小さいかを判断することが可能となる。
上記実施形態では、監視対象データとニューロンとの差分で異常度を算出する形態を示した。しかし、図23に示すように、各次元のニューロンと監視対象データとの大小を加味して負値の異常度を表現するようにしてもよい。これにより、各次元の正常値より大きいか小さいかを判断することが可能となる。
[変形例4]
上記実施形態では、学習対象データと第1状態観測値と第1潜在状態値とを結合して競合型ニューラルネットワークに入力することにより正常モデルとして正常面を学習する形態を示した。しかし、図24に示すように、状態観測器を構成する変数に、潜在状態値を含めるようにしてもよい。この場合には、学習対象データと、潜在状態値を含めて算出された第1状態観測値とを結合して競合型ニューラルネットワークに入力することにより正常モデルが生成される。
上記実施形態では、学習対象データと第1状態観測値と第1潜在状態値とを結合して競合型ニューラルネットワークに入力することにより正常モデルとして正常面を学習する形態を示した。しかし、図24に示すように、状態観測器を構成する変数に、潜在状態値を含めるようにしてもよい。この場合には、学習対象データと、潜在状態値を含めて算出された第1状態観測値とを結合して競合型ニューラルネットワークに入力することにより正常モデルが生成される。
本開示に記載の制御装置2およびその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサおよびメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の制御装置2およびその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の制御装置2およびその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサおよびメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。制御装置2に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されてもよい。
上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。
上述した異常検出装置1の他、当該異常検出装置1を構成要素とするシステム、当該異常検出装置1としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実体的記録媒体、異常検出方法など、種々の形態で本開示を実現することもできる。
1…異常検出装置、2…制御装置、101…データ取得部、104…状態観測器生成部、106…正常モデル生成部、108…異常度算出部、109…判定部
Claims (12)
- 異常を検出する対象である異常検出対象の学習対象データおよび監視対象データを取得するように構成されたデータ取得部(101)と、
前記学習対象データと、前記異常検出対象が有する系統の状態を表す状態観測器に前記学習対象データを入力することによって得られる第1状態観測値と、前記異常検出対象の潜在状態を表す質的ソフトセンサに前記学習対象データを入力することによって得られる第1潜在状態値とにより構成されるデータを競合型ニューラルネットワークに入力することにより正常モデルを生成するように構成された正常モデル生成部(106)と、
前記監視対象データと、前記状態観測器に前記監視対象データを入力することによって得られる第2状態観測値と、前記質的ソフトセンサに前記監視対象データを入力することによって得られる第2潜在状態値とにより構成されるデータを前記正常モデルと比較することにより、前記異常検出対象の異常の度合いを示す異常度を算出するように構成された異常度算出部(108)と、
前記異常度算出部により算出された前記異常度に基づいて、前記異常検出対象が正常であるか異常であるかを判定するように構成された判定部(109)と
を備える異常検出装置(1)。 - 請求項1に記載の異常検出装置であって、
前記質的ソフトセンサは、前記異常検出対象を構成する構成要素の状態を表す複数のフラグを結合することにより生成される異常検出装置。 - 請求項1または請求項2に記載の異常検出装置であって、
前記正常モデル生成部は、前記状態観測器を構成する複数の変数の関係性の変化を表し前記学習対象データを入力することによって得られる第1指標を算出し、前記学習対象データと、前記第1状態観測値と、前記第1潜在状態値と、前記第1指標とにより構成されるデータを前記競合型ニューラルネットワークに入力することにより前記正常モデルを生成し、
前記異常度算出部は、前記状態観測器を構成する複数の変数の関係性の変化を表して前記監視対象データを入力することによって得られる第2指標を算出し、前記監視対象データと、前記第2状態観測値と、前記第2潜在状態値と、前記第2指標とにより構成されるデータを前記正常モデルと比較することにより前記異常度を算出する異常検出装置。 - 請求項3に記載の異常検出装置であって、
前記第1指標および前記第2指標はマハラノビス距離である異常検出装置。 - 請求項1~請求項4の何れか1項に記載の異常検出装置であって、
前記正常モデル生成部が前記正常モデルを生成するために用いられる少なくとも一つのパラメータについて、予め設定された第1探索範囲内で最適解を第1最適解として探索するように構成された第1探索部(S830,S840)と、
前記第1探索部で探索された前記第1最適解を含み且つ前記第1探索範囲より狭くなるように設定された第2探索範囲内で前記パラメータの最適解を第2最適解として探索するように構成された第2探索部(S850,S860)と
を備える異常検出装置。 - 請求項5に記載の異常検出装置であって、
前記第1探索部および前記第2探索部は、前記パラメータが複数存在する場合には、前記正常モデルの精度に及ぼす影響が大きい順に前記パラメータを探索する異常検出装置。 - 異常を検出する対象である異常検出対象の学習対象データおよび監視対象データを取得するデータ取得手順(S10,S410)と、
前記学習対象データと、前記異常検出対象が有する系統の状態を表す状態観測器に前記学習対象データを入力することによって得られる第1状態観測値と、前記異常検出対象の潜在状態を表す質的ソフトセンサに前記学習対象データを入力することによって得られる第1潜在状態値とにより構成されるデータを競合型ニューラルネットワークに入力することにより正常モデルを生成する正常モデル生成手順(S90)と、
前記監視対象データと、前記状態観測器に前記監視対象データを入力することによって得られる第2状態観測値と、前記質的ソフトセンサに前記監視対象データを入力することによって得られる第2潜在状態値とにより構成されるデータを前記正常モデルと比較することにより、前記異常検出対象の異常の度合いを示す異常度を算出する異常度算出手順(S480)と、
前記異常度に基づいて、前記異常検出対象が正常であるか異常であるかを判定する判定手順(S490)と
を備える異常検出方法。 - 請求項7に記載の異常検出方法であって、
前記正常モデル生成手順は、前記状態観測器を構成する複数の変数の関係性の変化を表し前記学習対象データを入力することによって得られる第1指標を算出し、前記学習対象データと、前記第1状態観測値と、前記第1潜在状態値と、前記第1指標とにより構成されるデータを前記競合型ニューラルネットワークに入力することにより前記正常モデルを生成し、
前記異常度算出手順は、前記状態観測器を構成する複数の変数の関係性の変化を表し前記監視対象データを入力することによって得られる第2指標を算出し、前記監視対象データと、前記第2状態観測値と、前記第2潜在状態値と、前記第2指標とにより構成されるデータを前記競合型ニューラルネットワークに入力することにより前記異常度を算出する異常検出方法。 - 請求項7または請求項8に記載の異常検出方法であって、
前記正常モデルを生成するために用いられる少なくとも一つのパラメータについて、予め設定された第1探索範囲内で最適解を第1最適解として探索する第1探索手順(S830,S840)と、
前記第1最適解を含み且つ前記第1探索範囲より狭くなるように設定された第2探索範囲内で前記パラメータの最適解を第2最適解として探索する第2探索手順(S850,S860)と
を備える異常検出方法。 - コンピュータを、
異常を検出する対象である異常検出対象の学習対象データおよび監視対象データを取得するように構成されたデータ取得部、
前記学習対象データと、前記異常検出対象が有する系統の状態を表す状態観測器に前記学習対象データを入力することによって得られる第1状態観測値と、前記異常検出対象の潜在状態を表す質的ソフトセンサに前記学習対象データを入力することによって得られる第1潜在状態値とにより構成されるデータを競合型ニューラルネットワークに入力することにより正常モデルを生成するように構成された正常モデル生成部、
前記監視対象データと、前記状態観測器に前記監視対象データを入力することによって得られる第2状態観測値と、前記質的ソフトセンサに前記監視対象データを入力することによって得られる第2潜在状態値とにより構成されるデータを前記正常モデルと比較することにより、前記異常検出対象の異常の度合いを示す異常度を算出するように構成された異常度算出部、及び、
前記異常度算出部により算出された前記異常度に基づいて、前記異常検出対象が正常であるか異常であるかを判定するように構成された判定部
として機能させるための異常検出プログラム。 - 請求項10に記載の異常検出プログラムであって、
前記正常モデル生成部は、前記状態観測器を構成する複数の変数の関係性の変化を表して前記学習対象データを入力することによって得られる第1指標を算出し、前記学習対象データと、前記第1状態観測値と、前記第1潜在状態値と、前記第1指標とにより構成されるデータを前記競合型ニューラルネットワークに入力することにより前記正常モデルを生成し、
前記異常度算出部は、前記状態観測器を構成する複数の変数の関係性の変化を表して前記監視対象データを入力することによって得られる第2指標を算出し、前記監視対象データと、前記第2状態観測値と、前記第2潜在状態値と、前記第2指標とにより構成されるデータを前記正常モデルと比較することにより前記異常度を算出する異常検出プログラム。 - 請求項10または請求項11に記載の異常検出プログラムであって、
コンピュータを、更に、
前記正常モデル生成部が前記正常モデルを生成するために用いられる少なくとも一つのパラメータについて、予め設定された第1探索範囲内で最適解を第1最適解として探索するように構成された第1探索部、及び、
前記第1探索部で探索された前記第1最適解を含み且つ前記第1探索範囲より狭くなるように設定された第2探索範囲内で前記パラメータの最適解を第2最適解として探索するように構成された第2探索部
として機能させるための異常検出プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020130838A JP2022027057A (ja) | 2020-07-31 | 2020-07-31 | 異常検出装置、異常検出方法および異常検出プログラム |
PCT/JP2021/027536 WO2022024991A1 (ja) | 2020-07-31 | 2021-07-26 | 異常検出装置、異常検出方法および異常検出プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020130838A JP2022027057A (ja) | 2020-07-31 | 2020-07-31 | 異常検出装置、異常検出方法および異常検出プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022027057A true JP2022027057A (ja) | 2022-02-10 |
Family
ID=80036242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020130838A Pending JP2022027057A (ja) | 2020-07-31 | 2020-07-31 | 異常検出装置、異常検出方法および異常検出プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2022027057A (ja) |
WO (1) | WO2022024991A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7356773B1 (ja) | 2023-07-07 | 2023-10-05 | 株式会社Futu-Re | 異常検知システム、および異常検知方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4032045B2 (ja) * | 2004-08-13 | 2008-01-16 | 新キャタピラー三菱株式会社 | データ処理方法及びデータ処理装置、並びに診断方法及び診断装置 |
JP5431235B2 (ja) * | 2009-08-28 | 2014-03-05 | 株式会社日立製作所 | 設備状態監視方法およびその装置 |
JP7115346B2 (ja) * | 2019-02-07 | 2022-08-09 | 株式会社デンソー | 異常検知装置 |
-
2020
- 2020-07-31 JP JP2020130838A patent/JP2022027057A/ja active Pending
-
2021
- 2021-07-26 WO PCT/JP2021/027536 patent/WO2022024991A1/ja active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7356773B1 (ja) | 2023-07-07 | 2023-10-05 | 株式会社Futu-Re | 異常検知システム、および異常検知方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2022024991A1 (ja) | 2022-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11035693B2 (en) | Sensor output change detection | |
JP2022524244A (ja) | 将来の動作の予測分類 | |
JP2021528745A (ja) | アプリケーション情報に関連する時系列ズデータに関する深層学習を使用した異常検出 | |
EP3195068B1 (en) | Bias estimation apparatus and method and failure diagnosis apparatus and method | |
KR20170104705A (ko) | 설비 고장 진단 장치 및 방법 | |
CN112955837A (zh) | 异常诊断装置、异常诊断方法、及程序 | |
KR20170127430A (ko) | 센서 오차를 검출, 분류 및/또는 완화하는 방법 및 시스템 | |
WO2022024991A1 (ja) | 異常検出装置、異常検出方法および異常検出プログラム | |
CN113830097A (zh) | 车辆、模型学习***以及服务器 | |
Maniak et al. | Hierarchical spatial-temporal state machine for vehicle instrument cluster manufacturing | |
JP7115346B2 (ja) | 異常検知装置 | |
Jakubek et al. | Artificial neural networks for fault detection in large-scale data acquisition systems | |
CN109990803B (zh) | 检测***异常的方法、装置及传感器处理的方法、装置 | |
TV et al. | Data-driven prognostics with predictive uncertainty estimation using ensemble of deep ordinal regression models | |
JP6448745B2 (ja) | バイアス推定装置、その方法およびプログラム | |
WO2022004662A1 (ja) | 要因分析装置、要因分析方法、及び要因分析プログラム | |
WO2022158037A1 (ja) | 品質予測システム、モデル生成装置、品質予測方法、及び品質予測プログラム | |
Wilhelm et al. | Pusion-A Generic and Automated Framework for Decision Fusion | |
Choi et al. | Data Preprocessing Method in Motor Fault Diagnosis Using Unsupervised Learning | |
CN117040137B (zh) | 基于多源数据的环网柜温升预警方法、***、终端及介质 | |
US20230306234A1 (en) | Method for assessing model uncertainties with the aid of a neural network and an architecture of the neural network | |
JP2020149259A (ja) | 異常診断装置 | |
US20220292350A1 (en) | Model updating apparatus, model updating method, and model updating program | |
US20240020535A1 (en) | Method for estimating model uncertainties with the aid of a neural network and an architecture of the neural network | |
JP7396361B2 (ja) | 異常判定装置及び異常判定方法 |