(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-01
(45)【発行日】2024-05-13
(54)【発明の名称】異常スコア算出装置、異常スコア算出方法およびプログラム
(51)【国際特許分類】
G05B 23/02 20060101AFI20240502BHJP
【FI】
G05B23/02 302T
G05B23/02 V
(21)【出願番号】P 2020155587
(22)【出願日】2020-09-16
【審査請求日】2022-08-26
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】安藤 純平
(72)【発明者】
【氏名】渡邉 航
(72)【発明者】
【氏名】伊東 孝幸
(72)【発明者】
【氏名】小野 利幸
【審査官】田中 友章
(56)【参考文献】
【文献】特開2009-076056(JP,A)
【文献】国際公開第2015/118946(WO,A1)
【文献】特開2019-125206(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
(57)【特許請求の範囲】
【請求項1】
製造物または製造工程の状態に関する第1データを取得するデータ取得部と、
前記第1データに基づいて複数の異常モードのそれぞれについて異常スコアを算出するか、あるいは、前記第1データの項目ごとに前記第1データの異常スコアを算出する第1処理部と、
前記異常スコアの発生の度合いが略同一になるように、異なる異常モードで算出された複数の前記異常スコア、または、前記第1データの項目ごとに算出された複数の前記異常スコアのそれぞれをスケール変換する第2処理部と、
を備え
、
前記第2処理部は、過去の異常スコアの分布の統計モデルを前記異常スコアの分布にフィッティングし、フィッティング後の統計モデルにおける前記異常スコアに対応する確率を、スケール変換後の異常スコアとして算出する、
異常スコア算出装置。
【請求項2】
前記データ取得部は、第1範囲の前記第1データと第2範囲の前記第1データとを取得し、
前記第1処理部は、前記第1範囲の前記第1データと前記第2範囲の前記第1データとを比較することにより、前記異常スコアを算出する、
請求項1に記載の異常スコア算出装置。
【請求項3】
前記第1範囲は、第1の期間であり、
前記第2範囲は、前記第1の期間とは異なる第2の期間である、
請求項2に記載の異常スコア算出装置。
【請求項4】
前記第1範囲は、前記製造物の製造管理単位に基づいて決定される範囲であり、
前記第2範囲は、前記第1範囲の製造管理単位とは異なる製造管理単位に基づいて決定される範囲である、
請求項2に記載の異常スコア算出装置。
【請求項5】
前記第2処理部は、過去の異常スコアの発生分布に基づいて、前記異常スコアの発生確率に基づく数値に前記異常スコアを変換することにより、前記異常スコアをスケール変換する、
請求項1から4までのいずれか1項に記載の異常スコア算出装置。
【請求項6】
前記第2処理部は、前記第1データの製造管理基準に基づいて、前記異常スコアの発生確率に基づく数値に前記異常スコアを変換することにより、前記異常スコアをスケール変換する、
請求項1から
5までのいずれか1項に記載の異常スコア算出装置。
【請求項7】
前記データ取得部は、前記第1範囲の特徴量を算出し、算出した特徴量を出力する、
請求項2に記載の異常スコア算出装置。
【請求項8】
前記データ取得部は、前記第1範囲の特徴量と前記第2範囲の特徴量とをさらに取得し、
前記第1処理部は、前記第1範囲の特徴量と前記第2範囲の特徴量とを比較することにより、前記異常スコアを算出する、
請求項2に記載の異常スコア算出装置。
【請求項9】
スケール変換された異常スコアを取得し、前記スケール変換された異常スコアを表示する表示データを生成する生成部をさらに備える、
請求項1から
8までのいずれか1項に記載の異常スコア算出装置。
【請求項10】
前記第1データは、製造装置に設置されたセンサーの検出値を含む、
請求項1から
9までのいずれか1項に記載の異常スコア算出装置。
【請求項11】
製造物または製造工程の状態に関する第1データを取得することと、
前記第1データに基づいて複数の異常モードのそれぞれについて異常スコアを算出するか、あるいは、前記第1データの項目ごとに前記第1データの複数の異常スコアを算出することと、
前記異常スコアの発生の度合いが略同一になるように、異なる異常モードで算出された複数の前記異常スコア、または、前記第1データの項目ごとに算出された複数の前記異常スコアのそれぞれをスケール変換することと、
を備え
、
前記スケール変換することは、過去の異常スコアの分布の統計モデルを前記異常スコアの分布にフィッティングし、フィッティング後の統計モデルにおける前記異常スコアに対応する確率を、スケール変換後の異常スコアとして算出することを含む、
方法。
【請求項12】
コンピュータに、
製造物または製造工程の状態に関する第1データを取得する機能と、
前記第1データに基づいて複数の異常モードのそれぞれについて異常スコアを算出するか、あるいは、前記第1データの項目ごとに前記第1データの異常スコアを算出する機能と、
前記異常スコアの発生の度合いが略同一になるように、異なる異常モードで算出された複数の前記異常スコア、または、前記第1データの項目ごとに算出された複数の前記異常スコアのそれぞれをスケール変換する機能と、
を実現させるためのプログラム
であって、
前記スケール変換する機能は、過去の異常スコアの分布の統計モデルを前記異常スコアの分布にフィッティングし、フィッティング後の統計モデルにおける前記異常スコアに対応する確率を、スケール変換後の異常スコアとして算出する機能を含む、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、異常スコア算出装置、方法およびプログラムに関する。
【背景技術】
【0002】
製造業において、製品不良や製造装置の故障を早期に検知して対策することは、歩留まり改善に繋がるため非常に重要である。そのために、製品の製造過程の製造データを取得し、データの可視化、製品や製造装置の異常検知やその原因推定を行う取り組みが、なされている。
【0003】
異常検知や異常の原因推定には、製品の寸法や電気的な特性などの製品に関するデータ、使用した材料や使用した製造装置などの製造条件に関するデータ、製造装置の稼働実績などの製造装置に関するデータなどの様々なデータが用いられる。そのため、異常検知や異常の原因推定に用いられるデータには、センサーの出力値や、どの製造条件で製造されたかを表すフラグなどの多様なデータが混在している。また、異常検知や異常の原因推定に用いられるデータには、連続値データ、離散値データ、テキストデータなどの様々な性質のデータが存在する。連続値データの精度は、観測するセンサーの性能や品質管理指標に基づき決まるため、データごとに小数点精度が異なることがある。また、製造IoT(Internet of Things)技術の発達により、製造に関する様々なデータが容易に取得可能になり、製造データの項目数が増加している。それに伴い、データの種類や性質も多種多様に増加している。
【0004】
異常検知や異常の原因推定では、データの種類に応じた様々な処理がなされている。一般に、製品に関するデータや製造条件に関するデータに対して、統計処理が用いられることが多い。しかし、膨大な数のデータを人手で解析する方法は、作業者の負担が大きいため、極めて困難である。そのため、近年は、製造装置ごと、または、製造装置等に設置されたセンサーごとにデータを集計し、得られたデータに計算機上で統計処理を行い、統計処理の結果に対する集計と解析を人手で行う試みが広く行われている。
【0005】
例えば、製造装置の故障予知を目的として、製造装置の稼働実績を表す指標を複数組み合わせた値を用いて時系列解析を行い、特異的な変化点を検知する方法が提案されている。この方法では、複数の指標を組み合わせた値を時系列解析に用いることで、個々の指標を監視しているだけでは判定することが難しい異常を検知することができる。加えて、センサーデータ(センサーの出力値)のようにセンサーごとに性質の異なるデータを使わず、製造装置の稼働実績のようなデータ間の性質が似ているデータを用いることにより、センサーの構成やセンシングに関する専門知識を用いずに、簡便な構成で実施できる利点もある。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
製造IoT技術の発達に伴い、異常検知や異常の原因推定の対象となるデータが増大しており、人手によるデータ解析は作業者の負担が大きく困難である。そのため、製造装置ごと、または、センサーごとにデータを集計し、得られたデータに対して計算機上で統計処理を行い、その結果を人手で解析する試みが広く行われている。しかし、製造装置やセンサーの数が膨大な場合、計算機上で統計処理した結果を人手で解析するのにも負担が大きい。そのため、どの製造装置でどのような異常が発生しているかを人手で確認するのにも時間がかかってしまい、異常に対する対応が遅れる可能性がある。
【0008】
本発明が解決しようとする課題は、多様な製造データに基づいて算出された異常に関する複数の値を比較可能な形へ変換することができる異常スコア算出装置、方法およびプログラムを提供することである。
【課題を解決するための手段】
【0009】
このような課題を解決するため、実施形態の異常スコア算出装置は、データ取得部と、第1処理部と、第2処理部と、を備える。データ取得部は、製造物または製造工程の状態に関する第1データを取得する。第1処理部は、前記第1データに基づいて複数の異常モードのそれぞれについて異常スコアを算出するか、あるいは、種類の異なる複数の前記第1データのそれぞれについて異常スコアを算出する。第2処理部は、前記異常スコアの発生の希少度合いが略同一になるように複数の前記異常スコアのそれぞれをスケール変換する。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本実施形態に係る異常スコア算出装置とその周辺装置を含むシステムの構成の一例を示す図である。
【
図2】
図2は、本実施形態に係る製造データベースに記録されているデータの一例を示す図である。
【
図3】
図3は、本実施形態に係る異常スコア算出装置が取得した第1データの一例を示す図である。
【
図4】
図4は、本実施形態に係る異常スコア算出装置が取得した特徴量の一例を示す図である。
【
図5】
図5は、本実施形態に係る異常スコア算出装置による異常スコア算出処理の処理手順を例示するフローチャートである。
【
図6】
図6は、本実施形態に係る異常スコア算出装置によるスケール変換処理の処理手順を例示するフローチャートである。
【
図7】
図7は、本実施形態に係る異常スコア算出装置によるスケール変換処理において異常スコアをスケール変換する方法の一例を説明するための図である。
【
図8】
図8は、本実施形態に係る異常スコア算出装置によるスケール変換処理において異常スコアをスケール変換する方法の一例を説明するための図である。
【
図9】
図9は、本実施形態に係る異常スコア算出装置により算出された異常スコアを表示する表示用画面の一例を示す図である。
【
図10】
図10は、本実施形態に係る異常スコア算出装置により算出された異常スコアを表示する表示用画面の一例を示す図である。
【
図11】
図11は、本実施形態に係る異常スコア算出装置により算出された異常スコアを表示する表示用画面の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら、異常スコア算出装置、方法およびプログラムの実施形態について詳細に説明する。以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【0012】
図1は、本実施形態に係る異常スコア算出装置10とその周辺装置を含むシステムの構成を示す図である。本実施形態の異常スコア算出装置10は、ネットワークを介して、製造データベース20と、特徴量データベース30と、スケール情報データベース40と、表示データ生成装置50と、表示装置60とに接続されている。ネットワークは、例えば、LAN(Local Area Network)である。なお、ネットワークへの接続は、有線接続、及び無線接続を問わない。また、接続される回線はLANに限定されない。インターネット等、公衆の通信回線に接続するようにしても構わない。
【0013】
製造データベース20には、製造物または製造工程の状態に関するデータ(以下、製造データと呼ぶ)が記録されている。製造データは、連続値、整数値、カテゴリデータなど多種多様な種類のデータを含む。製造データは、例えば、製造物や製造装置などに設置されたセンサーから取得されたセンサー値や、不良品率等を含む。
【0014】
また、製造データベース20には、製造データとともに、製造物の個体を識別するためのID、製造装置の識別番号、センサーの識別番号、製造日時を示すタイムスタンプ、同じ製造条件で製造されたことを表す製造管理単位、不良品率、製造条件などが、製造データごとに記録されている。製造管理単位は、例えば、ロットである。ここで、製造データベース20は、一般的な関係データベース管理システム(RDBMS)であるものとして説明する。なお、製造データベース20は、NoSQL系のデータベースや、XML等の知識構造化したデータベースであってもよい。また、製造データベース20に記録されるデータは、CSVやJson等のフォーマットのファイルであってもよく、製造装置から出力されるRawデータであってもよい。
【0015】
図2は、製造データベース20に記録されているデータの一例を示す図である。
図2において、「データ1」の列のデータは、識別番号が「1」の製造装置から取得した製造データを表し、「データ2」の列のデータは、識別番号が「2」の製造装置から取得した製造データを表し、「データ3」の列のデータは、識別番号が「3」の製造装置から取得した製造データを表す。
図2に示すように、製造データは、小数点以下の桁数が多い連続値であってもよく、小数点以下の桁数が少ない連続値であってもよく、整数値であってもよい。また、「データ4」の列のデータは、製造管理単位を表す。製造管理単位は、整数値であってもよく、カテゴリデータであってもよい。「データN-1」の列のデータは、カテゴリデータを表す。カテゴリデータは、例えば、製造条件である。「データN」の列のデータは、タイムスタンプを表す。「ID」の列のデータは、製造物のIDを表す。「データ1」の列のデータは、識別番号が「1」のセンサーの計測値であってもよい。
図2に示すデータに加えて、製造条件、不良率等などが製造データベース20に記録されていてもよい。
【0016】
特徴量データベース30には、製造データの特徴量が記録されている。特徴量は、製造データの特性を数値化したものである。特徴量については、後述する。特徴量データベース30は、製造データベース20と同じく、関係データベース管理システム(RDBMS)やNoSQL系のデータベースや、XML等の知識構造化したデータベースであってもよい。また、特徴量データベース30に記録されるデータは、CSVやJson等のフォーマットのファイルであってもよい。
【0017】
スケール情報データベース40には、スケール算出情報が記録されている。スケール算出情報は、過去の異常スコアを含む。異常スコアは、製造データの異常度合い(変化の度合い)を表す数値である。異常スコアについては、後述する。
【0018】
異常スコア算出装置10は、製造データベース20から第1データを取得する。第1データは、製造データを含む。異常スコア算出装置10は、取得した第1データに基づいて、複数の異常スコアを算出する実行する。異常スコアは、第1データの変化の程度を表す値である。異常スコア算出装置10は、スケール情報データベース40からスケール算出情報を取得し、スケール算出情報に基づいて、異常スコアの発生の度合いが略同一になるように複数の異常スコアのそれぞれをスケール変換する。異常スコア算出装置10は、スケール変換された異常スコアを表示データ生成装置50に出力する。異常スコアの発生の度合いが略同一になるように複数の異常スコアのそれぞれをスケール変換することは、異常スコアを発生確率に基づく値に変換することや、異常スコアを正規化することを含む。異常スコアの発生の度合いは、異常スコアの発生の希少度合いと呼ばれてもよい。
【0019】
次に、異常スコア算出装置10の構成について説明する。異常スコア算出装置10は、異常スコア算出装置10全体を制御する処理回路と、記憶媒体(メモリ)と、を備える。処理回路は、記憶媒体内のプログラムを呼び出し実行することにより、データ取得部11、スケール算出部12および異常スコア算出部13の機能を実行するプロセッサである。処理回路は、CPU(Central Processing Unit)、ASIC(Application Specific Integrated Circuit)又はFPGA(Field Programmable Gate Array)等を含む集積回路から形成される。プロセッサは、1つの集積回路から形成されてもよく、複数の集積回路から形成されてもよい。
【0020】
記憶媒体には、プロセッサで用いられる処理プログラム、及び、プロセッサでの演算で用いられるパラメータ及びテーブル等が記憶される。記憶媒体は、種々の情報を記憶するHDD(Hard Disk Drive)やSSD(Solid State Drive)、集積回路等の記憶装置である。また、記憶装置は、HDDやSSD等以外にも、CD(Compact Disc)、DVD(Digital Versatile Disc)、フラッシュメモリ等の可搬性記憶媒体であってもよく、フラッシュメモリ、RAM(Random Access Memory)等の半導体メモリ素子等との間で種々の情報を読み書きする駆動装置であってもよい。
【0021】
なお、データ取得部11、スケール算出部12および異常スコア算出部13が有する各機能は、単一の処理回路にて実現されてもよく、複数の独立したプロセッサを組み合わせて処理回路を構成し、各プロセッサがプログラムを実行することにより各機能を実現するものとしても構わない。また、データ取得部11、スケール算出部12および異常スコア算出部13が有する各機能は、個別のハードウェア回路として実装してもよい。
【0022】
データ取得部11は、製造データベース20から第1データを取得する。第1データは、製造データを含む。製造データは、主に、連続値や整数値などの数値データである。製造データがカテゴリデータである場合、データ取得部11は、カテゴリデータを数値データに変換して取得する。この場合、データ取得部11は、例えば、カテゴリごとに対応する数値に変換する手法を用いて、カテゴリデータを数値データに変換する。カテゴリ値ごとに対応する数値に変換する手法には、例えば、ラベル変換、頻度変換等がある。
【0023】
データ取得部11は、第1データとともに、各製造データのID、タイムスタンプ、製造管理単位などを、製造データベース20から取得する。ただし、CSVフォーマットなどの製造データを第1データとして取得する場合、製造データベース20にID、タイムスタンプ、製造管理単位などが記録されていないことがある。この場合、データ取得部11は、第1データの各製造データに通し番号などを付与する。
【0024】
また、データ取得部11は、第1データに基づいて、あらかじめ定めた条件に基づき、2つのサブデータ(第1サブデータ及び第2サブデータ)を取得する。例えば、データ取得部11は、サブデータごとに設定されたデータの範囲に基づいて、第1データから第1サブデータ及び第2サブデータを取得する。第1サブデータ及び第2サブデータは、異常スコアを算出する処理において、統計的手法等に基づいて比較することにより一方のサブデータの異常スコアを算出する処理に用いられる。第1サブデータ及び第2サブデータのデータの範囲は、時系列解析の窓サイズに該当する。
【0025】
サブデータのデータの範囲は、解析したい異常の種類に応じた範囲に設定される。これにより、異常の種類に適した解析を行うことができる。例えば、異常の種類によっては、短い期間に変化するものと、長い期間を掛けて変化するものが存在する。短期的なデータの変化を解析したい場合には、データの範囲として短い期間が設定され、中長期的なデータの変化を解析したい場合には、データの範囲として長い期間が設定される。また、解析を行いたい期間(比較したい期間)が決まっている場合、その期間をデータの範囲として指定することもできる。
【0026】
例えば、サブデータのデータの範囲として任意のIDが設定された場合、データ取得部11は、IDを参照し、第1データに含まれる製造データのうち設定されたIDに該当するデータを、当該サブデータのデータとして取得する。また、例えば、取得するデータの範囲として任意の期間が設定された場合、データ取得部11は、タイムスタンプを参照し、第1データに含まれる製造データのうち任意の期間に含まれるデータを当該サブデータのデータとして取得する。例えば、データ取得部11は、第1の期間に含まれるデータを第1サブデータのデータとして取得し、第1の期間とは異なる第2の期間に含まれるデータを第2サブデータのデータとして取得する。また、取得するデータの範囲として任意の製造管理単位が設定された場合、データ取得部11は、製造管理単位を参照し、第1データに含まれる製造データのうち任意の製造管理単位のデータを当該サブデータのデータとして取得する。
【0027】
なお、各サブデータに含まれる製造データは、重複していてもよい。また、第1サブデータに含まれるデータの個数と、第2サブデータに含まれるデータの個数は異なっていてもよい。第1サブデータに含まれる製造データと第2サブデータに含まれる製造データが全て一致しなければよい。
【0028】
本実施形態では、製造データと、製造装置の識別番号と、各製造データの製造管理単位とを取得し、サブデータのデータの範囲として製造管理単位を設定する例について説明する。
図3は、データ取得部11により取得された製造データと製造管理単位とを示す図である。
図3において、表の横軸(第1データの列)は、製造装置の識別番号を示し、表の縦軸は、製造管理単位を示す。例えば、第1サブデータのデータの範囲(以下、第1範囲と呼ぶ)として製造管理単位「1」が設定され、第2サブデータのデータの範囲(以下、第2範囲と呼ぶ)として製造管理単位「2」が設定された場合、データ取得部11は、第1データに含まれる製造データのうち、製造管理単位が「1」である全ての製造データを第1サブデータとして取得する。また、データ取得部11は、第1データに含まれる製造データのうち、製造管理単位が「2」である全ての製造データを第2サブデータとして取得する。
【0029】
また、データ取得部11は、第1データに含まれる製造データの特徴量を取得する。特徴量は、第1データに含まれる製造データの特性を数値化したものである。特徴量は、第1データに含まれる製造データに基づいて、第1データの列ごとに算出される。また、特徴量は、第1データに含まれる製造データに基づいて、サブデータごとに算出される。特徴量は、平均、分散、中央値、最頻値といった基本統計量や、分位数、データの個数などである。特徴量は、分散、標準偏差などであってもよい。また、特徴量は、異常スコア算出の際に生成される中間生成データであってもよい。また、特徴量は、データ量削減のためサンプリングされたベクトルや、確率密度関数や、深層特徴量であってもよい。また、特徴量は、上記数値を次元圧縮したベクトルであってもよい。
【0030】
データ取得部11は、第1サブデータ及び第2サブデータのそれぞれの特徴量を特徴量データベース30から取得する。特徴量が特徴量データベース30に存在しない場合、データ取得部11は、第1データを用いて、特徴量を算出する。
図4は、特徴量の一例を示す図である。算出された特徴量は、特徴量データベース30に格納され、異常スコアを算出する処理に用いられる。
【0031】
本実施形態では、特徴量を用いて異常スコアを算出することにより、特徴量を用いずに第1データから異常スコアを算出する場合に比べて、異常スコアの算出時において、データの取得や異常スコアの算出に関する処理にかかる時間が削減される。
【0032】
次に、異常スコア算出部13について説明する。異常スコア算出部13は、第1処理部と第2処理部とを含む。第1処理部は、第1データに基づいて、複数の異常スコアを算出する処理を実行する。第2処理部は、スケール算出部12から受けとったスケール算出情報を用いて、算出した異常スコアの値を変換する処理を実行する。
【0033】
異常スコア算出部13の第1処理部は、2種以上の異常モードのそれぞれについて異常スコアを算出する。あるいは、異常スコア算出部13は、2種以上の製造データのそれぞれについて、異常スコアを算出する。
【0034】
異常モードは、異常スコアの算出に用いるパラメータの種類を表している。本実施形態では、異常モードは、第1範囲と第2範囲との変化(異なり方)の種類を表している。異常モードには、例えば、平均モード、ばらつきモード、分布形状モードなどがある。平均モードは、第1サブデータの平均値と第2サブデータの平均値が大きく異なる場合に用いられる。ばらつきモードは、例えば、第1サブデータの分散と第2サブデータの分散が大きく異なる場合に用いられる。分布形状モードは、分布形状の変化を捉えるモードである。その他、異常モードとして、第1サブデータに含まれる異常数と第2サブデータに含まれる異常数の変化を表すモードが用いられてもよい。この場合、各サブデータに含まれる異常数は、閾値判定等により事前に算出される。
【0035】
なお、異常スコア算出部13は、同一の変化の種類に対して複数の異常スコアを算出してもよい。すなわち、異常スコア算出部13は、1つの異常モードに対して複数の種類の異常スコアを算出してもよい。この場合、1つの異常モードにおいて、変化に関する感度を変えて、複数の異なる感度に対する異常スコアを算出する。例えば、平均モードにおいて、平均の変化と外れ値が存在する場合に、第1サブデータと第2サブデータの平均値の変化に関する異常スコアと、第1サブデータと第2サブデータの頑強な中央値の変化に関する異常スコアが用いられる。
【0036】
以下、本実施形態では、2種以上の異常モードのそれぞれについて異常スコアを算出する例について説明する。複数の異常モードで異常スコアを算出することにより、データの変化を多角的に捉えることができる。
【0037】
異常スコアは、異常モードに対応したアルゴリズムで算出される。異常スコアは、例えば、第1範囲と第2範囲の特徴量間の差や比である。例えば、異常モードが平均モードである場合、異常スコア算出部13は、第1範囲の平均と第2範囲の平均との差や比を、異常スコアとして算出する。例えば、異常スコアが第1範囲の平均と第2範囲の平均との差である場合、異常スコアSμは、式(1)を用いて求められる。ここで、μ1は第1範囲の平均値であり、μ2は第2範囲の平均値である。あるいは、異常スコアが正の値となるように、式(2)を用いて異常スコアSμを算出してもよい。また、平均値の代わりに、中央値などの平均の変化を捉えることができる特徴量を用いて異常スコアを算出してもよい。
【数1】
【数2】
異常モードが平均モード以外のモードである場合、異常スコア算出部13は、異常モードに適した特徴量やアルゴリズムを適用して、異常スコアを算出する。例えば、異常モードがばらつきモードである場合、異常スコア算出部13は、第1範囲の標準偏差と第2範囲の標準偏差を特徴量として用いて異常スコアを算出する。
【0038】
なお、特徴量を用いずに異常スコアを算出することもできる。この場合、例えば、データ間の差や比の代わりに、データ間の距離や類似度を用いて異常スコアが算出される。例えば、第1範囲と第2範囲の分位点間のカルバック・ライブラー情報量やジェンセン・シャノン情報量を異常スコアとして算出してもよい。その他、第1範囲と第2範囲のコサイン距離や相関係数などが異常スコアとして用いられてもよい。
【0039】
また、サブデータを用いずに異常スコアを算出することもできる。例えば、異常検知アルゴリズムを用いて異常スコアを算出することができる。この場合、第1のデータに含まれる製造データに対して、第1データの列ごとに閾値処理やOne Class SVMなどの異常検知アルゴリズムを適用し、異常検知アルゴリズムの結果から得られる異常数などの比率を異常スコアとする。具体的には、例えば、異常検知アルゴリズムを適用したデータ全数に対する検知された件数の比率(推定異常発生率)が、異常スコアとして算出される。なお、異常検知アルゴリズムにおいて、パラメータによって異常検知の感度が変わる場合がある。その場合、パラメータを変更することにより、複数の異常スコアを算出してもよい。
【0040】
次に、スケール算出部12について説明する。スケール算出部12は、スケール情報データベース40からスケール算出情報を取得する。スケール算出情報は、過去に算出された異常スコアを含む。スケール算出部12は、統計モデリング手法を用いて、過去の異常スコアの分布を統計モデル化する。このとき、第1データの列のそれぞれについて、異常モードごとに、過去の異常スコアの分布が統計モデル化される。統計モデルとしては、例えば、ガンマ分布、カイ二乗分布、正規分布などの統計分布が用いられる。スケール算出部12は、統計モデル化された異常スコアの分布を、スケール算出情報として、異常スコア算出部13へ出力する。
【0041】
次に、異常スコア算出部13の第2処理部による処理について説明する。異常スコア算出部13は、まず、スケール算出情報として、統計モデル化された異常スコアの分布をスケール算出部12から取得する。次に、異常スコア算出部13は、スケール算出情報に基づき、複数の異常スコアの発生の希少度合いが略同一になるように、異常スコアのそれぞれをスケール変換する。具体的には、異常スコア算出部13は、過去の異常スコアの分布の統計モデルを異常スコアの分布にフィッティングし、フィッティング後の統計モデルにおける異常スコアに対応する確率を、スケール変換後の異常スコアとして算出する。スケール変換された異常スコアは、表示データ生成装置50に出力される。異常スコアの分布を統計モデル化することにより、分布の異なる複数の異常スコアを、発生頻度に基づく確率値として扱うことができる。これにより、異なる列間での異常スコアの比較や、異なる異常モード間での異常スコアの比較を容易に行うことができる。
【0042】
図7及び
図8を用いて、統計モデリング手法を用いて異常スコアをスケール変換する方法の一例を説明する。
図7は、スケール算出部12により過去の異常スコアの分布を統計モデル化する方法を説明するための図である。
図7では、統計モデルとしてガンマ分布が用いられている。ガンマ分布は、最尤推定により2つのパラメータを推定することで、正の連続値をとる値の統計モデリングを行う際に用いられる。
図7の横軸は、異常スコアの値を示す。
図7の縦軸は、異常スコアの頻度を示す。
図7では、過去の異常スコアの分布を示すヒストグラム71が示されている。また、
図7では、過去の異常スコアの分布に基づいてスケール算出部12により生成された統計モデル化された統計モデル72が示されている。ここでは、製造データが異常であるほど値が小さくなる異常スコアについて説明する。
【0043】
図8は、統計モデルを用いて異常スコアをスケール変換する処理を説明するための図である。この一例では、異常スコア算出部13は、まず、異常スコア算出部13の第1処理部により算出された異常スコアSμと、統計モデル72とを用いて、異常スコアSμをパーセント点とした際の、パーセント点を基準にした下側確率を算出する。下側確率は、
図8の斜線部73に含まれる面積に相当する。次に、異常スコア算出部13は、算出した下側確率を、スケール変換された異常スコアとして、表示データ生成装置50に出力する。スケール変換された異常スコアは、0以上で、かつ1以下の数値となる。スケール変換された異常スコアは、数値が1に近いほど、発生確率が小さいことを示す。
なお、製造データが異常であるほど値が小さくなる異常スコアについては、異常スコア算出部13は、異常スコアSμをパーセント点とした際の、パーセント点を基準にした上側確率を算出し、算出した下側確率をスケール変換された異常スコアとする。
【0044】
なお、統計モデリング手法を用いずに、異常スコアをスケール変換してもよい。例えば、データの正規化と呼ばれる手法やデータの標準化と呼ばれる手法を用いて、異常スコアをスケール変換してもよい。データの正規化を用いて異常スコアの値を変換する場合、スケール算出部12は、スケール情報データベース40から過去の異常スコアをスケール算出情報として取得し、スケール算出情報に基づいて異常スコアの最大値Xmaxと最小値Xminを抽出する。異常スコア算出部13の第2処理部は、異常スコアの最大値Xmaxと最小値Xminをスケール算出情報として取得する。異常スコア算出部13は、式(3)を用いて、異常スコアを正規化する。ここで、Xnormは正規化された異常スコアであり、Xmaxは異常スコアの最大値であり、Xminは異常スコアの最小値であり、Xは正規化を適用する異常スコアである。
【数3】
【0045】
また、製造データの計測値に対して製造管理基準が定められている場合、製造管理基準を用いて異常スコアをスケール変換してもよい。製造管理基準は、製造データの計測値の上限値と下限値を含む。上限値以下で、かつ、下限値以上の計測値に対応する製品は、良品として取り扱われる。一方、上限値より大きい計測値、又は、下限値より小さい計測値に対応する製品は、不良品として取り扱われる。この場合、上限値と下限値に基づいて、製造管理基準内でありうる最大の変化が異常スコアの最大値になるように、異常スコアのスケールが変換される。
【0046】
例えば、スケール算出部12は、製造管理基準を満たす範囲で計測値が変化した際に異常スコアが取り得る値の範囲を算出し、異常スコアの最大値と最小値を決定する。スケール算出部12は、異常スコアの最大値と最小値を、スケール算出情報として異常スコア算出部13に出力する。異常スコア算出部13の第2処理部は、異常スコアの最大値と最小値を式(3)と同様の式に適用することにより、異常スコアをスケール変換する。このように、異常スコアのスケールを製造管理基準に合わせることで、異常スコアの異常度合いを製造管理基準と照らし合わせて判断することができる。
【0047】
なお、製造管理基準を用いて、異常スコアの発生確率に基づく数値に異常スコアをスケール変換してもよい。この場合、まず、スケール算出部12は、製造管理基準の上限値以下で、かつ、下限値以上の計測値に基づいて異常スコアを算出することにより、製造管理基準を満たす異常スコアが取り得る値域を推定する。そして、異常スコアの値域に基づいて、製造管理基準を満たす計測値に基づいて算出される異常スコアの最大値(推定値)を推定する。次に、スケール算出部12は、最大値よりも大きい値の異常スコアを取り除いた分布を統計モデルにフィッティングすることにより、統計モデル(スケール変換モデル)を生成する。このとき、製造管理基準の上限値より大きい計測値、または、下限値より小さい計測値の異常スコアは、異常スコアが取りうる値域において最大値になるように変換(クリッピング)される。具体的には、スケール算出部12は、最大値よりも大きい異常スコアを最大値に変換した後に、変換後の異常スコアの分布を用いて統計モデルを生成する。異常スコア算出部13の第2処理部は、生成した統計モデルを用いて、異常スコアをスケール変換する。この場合でも、異常スコアのスケールを製造管理基準に基づいて算出するとで、異常スコアの異常度合いを製造管理基準と照らし合わせて判断することができる。
【0048】
表示データ生成装置50は、スケール変換された異常スコアを異常スコア算出装置10から取得し、スケール変換された異常スコアを表示する表示用データを生成する。表示データ生成装置50は、生成した表示用データを表示装置60に出力する。
【0049】
表示装置60は、スケール変換された異常スコアを表示する表示用データを表示データ生成装置50から取得し、取得した表示用データを表示する。表示装置60は、例えば、液晶ディスプレイである。
【0050】
次に、異常スコア算出装置10により実行される処理の動作について説明する。
図5は、異常スコア算出処理の手順の一例を示すフローチャートである。異常スコア算出処理は、異常スコアの算出に用いるデータを取得し、異常スコアを算出する処理である。なお、以下で説明する各処理における処理手順は一例に過ぎず、各処理は可能な限り適宜変更可能である。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0051】
図5に示すように、まず、データ取得部11は、製造データを含む第1データと、各製造データの製造管理単位を取得する(ステップS101)。ここで、製造データの列の総数をNとし、製造データの列番号をi(1≦i≦N)とする。例えば、列iのデータは、識別番号が「1」の製造装置から取得した製造データである。次に、データ取得部11は、第1データの列iについて、第1範囲の製造データを含む第1サブデータと第2範囲の製造データを含む第2サブデータとを用いて、第1範囲の特徴量と第2範囲の特徴量を算出し、取得する(ステップS102)。次に、異常スコア算出部13は、第1データの列iにおける第1範囲の特徴量と第2範囲の特徴量とを、統計処理によって比較することにより、異常モードjにおける異常スコアを算出する(ステップS103)。ここで、異常モードの総数をMとし、異常モードの通し番号をj(1≦j≦M)とする。異常スコア算出部13は、全ての異常モードについてステップS103の処理を繰り返すことにより、第1データの列iについてM個の異常スコアを算出する(ステップS103-S104)。また、異常スコア算出部13は、第1データの全ての列についてステップS102-S104の処理を繰り返すことにより、N個の列のそれぞれについて、M個の異常スコアを算出する(ステップS102-S105)。
【0052】
図6は、スケール変換処理の手順の一例を示すフローチャートである。スケール変換処理は、異常スコアのスケール変換に用いるスケール算出情報を取得し、スケール算出情報に基づいて異常スコアをスケール変換する処理である。
【0053】
図6に示すように、まず、スケール算出部12は、スケール算出情報として、過去の異常スコアを取得し、過去の発生度合いに基づいて異常スコアを統計モデル化する(ステップS201)。次に、スケール算出部12、スケール算出情報として、異常スコアの統計モデルを異常スコア算出部13の第2処理部へ出力する。次に、異常スコア算出部13は、第1データの列iを選択する(ステップS202)。次に、第1データの列iについて、異常モードjにおける異常スコアをスケール算出情報に基づき変換する(ステップS203)。異常スコア算出部13は、全ての異常モードについてステップS203の処理を繰り返すことにより、第1データの列iのM個の異常モードについて、異常スコアを変換する(ステップS203-S204)。また、異常スコア算出部13は、第1データの全ての列についてステップS202-S204の処理を繰り返すことにより、N個の列のそれぞれについて、M個の異常モードの異常スコアのそれぞれを変換する(ステップS202-S205)。これにより、算出された複数の異常スコアは、列間、および、異常モード間で過去の発生度合いに基づく略同一のスケールに変換される。
【0054】
スケール変換された異常スコアは、異常スコア算出装置10から表示データ生成装置50に出力される。表示データ生成装置50は、スケール変換された異常スコアが表示された表示用画面を生成し、表示装置60は、表示用画面を表示する。
【0055】
図9は、表示装置60に表示される表示用画面の一例を示す図である。
図9に示す表示用画面では、スケール変換された複数の異常スコアが大きさ順にランキング形式で表示されている。
図9に示す表示用画面では、値が大きい順に、スケール変換された複数の異常スコアが表示されている。スケール変換された異常スコアは、数値が1に近いほど、発生確率が小さいことを示す。このため、上部に表示された異常スコアほど、発生確率が小さい異常が生じていることを示す。作業者は、表示用画面を確認することにより、異なる異常モード間で、かつ、異なる項目(例えば製造装置)間で、異常スコアの比較を行うことができる。
【0056】
図10は、表示装置60に表示される表示用画面の他の一例を示す図である。
図10に示す表示用画面では、異常モード別に、スケール変換された異常スコアが大きさ順にランキング形式で表示されている。作業者は、表示用画面を確認することにより、同一の異常モードで算出された異常スコアについて、異なる項目間(例えば異なる製造装置間)で、異常スコアの比較を行うことができる。
【0057】
図11は、表示装置60に表示される表示用画面の他の一例を示す図である。
図11に示す表示用画面では、スケール変換された異常スコアが時系列順にタイムライン表示されている。
図11に示す表示用画面では、異常スコアが算出された日付ごとに、値の大きさ順に上位数件の異常スコアが抽出され、ランキング形式で表示されている。これにより、確認するべき異常に関するデータのみが表示される。作業者は、表示用画面を確認することにより、異常スコアの経時的な変化を把握することができる。また、異常スコアが算出された日付ごとに、所定の閾値以上の異常スコアのみが表示されてもよい。
【0058】
以下、本実施形態に係る異常スコア算出装置10の効果について説明する。
【0059】
本実施形態に係る異常スコア算出装置10は、製造物または製造工程の状態に関する第1データを取得し、第1データに基づいて複数の異常モードのそれぞれについて異常スコアを算出するか、あるいは、第1データに基づいて第1データの複数の項目のそれぞれについて異常スコアを算出し、異常スコアの発生の希少度合いが略同一になるように複数の異常スコアのそれぞれをスケール変換する。
【0060】
スケール変換された異常スコアは、異常スコア算出装置10から表示データ生成装置50に出力される。表示データ生成装置50は、スケール変換された異常スコアが表示された表示用画面を生成し、表示装置60は、表示用画面を表示する。
【0061】
上記構成により、本実施形態に係る異常スコア算出装置10によれば、複数の製造装置や複数のセンサーから得られる多様な製造データに基づいて算出された複数の異常に関する値を、比較可能な形へ変換することができる。作業者は、変換された値に基づいて、どの製造装置や製造条件において異常が発生したかを直感的に判断することができる。また、作業者は、どの程度の異常でどのような異常が発生したのかを直感的に判断することができる。また、作業者は、複数の異常が同時に発生した場合に、比較可能な形へ変換された値に基づいて、発生した異常の優先順位を判断することができる。また、作業者は、類似した異常に関する過去の事例や異常対応マニュアルを参照して、適切な対応を直ちに取ることができる。すなわち、製造データの異常に対して、略同一的な異常スコアを算出することにより、異常の解析負担を軽減することができる。
【0062】
また、本実施形態では、製造データとして、同じ製造装置に設置された複数のセンサーの検出値(センサーデータ)を用いて、異常スコアを算出することができる。作業者は、同じ製造装置に設置された複数のセンサーデータを用いて算出された異常スコアを確認することにより、異常の状況を詳細に確認することができる。
【0063】
また、本実施形態に係る異常スコア算出装置10は、過去の異常スコアの発生分布に基づいて、異常スコアの発生確率に基づく数値に異常スコアを変換することにより、異常スコアをスケール変換する。例えば、過去の異常スコアの分布の統計モデルを用いて発生確率に基づく数値に異常スコアを変換することにより、分布の異なる複数の異常スコアを発生頻度に基づく確率値として扱うことができる。これにより、異なる製造装置や異なるセンサー間での異常スコアの比較や、異なる異常モード間での異常スコアの比較を容易に行うことが可能になる。
【0064】
また、本実施形態に係る異常スコア算出装置10は、第1範囲の特徴量と第2範囲の特徴量とを比較することにより、異常スコアを算出する。特徴量を用いて異常スコアを算出することにより、特徴量を用いずに第1データから異常スコアを算出する場合に比べて、異常スコアの算出時において、データの取得や異常スコアの算出に関する処理時間を削減することができる。
【0065】
なお、本実施形態では、異常スコア算出装置10とは別体の表示データ生成装置50が設けられる例について説明したが、異常スコア算出装置10は表示データ生成装置50の機能と同様の機能を有してもよい。この場合、異常スコア算出装置10は、スケール変換された異常スコアを取得し、スケール変換された異常スコアを表示する表示データを生成する生成部をさらに備える。表示データ生成装置50及び、生成部を備える異常スコア算出装置10は可視化装置と呼ばれてもよい。
【0066】
かくして、本実施形態によれば、多様な製造データに基づいて算出された異常に関する複数の値を比較可能な形へ変換することができる異常スコア算出装置、方法およびプログラムを提供することができる。
【0067】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0068】
10…異常スコア算出装置、11…データ取得部、12…スケール算出部、13…異常スコア算出部、20…製造データベース、30…特徴量データベース、40…スケール情報データベース、50…表示データ生成装置、60…表示装置、71…ヒストグラム、72…統計モデル、73…斜線部。