(57)【要約】【課題】本発明の目的は、様々な条件において、同一条件が満足できない状況であっても、同一の推論モデルにより異常を検知することができる技術を提供することにある。【解決手段】本発明に係る異常検知装置は、アルゴリズムに基づいて異常を検知する異常検知モデルを構築し、任意の機器の異常を検知する異常検知装置であって、任意に設定した項目に対するデータを取得するデータ取得部と、データ取得部で取得したデータを読み取り、自己符号化器による学習を行いモデルと重みを構築して保存するモデル構築部と、モデル構築部からモデルと重みを読み取り、データ取得部から新たに収集されたデータを読み取り、損失値を算出する推論部と、推論部で算出された損失値とモデル構築部で算出された基準値との比較を行うことで任意の機器の状態を判定する判定部と、を備える。【選択図】図１
2020038594.tif 000002
【特許請求の範囲】
【請求項１】
アルゴリズムに基づいて異常を検知する異常検知モデルを構築し、任意の機器の異常を検知する異常検知装置であって、
任意に設定した項目に対するデータを取得するデータ取得部と、
前記データ取得部で取得したデータを読み取り、自己符号化器による学習を行いモデルと重みを構築して保存するモデル構築部と、
前記モデル構築部からモデルと重みを読み取り、前記データ取得部から新たに収集されたデータを読み取り、損失値を算出する推論部と、
前記推論部で算出された損失値と前記モデル構築部で算出された基準値との比較を行うことで任意の機器の状態を判定する判定部と、
を備える異常検知装置。
【請求項２】
前記モデル構築部は、前記データ取得部で取得したデータを読み取り、前記自己符号化器による機械学習を行ってモデルと重みを構築する学習部を有し、
前記学習部は、符号化の圧縮率の高低を設定し、構築したモデルにより正常状態の基準値とその分散を算出する請求項１に記載の異常検知装置。
【請求項３】
前記学習部は、任意に設定した項目のデータに対して、前処理として、モデルの複雑さを低減し過学習を回避するための過学習回避部と、データ項目間の尺度を揃えて調整する尺度調整部と、を有し、
前記過学習回避部は、主成分分析による項目数の削減を行い、前記尺度調整部は、正規化もしくは標準化によるデータのスケーリングを行う、請求項１または２に記載の異常検知装置。
【請求項４】
アルゴリズムに基づいて異常を検知する異常検知モデルを構築し、任意の機器の異常を検知する異常検知方法であって、
任意に設定した項目に対するデータを取得するデータ取得ステップと、
取得したデータを読み取り、自己符号化器による学習を行いモデルと重みを構築して保存するモデル構築ステップと、
構築されたモデルと重みを読み取り、新たに収集されたデータを読み取って、損失値を算出する算出ステップと、
算出された損失値と算出された基準値との比較を行うことで任意の機器の状態を判定する判定ステップと、
を含む異常検知方法。
【請求項５】
前記モデル構築ステップは、取得したデータを読み取り、前記自己符号化器による機械学習を行ってモデルと重みを構築する学習ステップを含み、
前記学習ステップは、符号化の圧縮率の高低を設定し、構築したモデルにより正常状態の基準値とその分散を算出する算出ステップを含む請求項４に記載の異常検知方法。
【請求項６】
前記学習ステップは、任意に設定した項目のデータに対して、前処理として、モデルの複雑さを低減し過学習を回避するための過学習回避ステップと、データ項目間の尺度を揃えて調整する尺度調整ステップと、を含み、
前記過学習回避ステップは、主成分分析による項目数の削減を行い、前記尺度調整ステップは、正規化もしくは標準化によるデータのスケーリングを行う、請求項４または５に記載の異常検知方法。
【請求項７】
コンピュータを、請求項１に記載の異常検知装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常検知装置、異常検知方法およびプログラムに関し、より詳細には、予め収集された計測データを使用して異常検知モデルを構築し、その異常検知モデルに基づいて監視対象の異常を検出する技術に関する。
【背景技術】
【０００２】
従来、監視対象の異常を検出する場合は、電流センサ、振動センサ、画像センサなどから収集するデータに閾値を設定しルールベースの独自モデルを作成し対応していた。または、機械学習（ＳＶＭ、ｋ−近傍法、ｋ−平均法、ＬＯＦ法など）を用いて正常値と異常値を学習し、推論モデルにより、異常を検知していた。
【０００３】
例えば、特許文献１には、機械のセンサデータから異常診断を行う診断部と、診断部の診断結果を機械の異常履歴と照らし合わせて誤報・失報を検知する誤報・失報検知部と、誤報・失報数が多い個体と少ない個体で仕様が異なるセンサを分析者に提示するセンサ差異検知部を備えたことを特徴とする異常診断分析装置が記載されている。これにより、異常診断の処理を作成する分析者は、誤報・失報の原因となるセンサの仕様の差異を見ることができるとされている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１３３９４４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、一般的に産業機器の故障頻度は低く、故障個所や故障原因は無数に存在するため、故障つまり機器に異常が発生した際のデータを直接収集するには莫大なサンプル数と時間を要する。
【０００６】
さらに、機器には個体差があり、例えば機械学習を用いて異常検知を行う場合、１台の機器を用いて推論モデルを構築しても、機器が異なると適合できず、予知が大きく外れることもしばしば発生するという問題があった。これらの問題は、教師付き機械学習においては、同一条件の前提のもと、同一の異常値のラベルのついた限定的な学習しかできないことに起因する。
【０００７】
本発明は、上記問題点に鑑みてなされたものであり、その目的は、様々な条件において、同一条件が満足できない状況であっても、同一の推論モデルにより異常を検知することができる技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本発明に係る異常検知装置は、アルゴリズムに基づいて異常を検知する異常検知モデルを構築し、任意の機器の異常を検知する異常検知装置であって、任意に設定した項目に対するデータを取得するデータ取得部と、データ取得部で取得したデータを読み取り、自己符号化器による学習を行いモデルと重みを構築して保存するモデル構築部と、モデル構築部からモデルと重みを読み取り、データ取得部から新たに収集されたデータを読み取り、損失値を算出する推論部と、推論部で算出された損失値とモデル構築部で算出された基準値との比較を行うことで任意の機器の状態を判定する判定部と、を備える。
【０００９】
また、本発明に係る異常検知方法は、アルゴリズムに基づいて異常を検知する異常検知モデルを構築し、任意の機器の異常を検知する異常検知方法であって、  任意に設定した項目に対するデータを取得するデータ取得ステップと、取得したデータを読み取り、自己符号化器による学習を行いモデルと重みを構築して保存するモデル構築ステップと、構築されたモデルと重みを読み取り、新たに収集されたデータを読み取って、損失値を算出する算出ステップと、  算出された損失値と算出された基準値との比較を行うことで任意の機器の状態を判定する判定ステップと、を含む。
【００１０】
また、本発明に係るプログラムは、コンピュータを、上記異常検知装置として機能させるためのプログラムである。
【発明の効果】
【００１１】
本発明に係る異常検知装置によれば、任意の機器の個体差、日常の変動、故障箇所・故障原因およびモーションの違いなどの様々な条件において、同一条件が満足できない状況であっても、同一の推論モデルにより異常を検知することができる。なお、ここに記載された効果は、必ずしも限定されるものではなく、本技術中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係る異常検知装置の構成を示すブロック図である。
【図２】本発明の一実施形態に係る異常検知方法を示すフローチャートである。
【図３】本発明の一実施形態に係る自己符号化器による異常検知を説明するグラフである。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態について図面を参照しながら説明する。以下に説明する実施形態は、本発明の代表的な実施形態の一例を示したものであり、これにより本発明の範囲が狭く解釈されることはない。
【００１４】
まず、本発明の一実施形態に係る異常検知装置１００について説明する。図１は、本実施形態に係る異常検知装置１００の構成を示すブロック図である。また、図１は、各ブロック内の構成を簡単化して例示している。なお、図１においては、本発明に関するブロックのみを図示しており、その他の必要な各構成については省略している。
【００１５】
図１に示すように、異常検知装置１００は、一つまたは複数のコンピュータ内において、入力されるデータを取得し、その取得したデータを保存するデータ取得部１０１と、アルゴリズムに基づいて異常を検知する異常検知モデルを構築するモデル構築部１０２と、取得したデータに基づいて必要な値を算出する推論部１０３と、複数の値を比較し任意の機器の状態を判定する判定部１０４と、必要な情報を表示画面に表示する表示部１０５と、を備えている。
【００１６】
データ取得部１０１は、ロボット等の任意の機器１０６から任意に設定した項目に対する時系列データ等のデータを取得する制御部１１１と、制御部１１１で取得したデータ（収集データ）を保存する記録媒体１１２と、を有する。
【００１７】
モデル構築部１０２は、データ取得部１０１に保存されたデータを読み取り、自己符号化器（オートエンコーダ）による機械学習を行ってモデルと重みを構築する学習部１１３と、学習済みのモデルと重みを保存する記録媒体１１４と、を有する。ここで、自己符号化器とは、機械学習において、ニューラルネットワークを用いた次元圧縮のためのアルゴリズムのことをいう。
【００１８】
また、学習部１１３は、符号化の圧縮率の高低を設定し、構築したモデルにより正常状態の基準値（閾値）とその分散を算出することもできる。基準値およびその分散の算出方法は、正常状態のデータを学習部１１３で機械学習を終了させたときの最終の損失値および分散を、基準値およびその分散とする。学習部１１３は、一例として、任意に設定した項目のデータに対して、前処理として、モデルの複雑さを低減し過学習を回避する過学習回避部と、データ項目間の尺度を揃えて調整する尺度調整部と、を有している。なお、過学習回避部は、主成分分析による項目数の削減を行い、尺度調整部は、正規化もしくは標準化によるデータのスケーリングを行う。
【００１９】
推論部１０３は、モデル構築部１０２の記録媒体１１４から学習済みのモデルと重みを読み取り、データ取得部１０１の記録媒体１１２から新たに収集された未知のデータを読み取って、損失値を算出する。
【００２０】
判定部１０４は、推論部１０３で算出された損失値とモデル構築部１０２の学習部１１３で算出された基準値との比較を行うことで、任意の機器１０６が正常状態なのか異常状態なのかを判定する。
【００２１】
次に、図２を用いて、異常検知装置１００を用いた異常検知方法の例について説明する。図２は、本実施形態に係る異常検知方法を示すフローチャートである。本実施形態では、一例として、任意の機器１０６であるロボットの異常検知の処理について説明する。このフローチャートは推論部（１０３）、判定部（１０４）、および表示部（１０５）を実行することにより開始する。
【００２２】
図２に示すように、まずＳ２０１においてデータ取得部１０１は、制御部１１１を通して正常状態の任意の機器１０６であるロボットから任意の項目に対する時系列データを収集し、記憶媒体１１２へ保存する。
【００２３】
次に、Ｓ２０２においてモデル構築部１０２は、データ取得部１０１で収集されたデータをデータ取得部１０１の記憶媒体１１２から読み込み、自己符号化器による機械学習を行う。そして、モデル構築部１０２は、学習済のモデルと重みを記憶媒体１１４へ保存する。 
【００２４】
次に、Ｓ２０３において推論部１０３は、保存されている学習済のモデルと重みをモデル構築部１０２の記憶媒体１１４から読み込む。
【００２５】
次に、Ｓ２０４において推論部１０３は、制御部１１１を通して、正常か異常かが未知の状態の任意の機器１０６からＳ２０１で収集した時系列データと同じ項目に対する時系列データを収集する。そして、推論部１０３は、収集した時系列データから損失値を計算する。
【００２６】
次に、Ｓ２０５において判定部１０４は、推論部１０３で算出された損失値とモデル構築部１０２に保存された学習済みのモデルにより算出される正常状態の基準値（閾値）との比較を行う。具体的には、判定部１０４は、損失値が基準値以上か否かを判定する。
【００２７】
損失値が基準値未満の場合（判定結果がＮｏの場合）、Ｓ２０６に進み、判定部１０４は、任意の機器１０６であるロボットが正常状態であると判定する。
【００２８】
損失値が基準値以上の場合（判定結果がＹｅｓの場合）、Ｓ２０７に進み、判定部１０４は、任意の機器１０６であるロボットが異常状態であると判定する。図２のフローチャートは、推論部（１０３）、判定部（１０４）、および表示部（１０５）を強制終了することにより終了する。
【００２９】
以上の通り、本実施形態の異常検知装置１００および異常検知方法によれば、ロボットの個体差、日常の変動、故障箇所・故障原因およびモーションの違いなどの様々な条件において、同一条件が満足できない状況であっても、同一の推論モデルにより異常を検知することができる。
【００３０】
また、本実施形態の異常検知装置１００および異常検知方法によれば、数値や時系列データを用いた自己符号化器の損失値が、正常状態と異常状態で別々のクラスターを形成することがわかった。これにより正常状態のクラスターと異なる「外れ値」を検出することで、任意の機器１０６の異常を検知することができる。なお、異常検知装置１００の構成は、諸条件の違いを吸収する効果があり、実用レベルで適用できることが期待できる。
【００３１】
＜実施例＞
次に、図３を用いて、異常検知装置１００を用いた自己符号化器による異常検知の一実施例について説明する。図３は、本実施例に係る自己符号化器による異常検知を説明するグラフである。本実施例では、一例として、任意の機器１０６である６軸多関節ロボットの機械学習による２軸および３軸のベルト緩みの異常検知処理の結果について説明する。
【００３２】
本実施例では、６軸多関節ロボットの２軸および３軸のベルトが緩んだ２台のロボットを運転し、電流・速度等のデータ解析から故障予兆モデルの構築を行った。この際、ベルトの緩みが大きいほど異常値の程度は大きく、ベルトの緩みが小さいほど異常値の程度は低くなる。
【００３３】
図３に示すように、横軸は１から圧縮率を引いた値を表し（１−圧縮率）、縦軸は損失値を表している。ここで、グラフ下方の点線で囲まれた領域３０１は、正常値の領域を表している。また、グラフ上方の点線で囲まれた領域３０２は、異常値の領域を表している。図３のグラフは、ベルトの緩み具合を表しており、グラフ中の〇はベルトの緩みの基準値、△は緩みが小さいこと、×は緩みが大きいこと、を表している。
【００３４】
そして、図３の領域３０１に示すように、ベルトの緩みの基準値〇は、全て正常値として検知することができた。また、図３の領域３０２に示すように、ベルトの緩みが小さい△の場合と大きい×の場合については、全て異常値として検知することができた。
【００３５】
ここで、図３に示すように、横軸の値が同じで上下に並んだ２つの基準値〇同士、２つの緩みが小さい△同士、および、２つの緩みが大きい×同士、のそれぞれの間隔は、ロボットの個体差による分散の大きさを表し、それらの間隔が大きい場合は分散が大きく、それらの間隔が小さい場合は分散が小さい。そして、図３の領域３０１に示すように、符号化の圧縮率が高く（図３では１−圧縮率の値が０．５付近）なると基準値〇間の分散が大きくなり、圧縮率が低く（図３では１−圧縮率の値が０．９付近）なると基準値〇間の分散が小さくなっている。
【００３６】
以上より、圧縮率を低く設定することにより基準値間の分散が小さくなるので、個体差が小さくなり基準値を所定の値に収束させることができる。したがって、圧縮率を低く設定すれば、ロボットの個体差にかかわらず、損失値と所定の値の基準値とを比較して異常を検知できるので、異常検知の精度を向上させることができる。
【００３７】
本実施例では、ベルトの緩みのみからモデルを作成しているが、この作成したモデルで、他の種類 (軸受など) の異常値も検知することができる。また、正常値の収集データを増やすことで、モデルの精度を上げることができる。
【産業上の利用可能性】
【００３８】
本発明は、任意の機器の異常を検知する異常検知装置に関するものであり、産業上の利用可能性を有するものである。
【符号の説明】
【００３９】
１００  異常検知装置
１０１  データ取得部
１０２  モデル構築部
１０３  推論部
１０４  判定部
１０５  表示部
１０６  任意の機器
１１１  制御部
１１２、１１４  記録媒体
１１３  学習部
３０１、３０２  領域
【図１】
2020038594.tif 000003
【図２】
2020038594.tif 000004
【図３】
2020038594.tif 000005