(57)【要約】      （修正有）【課題】機器の機能や故障メカニズムを考慮して学習を行うことで高精度の異常検知を行なう。【解決手段】本発明の異常検出装置１００は、学習対象データ及び監視対象データを取得する信号取得部１０１と、入力された変数構成に含まれる変数を用いて状態観測器を生成する状態観測器生成部１０４と、学習対象データを状態観測器に入力して得られる第１の状態観測値、及び学習対象データ、を結合して競合型ニューラルネットワークに入力することにより閾値を生成する正常モデル生成部１０６と、監視対象データを状態観測器に入力して得られる第２の状態観測値、及び監視対象データ、を結合して競合型ニューラルネットワークに入力することにより異常度を計算する異常度算出部１０８と、閾値と異常度とを比較することにより判定結果を求める判定部１０９とを有する。【選択図】図１
2020129233.tif 000002
【特許請求の範囲】
【請求項１】
学習対象データ及び監視対象データを取得する信号取得部（１０１）と、
入力された変数構成に含まれる変数を用いて状態観測器を生成する状態観測器生成部（１０４）と、
前記学習対象データを前記状態観測器に入力して得られる第１の状態観測値、及び前記学習対象データ、を結合して競合型ニューラルネットワークに入力することにより閾値を生成する正常モデル生成部（１０６）と、
前記監視対象データを前記状態観測器に入力して得られる第２の状態観測値、及び前記監視対象データ、を結合して前記競合型ニューラルネットワークに入力することにより異常度を計算する異常度算出部（１０８）と、
前記閾値と前記異常度とを比較することにより判定結果を求める判定部（１０９）と、
を有する異常検知装置（１００）。
【請求項２】
前記状態観測器は、当該異常検知装置で検知の対象となる機器の機能、又は前記機器の故障メカニズムを反映している、
請求項１記載の異常検知装置。
【請求項３】
前記変数構成に含まれる前記変数は、当該異常検知装置で検知の対象となる機器の機能、又は前記機器の故障メカニズムの因子である、
請求項１記載の異常検知装置。
【請求項４】
前記状態観測器生成部は、前記変数構成に含まれる変数を線形結合し、前記学習対象データを入力することにより前記状態観測器を生成する、
請求項１記載の異常検知装置。
【請求項５】
さらに、前記変数構成を入力する入力部を有する、
請求項１記載の異常検知装置。
【請求項６】
前記状態観測器は、第１の状態観測器及び第２の状態観測器からなり、
前記第１の状態観測器と前記第２の状態観測器との相関が最大化されている、
請求項１記載の異常検知装置。
【請求項７】
前記状態観測器は、第１の状態観測器、第２の状態観測器、及び第３の状態観測器からなり、
前記第１の状態観測器と前記第２の状態観測器との相関である第１の相関、前記第２の状態観測器と前記第３の状態観測器との相関である第２の相関、及び前記第３の状態観測器と前記第１の状態観測器との相関である第３の相関、の和が最大化されている、
請求項１記載の異常検知装置。
【請求項８】
前記第１の状態観測器は、自動車の駆動系を対象とした駆動系状態観測器、前記第２の状態観測器は、エンジンに供給する空気と燃料の比を対象とした空燃比系状態観測器、であり、
前記駆動系状態観測器の前記変数構成は、前記変数としてエンジン回転数、及びタービン回転数を含み、
前記空燃比系状態観測器の前記変数構成は、前記変数として酸素センサ電圧、及び空燃比センサ電流を含む、
請求項６又は７記載の異常検知装置。
【請求項９】
さらに、前記判定結果が異常を示す場合、異常と判定される原因となった前記第２の状態観測値及び前記監視対象データを用いて異常の原因を特定する要因分析部（１１０）、を有する、
請求項１記載の異常検知装置。
【請求項１０】
前記要因分析部は、さらに、異常と判定される原因となった前記第２の状態観測値及び前記監視対象データを基準に時間的に前、後、又は前及び後の前記第２の状態観測値及び前記監視対象データを用いて異常の原因を特定する、
請求項９記載の異常検知装置。
【請求項１１】
さらに、前記異常の原因を特定する情報を表示する表示部（１１１）を有する、
請求項９記載の異常検知装置。
【請求項１２】
学習対象データを取得し（Ｓ２０１）、
入力された変数構成に含まれる変数を用いて状態観測器を生成し（Ｓ２０４）、
前記学習対象データを前記状態観測器に入力して得られる第１の状態観測値、及び前記学習対象データ、を結合して競合型ニューラルネットワークに入力することにより閾値を生成し（Ｓ２０５，Ｓ２０６，Ｓ２０８）、
監視対象データを取得し（Ｓ４０１）、
前記監視対象データを前記状態観測器に入力して得られる第２の状態観測値、及び前記監視対象データ、を結合して前記競合型ニューラルネットワークに入力することにより異常度を計算し（Ｓ４０３，Ｓ４０４，Ｓ４０５）、
前記閾値と前記異常度とを比較することにより判定結果を求める（Ｓ４０６、Ｓ４０７、Ｓ４０８）、
異常検知方法。
【請求項１３】
学習対象データを取得し（Ｓ２０１）、
入力された変数構成に含まれる変数を用いて状態観測器を生成し（Ｓ２０４）、
前記学習対象データを前記状態観測器に入力して得られる第１の状態観測値、及び前記学習対象データ、を結合して競合型ニューラルネットワークに入力することにより閾値を生成し（Ｓ２０５，Ｓ２０６，Ｓ２０８）、
監視対象データを取得し（Ｓ４０１）、
前記監視対象データを前記状態観測器に入力して得られる第２の状態観測値、及び前記監視対象データ、を結合して前記競合型ニューラルネットワークに入力することにより異常度を計算し（Ｓ４０３，Ｓ４０４，Ｓ４０５）、
前記閾値と前記異常度とを比較することにより判定結果を求める（Ｓ４０６、Ｓ４０７、Ｓ４０８）、
コンピュータで実行可能な異常検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、競合型ニューラルネットワークを用いて、機器の異常や異常の予兆、特に自動車などの輸送機器や農具機器、建設機器の異常や異常の予兆を検知する装置に関するものである。
【背景技術】
【０００２】
近年、機械学習を用いた各種機器の異常検知が提案されている。機械学習は知能を持ったシステムとも言え、自ら検知精度を高めることができるという特質を有する。特に、ニューラルネットワークは、生物の神経系の特徴的な機能に着目してモデル化を行ったものであり、その有用性が認識されている。
【０００３】
例えば、特許文献１には、回転機器等の装置や設備に対し、競合型ニューラルネットワークを用い、回転数、経年劣化、日時、季節等によって正常状態にばらつきがある場合でも、実センサ観測値を万遍なく学習させることにより異常の有無を適切に診断する異常監視装置が開示されている。
また、特許文献２には、機械学習と実センサ値によって正常モデルを生成し、閾値判定により異常を検出し、外部環境の変化に応じて正常モデルの全体を再構築する異常予兆診断装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１９８９１８号公報
【特許文献２】特開２０１５−１８３８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
実センサの観測値から読み取れる情報や特徴から異常を検出するための閾値を求める場合、外部環境の変化に伴い、異常を正常と判定する誤判定が生じやすい。また、機器の機能や故障メカニズムを考慮せず学習を進めると、あるべき方向とは異なる学習を進めてしまい、機器の機能や故障メカニズムから乖離してしまうという課題がある。
【０００６】
本発明の目的は、機器の機能や故障メカニズムを反映させて学習を行うことで、高精度の異常検知を行うことにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の異常検知装置（１００）は、
学習対象データ及び監視対象データを取得する信号取得部（１０１）と、
入力された変数構成に含まれる変数を用いて状態観測器を生成する状態観測器生成部（１０４）と、
前記学習対象データを前記状態観測器に入力して得られる第１の状態観測値、及び前記学習対象データ、を結合して競合型ニューラルネットワークに入力することにより閾値を生成する正常モデル生成部（１０６）と、
前記監視対象データを前記状態観測器に入力して得られる第２の状態観測値、及び前記監視対象データ、を結合して前記競合型ニューラルネットワークに入力することにより異常度を計算する異常度算出部（１０８）と、
前記閾値と前記異常度とを比較することにより判定結果を求める判定部（１０９）と、
を有するものである。
【発明の効果】
【０００８】
本発明の異常検知装置によれば、状態観測器を用いることにより機器の機能や故障メカニズムを反映させ、これを基に競合型ニューラルネットワークを用いて異常度を計算することで、高精度の異常検知を行うことができる。
また、このような状態観測器を用いることにより、機器のどの機能やどの部分で異常が生じているのか、あるいは異常が生じる可能性があるのかを分析することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態の異常検知装置の構成を説明するブロック図
【図２】本発明の実施形態の異常検知装置の状態観測器を説明する説明図
【図３】本発明の実施形態の異常検知装置の状態観測器生成部の処理を説明する説明図
【図４】本発明の実施形態の異常検知装置の異常度算出部の動作を説明するフローチャート
【図５】本発明の実施形態の異常検知装置の表示部に表示される情報を説明する説明図
【図６】本発明の実施形態の異常検知装置の学習時の動作を説明するフローチャート
【図７】本発明の実施形態の異常検知装置の状態観測器の生成動作を説明するフローチャート
【図８】本発明の実施形態の異常検知装置の監視時及び要因分析時の動作を説明するフローチャート
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を参照して説明する。
なお、本発明とは、特許請求の範囲又は課題を解決するための手段の項に記載された発明を意味するものであり、以下の実施形態に限定されるものではない。また、少なくともかぎ括弧内の語句は、特許請求の範囲又は課題を解決するための手段の項に記載された語句を意味し、同じく以下の実施形態に限定されるものではない。
特許請求の範囲の従属項に記載の構成及び方法、従属項に記載の構成及び方法に対応する実施形態の構成及び方法、並びに特許請求の範囲に記載がなく実施形態のみに記載の構成及び方法は、本発明においては任意の構成及び方法である。特許請求の範囲の記載が実施形態の記載よりも広い場合における実施形態に記載の構成及び方法も、本発明の構成及び方法の例示であるという意味で、本発明においては任意の構成及び方法である。いずれの場合も、特許請求の範囲の独立項に記載することで、本発明の必須の構成及び方法となる。
実施形態に記載した効果は、本発明の例示としての実施形態の構成を有する場合の効果であり、必ずしも本発明が有する効果ではない。
複数の実施形態がある場合、各実施形態に開示の構成は各実施形態のみで閉じるものではなく、実施形態をまたいで組み合わせることが可能である。例えば一の実施形態に開示の構成を、他の実施形態に組み合わせても良い。また、複数の実施形態それぞれに開示の構成を集めて組み合わせても良い。
発明が解決しようとする課題に記載した知見や課題は公知の課題ではなく、本発明者が独自に知見したものであり、本発明の構成及び方法と共に発明の進歩性を肯定する事実である。
【００１１】
（実施形態）
１．異常検知装置の構成
まず、図１を用いて、本実施形態の異常検知装置１００（本発明の「異常検知装置」に相当）の構成を説明する。
なお、以下の実施形態は、主として自動車に搭載された車載用の異常検知装置を例として説明するが、本発明は、特許請求の範囲で限定がない限り、車載用以外の車両用異常検知装置を含むものである。例えば、車両の外部に設けられ、車両のコネクテッィドＥＣＵに有線又は無線で接続して用いる異常検知装置が挙げられる。
さらに、以下の実施形態は、車載用や車両用以外の異常検知装置も含むものである。
ここで、本発明の「異常検知装置」とは、異常を検知する装置だけでなく、故障の予兆など、異常の予兆を検知する装置も含む。
【００１２】
異常検知装置１００は、信号取得部１０１、学習対象データ記憶部１０２、監視対象データ記憶部１０３、状態観測器生成部１０４、状態観測器情報記憶部１０５、正常モデル生成部１０６、正常モデルパラメータ記憶部１０７、異常度算出部１０８、判定部１０９、要因分析部１１０、表示部１１１、を有する。
【００１３】
信号取得部１０１は、「学習対象データ」及び「監視対象データ」を取得する。具体的には、信号取得部１０１に直接又は間接的に接続された各種センサから取得したデータ、例えばエンジン回転数、タービン回転数、酸素センサ電圧、空燃比センサ電流、などが挙げられる。この他、温度、湿度、位置情報、等が挙げられる。学習対象データ及び監視対象データは、各種センサから直接取得する場合の他、ネットワークを通じて間接的に取得することもできる。例えば、学習対象データの場合、各種センサからではなく、基準値を保存したデータベースからダウンロードすることにより取得してもよい。また、信号取得部１０１はセンサから取得される場合に限らず、例えば制御入力値であってもよい。
ここで、本発明の「学習対象データ」とは、学習に用いるためのデータあればよく、他の目的に用いられるかどうかは任意である。
また、本発明の「監視対象データ」とは、監視対象のデータであればよく、他の目的に用いられるかどうかは任意である。例えば学習対象にも用いられるデータであってもよい。
【００１４】
各種センサの例として、温度計、湿度計、ＧＰＳ等の他、エンジン、ハンドル、ブレーキ等の制御を行う駆動系電子制御装置、メータやパワーウインドウ等の制御を行う車体系電子制御装置、又は障害物や歩行者との衝突を防止するための制御を行う安全制御系電子制御装置、に接続されたセンサであって自動車に搭載されたものが挙げられる。
【００１５】
学習対象データ記憶部１０２は、信号取得部１０１で取得した学習対象データを記憶する。そして、記憶された学習対象データは、後述の正常モデル生成部１０６に入力される。
また、監視対象データ記憶部１０３は、信号取得部１０１で取得した監視対象データを記憶する。そして、記憶された監視対象データは、後述の異常度算出部１０８に入力される。
これらの記憶部は、ハードディスク（ＨＤＤ）やフラッシュメモリ等を想定しているが、ランダムアクセスメモリ（ＲＡＭ）であってもよい。また、揮発性メモリ、不揮発性メモリのいずれであってもよい。
【００１６】
状態観測器生成部１０４は、「変数構成」に含まれる変数を用いて状態観測器を生成する。状態観測器はオブザーバ、又はソフトセンサともいう。変数とは、信号取得部１０１で取得する学習対象データ及び監視対象データに対応する変数である。状態観測器生成部１０４に入力手段（「入力部」に相当）を有している場合、設定者の知見に基づき、状態観測器が機器の機能や故障メカニズムを表現するために必要又は有益な変数構成を入力するようにしてもよい。状態観測器および状態観測器を構成する変数の具体例は後述する。
ここで、本発明の「変数構成」とは、１つの変数、又は複数の変数の組み合わせ、をいう。
【００１７】
状態観測器生成部１０４は、例えば、式（１）で示す通り、入力された変数構成に含まれる変数を線形結合することにより状態観測器を生成する。なお、係数ａの初期値はランダムな値としつつ、学習対象データを用いて結合を実施し、状態観測器の初期状態を生成する。
【数１】
2020129233.tif 000003
ａ：係数、ｘ：変数、ｐ：状態観測器の番号、ｎ：変数の番号
ａｐＸｐ：ｐ番目の状態観測器（状態観測値）
【００１８】
状態観測器は、異常検知装置１００で検知の対象となる機器の機能、又は「機器の故障メカニズム」を「反映している」ことが望ましい。
機器の機能の例として、自動車の機能である駆動や自動車の機能である空燃比が挙げられる。本実施形態ではこの例を説明する。
また、機器の故障メカニズムの例として、例えば、エンジンのオーバーヒートのメカニズムが挙げられる。エンジンのオーバーヒートは、冷却系の異常やエンジンの過負荷によりエンジンの温度が上昇し、焼き付けを起こすという仕組みである。
ここで、本発明の「機器の故障メカニズム」とは、機器の故障が生じる仕組みをいう。
また、本発明の「反映している」とは、機器の機能又は機器の故障メカニズムに応じて状態観測器から出力される状態観測値が変化することをいう。
【００１９】
状態観測器の変数構成に含まれる変数は、異常検知装置１００で検知の対象となる機器の機能、又は機器の故障メカニズムの「因子」であることが望ましい。
例えば、機器の故障メカニズムの例で挙げたエンジンのオーバーヒートの場合、エンジンの温度がオーバーヒートを引き起こす直接的な因子であり、エンジン回転数や冷却液の量はエンジンの温度上昇を引き起こす直接的な因子、すなわちオーバーヒートを引き起こす間接的な因子である。
機器の機能の因子の例は、以下に本実施形態として説明する。
ここで、本発明の「因子」とは、機器の機能又は機器の故障メカニズムに影響を与える事実をいう。
【００２０】
以下、自動車の機能に基づく状態観測器の例を挙げる。
例えば、図２で示す通り、自動車の駆動系を対象とした駆動系状態観測器（「第１の状態観測器」に相当）を生成する場合、自動車の駆動系に関係する変数、例えばエンジン回転数（ｘ１１）及びタービン回転数（ｘ１２）を線形結合することにより、式（２）の状態観測器を生成する。
【数２】
2020129233.tif 000004
ａ１１、ａ１２：係数の初期値
ｕ：駆動系状態観測値
例えば、図２で示す通り、エンジンに供給する空気と燃料の比を対象とした空燃比系状態観測器（「第２の状態観測器」に相当）を生成する場合、エンジンの空燃比に関係する変数、例えば酸素センサ電圧（ｘ２１）及び空燃比センサ電流（ｘ２２）を線形結合することにより、式（３）の状態観測器を生成する。
【数３】
2020129233.tif 000005
ａ２１、ａ２２：係数の初期値
ｖ：空燃比系状態観測値
【００２１】
もちろん、これらの変数以外の変数を用いてもよい。また、結合する変数の数は２つに限らない。さらに、状態観測器の数は２つに限らない。例えば１つでも良いし、３つ目以降の状態観測器（「第３の状態観測器」に相当）を生成してもよい。
【００２２】
本実施形態では状態観測器の例として入力―出力の２層構造を有するものを挙げたが、３層以上であってもよい。その場合、階層型ニューラルネットを用いて記述してもよい。あるいはカーネル空間を利用して記述してもよい。さらに、正則化項を導入してもよい。
【００２３】
状態観測器として変数を線形で結合する例を挙げたが、これに限らず、非線形な結合で構成されてもよい。例えば、階層型ニューラルネットワークを用いて記述する場合は、シグモイド関数を用いるので、非線形の結合で構成されることになる。
【００２４】
状態観測器を生成することで、直接センサ等で測定することができない状態観測値を推定することができる。また、状態観測器に機器の機能や故障メカニズムを反映させることにより、故障の検知精度を高めることができる他、故障の要因分析が容易になる。
【００２５】
なお、状態観測器生成部１０４で状態観測器を生成する際に用いる学習対象データに対して、正規分布に近づける分布変換を行なってもよい。分布変換の例として、Box-Cox変換、又はJohnson変換が挙げられる。こうすることにより、後述の判定部１０９の異常検知精度が向上する可能性がある。
分布変換を行った場合は、分布変換パラメータを後述の状態観測器情報記憶部１０５に記憶し、正常モデル生成部１０６及び異常度検出部１０８に出力する。そして、正常モデル生成部１０６に入力される学習対象データ、及び異常度検出部１０８に入力される監視対象データに対しても同様の分布変換を行う。
【００２６】
状態観測器の数が複数の場合、図３で示す通りさらに状態観測器同士の相関を最大化することが望ましい。
例えば、状態観測器が第１の状態観測器及び第２の状態観測器の２つからなる場合、第１の状態観測器と第２の状態観測器との相関を制約条件下で最大化する。３つ以上の状態観測器からなる場合は、任意の組み合わせの２つの状態観測器同士の相関をそれぞれ制約条件下で最大化する。
これにより、正常なデータのノイズによる変動範囲を限定することになり、異常検知の精度を上げることができる。
【００２７】
具体的には、（４）式の１行目に示す通り、２つの係数を調整することで相関を最大化することができる。（４）式の分子は、第１の状態観測器と第２の状態観測器の標本共分散、分母は、それぞれ第１の状態観測器の標本分散、第２の状態観測器の標本分散である。
（４）式の２行目は、ラグランジュの未定乗数法の制約条件であり、本実施形態の場合１となる。
【数４】
2020129233.tif 000006
ρ：相関
ｎ：第ｎの状態観測器
ｍ：第ｍの状態観測器
ａ：係数
Ｖ：分散
【００２８】
さらに、状態観測器が第１の状態観測器、第２の状態観測器、及び第３の状態観測器の３つからなる場合、図３で示す通り、２つの状態観測器同士の相関の「和」を最大化することが望ましい。
状態観測器が４つ以上の場合も、３つの場合と同様の方法で最大化を行う。
これにより、正常なデータのノイズによる変動範囲を限定することになり、異常検知の精度を上げることができる。
ここで、本発明の「和」とは、単純和の他、二乗和、絶対値和など、演算に和を含んでいればよい。
【００２９】
具体的には、（５）式に示す通り、２つの状態観測器同士の相関の和を最大化することができる。ｇは和を表す関数であり、括弧内は和の対象、すなわち第ｎの状態観測器と第ｍの状態観測器の相関である。
【数５】
2020129233.tif 000007
Ｎ：状態観測器の総数
【００３０】
状態観測器情報記憶部１０５は、状態観測器生成部１０４で求めた状態観測器の係数、本実施形態では、相関の最大化により得られた駆動系状態観測器の係数（ａ１１、ａ１２）、及び空燃比系状態観測器の係数（ａ２１、ａ２２）を保存する。また、状態観測器の変数構成も併せて保存する。
【００３１】
なお、状態観測器生成部１０４は、状態観測器を生成するときに備えていればよく、一旦状態観測器を生成し状態観測器の変数構成及び状態観測器の係数を状態観測器情報記憶部１０５に保存して利用できるようにした後は、異常検知装置１００から切り離してもよい。
【００３２】
正常モデル生成部１０６は、学習対象データを状態観測器に入力して得られる第１の状態観測値、及び学習対象データ、を「結合して」競合型ニューラルネットワークに入力することにより正常モデルを生成する。本実施形態の場合、状態観測器情報記憶部１０５から状態観測器の変数構成及び係数を読み出し、かかる変数に学習対象データ記憶部１０２から読み出した学習対象データを当てはめることにより第１の状態観測値を求める。
例えば、学習対象データとして取得したエンジン回転数及びタービン回転数を（２）式に入力して駆動系状態観測値（ｕ１）（「第１の状態観測値」に相当）を求める。また、学習対象データとして取得した酸素センサ電圧及び空燃比センサ電流を（３）式に入力して空燃比系状態観測値（ｖ１）（「第１の状態観測値」に相当）を求める。そして、エンジン回転数、タービン回転数、駆動系状態観測値（ｕ１）、酸素センサ電圧、空燃比センサ電流、及び空燃比系状態観測値（ｖ１）の６つのデータを競合型ニューラルネットワーク（ＮＮ）に入力する。
ここで、本発明の「結合して」とは、第１の状態観測値と学習対象データとを同時に競合型ニューラルネットワークに入力できる状態であれば足りる。
【００３３】
なお、競合型ニューラルネットワークに与える初期値としては、例えば、車種、測定季節、昼夜、カスタマイズ仕様、経年度など、入力されるデータの属性の組み合わせが複数ある場合、万遍なくサンプリングすることが望ましい。あるいはランダムにサンプリングすることが望ましい。これにより、競合型ニューラルネットワークのマップ上のニューロン重みベクトルの学習時の収束を速くすることができる。
【００３４】
競合型ニューラルネットワークは、入力層と出力層だけからなるネットワークであり、複数個の入力層ニューロンと、入力層ニューロンに全結合で結ばれた複数個の出力層ニューロンで構成されている。
本実施形態では、競合型ニューラルネットワークに入力された学習対象データ及び状態観測値と、勝者ユニットのニューロン重みデータとの差分である異常度を求める。そして差分の集合を用いて閾値を求める。例えば差分（絶対値）の集合の９９．９％分位点の定数倍を閾値として用いるようにする。
【００３５】
正常モデルパラメータ記憶部１０７は、正常モデル生成部１０６で求めた閾値を記憶する。
【００３６】
異常度算出部１０８は、監視対象データを状態観測器に入力して得られる第２の状態観測値、及び監視対象データ、を「結合して」競合型ニューラルネットワークに入力することにより、出力層ニューロンの重みデータを用いて異常度を計算する。本実施形態の場合、状態観測器情報記憶部１０５から状態観測器の変数構成及び係数を読み出し、かかる変数に監視対象データ記憶部１０３から読み出した監視対象データを当てはめることにより第２の状態観測値を求める。なお、状態観測器の生成時に学習対象データに対して分布変換を行った場合は、状態観測器情報記憶部１０５から分布変換パラメータを読み出し、監視対象データに対して分布変換を行っておく。
例えば、監視対象データとして取得したエンジン回転数及びタービン回転数を（２）式に入力して駆動系状態観測値（ｕ２）（「第２の状態観測値」に相当）を求める。また、監視対象データとして取得した酸素センサ電圧及び空燃比センサ電流を（３）式に入力して空燃比系状態観測値（ｖ２）（「第２の状態観測値」に相当）を求める。そして、エンジン回転数、タービン回転数、駆動系状態観測値（ｕ２）、酸素センサ電圧、空燃比センサ電流、及び空燃比系状態観測値（ｖ２）の６つのデータを競合型ニューラルネットワーク（ＮＮ）に入力する。
ここで、本発明の「結合して」とは、第２の状態観測値と監視対象データとを同時に競合型ニューラルネットワークに入力できる状態であれば足りる。
【００３７】
競合型ニューラルネットワークに入力された監視対象データ及び状態観測値と、各出力層ニューロンの重みデータとの差分値から異常度を求める。
【００３８】
以下、図４を用いて、異常度算出部１０８における異常度の求め方を説明する。
図中の記号の意味は以下の通りである。
Ｗ：ニューロン集合
ｋ：監視時点
ｌ：ループカウンタ
Ｌ：ループ回数
ｉ、ｊ：ニューラルネットワークのニューロン番地
【００３９】
ループカウンタ（ｌ）を１に設定する（Ｓ１０１）。
監視時点（ｋ）での監視対象データ（Ｚｋ）と、それに一番近いニューラルネットワークのニューロンの重みデータ（Ｗｉ，ｊ）との最小ユークリッド距離（ｄ〜ｋ、ｌ）を求める（Ｓ１０２）。なお、本明細書中の符号“ｄ〜”はチルダ付きのｄを意味する。
監視対象データ（Ｚｋ）と、それに近いニューラルネットワークのニューロンの重みデータ（Ｗ‘ｋ，ｌ）とのコサイン類似度（ｃｏｓθｋ、ｌ）を求める（Ｓ１０３）。
最小ユークリッド距離（ｄ〜ｋ、ｌ）とコサイン類似度（ｃｏｓθｋ、ｌ）から、異常度（ｃｋ、ｌ）を求める（Ｓ１０４）。
ループカウンタ（ｌ）が所定のループ回数（Ｌ）を超えていなければ（Ｓ１０５：Ｎ）、ループカウンタ（ｌ）をインクリメントし（Ｓ１０６）、監視対象データと一番近いニューロン（Ｗ‘ｋ，ｌに当たるＷｉ，ｊ）をニューロン集合（Ｗ）から除いて（Ｓ１０７）、Ｓ１０２に戻る。ループカウンタ（ｌ）が所定のループ回数（Ｌ）を超えていれば（Ｓ１０５：Ｙ）、所定のループ回数（Ｌ）分の異常度の総和をもって、異常度（ｃｋ）とする（Ｓ１０８）。
なお、ループ回数（Ｌ）は、任意に設定が可能であり、例えば１０回とする。
【００４０】
なお、異常の原因を特定するために後述の要因分析部１１０で要因分析を行う場合に備えて、（６）式のｆｋの値、すなわち異常度（ｃｋ、ｌ）を求める際に用いた監視対象データ（Ｚｋ）及びｌ＝１時に選ばれた重みニューロン（Ｗ‘ｋ，ｌ）の差分ベクトルを２乗し平方根を取った値を別途設けた保存部に保存しておいてもよい。ｓは監視対象データ又は状態観測値を特定する値であり、1≦ｓ≦Ｓとする。Ｓは監視対象データおよび状態観測値の合計数である。
【数６】
2020129233.tif 000008
【００４１】
判定部１０９は、正常モデルパラメータ記憶部１０７から読み出した閾値と、異常度算出部１０８から出力された異常度（ｃｋ）を比較することにより判定結果を求める。具体的には、異常度が閾値以上であれば、異常ありとの判定結果を出力する。異常度が閾値未満であれば、異常なしとの判定結果を出力する。
【００４２】
要因分析部１１０は、判定部１０９の判定結果が「異常」を示す場合、「異常」と判定される原因となった第２の状態観測値及び監視対象データを用いて「異常」の原因を特定する。要因分析部１１０は、さらに、異常と判定される原因となった第２の状態観測値及び監視対象データを基準に時間的に前、後、又は前及び後の第２の状態観測値及び監視対象データを用いて異常の原因を特定してもよい。本実施形態では、異常の原因を特定することを要因分析と呼ぶ。
ここで、本発明の「異常」とは、異常のみならず、異常の予兆も含む。
【００４３】
例えば、本実施形態では、異常ありと判定された第２の状態観測値及び監視対象データと、それらの前後５点の計１１点データを用いて異常の原因を特定する。
監視時点（ｋ）で異常と判定された場合、異常度算出部１０８で算出した（６）式で示されるｆｋ及びその前後５点の値を別途設けた保存部から読み出し、これをＦとする。ｓは監視対象データ又は状態観測値を特定する値であり、1≦ｓ≦Ｓとする。Ｓは監視対象データおよび状態観測値の合計数である。本実施形態では、以下のように対応付けられているとする。
s＝１：エンジン回転数
s＝２：タービン回転数
s＝３：駆動系状態観測値（ｕ２）
s＝４：酸素センサ電圧
s＝５：空燃比センサ電流
s＝６：空燃比系状態観測値（ｖ２）
【数７】
2020129233.tif 000009
【００４４】
このように、Ｆには状態観測器の各異常度と監視対象データの各異常度が含まれている。要因分析で異常度に寄与する要因を分析する際に、少数の監視対象データのみを用いるとノイズによる影響によって正確な分析が難しい。また、監視対象の機器の機能を表す機能ブロックのいずれに要因があるかを見極めるのは困難である。
そこで、本実施形態では、Ｆに含まれる状態観測値、本実施形態ではｓ＝３、及びｓ＝６の状態観測値を、複数の測定点を用いて分析することにより、ノイズに対してロバストにすることができる。
【００４５】
各状態観測器から求められた値であるｆｋ、Sの総和ｆａｌｌを全体の異常傾向とした場合、各状態観測器との類似度γsは（９）式で求めることができる。ｆ‘は、平均との偏差ベクトルを示している。（８）式では、状態観測器から求められた値のみの総和を求めているが、本実施形態ではｓ＝３とｓ＝６の２つの場合の和となる。
【数８】
2020129233.tif 000010
【００４６】
（９）式の通り、各状態観測器の異常度と全体の異常傾向を類似度という形で比べる。そして、類似度γsの絶対値の最大値を持つ状態観測器ｓが対応する機器の機能ブロックを、異常の原因が発生している機能ブロックであると推定する。
【００４７】
なお、類似度を調べる方法として、本実施形態では（９）式のピアソンの積率相関を用いているが、コサイン類似度、スピアマンの順位相関係数、ケンドールの順位相関係数、相互相関関数、ＤＴＷ、ＫＬ距離等を用いても良い。また、ｆａｌｌとｆｋ、sの関係性をグラフィカルモデルとみなし、正則化を導入して疑似相関や弱い相関を排除してもよい。
【００４８】
さらに、機能ブロックだけでなく、異常の原因となる実センサや制御入力値を含めて要因分析を行うために、全体の異常傾向ｆａｌｌと、実センサや制御入力値の異常度ｆｋ、sとの類似度を求めてもよい。すなわち、本実施形態では、ｓ＝１，２，４，５についても、類似度γsを求めてもよい。
【００４９】
そして、異常の原因を特定する情報、本実施形態では類似度γs、及びそれに関連する情報、を表示部１１１に表示するようにしてもよい。図５（ａ）は、表示部１１１に表示される情報を示している。この表示によれば、全体の異常傾向ｆａｌｌ、各状態観測器の異常度ｆｋ、s、実センサや制御入力値の異常度ｆｋ、s、及びそれらの類似度γsを表示しているので、視覚的にどの機能ブロックや実センサ等に異常が生じているかを特定することができる。また、表示内容を選別し不要な情報を表示させないようにするため、ドリルダウンやロールアップによる表示を取り入れてもよい。図５（ｂ）は、本実施形態における表示例である。
【００５０】
２．異常検知装置の動作
次に、図６から図８を用いて、本実施形態の異常検知装置１００の動作を説明する。
なお、図６から図８のフローにおいて、後段の処理又は判断が前段の処理又は判断の結果を前提としていない場合は、前段と後段の順序を入れ替えることができる。また、図６から図８は、異常検知装置１００の異常検知方法を示すだけでなく、異常検知装置１００で実行されるプログラムの処理手順を示すものである。
【００５１】
（１）学習時の動作
図６は、異常検知装置１００の学習時の動作を示すフローチャートである。
信号取得部１０１は、各種センサ等から学習対象データを取得する（Ｓ２０１）。
信号取得部１０１は、学習対象データに対して分布変換を行う（Ｓ２０２）。
学習対象データ記憶部１０２は、分布変換後の学習対象データを記憶する（Ｓ２０３）。
状態観測器生成部１０４は、入力された変数構成に含まれる変数を用いて状態観測器を生成する（Ｓ２０４）。状態観測器の生成は、別途サブルーチンの処理として図７を用いて説明する。
正常モデル生成部１０６は、学習対象データを状態観測器に入力して得られる第１の状態観測値を求める（Ｓ２０５）。
正常モデル生成部１０６は、第１の状態観測値及び学習対象データを結合する（Ｓ２０６）。
正常モデル生成部１０６は、第１の状態観測値及び学習対象データを結合したデータの組み合わせから、ランダムにサンプリングを行う（Ｓ２０７）。
正常モデル生成部１０６の競合型ニューラルネットワークは、第１の状態観測値及び学習対象データから閾値を生成する（Ｓ２０８）。
正常モデルパラメータ記憶部１０７は、正常モデルの閾値を記憶する（Ｓ２０９）。
【００５２】
（２）状態観測器の生成動作
図７は、異常検知装置１００の状態観測器生成部１０４における状態観測器の生成動作を示すサブルーチンのフローチャートである。
状態観測器生成部１０４に、変数構成が入力される（Ｓ３０１）。
状態観測器生成部１０４は、入力された変数構成に含まれる変数を用い、係数を初期値に設定し、学習対象データを結合することにより状態観測器を生成する（Ｓ３０２）。
状態観測器生成部１０４は、生成された状態観測器が単数か複数かを判断する（Ｓ３０３）。単数であれば、状態観測器の係数及び変数構成を状態観測器情報記憶部１０５に保存して（Ｓ３０４）、処理を終了する。複数であれば、Ｓ３０５に処理を移す。
状態観測器生成部１０４は、生成された状態観測器が２つか、３つ以上かを判断する（Ｓ３０５）。２つであれば、Ｓ３０６に処理を移す。３つ以上であれば、Ｓ３０７に処理を移す。
生成された状態観測器が２つの場合、状態観測器生成部１０４は、２つの状態観測器同士の相関を最大化して（Ｓ３０６）、処理をＳ３０４に移す。
生成された状態観測器が３つ以上の場合、状態観測器生成部１０４は、２つの状態観測器同士の相関の総和を最大化して（Ｓ３０７）、処理をＳ３０４に移す。
【００５３】
（３）監視時及び要因分析時の動作
図８は、異常検知装置１００の監視時及び要因分析時の動作を示すフローチャートである。
信号取得部１０１は、各種センサ等から監視対象データを取得する（Ｓ４０１）。
信号取得部１０１は、状態観測器情報記憶部１０５から分布変換パラメータを読み出し、監視対象データに対して分布変換を行う（Ｓ４０２）。
異常度算出部１０８は、監視対象データを状態観測器に入力して得られる第２の状態観測値を求める（Ｓ４０３）。
異常度算出部１０８は、第２の状態観測値及び監視対象データを結合する（Ｓ４０４）。
異常度算出部１０８の競合型ニューラルネットワークは、結合したデータから異常度を計算する（Ｓ４０５）。
判定部は、正常モデルパラメータ記憶部１０７から読み出した閾値と、異常度検出部１０７から出力された異常度と、を比較することにより判定結果を求める（Ｓ４０６）。異常度が閾値以下であれば、正常との判定結果を出力する（Ｓ４０７）。異常度が閾値より大きければ、異常との判定結果を出力する（Ｓ４０８）。
要因分析部１１０は、判定部１０９の判定結果が異常を示す場合（Ｓ４０８）、異常と判定される原因となった第２の状態観測値及び監視対象データを用いて異常の原因を特定する（Ｓ４０９）。
【００５４】
（総括）
以上、本発明の実施形態における異常検知装置の特徴について説明した。
【００５５】
各実施形態で使用した用語は例示であるので、同義の用語、あるいは同義の機能を含む用語に置き換えてもよい。
【００５６】
実施形態の説明に用いたブロック図は、異常検知装置の構成を機能毎に分類及び整理したものである。これらの機能ブロックは、ハードウェア又はソフトウェアの任意の組み合わせで実現される。また、機能を示したものであることから、かかるブロック図は方法の発明の開示としても把握できるものである。
【００５７】
各実施形態に記載した処理、フロー、及び方法として把握できる機能ブロックについては、一のステップで他のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えても良い。
【００５８】
各実施形態、及び本発明で使用する「第１」「第２」の用語は、同種の２以上の構成や方法を区別するために使用しており、順序や優劣を限定するものではない。
【００５９】
なお、上記実施形態では、本発明の異常検知装置を車両に搭載した場合、つまり車載器について説明したが、車両以外の機器に搭載、あるいは接続してもよい。
【００６０】
異常検知装置の例として故障診断ツールが挙げられるが、この形態や名称には限らない。例えば、部品や半完成品としては、半導体、電子回路、モジュール、あるいはＥＣＵ（エレクトロニックコントロールユニット）が挙げられる。また完成品としては、ドライブレコーダ、カーナビゲーションシステム、スマートフォン、パーソナルコンピュータ、携帯電話、携帯情報端末が挙げられる。
【００６１】
加えて、本発明は、各実施形態で説明した構成及び機能を有する専用のハードウェアで実現できるだけでなく、メモリやハードディスク等の記録媒体に記録した本発明を実現するためのプログラム、及びこれを実行可能な専用又は汎用ＣＰＵ及びメモリ等を有する汎用のハードウェアとの組み合わせとしても実現できる。
【００６２】
専用や汎用のハードウェアの記録媒体（外部記憶装置（ハードディスク、ＵＳＢメモリ、ＣＤ／ＢＤ等）、内部記憶装置（ＲＡＭ、ＲＯＭ等））に格納されるプログラムは、記録媒体を介して、あるいは記録媒体を介さずにサーバから通信回線を経由して、専用又は汎用のハードウェアに提供することもできる。これにより、プログラムのアップグレードを通じて常に最新の機能を提供することができる。
【産業上の利用可能性】
【００６３】
本発明にかかる異常検知装置は、車載用途に限らず、様々な機器の異常検知に用いることができる。
【符号の説明】
【００６４】
１００  異常検知装置、１０１  信号取得部、１０４  状態観測器生成部、１０６  正常モデル生成部、１０７  正常モデルパラメータ記憶部、１０８  異常度算出部、１０９  判定部
【図１】
2020129233.tif 000011
【図２】
2020129233.tif 000012
【図３】
2020129233.tif 000013
【図４】
2020129233.tif 000014
【図５】
2020129233.tif 000015
【図６】
2020129233.tif 000016
【図７】
2020129233.tif 000017
【図８】
2020129233.tif 000018