(57)【特許請求の範囲】
【請求項１】
工場において収集した収集データから異常の有無を診断する診断システムであって、
複数のグループを規定するモデルに従って前記複数のグループのいずれかに前記収集データを分類することにより、異常の有無を診断する診断手段と、
前記収集データから、前記複数のグループとは異なる新たなグループに属するデータの候補を抽出する抽出手段と、
前記抽出手段によって抽出された前記候補から前記新たなグループを示す候補情報を生成する生成手段と、
前記候補情報を、前記複数のグループに属するデータとともに示す画面を表示して、前記新たなグループを前記複数のグループに追加すべきか否かを示す追加情報の入力をユーザから受け付ける受付手段と、
前記受付手段によって前記新たなグループを前記複数のグループに追加すべきであることを示す前記追加情報が受け付けられた場合に、前記新たなグループを含む新たなモデルを学習する学習手段と、を備え、
前記診断手段は、前記学習手段によって前記新たなモデルが学習されると、前記新たなモデルにより異常の有無を診断する、診断システム。
【請求項２】
前記生成手段は、前記抽出手段による抽出から除外されたデータであって、一のグループに属するデータが分類される複数のサブグループを生成し、
前記学習手段は、前記複数のサブグループを含む前記新たなモデルを学習する、
請求項１に記載の診断システム。
【請求項３】
前記受付手段は、前記抽出手段による抽出から除外されたデータが属するグループを変更する指示を受け付け、
前記学習手段は、前記指示によって属するグループが変更されたデータから前記新たなモデルを学習する、
請求項１又は２に記載の診断システム。
【請求項４】
前記モデルにより異常の有無を診断する複数の診断装置と、
前記モデルを学習する学習装置と、
を備える診断システムであって、
前記診断装置はそれぞれ、
工場において前記収集データを収集する収集手段と、
前記診断手段と、を有し、
前記学習装置は、
前記複数の診断装置によって収集された前記収集データから前記候補を抽出する前記抽出手段と、
前記受付手段と、
前記学習手段と、
前記学習手段によって学習された前記新たなモデルを前記複数の診断装置に送信する送信手段と、を有し、
前記診断装置の前記診断手段は、前記送信手段によって送信された前記新たなモデルにより異常の有無を診断する、
請求項１から３のいずれか一項に記載の診断システム。
【請求項５】
収集した収集データから異常の有無を診断する診断方法であって、
複数のグループを規定するモデルに従って前記複数のグループのいずれかに前記収集データを分類することにより、異常の有無を診断する第１診断ステップと、
前記収集データから、前記複数のグループとは異なる新たなグループに属するデータの候補を抽出する抽出ステップと、
前記抽出ステップにおいて抽出された前記候補から前記新たなグループを示す候補情報を生成する生成ステップと、
前記候補情報を、前記複数のグループに属するデータとともに示す画面を表示して、前記新たなグループを前記複数のグループに追加すべきか否かを示す追加情報の入力をユーザから受け付ける受付ステップと、
前記受付ステップにおいて前記新たなグループを前記複数のグループに追加すべきであることを示す前記追加情報が受け付けられた場合に、前記新たなグループを含む新たなモデルを学習する学習ステップと、
前記学習ステップにおいて学習された前記新たなモデルにより異常の有無を診断する第２診断ステップと、
を含む診断方法。
【請求項６】
収集した収集データから異常の有無を診断するコンピュータを、
複数のグループを規定するモデルに従って前記複数のグループのいずれかに前記収集データを分類することにより、異常の有無を診断する診断手段、
前記収集データから、前記複数のグループとは異なる新たなグループに属するデータの候補を抽出する抽出手段、
前記抽出手段によって抽出された前記候補から前記新たなグループを示す候補情報を生成する生成手段、
前記候補情報を、前記複数のグループに属するデータとともに示す画面を表示して、前記新たなグループを前記複数のグループに追加すべきか否かを示す追加情報の入力をユーザから受け付ける受付手段、
前記受付手段によって前記新たなグループを前記複数のグループに追加すべきであることを示す前記追加情報が受け付けられた場合に、前記新たなグループを含む新たなモデルを学習する学習手段、として機能させ、
前記診断手段は、前記学習手段によって前記新たなモデルが学習されると、前記新たなモデルにより異常の有無を診断する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本開示は、診断システム、診断方法及びプログラムに関する。
【背景技術】
【０００２】  ＦＡ（Factory Automation）の現場では、工場内の設備及び装置に取り付けられたセンサから得られるセンサデータを用いて当該設備及び装置の状態を診断することが広く行われている。診断される状態は、異常の有無であって、この異常は、例えば、診断対象の機器が正常に動作していない状態、他の異常の兆候が発生している状態、及び、複数の種類のうちの特定の種類の異常である。【０００３】  このようなセンサデータを用いた診断は、熟練工による手作業で行われることが多い。しかしながら、熟練工であっても、データを確認する作業には時間がかかる。そのため、設備又は装置自体がリアルタイムに状態を診断し、何らかの異常を検知した際には作業者に通知することが望ましい。そこで、センサからデータを取得して機械の稼働状態を判定するとともに異常を検知する技術を利用することが考えられる（例えば、特許文献１を参照）。【０００４】  特許文献１には、データから算出される特徴量に対してクラスタリングを施し、クラスタそれぞれに稼働状態を表すラベルを付与することで、工作機械の稼働状態を判定する技術について記載されている。この技術では、クラスタリング結果或いは付与されたラベルに基づいて特徴量から異常度を計算することで異常が検知される。特許文献１の技術によれば、工作機械に異常が生じたときに、当該異常をユーザに通知することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１７／０９００９８号
【発明の概要】
【発明が解決しようとする課題】
【０００６】  特許文献１には、事前知識ではラベル付け不可能な未知のクラスタが発見された場合に、ユーザにアラートを送信してラベル付けを作業者に委ねることが記載されている。また、稼働状態の判定結果をユーザが訂正する例についても記載されている。しかしながら、いずれの記載も、クラスタリングの結果に対して付与されるべきラベルをユーザが変更することを説明するものであって、クラスタリングの過程を更新することについては何ら考慮されていない。このため、ユーザの意図とは異なる誤ったクラスタリングがなされた場合には、そのようなクラスタリングが継続するおそれがある。したがって、異常の有無の診断精度を向上させる余地があった。【０００７】  本開示は、異常の有無の診断精度を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本開示の診断システムは、工場において収集した収集データから異常の有無を診断する診断システムであって、複数のグループを規定するモデルに従って複数のグループのいずれかに収集データを分類することにより、異常の有無を診断する診断手段と、収集データから、複数のグループとは異なる新たなグループに属するデータの候補を抽出する抽出手段と、抽出手段によって抽出された候補から新たなグループを示す候補情報を生成する生成手段と、候補情報を、複数のグループに属するデータとともに示す画面を表示して、新たなグループを複数のグループに追加すべきか否かを示す追加情報の入力をユーザから受け付ける受付手段と、受付手段によって新たなグループを複数のグループに追加すべきであることを示す追加情報が受け付けられた場合に、新たなグループを含む新たなモデルを学習する学習手段と、を備え、診断手段は、学習手段によって新たなモデルが学習されると、新たなモデルにより異常の有無を診断する。
【発明の効果】
【０００９】  本開示によれば、抽出手段が、収集データから、新たなグループに属するデータの候補を抽出し、受付手段が、新たなグループを複数のグループに追加すべきであることを示す追加情報を受け付けた場合に、学習手段が、新たなモデルを学習する。このため、新たなグループの追加が妥当である場合に限って新たなモデルを学習し、新たなモデルにより異常の有無を診断することが可能になる。したがって、異常の有無の診断精度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係る診断システムの構成を示す図
【図２】実施の形態１に係る診断装置のハードウェア構成を示す図
【図３】実施の形態１に係る診断装置の機能的な構成を示す図
【図４】実施の形態１に係る学習データの例を示す第１の図
【図５】実施の形態１に係るデータの分布例を示す第１の図
【図６】実施の形態１に係る診断モデルの学習を示す第１の図
【図７】実施の形態１に係る診断モデルの例を示す第１の図
【図８】実施の形態１に係る診断モデルの学習を示す第２の図
【図９】実施の形態１に係る診断モデルの例を示す第２の図
【図１０】実施の形態１に係る学習データの例を示す第２の図
【図１１】実施の形態１に係るデータの分布例を示す第２の図
【図１２】実施の形態１に係る新グループ候補データの例を示す図
【図１３】実施の形態１に係る新グループ候補データの分布例を示す図
【図１４】実施の形態１に係る候補情報の例を示す図
【図１５】実施の形態１に係る画面例を示す第１の図
【図１６】実施の形態１に係る画面例を示す第２の図
【図１７】実施の形態１に係る学習データの例を示す第３の図
【図１８】実施の形態１に係るデータの分布例を示す第３の図
【図１９】実施の形態１に係る診断モデルの学習を示す第３の図
【図２０】実施の形態１に係る診断モデルの例を示す第３の図
【図２１】実施の形態１に係る診断モデルの学習を示す第４の図
【図２２】実施の形態１に係る診断モデルの例を示す第４の図
【図２３】実施の形態１に係る診断モデル更新処理を示すフローチャート
【図２４】実施の形態１に係る診断処理を示すフローチャート
【図２５】実施の形態１に係る新グループ生成処理を示すフローチャート
【図２６】実施の形態１に係るモデル更新処理を示すフローチャート
【図２７】実施の形態２に係る診断システムの構成を示す図
【図２８】変形例に係る画面例を示す第１の図
【図２９】変形例に係る画面例を示す第２の図
【図３０】変形例に係る画面例を示す第３の図
【図３１】変形例に係る決定木の例を示す図
【図３２】変形例に係る教師あり学習について説明するための図
【発明を実施するための形態】
【００１１】  以下、本開示の実施の形態に係る診断システム１００について、図面を参照しつつ詳細に説明する。
【００１２】  実施の形態１．  本実施の形態に係る診断システム１００は、工場において収集した収集データから異常の有無を診断するシステムであって、製造システム、加工システム及び検査システムに代表される処理システムの一部として構築される。工場は、プラントを含んでもよい。異常は、工場に配置される設備、機器及び装置、並びにこれらの連携における稼働状態が、工場の管理者によって意図された正常な状態から外れることであって、例えば、製造ラインにおける不良品の検出、機械部品の破損、ソフトウェアの実行エラー、及び、通信エラーを含んでもよい。
【００１３】  診断システム１００は、図１に示されるように、異常の有無を診断する診断装置１０と、診断装置１０によって状態が診断される機器２１，２２と、を有する。診断装置１０と機器２１，２２とは、産業用ネットワーク２０を介して接続される。
【００１４】  機器２１，２２は、工場の製造ラインに配置されるセンサ装置、アクチュエータ又はロボットであって、例えば、圧力センサ、超音波センサ、磁気センサ、又は赤外線センサによるセンシング結果を定期的に診断装置１０に送信する。機器２１，２２から送信されたセンシング結果を示すデータは、診断装置１０によって監視されて、異常の有無の診断に用いられる。なお、機器の数は２つに限られず、１つであってもよいし、２つより多くの機器が、機器２１，２２と同様に診断システム１００を構成してもよい。
【００１５】  診断装置１０は、例えば、ＩＰＣ（Industrial Personal Computer）又はＰＬＣ（Programmable Logic Controller）である。診断装置１０は、機器２１，２２を含む多数の機器を制御することにより製造ラインを稼働させる制御装置であってもよい。
【００１６】  診断装置１０は、そのハードウェア構成として、図２に示されるように、プロセッサ１１と、主記憶部１２と、補助記憶部１３と、入力部１４と、出力部１５と、通信部１６と、を有する。主記憶部１２、補助記憶部１３、入力部１４、出力部１５及び通信部１６はいずれも、内部バス１７を介してプロセッサ１１に接続される。
【００１７】  プロセッサ１１は、ＣＰＵ（Central Processing Unit）を含む。プロセッサ１１は、補助記憶部１３に記憶されるプログラムＰ１を実行することにより、診断装置１０の種々の機能を実現して、後述の処理を実行する。
【００１８】  主記憶部１２は、ＲＡＭ（Random Access Memory）を含む。主記憶部１２には、補助記憶部１３からプログラムＰ１がロードされる。そして、主記憶部１２は、プロセッサ１１の作業領域として用いられる。
【００１９】  補助記憶部１３は、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）及びＨＤＤ（Hard Disk Drive）に代表される不揮発性メモリを含む。補助記憶部１３は、プログラムＰ１の他に、プロセッサ１１の処理に用いられる種々のデータを記憶する。補助記憶部１３は、プロセッサ１１の指示に従って、プロセッサ１１によって利用されるデータをプロセッサ１１に供給し、プロセッサ１１から供給されたデータを記憶する。
【００２０】  入力部１４は、入力キー及びポインティングデバイスに代表される入力デバイスを含む。入力部１４は、診断装置１０のユーザによって入力された情報を取得して、取得した情報をプロセッサ１１に通知する。
【００２１】  出力部１５は、ＬＣＤ（Liquid Crystal Display）及びスピーカに代表される出力デバイスを含む。出力部１５は、プロセッサ１１の指示に従って、種々の情報をユーザに提示する。出力部１５は、入力部１４とともにＧＵＩ（Graphical User Interface）を実現する。
【００２２】  通信部１６は、外部の装置と通信するためのネットワークインタフェース回路を含む。通信部１６は、外部から信号を受信して、この信号により示されるデータをプロセッサ１１へ出力する。また、通信部１６は、プロセッサ１１から出力されたデータを示す信号を外部の装置へ送信する。
【００２３】  図２に示されるハードウェア構成が協働することにより、診断装置１０は、機器２１，２２の稼働状態の診断を含む種々の機能を発揮する。診断装置１０は、図３に示されるように、その機能として、機器２１，２２からデータを収集する収集部１１０と、学習部１３０による学習に用いられる学習データを記憶する学習データ記憶部１２０と、異常の有無を診断するための診断モデル１４１を学習する学習部１３０と、診断モデル１４１によりデータを複数のグループに分類して異常の有無を診断する診断部１４０と、診断部１４０による診断の結果を出力する診断結果出力部１５０と、収集部１１０によって収集されたデータから、新たなグループに属するデータの候補を抽出する抽出部１６０と、抽出された候補を記憶する新グループ候補記憶部１７０と、抽出された候補から新たなグループを示す情報を生成する新グループ生成部１８０と、新たなグループの妥当性についての評価をユーザから受け付ける受付部１９０と、を有する。
【００２４】  収集部１１０は、主としてプロセッサ１１と通信部１６との協働により実現される。収集部１１０は、診断装置１０の初回起動時に、機器２１，２２から送信されるデータを取得して、取得したデータを学習データ記憶部１２０に格納する。学習データ記憶部１２０に格納されたデータは、診断モデル１４１を生成するための学習データとして利用される。また、収集部１１０は、診断モデル１４１の学習が完了すると、機器２１，２２から送信されたデータを順次受信して、受信したデータを収集データとして診断部１４０に送出する。収集部１１０は、診断システム１００において、工場において収集データを収集する収集手段の一例に相当する。
【００２５】  学習データ記憶部１２０は、主として主記憶部１２及び補助記憶部１３の少なくとも一方によって実現される。学習データ記憶部１２０は、図４に例示されるように、各レコードを識別するＩＤと、機器２１，２２から送信されるデータと、当該データが属するグループに付与されるラベルと、を関連付けた学習データを記憶する。図４における「第１機器」は機器２１に相当し、「第２機器」は機器２２に相当する。図４に示される例では、第１機器から受信した値と第２機器から受信した値とを組合せたデータそれぞれが、「正常」、「異常１」及び「異常２」のいずれかのラベルが付されたグループに分類されている。第１機器データ及び第２機器データは、収集部１１０から提供され、ラベルは、受付部１９０を介してユーザにより付される。
【００２６】  図５には、学習データの分布が示されている。図５から分かるように、第１機器データの値が大きく、第２機器データの値が小さいデータは、「正常」のグループに属する。また、第１機器データの値が小さく、第２機器データの値が小さいデータは、「異常１」のグループに属する。また、第１機器データの値が小さく、第２機器データの値が大きいデータは、「異常１」とは異なる「異常２」のグループに属する。なお、グループは、クラスとも呼称される。
【００２７】  なお、診断装置１０の初回起動時においては、実際に機器２１，２２から送信された値に代えて、機器２１，２２から送信され得るものとしてユーザによって準備された値により学習データが構成されてもよい。ユーザが学習データを準備する場合には、当該学習データが、受付部１９０によってユーザから受け付けられて学習データ記憶部１２０に格納されてもよい。
【００２８】  図３に戻り、学習部１３０は、主としてプロセッサ１１により実現される。学習部１３０は、受付部１９０によってユーザからの学習指示が受け付けられると、学習データ記憶部１２０に記憶される学習データを読み出して、機器２１，２２から収集されたデータが属するグループを診断するための診断モデル１４１を学習する。学習された診断モデル１４１は、診断部１４０に提供され、診断部１４０による診断に利用される。
【００２９】  図６には、診断モデル１４１をｋ−ｍｅａｎｓクラスタリングにより学習する例が示されている。図６では、「正常」グループのクラスタ中心３０１、「異常１」グループのクラスタ中心３０２、及び「異常２」グループのクラスタ中心３０３が示され、クラスタ境界が破線で示されている。図７には、このようなｋ−ｍｅａｎｓクラスタリングにより学習されたモデルを示す情報が例示されている。図７に示されるように、このモデルは、各グループのクラスタ中心をラベルに関連付けて規定する。
【００３０】  図８には、診断モデル１４１をＧＭＭ（Gaussian Mixture Model）により学習する例が示されている。図８では、「正常」グループに対応するガウス分布の平均３１１、「異常１」グループに対応するガウス分布の平均３１２、及び「異常２」グループに対応するガウス分布の平均３１３が示され、各ガウス分布の１σ，２σが破線で示されている。図９には、このようなＧＭＭにより学習されたモデルを示す情報が例示されている。図９に示されるように、このモデルは、各グループに対応するガウス分布の重み、平均、及び分散共分散行列を、ラベルに関連付けて規定する。
【００３１】  図３に戻り、診断部１４０は、主としてプロセッサ１１及び主記憶部１２の協働により実現される。診断部１４０は、学習部１３０によって学習された診断モデル１４１の提供を学習部１３０から受ける。そして、診断部１４０は、収集部１１０によって機器２１，２２から収集されたデータを、診断モデル１４１により規定される複数のグループのいずれかに分類することで、当該データに付与すべきラベルを決定して、異常の有無を診断する。診断部１４０は、決定したラベルと、当該ラベルが付与されるデータと、を含む診断結果を、学習データ記憶部１２０、診断結果出力部１５０、及び抽出部１６０に送出する。診断部１４０は、診断システム１００において、複数のグループを規定するモデルに従って複数のグループのいずれかに収集データを分類することにより、異常の有無を診断する第１診断ステップ、及び学習手段によって新たなモデルが学習されると、新たなモデルにより異常の有無を診断する第２診断ステップを実行する診断手段の一例に相当する。
【００３２】  図１０には、診断部１４０から診断結果が学習データ記憶部１２０に提供されることにより更新された学習データが例示されている。図１０においては、「４０１」というＩＤを含むデータについては、「正常」グループに属するものと診断され、「４０２」というＩＤを含むデータについては、「異常２」グループに属するものと診断されている。図１１には、図１０に示されるデータの分布が示されている。図１１における点４０１は、図１０中の「４０１」というＩＤを含むデータに対応し、点４０２は、図１０中の「４０２」というＩＤを含むデータに対応する。図１１からわかるように、点４０１については「正常」グループに属することが妥当といえる一方、点４０２についてはいずれのグループに分類すべきか必ずしも明らかではないが、診断モデル１４１に従って「正常」、「異常１」及び「異常２」のうちのいずれかのグループに分類されている。
【００３３】  図３に戻り、診断結果出力部１５０は、主としてプロセッサ１１、出力部１５及び通信部１６の協働により実現される。診断結果出力部１５０は、診断部１４０による診断結果をリアルタイムに出力する。診断結果出力部１５０による出力は、例えば、ＬＣＤである出力部１５への表示、異常を示すＬＥＤ（Light Emitting Diode）の点灯、ブザー音による警報、補助記憶部１３への書き込み、又は、通信部１６を介した外部装置への報知である。
【００３４】  抽出部１６０は、診断部１４０による診断結果から、未知のグループに分類すべき可能性があるデータを抽出する。具体的には、抽出部１６０は、診断結果に含まれるデータそれぞれについて、診断部１４０により分類されたグループへの帰属度を算出する。帰属度は、グループに分類されることの妥当性を示す度合いである。例えば、診断モデル１４１がｋ−ｍｅａｎｓクラスタリングにより学習された場合には、クラスタ中心から当該データまでの距離が長くなるほど帰属度が小さくなり、未知のグループに分類すべき可能性があると判断される。また、診断モデル１４１がＧＭＭにより学習された場合には、各ガウス分布から算出される尤度を帰属度とすればよい。
【００３５】  図１１の例では、点４０１に対応するデータは、「正常」グループへの帰属度が高いため抽出部１６０による抽出対象から除外され、点４０２に対応するデータは、いずれのグループへの帰属度も低いため抽出部１６０によって抽出される。抽出部１６０は、抽出したデータを、新たなグループに属するデータの候補として、図３に示される新グループ候補記憶部１７０に格納する。抽出部１６０は、診断システム１００において、収集データから、複数のグループとは異なる新たなグループに属するデータの候補を抽出する抽出ステップを実行する抽出手段の一例に相当する。なお、帰属度の判断は、診断部１４０によって実行され、抽出部１６０は、帰属度に応じてデータを選別してもよい。
【００３６】  新グループ候補記憶部１７０は、主として主記憶部１２及び補助記憶部１３の少なくとも一方によって実現される。新グループ候補記憶部１７０は、図１２に例示されるように、データに付されるＩＤと、機器２１，２２から収集されたデータと、を関連付けて記憶する。新グループ候補記憶部１７０に記憶される情報は、新たなグループに属するデータの候補であるため、当該データには診断モデル１４１により規定される「正常」、「異常１」及び「異常２」のいずれのグループのラベルも付与されない。図１３には、新グループ候補記憶部１７０に格納されるデータの分布が示されている。図１３に示されるように、新たなグループに属するデータの候補は概ね、第１機器からの値が大きく、第２機器からの値が大きいデータである。
【００３７】  図３に戻り、新グループ生成部１８０は、主としてプロセッサ１１により実現される。新グループ生成部１８０は、新グループ候補記憶部１７０に格納された候補のデータを読み出して、当該候補に関する候補情報を生成する。候補情報は、新たなグループを規定する情報である。図１４には、診断モデル１４１がｋ−ｍｅａｎｓクラスタリングにより学習される場合における候補情報が例示されている。図１４に示される候補情報は、候補のデータの重心を、新たなグループのクラスタ中心として規定する。
【００３８】  なお、新グループ生成部１８０は、新グループ候補記憶部１７０に格納されているデータ量がある程度大きくなったときに候補情報を生成し、データ量が小さいときには待機することにより、単なる外れ値から新たなグループを生成することを回避する。また、候補情報は、新グループ候補記憶部１７０から読み出されるデータすべてから生成されるとは限らず、新グループ生成部１８０が、読み出したデータの一部から候補情報を生成してもよい。また、候補情報は、新たなグループを示す情報に限られず、候補のデータそのものであってもよい。
【００３９】  新グループ生成部１８０は、生成した候補情報を、図３に示される受付部１９０に送出する。また、新グループ生成部１８０は、受付部１９０によって新たなグループを追加すべきであることを示す追加情報を受け付けられた場合に、候補情報を学習データ記憶部１２０に送出する。学習データ記憶部１２０に送出されるデータは、新たなグループに属するデータとして、新たな診断モデル１４１の学習に用いられる。新グループ生成部１８０は、診断システム１００において、抽出手段によって抽出された候補から新たなグループを示す候補情報を生成する生成手段の一例に相当する。
【００４０】  受付部１９０は、新グループ生成部１８０から送出された候補情報をユーザに対して表示する表示部１９１と、候補情報に基づいてユーザが新たなグループの妥当性を評価した結果として、新たなグループを追加すべきか否かを示す追加情報の入力を受け付ける入力部１９２と、を有するＧＵＩである。表示部１９１は、主として出力部１５により実現され、入力部１９２は、入力部１４により実現される。受付部１９０は、診断システム１００において、抽出手段によって抽出された候補に関する候補情報を提供して、新たなグループを複数のグループに追加すべきか否かを示す追加情報を受け付ける受付ステップを実行する受付手段の一例に相当する。また、表示部１９１は、候補情報を表示する表示手段の一例に相当し、入力部１９２は、ユーザによって入力される追加情報を取得する入力手段の一例に相当する。
【００４１】  図１５には、受付部１９０の表示部１９１によって表示される画面５１が例示されている。図１５では、候補となるデータの分布と、新たなグループを規定するクラスタ中心３２１と、の双方が候補情報として示されている。ユーザは、この画面５１を視認して、新たなグループを追加することの妥当性を評価して、新たなグループを追加すべき指示を入力するボタン３２２、又は、追加すべきでない指示を入力するボタン３２３を選択する。この選択により、受付部１９０の入力部１９２には、追加情報が入力される。
【００４２】  図１６には、他の例としてユーザに対して表示される画面５２が例示されている。この画面５２では、新たなグループの候補以外のデータが、当該データが分類されるグループとともに表示される。画面５２は、受付部１９０が、学習データ記憶部１２０から診断結果のデータを読み出して描画した上で、候補情報を上書きすることで実現される。
【００４３】  受付部１９０は、新たなグループを追加すべきであることを示す追加情報が入力された場合には、新グループ生成部１８０に、候補のデータを学習データ記憶部１２０に格納させるとともに、新たなラベルの名称をユーザから受け付けて、受け付けた新たなラベルを候補のデータに付与する。図１７には、新たなラベルを含む学習データが例示されている。図１７では、「４０２」及び「４０３」というＩＤのデータに対して新たに「異常３」というラベルが付与されている。この学習データの分布が、図１８に示されている。図１８からわかるように、第１機器からの値が大きく、第２機器からの値が大きいデータには、「異常３」というラベルが付与されている。
【００４４】  受付部１９０が、さらに新たなグループを含む診断モデル１４１の学習指示をユーザから受け付けると、受付部１９０は、学習部１３０に診断モデル１４１を学習させる。図１９には、ｋ−ｍｅａｎｓクラスタリングによる新たな診断モデル１４１を学習する例が示されている。図１９の例では、４つ目の新たなグループに対応するクラスタ中心３０４が追加されて、クラスタ境界が更新される。図１９に示される学習により生成される新たな診断モデル１４１を規定する情報が図２０に示される。また、図２１には、ＧＭＭによる新たな診断モデル１４１を学習する例が示されている。図２１の例では、４つ目の新たなグループに対応するガウス分布が追加される。図２１に示される学習により生成される新たな診断モデル１４１を規定する情報が図２２に示されている。学習部１３０は、新たな診断モデル１４１を学習すると、このモデルを診断部１４０に提供し、診断部１４０によって次回以降の診断に利用される診断モデル１４１が更新される。例えば、図７，９に示される診断モデル１４１が、図２０，２２に示される診断モデル１４１に上書きされる。そして、診断部１４０は、更新された新たな診断モデル１４１により異常の有無を診断する。
【００４５】  学習部１３０は、診断システム１００において、受付手段によって新たなグループを複数のグループに追加すべきであることを示す追加情報が受け付けられた場合に、新たなグループを含む新たなモデルを学習する学習ステップを実行する学習手段の一例に相当する。
【００４６】  続いて、診断システム１００において実行される診断モデル更新処理について、図２３〜２７を用いて説明する。図２３に示される診断モデル更新処理は、診断装置１０の電源が投入されることで開始する。図２３に示されるように、診断モデル更新処理は、診断モデル１４１を初期化する診断モデル初期化処理と（ステップＳ１）、収集データから診断モデル１４１に基づいて異常の有無を診断する診断処理と（ステップＳ２）、新たなグループに属するデータの候補に関してユーザによる評価を受け付ける新グループ生成処理と（ステップＳ３）、診断モデル１４１を更新するモデル更新処理と（ステップＳ４）、を含む。
【００４７】  なお、図２３には、ステップＳ１の実行後には、ステップＳ２〜Ｓ４がこの順で反復実行されることが示されているが、ステップＳ２〜Ｓ４の実行順序はこれに限定されず、任意に変更してもよいし、ステップＳ２〜Ｓ４それぞれを並列に実行してもよい。以下、ステップＳ１〜Ｓ４それぞれについて順に説明する。
【００４８】  ステップＳ１の診断モデル初期化処理では、収集部１１０及び受付部１９０から診断モデル１４１の学習に必要なデータが学習データ記憶部１２０に格納され、学習部１３０により診断モデル１４１が学習される。
【００４９】  ステップＳ２の診断処理では、図２４に示されるように、収集部１１０が、診断対象のデータを取得して（ステップＳ２１）、取得したデータを診断部１４０に送出する。収集部１１０は、取得したデータとともに、ＩＤ、タイムスタンプ、その他の情報を診断部１４０に送出してもよい。また、時系列データから得られる波形に代表されるように、時間的な値の変化から状態を判断する診断モデル１４１が用いられる場合には、収集部１１０は、複数のサンプリング値を蓄積してから診断部１４０に送出してもよい。
【００５０】  次に、診断部１４０は、状態を診断すべきデータがあるか否かを判定する（ステップＳ２２）。具体的には、診断部１４０は、収集部１１０から診断に必要な量のデータが送出されたか否かを判定する。診断すべきデータがないと判定された場合（ステップＳ２２；Ｎｏ）、診断装置１０による処理は、ステップＳ２１に戻る。
【００５１】  一方、診断すべきデータがあると判定した場合（ステップＳ２２；Ｙｅｓ）、診断部１４０は、診断モデル１４１に従って異常の有無を診断し、データにラベルを付与する（ステップＳ２３）。例えば、診断部１４０は、図７に示される診断モデル１４１に従って、データを「正常」、「異常１」及び「異常２」のグループのいずれかに分類して、分類したグループのラベルをデータに付与する。
【００５２】  次に、診断部１４０は、異常があると診断したか否かを判定する（ステップＳ２４）。具体的には、診断部１４０は、「異常１」又は「異常２」に分類されたデータが有るか否かを判定する。ステップＳ２４における診断の対象となる異常は、予め定められたグループのラベルが付与されたデータが存在することに対応する。異常ありの診断をしたと判定した場合（ステップＳ２４；Ｙｅｓ）、診断部１４０は、診断結果を診断結果出力部１５０に出力して、異常の内容をユーザに通知させる（ステップＳ２５）。異常内容の通知に際して、診断結果出力部１５０は、データの値、発生した異常に関する詳細な情報、及び、異常からの復旧方法を合わせて通知してもよい。
【００５３】  ステップＳ２５の終了後、及び、ステップＳ２４にて異常ありの診断をしていないと判定した場合（ステップＳ２４；Ｎｏ）、抽出部１６０が、新たなグループに属するデータの候補を抽出する（ステップＳ２６）。そして、抽出部１６０は、新たなグループに属するデータの候補を新グループ候補記憶部１７０に格納する（ステップＳ２７）。これにより、新グループ候補記憶部１７０には、候補のデータが蓄積される。
【００５４】  次に、診断部１４０は、診断すべきデータをすべて診断したか否かを判定する（ステップＳ２８）。未だすべて診断してはいないと判定された場合（ステップＳ２８；Ｎｏ）、診断装置１０による処理は、ステップＳ２３に戻る。一方、すべて診断したと判定した場合（ステップＳ２８；Ｙｅｓ）、診断装置１０による処理は、診断処理から図２３に示される診断モデル更新処理に戻る。
【００５５】  続いて、ステップＳ３の新グループ生成処理について説明する。新グループ生成処理では、図２５に示されるように、受付部１９０が、新グループを生成する旨の生成指示をユーザから受け付けたか否かを判定する（ステップＳ３１）。生成指示を受け付けていないと判定した場合（ステップＳ３１；Ｎｏ）、受付部１９０は、ステップＳ３１の判定を繰り返して、生成指示が入力されるまで待機する。
【００５６】  一方、生成指示を受け付けたと判定された場合（ステップＳ３１；Ｙｅｓ）、新グループ生成部１８０は、新グループ候補記憶部１７０から候補のデータを読み出して（ステップＳ３２）、新たなグループの生成が可能か否かを判定する（ステップＳ３３）。ここで、新たなグループを生成する手法は、診断モデル１４１による分類手法と同様の手法であってもよいし、異なってもよい。新グループ生成部１８０は、例えば、ｋ−ｍｅａｎｓクラスタリング又はウォード法に代表される階層的クラスタリングにより新グループの生成を試みた上で、一定の条件を満たすグループが生成されたか否かを判定する。一定の条件は、例えば、新たなグループに含まれる要素数が一定以上となることである。このように新たなグループの生成に条件を設けることで、単なる外れ値と意味のあるグループに属するデータとを区別することができる。
【００５７】  新たなグループの生成が可能ではないと判定された場合（ステップＳ３３；Ｎｏ）、診断装置１０による処理は、新グループ生成処理から図２３に示される診断モデル更新処理に戻る。一方、新たなグループの生成が可能であると判定された場合（ステップＳ３３；Ｙｅｓ）、新グループ生成部１８０が新たなグループを生成して（ステップＳ３４）、受付部１９０の表示部１９１が、新たなグループに関する情報を表示する（ステップＳ３５）。具体的には、表示部１９１は、新グループ生成部１８０によって生成された新たなグループと、当該グループに含まれるデータの候補と、を表示して、ユーザに評価を促す。
【００５８】  次に、受付部１９０の入力部１９２は、新たなグループについてのユーザによる評価を受け付ける（ステップＳ３５）。具体的には、新たなグループを診断モデル１４１に追加すべきか否かの決定を受け付ける（ステップＳ３６）。また、ユーザによる評価は、このような決定に加えて、生成された新たなグループが既存のグループのいずれかに属するか、既存のグループとは異なる新たなグループであるか、あるいは実質的な意味がなく追加すべきでないグループなのかという情報を含んでもよい。追加すべきでないグループは、例えば、単なる外れ値に対応するグループ、又は、ユーザが所望する区別したい複数のグループを含むグループである。さらに、受付部１９０は、新たなグループを追加すべきときには、当該新たなグループに付与されるラベル名をユーザから受け付ける。
【００５９】  次に、受付部１９０は、新たなグループが妥当である旨の評価をユーザから受け付けたか否かを判定する（ステップＳ３７）。妥当である旨の評価を受け付けていないと判定された場合（ステップＳ３７；Ｎｏ）、診断装置１０は、ステップＳ３９に処理を移行する。一方、妥当である旨の評価を受け付けたと判定した場合（ステップＳ３７；Ｙｅｓ）、受付部１９０は、新たなグループに属するデータにラベルを付与して、学習データ記憶部１２０に追加する（ステップＳ３８）。
【００６０】  次に、診断装置１０は、新グループ候補記憶部１７０から、生成した新たなグループに属するデータを削除する（ステップＳ３９）。これにより、同一のグループが再度生成されることが回避される。その後、診断装置１０による処理は、新グループ生成処理から、図２３に示される診断モデル更新処理に戻る。
【００６１】  続いて、ステップＳ４のモデル更新処理について説明する。モデル更新処理では、図２６に示されるように、受付部１９０が、モデルを更新するための更新指示をユーザから受け付けたか否かを判定する（ステップＳ４１）。更新指示は、診断モデル１４１の生成に使用する手法、当該手法のパラメータ、診断モデル１４１の生成に必要なその他の情報を含んでもよい。更新指示を受け付けていないと判定した場合（ステップＳ４１；Ｎｏ）、受付部１９０は、ステップＳ４１の判定を繰り返して、更新指示が入力されるまで待機する。
【００６２】  一方、更新指示を受け付けたと判定された場合（ステップＳ４１；Ｙｅｓ）、学習部１３０が、学習データ記憶部１２０からデータを読み出して診断モデル１４１を学習する（ステップＳ４２）。ここで、学習データ記憶部１２０に格納されているデータすべてを用いて学習する必要はない。例えば、各グループについて新しい順に１００個のデータを用いて学習し、学習に使用するデータを制限してもよい。また、学習に使用する情報が選択されてもよい。例えば、複数の機器からのデータのうちの一部の機器のデータを学習に使用してもよい。また、ユーザからの更新指示においてデータの選択に関する設定がなされてもよい。
【００６３】  次に、診断部１４０が、診断モデル１４１を、ステップＳ４２において学習された新たな診断モデル１４１に更新する（ステップＳ４３）。その後、診断装置１０による処理は、モデル更新処理から、図２３に示される診断モデル更新処理に戻る。
【００６４】  以上、説明したように、本実施の形態に係る診断システム１００によれば、抽出部１６０が、機器２１，２２から収集されたデータから、新たなグループに属するデータの候補を抽出し、受付部１９０が、新たなグループを複数のグループに追加すべきであることを示す情報を受け付けた場合に、学習部１３０が、新たなモデルを学習する。このため、新たなグループの追加が妥当である場合に限って新たなモデルを学習し、新たなモデルにより異常の有無を診断することが可能になる。したがって、異常の有無の診断精度を向上させることができる。
【００６５】  また、診断システム１００において、診断処理と、新グループ生成処理と、が別個に実行された。このため、データの性質に応じた診断モデルを使用して異常の有無を診断する一方で、診断モデルに影響を受けることなく、種々の手法を適用して新たなグループを生成することが可能になる。
【００６６】  実施の形態２．  続いて、実施の形態２について、上述の実施の形態１との相違点を中心に説明する。なお、上記実施の形態１と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。本実施の形態は、図２７に示されるように、診断モデル１４１を学習する学習装置６０と、診断モデル１４１により異常の有無を診断する複数の診断装置６１，６２と、によって診断システム１００が構成される点で、実施の形態１とは異なる。
【００６７】  学習装置６０は、実施の形態１に係る診断装置１０と同様に、収集部１１０と学習データ記憶部１２０と学習部１３０と抽出部１６０と新グループ候補記憶部１７０と新グループ生成部１８０と受付部１９０とを有し、さらに、学習した診断モデル１４１を診断装置６１，６２に配信する送信部６０１と、診断装置６１，６２による診断結果を受信する受信部６０２と、を有する。送信部６０１は、診断システム１００において、学習手段によって学習された新たなモデルを複数の診断装置に送信する送信手段の一例に相当する。抽出部１６０は、診断装置６１，６２によって収集された収集データを、受信部６０２を介して取得し、取得した収集データから、新たなグループに属する候補を抽出する。
【００６８】  診断装置６１，６２はそれぞれ、収集部１１０と診断部１４０とを備え、さらに、学習装置６０から配信される診断モデル１４１を受信する受信部６１１と、診断部１４０による診断結果を学習装置６０に送信する送信部６１２と、を有する。診断部１４０は、学習装置６０の送信部６０１によって新たな診断モデル１４１が送信されると、当該新たな診断モデル１４１により異常の有無を診断する。
【００６９】  以上、説明したように、本実施の形態では、学習部１３０を有する１つの学習装置６０に対して、診断部１４０を有する複数の診断装置６１，６２が存在する。このため、診断対象のデータをより多く収集するとともに、診断モデル１４１を一斉に配布することができ、診断モデル１４１の管理が容易になる。また、診断装置６１，６２ごとに診断モデル１４１を調整して配信することも可能になる。
【００７０】  以上、本開示の実施の形態について説明したが、本開示は上記実施の形態によって限定されるものではない。
【００７１】  例えば、上記実施の形態では、学習データ記憶部１２０と新グループ候補記憶部１７０とを別個の構成として説明したが、これには限定されず、１つの記憶装置が学習データ記憶部１２０に相当する記憶領域と、新グループ候補記憶部１７０に相当する記憶領域と、を有してもよい。
【００７２】  また、抽出部１６０で既存のグループであると判断されて、新たなグループに属する候補の抽出からは除外されたデータを、学習データ記憶部１２０に格納した上で表示部１９１に表示し、ユーザが診断結果の妥当性を評価した上で、診断結果に誤りがあった場合には入力部１９２を操作して診断結果を修正してもよい。例えば、図２８に示されるように、ユーザは、「異常２」というラベル名を選択することで表示されるサブメニューにより、クラスタ中心の座標及びグループラベルの少なくとも一方を変更してもよい。また、図２９に示されるように、ユーザは、単独のデータを選択して当該データが属しているグループとは異なるグループラベルを付与することによりグループの変更指示を入力してもよい。そして、受付部１９０が、変更指示を受け付けて、学習部１３０が、変更指示によりグループが変更されたデータから新たな診断モデル１４１を学習してもよい。これにより、学習部１３０で新たな診断モデル１４１を生成する際に、未知のグループと判断されたデータに限らず、既存のグループとされたデータについてもユーザの判断を反映することが可能になる。このため、気温の変化、或いは装置又は設備の変更により診断基準が変化した場合であっても、診断モデル１４１を更新することで正確に診断を実行することができる。
【００７３】  また、未知のグループと判断されたデータに加えて、学習データ記憶部１２０に格納されるデータのうちの抽出部１６０による抽出から除外された既知のグループのデータについても、単一のグループに属するデータを新グループ生成部１８０が新たな複数のグループに分類してもよい。例えば、図３０に示されるように、新グループ生成部１８０は、診断部１４０によって「異常２」のグループに分類されたデータから、「異常２−Ａ」のサブグループと「異常２−Ｂ」のサブグループとを生成して、「異常２」のグループのデータをこれらサブグループにさらに分類してもよい。そして、受付部１９０によってユーザから診断モデル１４１を更新する旨の指示が入力されたときに、学習部１３０は、サブグループを含む新たな診断モデル１４１を学習してもよい。これにより、例えば１つの大きいグループの中にサブグループがある場合に、そのサブグループに属するデータを検出することが可能になる。
【００７４】  また、学習データ記憶部１２０及び新グループ候補記憶部１７０に記憶される情報の形式は、上記実施の形態において説明したものに限られず、任意に変更してもよい。例えば、収集部１１０によって画像データが収集される場合には、当該画像データを参照するためのリンクデータを学習データ記憶部１２０に格納してもよい。
【００７５】  また、診断モデル１４１の学習手法として、任意の教師あり学習の手法を用いてもよい。例えば、図３１に示されるような決定木による分類手法により、図３２に示されるような、複雑な分布のデータを正しく分類し得る。また、複数の手法を組み合わせて診断結果を出力する診断モデル１４１を生成してもよい。
【００７６】  また、モデル更新処理の開始タイミングは、ユーザによる更新指示に限られない。例えば、新グループ生成処理の完了直後、或いは、前回の診断モデルの更新から一定の時間が経過したタイミングで自動的にモデル更新処理が開始してもよい。また、ユーザが更新指示の内容を決めるための支援情報として、表示部１９１は、学習データ記憶部１２０に格納されている情報を表示してもよい。
【００７７】  また、診断モデル１４１に従った診断の精度を向上させるために、学習部１３０及び診断部１４０は、必要に応じてデータに対して正規化及び欠測値の補間に代表される前処理を施してもよい。
【００７８】  また、診断システム１００の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
【００７９】  例えば、プロセッサ１１によって実行されるプログラムＰ１を、コンピュータ読み取り可能な非一時的な記録媒体に格納して配布し、そのプログラムＰ１をコンピュータにインストールすることにより、上述の処理を実行する装置を構成することができる。このような記録媒体としては、例えばフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read−Only Memory）、ＤＶＤ（Digital Versatile Disc）、ＭＯ（Magneto−Optical Disc）が考えられる。
【００８０】  また、プログラムＰ１をインターネットに代表される通信ネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロードするようにしてもよい。
【００８１】  また、通信ネットワークを介してプログラムＰ１を転送しながら起動実行することによっても、上述の処理を達成することができる。
【００８２】  さらに、プログラムＰ１の全部又は一部をサーバ装置上で実行させ、その処理に関する情報をコンピュータが通信ネットワークを介して送受信しながらプログラムを実行することによっても、上述の処理を達成することができる。
【００８３】  なお、上述の機能を、ＯＳ（Operating System）が分担して実現する場合又はＯＳとアプリケーションとの協働により実現する場合には、ＯＳ以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロードしてもよい。
【００８４】  また、診断システム１００の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を、回路を含む専用のハードウェアによって実現してもよい。
【００８５】  本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
【産業上の利用可能性】
【００８６】  本開示は、工場における異常の検知に適している。
【符号の説明】
【００８７】  １０  診断装置、  １１  プロセッサ、  １２  主記憶部、  １３  補助記憶部、  １４  入力部、  １５  出力部、  １６  通信部、  １７  内部バス、  ２０  産業用ネットワーク、  ２１，２２  機器、  ５１，５２  画面、  ６０  学習装置、  ６１  診断装置、  ６２  診断装置、  １００  診断システム、  １１０  収集部、  １２０  学習データ記憶部、  １３０  学習部、  １４０  診断部、  １４１  診断モデル、  １５０  診断結果出力部、  １６０  抽出部、  １７０  新グループ候補記憶部、  １８０  新グループ生成部、  １９０  受付部、  １９１  表示部、  １９２  入力部、  ３０１〜３０４，３２１  クラスタ中心、  ３１１〜３１３  平均、  ３２２，３２３  ボタン、  ４０１，４０２  点、  ６０１，６１２  送信部、  ６０２，６１１  受信部、  Ｐ１  プログラム。
【要約】  異常の有無の診断精度を向上させる。  診断システム（１００）は、工場において収集した収集データから異常の有無を診断する。診断システム（１００）は、複数のグループを規定する診断モデル（１４１）に従って複数のグループのいずれかに収集データを分類することにより、異常の有無を診断する診断部（１４０）と、収集データから、複数のグループとは異なる新たなグループに属するデータの候補を抽出する抽出部（１６０）と、抽出部（１６０）によって抽出された候補に関する候補情報を提供する受付部（１９０）と、新たなグループを複数のグループに追加すべきであることを示す追加情報が受け付けられた場合に、新たなグループを含む新たなモデルを学習する学習部（１３０）と、を備える。診断部（１４０）は、新たな診断モデル（１４１）が学習されると、新たな診断モデル（１４１）により異常の有無を診断する。【図１】
0006865901.tif 000002
【図２】
0006865901.tif 000003
【図３】
0006865901.tif 000004
【図４】
0006865901.tif 000005
【図５】
0006865901.tif 000006
【図６】
0006865901.tif 000007
【図７】
0006865901.tif 000008
【図８】
0006865901.tif 000009
【図９】
0006865901.tif 000010
【図１０】
0006865901.tif 000011
【図１１】
0006865901.tif 000012
【図１２】
0006865901.tif 000013
【図１３】
0006865901.tif 000014
【図１４】
0006865901.tif 000015
【図１５】
0006865901.tif 000016
【図１６】
0006865901.tif 000017
【図１７】
0006865901.tif 000018
【図１８】
0006865901.tif 000019
【図１９】
0006865901.tif 000020
【図２０】
0006865901.tif 000021
【図２１】
0006865901.tif 000022
【図２２】
0006865901.tif 000023
【図２３】
0006865901.tif 000024
【図２４】
0006865901.tif 000025
【図２５】
0006865901.tif 000026
【図２６】
0006865901.tif 000027
【図２７】
0006865901.tif 000028
【図２８】
0006865901.tif 000029
【図２９】
0006865901.tif 000030
【図３０】
0006865901.tif 000031
【図３１】
0006865901.tif 000032
【図３２】
0006865901.tif 000033