IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社インテックの特許一覧

特許7040851異常検知装置、異常検知方法及び異常検知プログラム
<>
  • 特許-異常検知装置、異常検知方法及び異常検知プログラム 図1
  • 特許-異常検知装置、異常検知方法及び異常検知プログラム 図2
  • 特許-異常検知装置、異常検知方法及び異常検知プログラム 図3
  • 特許-異常検知装置、異常検知方法及び異常検知プログラム 図4
  • 特許-異常検知装置、異常検知方法及び異常検知プログラム 図5
  • 特許-異常検知装置、異常検知方法及び異常検知プログラム 図6
  • 特許-異常検知装置、異常検知方法及び異常検知プログラム 図7
  • 特許-異常検知装置、異常検知方法及び異常検知プログラム 図8
  • 特許-異常検知装置、異常検知方法及び異常検知プログラム 図9
  • 特許-異常検知装置、異常検知方法及び異常検知プログラム 図10
  • 特許-異常検知装置、異常検知方法及び異常検知プログラム 図11
  • 特許-異常検知装置、異常検知方法及び異常検知プログラム 図12
  • 特許-異常検知装置、異常検知方法及び異常検知プログラム 図13A
  • 特許-異常検知装置、異常検知方法及び異常検知プログラム 図13B
  • 特許-異常検知装置、異常検知方法及び異常検知プログラム 図14
  • 特許-異常検知装置、異常検知方法及び異常検知プログラム 図15
  • 特許-異常検知装置、異常検知方法及び異常検知プログラム 図16
  • 特許-異常検知装置、異常検知方法及び異常検知プログラム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-14
(45)【発行日】2022-03-23
(54)【発明の名称】異常検知装置、異常検知方法及び異常検知プログラム
(51)【国際特許分類】
   G06F 11/07 20060101AFI20220315BHJP
   G06F 11/34 20060101ALI20220315BHJP
   G06F 11/32 20060101ALI20220315BHJP
   G06F 11/30 20060101ALI20220315BHJP
【FI】
G06F11/07 154
G06F11/07 140A
G06F11/34 147
G06F11/34 176
G06F11/32 110
G06F11/30 172
G06F11/30 140A
【請求項の数】 5
(21)【出願番号】P 2018043522
(22)【出願日】2018-03-09
(65)【公開番号】P2019159604
(43)【公開日】2019-09-19
【審査請求日】2021-01-26
(73)【特許権者】
【識別番号】391021710
【氏名又は名称】株式会社インテック
(74)【代理人】
【識別番号】100123319
【弁理士】
【氏名又は名称】関根 武彦
(74)【代理人】
【識別番号】100146330
【弁理士】
【氏名又は名称】本間 博行
(74)【代理人】
【識別番号】100185236
【弁理士】
【氏名又は名称】関 誠之
(72)【発明者】
【氏名】吉澤 亜耶
(72)【発明者】
【氏名】橋本 洋一
(72)【発明者】
【氏名】堀 雅和
【審査官】川▲崎▼ 博章
(56)【参考文献】
【文献】特開2015-026252(JP,A)
【文献】特開2016-189062(JP,A)
【文献】特開2016-004577(JP,A)
【文献】特開2015-046133(JP,A)
【文献】米国特許出願公開第2016/0147583(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/07
G06N 20/00
G06F 11/34
G06F 11/32
G06F 11/30
(57)【特許請求の範囲】
【請求項1】
観測対象における複数の項目について当該項目の状態を示す測定データを取得するデータ取得部と、
所定のタイミングで取得した測定データを一つのデータ群とし、異なるタイミングで取得した複数のデータ群を学習データとし、前記複数の項目のうちN個の組み合わせについて前記学習データに含まれる前記測定データからN次元の確率密度を求め、当該N次元の確率密度を複数の前記組み合わせについて求めて、学習モデルを生成するモデル生成部と、
評価対象とする前記データ群のうち、前記項目のN個の組み合わせに係る前記測定データが得られる確率を前記学習モデルから求め、当該確率に基づいて異常スコアを算出するスコア算出部と、
前記項目の複数の組み合わせに係る前記異常スコアに基づいて前記データ群のスコアを算出し、当該データ群のスコアに基づいて前記観測対象の異常を検知する検知部と、
を備える異常検知装置。
【請求項2】
前記項目を示すノードと当該ノードの組み合わせを示すリンクとを表示装置に表示させる際、前記リンクを前記異常スコアに応じた表示形態で生じさせる表示制御部を備える請求項1に記載の異常検知装置。
【請求項3】
前記モデル生成部が、
N個の前記項目の組み合わせのうち、各項目が取り得る測定データの範囲を第一~第Nの軸にとり、 前記第一~第Nの項目の測定データから求めたN次元の確率密度について、各項目の確率密度を高い方から累積して所定の累積確率に達したところで確率密度が高い空間と確率密度が低い空間とに超平面で分割し、当該超平面における前記N次元の確率密度の面積をα%断面面積とし、前記超平面において各項目が取り得る範囲の面積を全体面積として求め、
前記全体面積を前記α%断面面積で除してα%断面比を求め、
前記α%断面比が閾値未満の組み合わせを選択し、選択した組み合わせについて前記学習モデルを生成する請求項1又は2に記載の異常検知装置。
【請求項4】
観測対象における複数の項目について当該項目の状態を示す測定データを取得するステップと、
所定のタイミングで取得した測定データを一つのデータ群とし、異なるタイミングで取得した複数のデータ群を学習データとし、前記複数の項目のうちN個の組み合わせについて前記学習データに含まれる前記測定データからN次元の確率密度を求め、当該N次元の確率密度を複数の前記組み合わせについて求めて、学習モデルを生成するステップと、
評価対象とする前記データ群のうち、前記項目のN個の組み合わせに係る前記測定データが得られる確率を前記学習モデルから求め、当該確率に基づいて異常スコアを算出するステップと、
前記項目の複数の組み合わせに係る前記異常スコアに基づいて前記データ群のスコアを算出し、当該データ群のスコアに基づいて前記観測対象の異常を検知するステップと、
をコンピュータが実行する異常検知方法。
【請求項5】
観測対象における複数の項目について当該項目の状態を示す測定データを取得するステップと、
所定のタイミングで取得した測定データを一つのデータ群とし、異なるタイミングで取得した複数のデータ群を学習データとし、前記複数の項目のうちN個の組み合わせについて前記学習データに含まれる前記測定データからN次元の確率密度を求め、当該N次元の確率密度を複数の前記組み合わせについて求めて、学習モデルを生成するステップと、
評価対象とする前記データ群のうち、前記項目のN個の組み合わせに係る前記測定データが得られる確率を前記学習モデルから求め、当該確率に基づいて異常スコアを算出するステップと、
前記項目の複数の組み合わせに係る前記異常スコアに基づいて前記データ群のスコアを算出し、当該データ群のスコアに基づいて前記観測対象の異常を検知するステップと、
をコンピュータに実行させるための異常検知プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異常検知装置、異常検知方法及び異常検知プログラムに関する。
【背景技術】
【0002】
生産設備において故障が発生し、生産が停止してしまうと、生産効率が低下する。このため、故障の前兆を検出してメンテナンスを行い、生産の停止を防止することや、故障が発生した場合に、速やかに故障原因を特定して修理を行うことが望まれる。しかしながら、生産設備の大規模化や複雑化に伴い、故障の予兆となる異常の検出や故障の原因である異常個所の検出等(以下、異常の検出とも称す)を作業員が手作業で行うことは困難になってきている。
【0003】
また、インターネットを介してウェブサービスや業務サービス等を提供する情報システムでは、社会インフラとしての重要性が高まるにつれて、障害によるサービスの遅延や中断等が許されない状況となっており、そのサービスを提供するサーバ等の装置を安定可動させられるように運営管理することが重要となっている。このため発生した異常だけでなく、明確な異常になっていない性能劣化や将来発生が予想される障害の兆候といった状態を検出し、計画的なメンテナンスを行うことが求められている。
【0004】
このような異常を検出する技術として、例えば以下に示す特許文献1乃至特許文献3などが挙げられる。特許文献1では、性能種目又は観測対象を要素とし、少なくとも第1の要素に関する性能情報の時系列変化を示す第1の性能系列情報と、第2の要素に関する性能情報の時系列変化を示す第2の性能系列情報との相関関数を導出し、この相関関数に基づいて相関モデルを生成しこの相関モデルを各要素間の組み合わせについて求め、観測対象から新たに検出し取得される性能情報に基づいて、相関モデルの変化を分析する異常検知装置が提案されている。
【0005】
特許文献2では、複数のコンピュータの各々が、何れか他のコンピュータに対して行うサービスのトランザクションを収集し、該トランザクションからシステムにおけるノード間の相関行列を算出し、そこからそのノードの活性バランスを表す特徴ベクトルを求める。その特徴ベクトルを確率モデルにより監視することで、異常状態への遷移を検出する異常検出システムが提案されている。
【0006】
特許文献3では、システムにおけるメトリックのペアの相関関係を表す相関関数の候補を複数記憶し、前記複数の相関関数の候補の中から、相関関数に係るメトリックの異常時の相関破壊の発生しやすさを示す検出感度をもとに、一つの相関関数を、前記メトリックのペアの相関関数として抽出するシステム分析装置が提案されている。
【0007】
また、測定データについて機械学習し、ニューラルネットワークやSVM(support vector machine)によって異常を判断する技術も提案されている。
【先行技術文献】
【特許文献】
【0008】
【文献】特開2009-199533号公報
【文献】特開2005-216066号公報
【文献】特許第6183450号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
ニューラルネットワークやSVMによってブラックボックス的に異常を判断するシステムでは、異常を検出できても異常の根拠が示されず、この異常に応じた適切な対応をとることが難しい。
【0010】
また、二つの要素の組み合わせ毎に相関関係を求めて異常を検出することにより、異常となった要素を特定できるようにしたシステムも提案されているが、このようなシステムでは、二つの要素の組み合わせについて線形に連続した相関関係がなければ異常を検出できないという問題があった。
【0011】
コンピュータシステムの異常を検出する場合、異常を検出する要素となるCPUの稼働率やメモリの使用率、実行中のスレッド数等の情報が容易に取得でき、また同じ条件であれば同じ現象が発生する可能性が高いため、線形の相関を有する要素を選択することが容易である。
【0012】
一方、生産設備等の異常を検出する場合、種々の要素が関連しあって異常が発生することもあるため各要素の測定データが線形に相関するとは限らない。また、生産設備の状態を測定するには、そのためのセンサや入力インターフェイスを設置することになるため、線形の相関を有するデータを探すためにあらゆる要素にセンサ等を設置するようなことは現実的でない。このため、従来の異常検知システムでは精度よく異常を検出することが困難なことがあった。
【0013】
そこで、本発明は、測定対象の異常を検出する際、線形の相関を有しない測定データを用いた場合でも精度良く異常を検出する技術の提供を目的とする。
【課題を解決するための手段】
【0014】
本発明に係る異常検知装置は、
観測対象における複数の項目について当該項目の状態を示す測定データを取得するデータ取得部と、
所定のタイミングで取得した測定データを一つのデータ群(例えばレコード)とし、異なるタイミングで取得した複数のデータ群を学習データとし、前記複数の項目のうちN個の組み合わせについて前記学習データに含まれる前記測定データからN次元の確率密度を求め、当該N次元の確率密度を複数の前記組み合わせについて求めて、学習モデルを生成するモデル生成部と、
評価対象とする前記データ群のうち、前記項目のN個の組み合わせに係る前記測定データが得られる確率を前記学習モデルから求め、当該確率に基づいて異常スコアを算出するスコア算出部と、
前記項目の複数の組み合わせに係る前記異常スコアに基づいて前記データ群のスコアを算出し、当該データ群のスコアに基づいて前記観測対象の異常を検知する検知部と、
を備える。
【0015】
前記異常検知装置は、前記項目を示すノードと当該ノードの組み合わせを示すリンクとを表示装置に表示させる際、前記リンクを前記異常スコアに応じた表示形態で生じさせる表示制御部を備えてもよい。
【0016】
前記異常検知装置は、前記モデル生成部が、
N個の前記項目の組み合わせのうち、各項目が取り得る測定データの範囲を第一~第Nの軸にとり、第二の項目が取り得る測定データの範囲を前記第一の軸と直交する第二の軸にとり、
前記第一~第Nの項目の測定データから求めたN次元の確率密度について、各項目の確
率密度を高い方から累積して所定の累積確率に達したところで確率密度が高い空間と確率密度が低い空間とに超平面で分割し、当該超平面における前記N次元の確率密度の面積をα%断面面積とし、前記超平面において各項目が取り得る範囲の面積を全体面積として求め、
前記全体面積を前記α断面面積で除してα%断面比を求め、
α%断面比が閾値未満の組み合わせを選択し、選択した組み合わせについて前記学習モデルを生成してもよい。
【0017】
また、本発明に係る異常検知方法は、
観測対象における複数の項目について当該項目の状態を示す測定データを取得するステップと、
所定のタイミングで取得した測定データを一つのデータ群とし、異なるタイミングで取得した複数のデータ群を学習データとし、前記複数の項目のうちN個の組み合わせについて前記学習データに含まれる前記測定データからN次元の確率密度を求め、当該N次元の確率密度を複数の前記組み合わせについて求めて、学習モデルを生成するステップと、
評価対象とする前記データ群のうち、前記項目のN個の組み合わせに係る前記測定データが得られる確率を前記学習モデルから求め、当該確率に基づいて異常スコアを算出するステップと、
前記項目の複数の組み合わせに係る前記異常スコアに基づいて前記データ群のスコアを算出し、当該データ群のスコアに基づいて前記観測対象の異常を検知するステップと、
をコンピュータが実行する。
【0018】
前記異常検知方法は、前記項目を示すノードと当該ノードの組み合わせを示すリンクとを表示装置に表示させる際、前記リンクを前記異常スコアに応じた表示形態で生じさせるステップを有してもよい。
前記異常検知方法は、
N個の前記項目の組み合わせのうち、各項目が取り得る測定データの範囲を第一~第Nの軸にとり、第二の項目が取り得る測定データの範囲を前記第一の軸と直交する第二の軸にとり、
前記第一~第Nの項目の測定データから求めたN次元の確率密度について、各項目の確率密度を高い方から累積して所定の累積確率に達したところで確率密度が高い空間と確率密度が低い空間とに超平面で分割し、当該超平面における前記N次元の確率密度の面積をα%断面面積とし、前記超平面において各項目が取り得る範囲の面積を全体面積として求め、
前記全体面積を前記α断面面積で除してα%断面比を求め、
α%断面比が閾値未満の組み合わせを選択し、選択した組み合わせについて前記学習モデルを生成してもよい。
【0019】
なお、課題を解決するための手段に記載の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。課題を解決するための手段の内容は、コンピュータ等の装置若しくは複数の装置を含むシステム、コンピュータが実行する方法、又はコンピュータに実行させるプログラムとして提供することができる。例えば、本発明は、前記異常検知方法の各ステップをコンピュータに実行させるためのプログラムであってもよい。また、本発明は、このプログラムを保持するコンピュータで読み取り可能な記録媒体であってもよい。
【発明の効果】
【0020】
本発明によれば、測定対象の異常を検出する際、線形に連続した相関を有しない測定データを用いた場合でも精度良く異常を検出する技術を提供できる。
【図面の簡単な説明】
【0021】
図1図1は、実施形態の異常検知装置の構成を示すブロック図である。
図2図2は、記憶装置に記憶された測定データの例を示す図である。
図3図3は、異常検知装置のハードウェア構成を示す図である。
図4図4は、測定データを取得する処理手順を示す図である。
図5図5は、学習モデルを生成する処理手順を示す図である。
図6図6は、観測対象の異常を検知する処理手順を示す図である。
図7図7は、二次元の確率密度の一例をグラフで示した図である。
図8図8は、評価対象の測定データ(標本)について、確率密度関数から求められる異常スコアの説明図である。
図9図9は、検知結果の表示例を示す図である。
図10図10は、異常要因を示すネットワーク図の一例を示す図である。
図11図11は、特定の項目の組み合わせにおける異常スコアの時系列グラフを例示する図である。
図12図12は、確率密度を用いた異常検出を行う例の説明図である。
図13A図13Aは、ガウスカーネル関数を足し合わせて平均する例を示す図である。
図13B図13Bは、ガウスカーネル関数で複雑な確率密度関数を近似する例を示す図である。
図14図14は、ガウス分布を混合する例を示す図である。
図15図15は、混合要素の等高線を示す図である。
図16図16は、混合分布の周辺確率密度の等高線を示す図である。
図17図17は、α%断面比の説明図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施形態について、図面を用いて説明する。なお、下記の実施形態は本発明の例示であり、本発明は、下記の構成には限定されない。
【0023】
<装置構成>
図1は、本実施形態の異常検知装置の構成を示すブロック図である。異常検知装置3は、生産設備等の観測対象における複数の項目について測定データを取得し、このデータの確率密度を推定して尤度の低いものを異常とする。
【0024】
図1に示すように、異常検知装置3は、観測対象の一例である各生産設備2と通信回線Nを介して接続されている。通信回線Nは、単なるケーブルであってもLAN等のネットワークであっても良い。また、通信回線は、有線であっても無線であっても良い。
【0025】
異常検知装置3は、データ取得部31や、モデル生成部32、スコア算出部33、検知部34、表示制御部35を有している。
【0026】
データ取得部31は、観測対象における複数の項目について当該項目の状態を示す測定データを取得し、記憶装置へ記憶させる。測定データは例えば、モータの回転数や駆動電流の値、アクチュエータの制御信号や動作回数等、生産設備2で制御等に用いている情報を測定データとして、通信回線Nを介して取得する。また、データ取得部31は、異常検知装置3が備えるセンサで、生産設備2から発せられる音や熱、振動等を測定し、この測定値を測定データとしてもよい。
【0027】
モデル生成部32は、所定のタイミングで取得した測定データを一つのレコード(データ群)とし、異なるタイミングで取得した複数のレコードを学習データとし、前記複数の項目のうち二つの組み合わせについて前記学習データに含まれる前記測定データから二次
元の確率密度を求め、当該二次元の確率密度を複数の前記組み合わせについて求めて、学習モデルを生成する。
【0028】
スコア算出部33は、評価対象とする前記データ群のうち、前記項目の二つの組み合わせに係る前記測定データが得られる確率を前記学習モデルから求め、当該確率に基づいて異常スコアを算出する。
【0029】
検知部34は、複数の前記項目の組み合わせに係る前記異常スコアに基づいて、前記観察対象の異常を検知する。
【0030】
表示制御部35は、検知部34で検知した異常の検知結果等を表示装置に表示させる。例えば、表示制御部35は、前記項目を示すノードと当該ノードの組み合わせを示すリンクとを表示装置に表示させる際、前記リンクを前記異常スコアに応じた表示形態で生じさせる。
【0031】
図2は、データ取得部31が取得して記憶装置に記憶された測定データの例を示す。図2の例において、測定データは、観測開始後、所定時間間隔で取得され、所定のタイミングで取得された複数項目の測定値が一つのレコードとして記憶され、異なるタイミングで順次取得された複数のレコードが学習データとして蓄積される。
【0032】
図3は、異常検知装置3のハードウェア構成を示す図である。異常検知装置3は、例えば図3に示すようなコンピュータ(情報処理装置)である。図3に示す異常検知装置3は、CPU(Central Processing Unit)301、主記憶装置302、補助記憶装置(外部
記憶装置)303、通信IF(Interface)304、入出力IF(Interface)305、ドライブ装置306、通信バス307を備えている。CPU301は、プログラムを実行することにより本実施の形態に係る処理等を行う。主記憶装置302は、CPU301が読み出したプログラムやデータをキャッシュしたり、CPUの作業領域を展開したりする。主記憶装置は、具体的には、RAM(Random Access Memory)やROM(Read Only Memory)等である。補助記憶装置303は、CPU301により実行されるプログラムや、位置情報などを記憶する。補助記憶装置303は、具体的には、HDD(Hard-disk Drive
)やSSD(Solid State Drive)、eMMC(embedded Multi-Media Card)、フラッシュメモリ等である。主記憶装置302や補助記憶装置303は、測定データを記憶する記憶装置としても機能する。通信IF304は、他のコンピュータとの間でデータを送受信する。
【0033】
異常検知装置3は、通信IF304を介してネットワークに接続される。通信IF304は、具体的には、有線又は無線のネットワークカード等である。入出力IF305は、入出力装置と接続され、ユーザから入力を受け付けたり、ユーザへ情報を出力したりする。入出力装置は、具体的には、キーボード、マウス、ディスプレイ351、タッチパネル、センサ352等である。ディスプレイ351は、異常の検知結果等の情報をユーザに対して表示する。センサ352は、例えば、温度センサ、振動センサ、加速度センサ、撮像装置、マイク等、観測対象の状態を測定する手段である。
【0034】
ドライブ装置306は、磁気ディスク、光磁気ディスク、光ディスク等の記憶媒体に記録されたデータを読み出したり、記憶媒体にデータを書き込んだりする。そして、以上のような構成要素が、通信バス307で接続されている。なお、これらの構成要素はそれぞれ複数設けられていてもよいし、一部の構成要素(例えば、ドライブ装置306)を設けないようにしてもよい。また、入出力装置がコンピュータと一体に構成されていてもよい。また、ドライブ装置306で読み取り可能な可搬性の記憶媒体や、フラッシュメモリのような可搬性の補助記憶装置303、通信IF304などを介して、本実施の形態で実行
されるプログラムが提供されるようにしてもよい。
【0035】
CPU301は、プログラムを主記憶装置にロードして実行する。異常検知装置3において、CPU301は、データ取得部31や、モデル生成部32、スコア算出部33、検知部34として動作する。
【0036】
CPU301は、本例において処理装置に相当する。CPU301は、MPU(Micro Processor Unit)、マイクロプロセッサ、プロセッサとも呼ばれる。CPU301は、単一のプロセッサに限定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一のソケットで接続される単一のCPUがマルチコア構成を有していても良い。上記各部の少なくとも一部の処理は、CPU以外のプロセッサ、例えば、Digital Signal Processor(DSP)、Graphics Processing Unit(GPU)、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサで行われても良い。また、上記各部の少なくとも一部の処理は、集積回路(IC)、その他のデジタル回路であっても良い。また、上記各部の少なくとも一部にアナログ回路が含まれても良い。集積回路は、LSI,Application Specific Integrated Circuit(ASIC),プログラマブルロジックデバイス(PL
D)を含む。PLDは、例えば、Field-Programmable Gate Array(FPGA)を含む。上記各
部は、プロセッサと集積回路との組み合わせであっても良い。組み合わせは、例えば、MCU(Micro Controller Unit),SoC(System-on-a-chip),システムLSI,チッ
プセットなどと呼ばれる。
【0037】
〈異常検知方法〉
次に、上述の構成を有する異常検知装置3が実行する異常検知方法について説明する。図4は、測定データを取得する処理手順を示す図、図5は、学習モデルを生成する処理手順を示す図、図6は、観測対象の異常を検知する処理手順を示す図である。
【0038】
異常検知装置3は、ユーザの操作等により観測開始の指示を受けると、図4の処理を開始し、所定の測定タイミングに達したか否かを判定する(ステップS10)。
【0039】
ステップS10にて否定判定の場合、異常検知装置3は、図4の処理を終了する。一方、ステップS10にて肯定判定の場合、異常検知装置3は、測定データを取得する(ステップS20)。
【0040】
ステップS20にて、異常検知装置3は、予め設定された複数の項目について測定データを取得する。例えば、異常検知装置3は、温度センサや振動センサ等によって、測定対象の状態を測定することによって測定データを取得する。また、異常検知装置3は、測定対象の記憶媒体から動作履歴等の情報を読み出す、又は制御信号等の情報を取得し、これらの情報を測定データとしてもよい。なお、図4では、簡単のため、複数項目について測定データを取得する処理を一つのステップで示したが、各項目の測定データを順次取得する手順や、複数項目の測定データを並行して取得するなど、所定の項目について測定データを取得できれば、任意の手順で取得してよい。測定データは、標準化や正規化、基準化されて、所定の形式に変換されてもよい。例えば、次式のように、項目毎に平均を0、標準偏差を1としたデータに標準化してもよい。
標準化後の値=(数値-平均値)/標準偏差
【0041】
また、次式のように、項目毎に最小値を0、最大値を1としたデータに基準化してもよい。
基準化後の値=(数値-最小値)/(最大値-最小値)
【0042】
そして、異常検知装置3は、所定のタイミングで取得した測定データを一レコードとし
て記憶装置へ記憶させる(ステップS30)。ここで所定のタイミングとは、例えば同じタイミングである。また、厳密に同じ時刻に限るものではなく、各項目の状態が互いに関連し合う程度に近いタイミングであればよく、例えば、所定期間毎に測定データを取得する場合に、同じ期間内に取得した測定データを同じタイミングで取得した測定データとしてもよい。また、所定のタイミングとは、同じ異常を検知する為に予め定められた測定タイミングであってもよい。例えば、或る製品を製造する際の第1~第nプロセスで測定したデータを一レコードとし、次に製品を製造する際の第1~第nプロセスで測定したデータを次のレコードとする。この場合、製品ごとの異常を検知する為に第1~第nプロセスで測定されるタイミングを所定のタイミングとしている。
【0043】
異常検知装置3は、ユーザの操作等により測定終了の指示を受けるまで図4の処理をくり返し実行する。これにより測定タイミング毎に測定データのレコードを蓄積して学習データとする。
【0044】
異常検知装置3は、ユーザの操作等によって開始が指示されたときや、所定の時間間隔で図5の処理を開始する。
【0045】
ステップS110にて、異常検知装置3は、学習データのうち、二つの組み合わせ毎に相関係数を求める。例えば、項目A,B,Cとあった場合、[A,B][B,C][A,C]のように、全ての組み合わせについてピアソンの相関係数を算出する。
【0046】
ステップS120にて、異常検知装置3は、ステップS110で算出した相関係数に基づき、関連性の高い組み合わせを選択する。例えば、相関係数が閾値以上の組み合わせを選択する。なお、これに限らず、上位所定数の組み合わせを選択することや、全ての組み合わせのうち、所定割合の組み合わせを選択すること、更に、これらを組み合わせて選択することとしてもよい。また、ステップS110,S120では、ピアソンの相関係数を用いて項目の組み合わせを選択したが、これに限らず、各項目の関連性の強さを評価できるものであれば、MIC(Maximum Information Coefficient)や、後述のように確率密
度を用いたものであってもよい。
【0047】
ステップS130にて、異常検知装置3は、ステップS120で選択した組み合わせについて前記学習データに含まれる前記測定データから二次元の確率密度を求め、当該二次元の確率密度を複数の前記組み合わせについて求めて、学習モデルを生成する。確率密度は、最尤法やベイズ推定、カーネル密度推定法、混合ガウス分布等の手法を用いて推定できる。なお、具体的な算出手法については後述する。また、異なる二項目の組み合わせについて算出された確率密度の集合を学習モデルと呼ぶものとする。
【0048】
図7は、二次元の確率密度の一例をグラフで示した図である。図7では、x軸に項目Aの測定値をとり、y軸に項目Bの測定値をとり、z軸に確率密度をとり、各測定値に対する確率密度の変化をメッシュ状に示している。図7において、確率密度の高い部分、即ちメッシュで示される山の高い部分が、正常な測定値としての尤度が高い部分であり、確率密度の低い部分が正常な測定値としての尤度が低い部分である。
【0049】
また、異常検知装置3は、ユーザの操作等によって異常の検知が指示されたときや、評価用のデータが取得された場合等、所定の検知タイミングとなった場合に、図6の処理を開始する。なお、本例では、図5の学習モデルを作成する処理と、図6の異常を検知する処理を分けて示したが、学習モデルを作成する処理に続けて異常を検知する処理を実行しても良い。
【0050】
ステップS210にて、異常検知装置3は、新たに取得された測定データのレコード等
を評価対象とし、当該評価対象のレコードからステップS120で選択された項目の組み合わせを抽出する。
【0051】
ステップS220にて、異常検知装置3は、評価対象としてステップS210で抽出した組み合わせの測定データを用いて、当該測定データが出現する確率を学習モデルから取得する。
【数1】
【0052】
図8は、評価対象の測定データ(標本)について、確率密度関数から求められる異常スコアの説明図である。図8では、縦軸に項目Cの測定値、横軸に項目Dの測定値をとり、各測定値から求められる異常スコアを等高線状に示している。図8の例では、黒点で示した学習データが、図8の右辺側及び上辺側に集中しており、この部分の確率密度が高くなっている。このため、図8の右上の異常スコアが低く、左下へいくにつれて異常スコアが高くなっている。ここで、項目Cの測定値が85、項目Dの測定値が7.5の測定データが取得された場合、異常スコアが60000を超え、異常スコアが15000以下に集中している学習データに対して、高い異常スコアであることが検知できる。
【0053】
ステップS230にて、異常検知装置3は、前記組み合わせ毎の異常スコアに基づいて、レコード毎の総合的なスコア(以下、単にレコードのスコアとも称す)を求める。レコードのスコアは、前記組み合わせ毎の異常スコアを入力とする関数であればよく、例えば、平均値や、最大値、重み付き平均等であってもよい。重み付き平均とは、例えば、前記項目の組み合わせ毎に予め重みを設定し、各異常スコアに重みを乗じて平均を算出する。即ち、重要な項目や異常の影響が反映されやすい項目の重みを高めて、スコアを算出する。また、ステップS120の組み合わせを選択する処理を省略し、ステップS110で求めた相関係数の絶対値を重みに反映させて各異常スコアを求めてもよい。また、各組み合わせについて、異常時のデータが存在する場合には、各組み合わせの測定データと異常時のデータとからロジスティック回帰を行い、これにより求めた異常の程度に基づいて、当該組み合わせに係る異常スコアの選択や重み付けを行ってもよい。これに限らず、機械学習など他の手法を用いて組み合わせの選択や重み付けを行ってもよい。
【0054】
ステップS240にて、異常検知装置3は、ステップS230で求めたレコードのスコアに基づいて、観測対象の異常を検知する。例えば、当該レコードのスコアが閾値を超えた場合に、異常が発生したと検知し、当該レコードのスコアが閾値を超えていない場合には、異常が発生していないと検知する。
【0055】
そして、ステップS250にて、異常検知装置3は、上記検知結果をユーザに対して出力する。図9は、検知結果の表示例を示す図である。図9の検知結果は、異常の発生の有無81や、異常が検知された項目(以下、異常項目とも称する)82、異常要因を示すネットワーク図83を有している。
【0056】
異常項目82は、例えば、異常スコアが閾値を越えた組み合わせの項目である。また、異常スコアが閾値を超えた複数の組み合わせに共通して存在する項目を異常項目としてもよい。例えば、項目A,Bの組み合わせと、項目B,Cの組み合わせの異常スコアが、閾値を超えた場合、これらの組み合わせに共通する項目Bを異常項目と判定する。また、項目A,Cが項目B以外の項目との組み合わせで異常スコアが閾値を超えていない場合には、項目A,Cは異常項目でないと判定してもよい。なお、本実施形態では、主に二つの項
目の組み合わせについて異常スコアを求めたが、三つ以上の項目の組み合わせについて異常スコアを求めてもよい。この場合でも図9と同様に、異常スコアが閾値を越えた組み合わせを異常と判定し、異常スコアが高い順に項目の組み合わせを表示することができる。
【0057】
図10は、異常要因を示すネットワーク図83の一例を示す図である。図10では、各項目を丸いノード84で示し、項目の組み合わせを各ノード間をつなぐ線(リンク)85で示している。図10において、各ノード84の「○○○○」は、「項目A」「項目B」など、各項目を示す識別情報である。また、図10では、便宜上、ノード84とリンク85の一部にのみ符号を付して示したが、同じ形状の要素は同様のノードやリンクを示している。
【0058】
リンク85は、そのノード(項目)84の組み合わせに係る異常スコアに応じた表示形態で示されており、例えば、異常スコアが高いほど、太い線で示される。リンク85の表示形態は、これに限らず、異常スコアに応じて、線の色や、輝度、点滅状態、又はこれらの組み合わせを変えて表示されるものでもよい。例えば、異常スコアが低い場合、細い緑の線で表示し、異常スコアが高い場合、太い赤の線で表示し、異常スコアがこの中間の場合、異常スコアに応じた中間の太さにすると共に、緑から赤の中間の色相とする。また、異常スコアが閾値を超えた場合にリンク85を点滅表示し、異常スコアが高いほど、点滅速度を高めて表示してもよい。
【0059】
このように二つの項目の組み合わせ毎に異常スコアを算出して表示することにより、異常と判断された根拠をユーザが視覚的に把握できる。また、ネットワーク図83を表示する際に、異常スコアの順に所定数のノード84やリンク85を表示することや、ユーザが指定したノード84やリンク85を検索して表示すること、特定の設備やエリアに係るノード84やリンク85を表示すること等により、絞り込みを行うこともできる。
【0060】
図11は、特定の項目の組み合わせにおける異常スコアの時系列グラフを例示する図である。ユーザが、図9図10の検知結果から、所望の項目の組み合わせを選択すると、図11に示すように、当該組み合わせにおける異常スコアの時系列変化を示すグラフを表示させることができる。
【0061】
図11では、横軸に時刻をとり、縦軸に異常スコアをとって、何時にどれくらい継続して異常値を示したのかを把握できるようにしている。図11の例では、15時15分から15時20分の間で測定データ(実線)が、閾値(点線、図示の例では40)を超え、異常と検出されたことが示されている。これにより異常が起きたタイミングを正確に把握することができる。また、異常が一過性のものか、継続的なものか等により、真の異常とノイズとの切り分けが容易になる。
【0062】
また、本実施形態では、項目間の異常スコアを確率密度に基づいて求めているので、各項目の正常な測定データが線形の相関を有していない場合でも精度良く異常を検出することができる。例えば、図12のグラフ91は、縦軸に項目Eの測定値、横軸に項目Fの測定値をとり、各測定値に応じた正常な測定学習データを黒点で示している。例えば、生産設備2の少なくとも一部が異なる動作モードで動作し得る場合は、正常な測定データが、このように分布することがある。グラフ91では、各項目の測定値に線形の相関がないため、従来の相関係数を用いた異常の判定手法では異常を検出できない。しかしながら、本実施形態では、これらの確率密度を求めることで、グラフ92のように確率密度の高い領域95を特定し、この領域95内であれば正常、この領域95から外れるほど異常度が高いと判定できるため、線形の相関を有していない測定データであっても精度良く異常を検知できる。
【0063】
〈確率密度の算出手法〉
(1)カーネル密度推定法(KDE:Kernel density estimation)
【数2】
【0064】
ここでK(x,x')はカーネル関数であり、今回は式(3)のようなガウスカーネルを用
いている。h>0はガウスカーネルのバンド幅、dはxの次元数を示す。
【数3】
【0065】
また、バンド幅はScott’s Ruleを用いて求めている。nをデータ数とすると、Scott’s Ruleは式(4)のようになる。
【数4】
【0066】
上記の数式により、図13Aに示すように、各測定データxi が中心のガウスカーネル関数(破線)を足し合わせて平均した密度分布(実線)が得られる。これにより図13Bのような複雑な確率密度関数も滑らかに近似できる。
そして、現在の測定データがこの密度分布のどの位置にあるかを異常スコアとして算出することで異常検知が可能となる。
【0067】
(2)混合ガウスモデル(GMM:Gaussian Mixture Model)
混合ガウスモデル(GMM)は、図14に示すように、いくつかのガウス分布を線形結合し
て得られる分布である。K個のガウス分布の重ね合わせは以下の式(5)で与えられる。
ここでπkは混合係数であり、0≦πk≦1とする。
【数5】
【0068】
最適なパラメタは最尤推定法で得ることができ、混合ガウスモデルの対数尤度関数は以下の式(6)のようになる。これはEMアルゴリズムによって解くことが可能である。
ここでXは、X={x_1,x_2,・・・,x_N}、例えば各レコードの測定データxの値である。
【数6】
【0069】
図15は、3つの混合要素の等高線を、それぞれの混合係数とともに示している。この混合分布の周辺確率密度p(x)の等高線を示したものが図16となっている。
【0070】
異常検知装置3は、正常データに対する周辺確率密度を予め求めておき、現在の測定データがこの密度分布のどの位置にあるかを異常スコアとして算出することで異常検知が可能となる。例えば、図16において、測定データをプロットした点98は、正常データと同じ等高線内にあるため、正常と判定できる。一方、測定データをプロットした点99は、正常データから外れた位置にあるため、異常と判定できる。
【0071】
〈変形例〉
前述の実施形態では、学習モデルとして採用する項目を相関関数によって選択する例を示したが、これに代えて、確率密度分布のα%断面比を用いてもよい。本変形例は、前述の実施形態と比べて、項目の選択にα%断面比を用いた構成が異なり、その他の構成は同じであるため、同一の要素については同符号を付す等して再度の説明を省略する。
【0072】
モデル生成部32は、N個の項目の組み合わせのうち、各項目が取り得る測定データの範囲を第一~第Nの軸にとり、第一~第Nの項目の測定データから求めたN次元の確率密度について、各項目の確率密度を高い方から累積して所定の累積確率密度に達したところで確率密度が高い空間と確率密度が低い空間とに超平面で分割し、当該超平面における前記N次元の確率密度の面積をα%断面面積として求める。また、モデル生成部32は、前記超平面において各項目が取り得る範囲、即ち当該超平面に示される最小値から最大値までの範囲の面積を全体面積として求める。そして、モデル生成部32は、全体面積を前記α%断面面積で除してα%断面比を求め、当該α%断面比が閾値未満の組み合わせを選択し、選択した組み合わせについて学習モデルを生成する。
【0073】
図17は、二つの項目の組み合わせにおけるα%断面比の説明図である。図17のグラフ96では、x軸に項目Aの測定値、y軸に項目Bの測定値、z軸に確率密度をとり、各測定値に対する確率密度の変化をメッシュ状に示している。即ち図17では、確率密度の変化がメッシュ状の山として示されている。即ち、図17の例では、各項目の値(測定データ及び学習データ)を2次元(x, y)のデータとし、確率密度を高さとしている。ここで項目A,Bの測定値が取り得る領域の面積を全体面積とし、(max(項目A)―min(項目A))×(max(項目B)―min(項目B))のように求める。
【0074】
また、この確率密度の山をグラフ97のように所定の確率密度、例えば各項目の確率密度を高い方から累積して所定の累積確率に達したところで切断した場合の断面(波線状の網掛け部分)の面積を求める。
【0075】
そして、この全体面積と断面面積とから式aのようにα%断面比を求める。
α%断面比=断面面積/((max(項目A)―min(項目A))×(max(項目B)―min(項目B))) ・・・式a
【0076】
このα%断面比は、以下の手順のように、各項目をマス目で区切って近似的に求めてもよい。
【0077】
(手順1)xの最小値から、xの最大値までの範囲をxの取り得る区間とみなし、この区
間をn等分する。同様にyの取りうる区間を定めてn等分し、各項目の値の取りうる領域を
n×nのマス目に分割する。なお、各マス目の面積はすべて等しいものとする。
【0078】
(手順2)x-y面における各マス目の代表座標(例えば中心座標)を定め、その代表座標の確率密度を計算する。
【0079】
(手順3)手順2で定めたn×nのマス目すべての確率密度をすべて合計し、合計値S
を求める。
【0080】
(手順4)手順3で求めたn×nのマス目すべての確率密度を大きい順に並べ、大きい方から順次足し上げ、累積確率を求める。このとき、累積確率を合計値Sで割った値が所定値(例えば99.99%)に最も近くなるマス目を求める。
【0081】
(手順5)手順4で得られたマス目と同じ高さにあるマス目の数を求める。ここで同じ高さとは、確率密度の取り得る範囲をn等分し、各マスの確率密度のうち、同じ範囲に入るものを同じ高さとする。
【0082】
(手順6)手順5で得られたマス目の数(α%断面面積)を、マス目全体の数(全体面
積)で割った値をα%断面面積比として求める。
【0083】
図5の学習モデルを生成する処理において、本例の異常検知装置3は、ステップS110の相関関数を求める処理に代えて、各組み合わせのα%断面比を求め、ステップS120にてα%断面比の小さい組み合わせを選択する。
【0084】
このようにα%断面比を用いることで、測定値が線形の相関を有しない項目の組み合わせについても適切に選択することができる。
【0085】
また、所定の確率密度で断面を切るのではなく、ユーザが求める標本精度に応じたα%断面比を設定し、各組み合わせの確率密度について、当該α%断面比となる断面面積を式1から逆算し、この断面面積となる確率密度を閾値として求める。これにより、各項目の組み合わせにおいて、異常を判定する場合の確率密度の閾値を適切に設定できる。即ち、異常の要因となっている項目を精度よく判別できる。
【0086】
なお、図17の例では、二つの項目を組み合わせた二次元のデータについて確率密度を高さ方向にとった3次元の空間を平面で切断してα%断面面積を求めたが、三つ以上の項目を組み合わせた場合、例えば確率密度を含む四次元以上の空間を超平面(hyperplane)で分割して、α%断面面積を求めてもよい。
【符号の説明】
【0087】
2 :生産設備
3 :異常検知装置
31:データ取得部
32:モデル生成部
33:スコア算出部
34:検知部
35:表示制御部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13A
図13B
図14
図15
図16
図17