(57)【要約】【課題】対象機械の動作に対する判定の精度を向上させることができる診断装置、診断システム、診断方法およびプログラムを提供する。【解決手段】対象装置の部材に関する物理量を検知する検知部から出力される検知情報を第１学習データとして取得する第１取得部と、複数の抽出方法により、第１取得部により取得された第１学習データの特徴を示す特徴情報をそれぞれ抽出する抽出部と、抽出部により抽出された各特徴情報から、複数のモデルを生成する生成部と、生成部により生成された各モデルのパラメータを最適化することによって各モデルを更新する更新部と、抽出部によって抽出された各特徴情報と、各モデルとから算出される各モデルの正解率に基づいて、対象装置の動作を判定するためのモデルを決定するモデル決定部と、を備える。【選択図】図４
2018156415.tif 000002
【特許請求の範囲】
【請求項１】
対象装置の部材に関する物理量を検知する検知部から出力される検知情報を第１学習データとして取得する第１取得部と、
複数の抽出方法により、前記第１取得部により取得された前記第１学習データの特徴を示す特徴情報をそれぞれ抽出する抽出部と、
前記抽出部により抽出された前記各特徴情報から、複数のモデルを生成する生成部と、
前記生成部により生成された前記各モデルのパラメータを最適化することによって該各モデルを更新する更新部と、
前記抽出部によって抽出された各特徴情報と、前記各モデルとから算出される該各モデルの正解率に基づいて、前記対象装置の動作を判定するためのモデルを決定するモデル決定部と、
を備えた診断装置。
【請求項２】
前記更新部は、前記抽出部によって、前記第１取得部により取得された前記第１学習データとは異なる第２学習データから前記各抽出方法で抽出された特徴情報を用いて、前記各モデルをそれぞれ更新し、
前記モデル決定部は、前記更新部により更新された前記各モデルから算出された該各モデルの正解率が最も高いモデルが、前回決定したモデルと異なる場合、前記正解率が最も高いモデルを、前記対象装置の動作を判定するためのモデルとして切り替える請求項１に記載の診断装置。
【請求項３】
前記対象装置の動作の種類ごとに定められる複数のコンテキスト情報のうち現在の動作に対応するコンテキスト情報を、該対象装置から取得する第２取得部を、さらに備え、
前記生成部は、前記第１取得部により前記第１学習データが取得されたときに、前記第２取得部により取得されたコンテキスト情報に関連付けて、前記複数のモデルを生成する請求項１または２に記載の診断装置。
【請求項４】
前記第１取得部により取得された検知情報と、前記第２取得部により取得されたコンテキスト情報に対応するモデルであって前記モデル決定部により決定されたモデルとを用いて、前記対象装置の動作を判定する判定部を、さらに備えた請求項３に記載の診断装置。
【請求項５】
前記生成部は、前記抽出部により抽出された前記各特徴情報から、該各特徴情報の前記抽出方法にそれぞれ対応する識別アルゴリズムによってモデルをそれぞれ生成する請求項１〜４のいずれか一項に記載の診断装置。
【請求項６】
前記モデル決定部により算出された前記各モデルの正解率を表示部に表示させる表示制御部を、さらに備えた請求項１〜５のいずれか一項に記載の診断装置。
【請求項７】
前記モデル決定部は、過去に算出した前記各モデルの正解率を補間することによって、未来の正解率を予測し、
前記表示制御部は、前記モデル決定部により予測された正解率を、さらに前記表示部に表示させる請求項６に記載の診断装置。
【請求項８】
前記検知部と、
請求項１〜７のいずれか一項に記載の診断装置と、
を有する診断システム。
【請求項９】
対象装置の動作を診断する診断装置と、前記診断装置の診断に使用されるモデルを生成するサーバと、を備えた診断システムであって、
前記サーバは、
対象装置の部材に関する物理量を検知する検知部から出力される検知情報を学習データとして取得するサーバ側取得部と、
複数の抽出方法により、前記サーバ側取得部により取得された前記学習データの特徴を示す特徴情報をそれぞれ抽出する抽出部と、
前記抽出部により抽出された前記各特徴情報から、複数のモデルを生成する生成部と、
前記生成部により生成された前記各モデルのパラメータを最適化することによって該各モデルを更新する更新部と、
前記抽出部によって抽出された各特徴情報と、前記各モデルとから算出される該各モデルの正解率に基づいて、前記対象装置の動作を判定するためのモデルを決定するモデル決定部と、
を備え、
前記診断装置は、
前記対象装置の前記部材に関する物理量を検知する前記検知部から出力される検知情報を取得する装置側取得部と、
前記装置側取得部により取得された検知情報と、前記モデル決定部により決定されたモデルとを用いて、前記対象装置の動作を判定する判定部を、
備えた診断システム。
【請求項１０】
対象装置の部材に関する物理量を検知する検知部から出力される検知情報を学習データとして取得する取得ステップと、
複数の抽出方法により、取得した前記学習データの特徴を示す特徴情報をそれぞれ抽出する抽出ステップと、
抽出した前記各特徴情報から、複数のモデルを生成する生成ステップと、
生成した前記各モデルのパラメータを最適化することによって該各モデルを更新する更新ステップと、
抽出した各特徴情報と、前記各モデルとから算出される該各モデルの正解率に基づいて、前記対象装置の動作を判定するためのモデルを決定するモデル決定ステップと、
を有する診断方法。
【請求項１１】
コンピュータに、
対象装置の部材に関する物理量を検知する検知部から出力される検知情報を学習データとして取得する取得ステップと、
複数の抽出方法により、取得した前記学習データの特徴を示す特徴情報をそれぞれ抽出する抽出ステップと、
抽出した前記各特徴情報から、複数のモデルを生成する生成ステップと、
生成した前記各モデルのパラメータを最適化することによって該各モデルを更新する更新ステップと、
抽出した各特徴情報と、前記各モデルとから算出される該各モデルの正解率に基づいて、前記対象装置の動作を判定するためのモデルを決定するモデル決定ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、診断装置、診断システム、診断方法およびプログラムに関する。
【背景技術】
【０００２】
工作機械等の機械における工具の摩耗状態を検出するために、加工時の加工音等の物理量を検知し、その加工音等の特徴量を用いて学習し、未知の加工音データを、生成された学習モデルに適用することによって、機械の異常等を判定する技術が既に知られている。
【０００３】
このような機械の異常等を判定する技術として、取得したデータから様々な故障モードごとに学習モデルを生成して記憶しておくことにより、固有の機械だけでなく、汎用的に識別可能なモデルを生成する状態監視装置が開示されている（特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された技術では、検知した加工音に対する特徴情報抽出方法および学習アルゴリズム等に多様性がなく、未知の加工音に対して最適な学習モデルを適用することができないという問題点があった。また、学習モデルは人によって確認および選択される必要があるため、その学習モデルによる判定結果を常時、人が監視しておく必要があるという問題点もあった。
【０００５】
本発明は、上述の課題に鑑みてなされたものであって、対象機械の動作に対する判定の精度を向上させることができる診断装置、診断システム、診断方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、対象装置の部材に関する物理量を検知する検知部から出力される検知情報を第１学習データとして取得する第１取得部と、複数の抽出方法により、前記第１取得部により取得された前記第１学習データの特徴を示す特徴情報をそれぞれ抽出する抽出部と、前記抽出部により抽出された前記各特徴情報から、複数のモデルを生成する生成部と、前記生成部により生成された前記各モデルのパラメータを最適化することによって該各モデルを更新する更新部と、前記抽出部によって抽出された各特徴情報と、前記各モデルとから算出される該各モデルの正解率に基づいて、前記対象装置の動作を判定するためのモデルを決定するモデル決定部と、を備えたことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、対象機械の動作に対する判定の精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態に係る診断システムの全体構成の一例を示す図である。
【図２】図２は、第１の実施形態の加工機のハードウェア構成の一例を示す図である。
【図３】図３は、第１の実施形態に係る診断装置のハードウェア構成の一例を示す図である。
【図４】図４は、第１の実施形態に係る診断システムの機能ブロックの構成の一例を示す図である。
【図５】図５は、第１の実施形態に係る診断装置の最適モデル決定部の機能ブロック構成の一例を示す図である。
【図６】図６は、第１の実施形態におけるモデル生成処理の一例を示すフローチャートである。
【図７】図７は、生成したモデルについてのモデル情報テーブルの一例を示す図である。
【図８】図８は、第１の実施形態におけるモデル更新処理の一例を示すフローチャートである。
【図９】図９は、更新したモデルについてのモデル情報テーブルの一例を示す図である。
【図１０】図１０は、モデルを生成および更新するためのデータセットの一例を説明する図である。
【図１１】図１１は、モデルの正解率の変動の一例を説明する図である。
【図１２】図１２は、第１の実施形態における最適モデル決定処理の一例を示すフローチャートである。
【図１３】図１３は、第１の実施形態における異常判定処理の一例を示すフローチャートである。
【図１４】図１４は、第１の実施形態の変形例１における正解率を補正する動作の一例を示す図である。
【図１５】図１５は、第１の実施形態の変形例２における正解率を予測する動作の一例を示す図である。
【図１６】図１６は、第１の実施形態の変形例３における正解率を補正および予測する動作の一例を示す図である。
【図１７】図１７は、第２の実施形態に係る診断システムの全体構成の一例を示す図である。
【図１８】図１８は、第２の実施形態に係る診断システムの機能ブロックの構成の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、図１〜図１８を参照しながら、本発明に係る診断装置、診断システム、診断方法およびプログラムの実施形態を詳細に説明する。また、以下の実施形態によって本発明が限定されるものではなく、以下の実施形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
【００１０】
［第１の実施形態］
（診断システムの全体構成）
図１は、第１の実施形態に係る診断システムの全体構成の一例を示す図である。図１を参照しながら、本実施形態に係る診断システム１の全体構成について説明する。
【００１１】
図１に示すように、本実施形態に係る診断システム１は、加工機２００に設置されたセンサ５７と、診断装置１００と、を含む。加工機２００は、診断装置１００に対して通信可能となるように接続されている。なお、図１には１台の加工機２００が診断装置１００に接続されている例が示されているが、これに限定されるものではなく、複数台の加工機２００が診断装置１００に対して、それぞれ通信可能となるように接続されているものとしてもよい。
【００１２】
加工機２００は、工具を用いて、加工対象に対して切削、研削または研磨等の加工を行う工作機械である。加工機２００は、診断装置１００による診断の対象となる対象装置の一例である。なお、対象装置として加工機２００に限定されるものではなく、診断の対象となり得る機械であればよく、例えば、組立機、測定機、検査機、または洗浄機等の機械が対象装置であってもよい。以下では、加工機２００を対象装置の一例として説明する。
【００１３】
診断装置１００は、加工機２００に対して通信可能となるように接続され、加工機２００の動作について異常の診断を行う装置である。
【００１４】
センサ５７は、加工機２００に設置されたドリル、エンドミル、バイトチップもしくは砥石等の工具（部材の一例）と加工対象とが加工動作中に接触することにより発する振動もしくは音等、または、工具もしくは加工機２００自体が発する振動もしくは音等の物理量を検知し、検知した物理量の情報を検知情報（センサデータ）として診断装置１００へ出力するセンサである。センサ５７は、例えば、マイク、振動センサ、加速度センサ、またはＡＥセンサ等で構成され、例えば、振動または音等が検出できる工具の近傍に設置される。なお、物理量を検知するのは工具に限定されるものではなく、加工機２００に搭載された異常の判定の対象となり得るその他の部材であってもよい。
【００１５】
なお、加工機２００と診断装置１００とは、どのような接続形態で接続されてもよい。例えば、加工機２００と診断装置１００とは、専用の接続線、有線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の有線ネットワーク、または、無線ネットワーク等により接続されるものとすればよい。
【００１６】
また、センサ５７の個数は任意であってよい。また、同一の物理量を検知する複数のセンサ５７を備えてもよいし、相互に異なる物理量を検知する複数のセンサ５７を備えてもよい。
【００１７】
また、センサ５７は、加工機２００に予め備えられているものとしてもよく、または、完成機械である加工機２００に対して後から取り付けられるものとしてもよい。
【００１８】
（加工機のハードウェア構成）
図２は、第１の実施形態の加工機のハードウェア構成の一例を示す図である。図２を参照しながら、本実施形態の加工機２００のハードウェア構成について説明する。
【００１９】
図２に示すように、加工機２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５３と、通信Ｉ／Ｆ（インターフェース）５４と、駆動制御回路５５と、がバス５８で通信可能に接続された構成となっている。センサ５７は、診断装置１００に通信可能に接続されている。
【００２０】
ＣＰＵ５１は、加工機２００の全体を制御する演算装置である。ＣＰＵ５１は、例えば、ＲＡＭ５３をワークエリア（作業領域）としてＲＯＭ５２等に格納されたプログラムを実行することで、加工機２００全体の動作を制御し、加工機能を実現する。
【００２１】
通信Ｉ／Ｆ５４は、診断装置１００等の外部装置と通信するためのインターフェースである。駆動制御回路５５は、モータ５６の駆動を制御する回路である。モータ５６は、ドリル、エンドミル、バイトチップまたは砥石等、および、加工対象が載置され加工に合わせて移動されるテーブル等の加工に用いる工具を駆動するモータである。センサ５７は、上述の通りである。
【００２２】
（診断装置のハードウェア構成）
図３は、第１の実施形態に係る診断装置のハードウェア構成の一例を示す図である。図３を参照しながら、本実施形態に係る診断装置１００のハードウェア構成について説明する。
【００２３】
図３に示すように、診断装置１００は、ＣＰＵ６１と、ＲＯＭ６２と、ＲＡＭ６３と、通信Ｉ／Ｆ６４と、センサＩ／Ｆ６５と、補助記憶装置６６と、入力装置６７と、ディスプレイ６８と、がバス６９で通信可能に接続された構成となっている。
【００２４】
ＣＰＵ６１は、診断装置１００の全体を制御する演算装置である。ＣＰＵ６１は、例えば、ＲＡＭ６３をワークエリア（作業領域）としてＲＯＭ６２等に格納されたプログラムを実行することで、診断装置１００全体の動作を制御し、診断機能を実現する。
【００２５】
通信Ｉ／Ｆ６４は、加工機２００等の外部装置と通信するためのインターフェースである。通信Ｉ／Ｆ６４は、例えば、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）に対応したＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等である。
【００２６】
センサＩ／Ｆ６５は、加工機２００に設置されたセンサ５７から検知情報を受信するためのインターフェースである。
【００２７】
補助記憶装置６６は、診断装置１００の設定情報、加工機２００から受信された検知情報およびコンテキスト情報、後述する診断装置１００により生成されたモデル、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、およびアプリケーションプログラム等の各種データを記憶するＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、またはＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の不揮発性の記憶装置である。なお、補助記憶装置６６は、診断装置１００が備えるものとしているが、これに限定されるものではなく、例えば、診断装置１００の外部に設置された記憶装置であってもよく、または、診断装置１００とデータ通信可能なサーバ装置が備えた記憶装置であってもよい。
【００２８】
入力装置６７は、文字および数字等の入力、各種指示の選択、ならびにカーソルの移動等の操作を行うためのマウスまたはキーボード等の入力装置である。
【００２９】
ディスプレイ６８は、文字、数字、および各種画面および操作用アイコン等を表示するＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、または有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ等の表示装置である。
【００３０】
なお、図３に示したハードウェア構成は一例であり、すべての構成機器を備えている必要はなく、また、他の構成機器を備えているものとしてもよい。例えば、診断装置１００が加工機２００の診断動作に特化し、診断結果を外部のサーバ装置等に送信する場合、入力装置６７およびディスプレイ６８は備えられていない構成としてもよい。
【００３１】
（診断システムの機能ブロックの構成および動作）
図４は、第１の実施形態に係る診断システムの機能ブロックの構成の一例を示す図である。図４を参照しながら、本実施形態に係る診断システム１および加工機２００の機能ブロックの構成および動作について説明する。
【００３２】
図４に示すように、加工機２００は、数値制御部２０１と、通信制御部２０２と、駆動制御部２０３と、駆動部２０４と、検知部２１１と、を有する。
【００３３】
数値制御部２０１は、駆動部２０４による加工を数値制御（ＮＣ：Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）により実行する機能部である。例えば、数値制御部２０１は、駆動部２０４の動作を制御するための数値制御データを生成して出力する。また、数値制御部２０１は、コンテキスト情報を通信制御部２０２に出力する。ここで、コンテキスト情報とは、加工機２００の動作の種類ごとに複数定められる情報である。コンテキスト情報は、例えば、工作機械（加工機２００）の識別情報、駆動部２０４の識別情報（例えば、工具の識別情報等）、駆動部２０４に駆動される工具の径、および工具の材質等のコンフィギュレーション情報、ならびに、駆動部２０４に駆動される工具の動作状態、駆動部２０４の使用開始からの累積使用時間、駆動部２０４に係る負荷、駆動部２０４の回転数、駆動部２０４の加工速度等の加工条件の情報等を示す情報である。
【００３４】
数値制御部２０１は、例えば、現在の加工機２００の動作に対応するコンテキスト情報を、逐次、通信制御部２０２を介して診断装置１００に送信する。数値制御部２０１は、加工対象を加工する際、加工の工程に応じて、駆動する駆動部２０４の種類、または駆動部２０４の駆動状態（回転数、回転速度等）を変更する。数値制御部２０１は、動作の種類を変更するごとに、変更した動作の種類に対応するコンテキスト情報を、通信制御部２０２を介して診断装置１００に逐次送信する。数値制御部２０１は、例えば、図２に示すＣＰＵ５１で動作するプログラムによって実現される。
【００３５】
通信制御部２０２は、診断装置１００等の外部装置との間の通信を制御する機能部である。例えば、通信制御部２０２は、現在の動作に対応するコンテキスト情報を診断装置１００に送信する。通信制御部２０２は、例えば、図２に示す通信Ｉ／Ｆ５４、およびＣＰＵ５１で動作するプログラムによって実現される。
【００３６】
駆動制御部２０３は、数値制御部２０１により求められた数値制御データに基づいて、駆動部２０４を駆動制御する機能部である。駆動制御部２０３は、例えば、図２に示す駆動制御回路５５によって実現される。
【００３７】
駆動部２０４は、駆動制御部２０３による駆動制御の対象となる機能部である。駆動部２０４は、駆動制御部２０３による制御によって工具を駆動する。駆動部２０４は、駆動制御部２０３によって駆動制御されるアクチュエータであり、例えば、図２に示すモータ５６等によって実現される。なお、駆動部２０４は、加工に用いられ、数値制御の対象となるものであればどのようなアクチュエータであってもよい。また、駆動部２０４は、２以上備えられていてもよい。
【００３８】
検知部２１１は、加工機２００に設置されたドリル、エンドミル、バイトチップもしくは砥石等の工具と加工対象とが加工動作中に接触することにより発する振動もしくは音等、または、工具もしくは加工機２００自体が発する振動もしくは音等の物理量を検知し、検知した物理量の情報を検知情報（センサデータ）として診断装置１００へ出力する機能部である。検知部２１１は、例えば、図２に示すセンサ５７によって実現される。なお、検知部２１１の個数は任意である。例えば、同一の物理量を検知する複数の検知部２１１を備えてもよいし、相互に異なる物理量を検知する複数の検知部２１１を備えてもよい。例えば、加工に用いる工具である刃の折れ、および、刃のチッピング等が発生すると、加工時の音が変化する。このため、検知部２１１（マイク）で音響データを検知し、正常音を判断するためのモデル等を用いて判断することにより、加工機２００の動作の異常を検知可能となる。
【００３９】
なお、図４に示す数値制御部２０１および通信制御部２０２は、図２に示すＣＰＵ５１にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよく、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアにより実現してもよく、または、ソフトウェアおよびハードウェアを併用して実現してもよい。
【００４０】
図４に示すように、診断システム１の診断装置１００は、通信制御部１０１と、検知情報受信部１０２（第１取得部）と、加工情報取得部１０３（第２取得部）と、受付部１０４と、特徴抽出部１０５（抽出部）と、生成部１０６と、記憶部１０７と、更新部１０８と、最適モデル決定部１０９（モデル決定部）と、異常判定部１１０（判定部）と、入力部１１１と、表示制御部１１２と、表示部１１３と、を有する。
【００４１】
通信制御部１０１は、加工機２００との間の通信を制御する機能部である。例えば、通信制御部１０１は、加工機２００の数値制御部２０１から、通信制御部２０２を介して、コンテキスト情報を受信する。通信制御部１０１は、例えば、図３に示す通信Ｉ／Ｆ６４、およびＣＰＵ６１で動作するプログラムによって実現される。
【００４２】
検知情報受信部１０２は、加工機２００に設置された検知部２１１から検知情報を受信する機能部である。検知情報受信部１０２は、例えば、図３に示すセンサＩ／Ｆ６５、およびＣＰＵ６１で動作するプログラムによって実現される。
【００４３】
加工情報取得部１０３は、加工機２００から、通信制御部１０１により受信されたコンテキスト情報（加工情報）を取得する機能部である。加工情報取得部１０３は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【００４４】
受付部１０４は、通信制御部１０１が加工機２００から受信するコンテキスト情報とは異なるコンテキスト情報の入力を受け付ける機能部である。例えば、累積使用時間は加工機２００から取得するように構成できる。この場合、加工機２００は、例えば、工具を交換したときに累積使用時間をリセット（初期化）する機能を備えていてもよい。
【００４５】
累積使用時間を加工機２００から取得せず、受付部１０４が受け付けるように構成することもできる。受付部１０４は、例えば、キーボードおよびタッチパネル等により実現される入力部１１１から入力されたコンテキスト情報を受け付ける。受付部１０４で受け付けるコンテキスト情報は、累積使用時間に限らず、例えば、使用する工具の仕様の情報（工具の直径、刃数、材質、工具にコーティングが施されているか否か等）、加工対象の情報（材質等）でもよい。また、受付部１０４は、外部装置からコンテキスト情報を受信するように構成してもよい。受付部１０４は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。なお、加工機２００以外からコンテキスト情報を受け付ける必要がない場合は、受付部１０４は備えなくてもよい。
【００４６】
特徴抽出部１０５は、生成部１０６によるモデルの生成、更新部１０８によるモデルの更新、および、異常判定部１１０による異常の判定等で用いる特徴情報を、検知情報から抽出する機能部である。特徴情報は、検知情報の特徴を示す情報であればどのような情報であってもよい。例えば、特徴抽出部１０５は、検知情報から、エネルギー、周波数スペクトル、および、ＭＦＣＣ（メル周波数ケプストラム係数）等を特徴情報として抽出する。また、特徴抽出部１０５は、異常判定処理においては、最適モデル決定部１０９により決定されたモデルに対応する特徴情報抽出方法によって特徴情報を抽出する。また、特徴抽出部１０５は、モデル生成処理およびモデル更新処理においては、後述するモデル情報テーブルで特定される複数種類の特徴情報抽出方法によって特徴情報を抽出する。特徴抽出部１０５は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【００４７】
生成部１０６は、加工機２００の正常動作時の検知情報を学習データ（第１学習データ）として、特徴抽出部１０５により学習データから抽出された特徴情報を用いた学習により、加工情報取得部１０３により取得されたコンテキスト情報に対応するモデルを生成する機能部である。具体的には、生成部１０６は、後述するモデル情報テーブルで特定される複数種類の識別アルゴリズムを用いることによって、複数のモデルを生成する。識別アルゴリズムは、モデルを生成するためのアルゴリズムであり、例えば、機械学習のアルゴリズムであるＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）、またはＮＮ（ニューラルネットワーク）等が用いられる。
【００４８】
例えば、ＳＶＭでは、学習データから抽出された特徴情報を訓練データ（教師データ）とし、特徴情報をクラスにわけ、各クラスに含まれる特徴情報の距離が最大値（最大マージン）となるようにクラスを分ける超平面を示す識別関数を規定するパラメータ等をモデルパラメータとして求める。このようなモデルパラメータを求めることが、モデルの生成に相当する。
【００４９】
生成部１０６は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【００５０】
記憶部１０７は、後述するモデル情報テーブルを記憶する機能部である。生成部１０６により生成されたモデル（モデルパラメータ）は、記憶部１０７のモデル情報テーブルに含めて記憶される。また、モデル情報テーブルは、複数のモデルの情報を含むテーブルであり、特定のコンテキスト情報に関連付けられている。記憶部１０７は、例えば、図３のＲＡＭ６３または補助記憶装置６６等によって実現される。
【００５１】
更新部１０８は、加工機２００の正常動作時の検知情報を学習データ（第２学習データ）として、特徴抽出部１０５により学習データから抽出された特徴情報、および、モデルパラメータを用いることによって、当該モデルパラメータを更新する機能部である。具体的には、更新部１０８は、生成部１０６により生成された複数のモデルそれぞれについて、交差検定およびグリッドサーチを用いた処理を行うことによって、最適なモデルパラメータを求めて更新する。ここで、交差検定とは、入力される学習データのうち、一部をトレーニングデータ、残りをテストデータに分割し、トレーニングデータとテストデータとの全組み合わせにおける、平均の正解率を算出する方法であり、未知のデータに対する性能を保証するために行われる。また、グリッドサーチとは、各モデルのモデルパラメータに関して、ある探索範囲を決め、その探索範囲をグリッド上に探索し、正解率が最も高くなるモデルパラメータを探索する方法である。更新部１０８は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【００５２】
最適モデル決定部１０９は、生成または更新されたモデルを用いて、分割された学習データから各特徴情報抽出方法で抽出された特徴情報に基づいてスコアを算出し、算出したスコアに基づいて、各モデルの正解率を算出し、正解率の最も高いモデルを、異常判定処理に用いるモデルとして決定する機能部である。最適モデル決定部１０９の具体的なブロック構成は、図５において後述する。最適モデル決定部１０９は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【００５３】
異常判定部１１０は、特徴抽出部１０５により抽出された特徴情報と、加工情報取得部１０３により取得されたコンテキスト情報に対応し、かつ、最適モデル決定部１０９により決定されたモデルと、を用いて、加工機２００の動作が正常であるか否かを判定する機能部である。異常判定部１１０は、検知情報から抽出された特徴情報が正常であることの尤もらしさを示す尤度（上述のスコアと同様）を、対応するモデルを用いて算出する。異常判定部１１０は、尤度と、予め定められた閾値とを比較し、例えば、尤度が閾値以上である場合に、加工機２００の動作は正常であると判定する。また、異常判定部１１０は、尤度が閾値未満である場合に、加工機２００の動作は異常であると判定する。異常判定部１１０は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【００５４】
入力部１１１は、文字および数字等の入力、各種指示の選択、ならびにカーソルの移動等の操作を行うための機能部である。入力部１１１は、図３に示す入力装置６７によって実現される。
【００５５】
表示制御部１１２は、表示部１１３の表示動作を制御する機能部である。具体的には、表示制御部１１２は、例えば、異常判定部１１０による異常判定の結果等を、表示部１１３に表示させる。表示制御部１１２は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【００５６】
表示部１１３は、表示制御部１１２による制御に従って各種情報を表示する機能部である。表示部１１３は、例えば、図３に示すディスプレイ６８によって実現される。
【００５７】
図５は、第１の実施形態に係る診断装置の最適モデル決定部の機能ブロック構成の一例を示す図である。図５を参照しながら、本実施形態に係る診断装置１００の最適モデル決定部１０９の機能ブロックの構成および動作の一例について説明する。
【００５８】
図５に示すように、最適モデル決定部１０９は、スコア算出部１０９ａ＿１、１０９ａ＿２、・・・、１０９ａ＿ｎと、正解率算出部１０９ｂと、決定部１０９ｃと、を有する。
【００５９】
スコア算出部１０９ａ＿１は、検知情報受信部１０２により受信された検知情報を学習データとし、複数に分割された学習データから特徴抽出部１０５により抽出された特徴情報それぞれについて、後述するモデル情報テーブルに規定されている特定のモデルのモデルパラメータを適用することによってスコアを算出する機能部である。スコア算出部１０９ａ＿２は、検知情報受信部１０２により受信された検知情報を学習データとし、複数の分割された学習データから特徴抽出部１０５により抽出された特徴情報それぞれについて、モデル情報テーブルに規定されているスコア算出部１０９ａ＿１で使用したモデルとは異なるモデルのモデルパラメータを適用することによってスコアを算出する機能部である。ここで、スコア算出部１０９ａ＿１、１０９ａ＿２、・・・、１０９ａ＿ｎについて、任意のスコア算出部、または総称する場合、単に「スコア算出部１０９ａ」と称するものとする。すなわち、モデル情報テーブルに規定されているモデルの数がｎ個であるものとした場合、スコア算出部１０９ａもｎ個（スコア算出部１０９ａ＿１〜１０９ａ＿ｎ）あるものとし、それぞれ異なるモデルのモデルパラメータを適用してスコアを算出する。
【００６０】
正解率算出部１０９ｂは、各モデルについて正解率を算出する機能部である。ここで、正解率とは、正常な動作を示す検知情報の特徴情報が、特定のモデルによって正常と判定される確率を示す値である。具体的には、正解率算出部１０９ｂは、例えば、スコア算出部１０９ａ＿１により各学習データについて算出されたスコアそれぞれについて閾値判定を行い、正常と判定される確率を正解率として算出する。正解率算出部１０９ｂは、正解率の算出を、スコア算出部１０９ａ＿２〜１０９ａ＿ｎそれぞれによって算出されたスコアに対しても実行する。
【００６１】
決定部１０９ｃは、正解率算出部１０９ｂによって算出された各モデルに対応する正解率を比較して、最も高い正解率に対応するモデルを、異常判定処理で使用する最適なモデルとして決定する機能部である。
【００６２】
以上のようなスコア算出部１０９ａ、正解率算出部１０９ｂおよび決定部１０９ｃの動作によって、生成部１０６により生成されたモデル、または、更新部１０８により更新されたモデルについて、異常判定処理で使用する最適なモデルが決定される。
【００６３】
なお、最適モデル決定部１０９による最適なモデルの決定においては、モデルの生成または更新に用いた学習データを用いてもよく、または、当該学習データとは別の学習データを用いるものとしてもよい。
【００６４】
決定部１０９ｃにより決定されたモデルは、異常判定部１１０に送られて異常判定に用いられる。また、正解率算出部１０９ｂにより算出された正解率は、記憶部１０７に記憶されているモデル情報テーブルに反映される。
【００６５】
なお、図４に示した診断装置１００の各機能部（通信制御部１０１、検知情報受信部１０２、加工情報取得部１０３、受付部１０４、特徴抽出部１０５、生成部１０６、更新部１０８、最適モデル決定部１０９、異常判定部１１０および表示制御部１１２）は、図３のＣＰＵ６１にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよく、ＩＣ等のハードウェアにより実現してもよく、または、ソフトウェアおよびハードウェアを併用して実現してもよい。
【００６６】
また、図４および図５に示した診断装置１００および加工機２００それぞれの各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図４および図５で独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図４および図５の１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【００６７】
（診断装置によるモデル生成処理）
図６は、第１の実施形態におけるモデル生成処理の一例を示すフローチャートである。図７は、生成したモデルについてのモデル情報テーブルの一例を示す図である。図６および図７を参照しながら、本実施形態に係る診断システム１の診断装置１００のモデル生成処理の流れについて説明する。
【００６８】
＜ステップＳ１０１＞
診断装置１００の通信制御部１０１は、加工機２００から送信されたコンテキスト情報を受信する。そして、診断装置１００の加工情報取得部１０３は、通信制御部１０１により受信されたコンテキスト情報を取得する。そして、ステップＳ１０２へ移行する。
【００６９】
＜ステップＳ１０２＞
診断装置１００の検知情報受信部１０２は、加工機２００から送信された学習データとしての検知情報（センサデータ）を受信する。
【００７０】
このように受信されたコンテキスト情報および検知情報（学習データ）が、モデルの生成に利用される。モデルは、コンテキスト情報ごとに生成されるため、検知情報は、対応するコンテキスト情報に関連付けられる必要がある。このため、例えば、検知情報受信部１０２は、受信した検知情報を、同じタイミングで通信制御部１０１により受信されたコンテキスト情報と対応付けて記憶部１０７等に記憶させるものとしてもよい。
【００７１】
そして、ステップＳ１０３へ移行する。
【００７２】
＜ステップＳ１０３＞
診断装置１００の特徴抽出部１０５は、記憶部１０７に記憶された図７に示すモデル情報テーブルを参照し、各モデルに対応する特徴情報抽出方法、および、その特徴情報抽出パラメータに基づいて、検知情報受信部１０２により受信された学習データとしての検知情報から、モデルそれぞれに対応する特徴情報を抽出する。
【００７３】
ここで、モデル情報テーブルは、各モデルについての各情報を関連付けるテーブルである。図７に示すように、モデル情報テーブルでは、「モデルＮｏ．」と、「特徴情報抽出方法」と、「特徴情報抽出パラメータ」と、「識別アルゴリズム」と、「モデルパラメータ」と、「正解率」とが、関連付けられている。「モデルＮｏ．」とは、モデルを識別する番号である。「特徴情報抽出方法」とは、ＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ：高速フーリエ変換）、およびフィルタバンク等の、検知情報から特徴情報を抽出する方法を示す情報である。「特徴情報抽出パラメータ」とは、「特徴情報抽出方法」による特徴情報の抽出の際に用いられるパラメータである。「識別アルゴリズム」とは、特徴情報からモデルを生成する、具体的には、モデルパラメータを求めるためのＳＶＭまたはＮＮ等のアルゴリズムである。「モデルパラメータ」とは、「識別アルゴリズム」により求められたモデルの実体であるパラメータである。「正解率」とは、正常な動作を示す特徴情報が、「モデルパラメータ」によって正常と判定される確率を示す値である。例えば、図７に示すモデル情報テーブルの例では、モデルＮｏ．が「２」のモデルについて、特徴情報抽出方法が「ＦＦＴ」および「フィルタバンク」であり、特徴情報抽出パラメータが「窓長：１００［ｍｓ］」および「次元数：１２８」であり、識別アルゴリズムが「ＳＶＭ」であり、モデルパラメータが「Ｃｏｓｔ：１．０」および「Ｇａｍｍａ：０．１」であり、正解率が「９５％」であることが示されている。
【００７４】
なお、図７に示すモデル情報テーブルは、テーブル形式の情報となっているが、これに限定されるものではなく、上述の各モデルについての各情報を関連付ける情報であればどのような形式の情報であってもよい。
【００７５】
そして、ステップＳ１０４へ移行する。
【００７６】
＜ステップＳ１０４＞
診断装置１００の生成部１０６は、特徴抽出部１０５によりモデルそれぞれに対応して抽出された特徴情報から、各モデルに対応する識別アルゴリズムによって、当該各モデルを生成する（モデルパラメータを求める）。そして、ステップＳ１０５へ移行する。
【００７７】
＜ステップＳ１０５＞
生成部１０６は、生成した各モデルのモデルパラメータを、記憶部１０７のモデル情報テーブルに記憶させる。
【００７８】
以上のステップＳ１０１〜Ｓ１０５によって、モデル生成処理が実行される。
【００７９】
なお、モデル生成処理が実行された後、最適モデル決定部１０９等による最適モデル決定処理によって、求められたモデルパラメータに基づいて算出された正解率により異常判定処理に用いるモデルが決定される。図７に示すモデル情報テーブルのモデルパラメータが、モデル生成処理により求められたパラメータであるものとした場合、最適モデル決定部１０９により算出された正解率が最も高い「９５％」であるモデルＮｏ．が「２」のモデルが、異常判定処理に用いるモデルとして決定される。
【００８０】
（診断装置によるモデル更新処理）
図８は、第１の実施形態におけるモデル更新処理の一例を示すフローチャートである。図９は、更新したモデルについてのモデル情報テーブルの一例を示す図である。図８および図９を参照しながら、本実施形態に係る診断システム１の診断装置１００のモデル更新処理の流れについて説明する。
【００８１】
＜ステップＳ２０１＞
診断装置１００の通信制御部１０１は、加工機２００から送信されたコンテキスト情報を受信する。そして、診断装置１００の加工情報取得部１０３は、通信制御部１０１により受信されたコンテキスト情報を取得する。そして、ステップＳ２０２へ移行する。
【００８２】
＜ステップＳ２０２＞
診断装置１００の検知情報受信部１０２は、加工機２００から送信された学習データとしての検知情報（センサデータ）を受信する。そして、ステップＳ２０３へ移行する。
【００８３】
＜ステップＳ２０３＞
診断装置１００の特徴抽出部１０５は、記憶部１０７に記憶された図７に示すモデル情報テーブルを参照し、各モデルに対応する特徴情報抽出方法、および、その特徴情報抽出パラメータに基づいて、検知情報受信部１０２により受信された学習データとしての検知情報から、モデルそれぞれに対応する特徴情報を抽出する。そして、ステップＳ２０４へ移行する。
【００８４】
＜ステップＳ２０４＞
診断装置１００の更新部１０８は、特徴抽出部１０５により抽出されたモデルそれぞれに対応する特徴情報、および、各モデルのモデルパラメータを用いて、交差検定を実行する。そして、ステップＳ２０５へ移行する。
【００８５】
＜ステップＳ２０５＞
更新部１０８は、特徴抽出部１０５により抽出されたモデルそれぞれに対応する特徴情報、および、各モデルのモデルパラメータを用いて、グリッドサーチを実行する。そして、ステップＳ２０６へ移行する。
【００８６】
＜ステップＳ２０６＞
更新部１０８は、交差検定およびグリッドサーチの実行により得られた各モデルのモデルパラメータによって、記憶部１０７のモデル情報テーブルの現状の各モデルパラメータを更新する。そして、ステップＳ２０７へ移行する。
【００８７】
＜ステップＳ２０７＞
更新部１０８は、更新した各モデルパラメータがそれぞれ最適なモデルパラメータとなったか否かを判定する。すべてのモデルパラメータが最適となった場合（ステップＳ２０７：Ｙｅｓ）、ステップＳ２０８へ移行し、更新されたモデルパラメータのうちいずれかが最適ではない場合（ステップＳ２０７：Ｎｏ）、ステップＳ２０４へ戻る。
【００８８】
＜ステップＳ２０８＞
更新部１０８は、モデルパラメータを更新した記憶部１０７のモデル情報テーブルを、最新のモデルの情報を含むものとして扱う。
【００８９】
以上のステップＳ２０１〜Ｓ２０８によって、モデル更新処理が実行される。
【００９０】
なお、モデル更新処理が実行された後、最適モデル決定部１０９等による最適モデル決定処理によって、更新されたモデルパラメータに基づいて算出された正解率により異常判定処理に用いるモデルが決定される。ここで図９に示すモデル情報テーブルが、各モデルについてモデルパラメータが更新され、最適モデル決定部１０９による最適モデル決定処理によって正解率が算出された状態のテーブルであるものとする。例えば、モデルＮｏ．が「２」のモデルのモデルパラメータは「Ｃｏｓｔ：１．０」および「Ｇａｍｍａ：０．１」から、「Ｃｏｓｔ：１．０」および「Ｇａｍｍｍａ：０．２」に更新され、当該モデルの正解率は「９５％」から「８５％」へ低下したことを示す。一方、モデルＮｏ．が「４」のモデルのモデルパラメータは「Ｈｉｄｄｅｎ  Ｕｎｉｔ：６４」および「Ｗｅｉｇｈｔ：０．４」から、「Ｈｉｄｄｅｎ  Ｕｎｉｔ：６４」および「Ｗｅｉｇｈｔ：０．３５」に更新され、当該モデルの正解率は「８５％」から「９５％」へ上昇したことを示す。したがって、図９に示すモデル情報テーブルの場合、最適モデル決定部１０９により正解率が最も高い「９５％」であるモデルＮｏ．が「４」のモデルが、異常判定処理に用いるモデルとして決定される。
【００９１】
また、上述の交差検定およびグリッドサーチの処理を、モデル生成処理が実行されて生成されたモデルに対して実行することにより、各モデルパラメータの最適化を行ってもよい。
【００９２】
（モデルの生成および更新に用いられるデータセットおよび正解率の変動について）
図１０は、モデルを生成および更新するためのデータセットの一例を説明する図である。図１１は、モデルの正解率の変動の一例を説明する図である。図１０および図１１を参照しながら、本実施形態の診断システム１におけるモデルの生成および更新に用いられるデータセットおよび正解率の変動について説明する。
【００９３】
図１０に、モデルの生成および更新をするために用いる学習データ（検知情報）のデータセットを示す。例えば、同一の学習データについてｎ分割し、ｎ分割したそれぞれの学習データ（データセット）から各モデルに対応する特徴情報が抽出され、モデルの生成および更新に用いられる。図１０では、例えば、ｎ個に分割された学習データを含むデータセット（１）がモデルの生成に利用され、そのデータセット（１）からｍ（１＜ｍ≦ｎ）個分シフトしたｎ個の学習データを含むデータセット（２）がモデルの更新に利用される。以後も同様に、ｍ個分シフトされたｎ個の学習データを含むデータセットがモデルの更新に利用される。
【００９４】
図１１に、各モデルのうちモデルＮｏ．が「１」および「２」のモデルの正解率の変動を示す。データセット（１）を用いて各モデルが生成された場合の当該各モデルの正解率、および、データセット（２）を用いて各モデルが更新された場合の当該各モデルの正解率は、いずれも、モデルＮｏ．が「１」のモデルの方が、モデルＮｏ．が「２」のモデルよりも大きい。しかし、データセット（３）を用いて各モデルが更新された場合の当該各モデルの正解率は、モデルＮｏ．が「２」のモデルの方が、モデルＮｏ．が「１」のモデルよりも大きくなる。この結果、データセット（３）を用いて各モデルが更新された後、モデルＮｏ．が「２」のモデルが、異常判定処理で用いるモデルとして決定される。
【００９５】
なお、正解率算出部１０９ｂにより算出された各モデルの正解率は、図１１に示すように、表示制御部１１２によって表示部１１３に表示されるものとしてもよい。これによって、加工機２００のユーザは、モデルの正解率の変動を確認することができ、現在、どのモデルが異常判定処理で使用されているかを知ることができる。
【００９６】
また、図１１で上述したように、各モデルの正解率は、データセットごとに算出されるものとしたが、これに限定されるものではなく、過去の所定数分の正解率の算術平均値もしくは移動平均値、または、対数関数型もしくは指数関数型で過去ｎ点の重みを変えて求まる値をそのときの正解率としてもよい。これによって、学習データとして突発的な異常データが含まれる場合、正解率の算出に対するその影響を小さくすることができる。
【００９７】
また、モデル生成処理によりモデルが生成されてから、次にモデル更新処理が実行されるまでの時間、および、モデル更新処理によりモデルが更新されてから、次にモデル更新処理が実行されるまでの時間は、例えば、所定時間とすればよい。また、モデル更新処理は、ユーザによる入力部１１１の操作によって任意のタイミングで実行可能とするものとしてもよい。
【００９８】
（診断装置による最適モデル決定処理）
図１２は、第１の実施形態における最適モデル決定処理の一例を示すフローチャートである。図１２を参照しながら、本実施形態に係る診断システム１の診断装置１００の最適モデル決定処理の流れについて説明する。なお、図１２では説明を簡略にするために、コンテキスト情報の受信およびモデルとの関連付け等の説明は、割愛する。
【００９９】
＜ステップＳ３０１＞
診断装置１００の検知情報受信部１０２は、加工機２００から送信された学習データとしての検知情報（センサデータ）を受信する。検知情報は、例えば、加工機２００の加工音等である。そして、ステップＳ３０２＿１〜Ｓ３０２＿ｎへ移行する。
【０１００】
＜ステップＳ３０２＿１〜Ｓ３０２＿ｎ＞
ステップＳ３０２＿１では、診断装置１００の特徴抽出部１０５は、検知情報受信部１０２により受信された検知情報を学習データとし、記憶部１０７のモデル情報テーブルを参照して、モデルＮｏ．が「１」のモデルに対応した特徴情報抽出方法および特徴情報抽出パラメータによって、当該学習データから特徴情報を抽出する。ステップＳ３０２＿２では、特徴抽出部１０５は、記憶部１０７のモデル情報テーブルを参照して、モデルＮｏ．が「２」のモデルに対応した特徴情報抽出方法および特徴情報抽出パラメータによって、同一の学習データから特徴情報を抽出する。ステップＳ３０２＿３〜Ｓ３０２＿ｎにおいて、特徴抽出部１０５は、モデルＮｏ．が「３」〜「ｎ」のモデルにそれぞれ対応した特徴情報抽出方法および特徴情報抽出パラメータによって、同一の学習データから特徴情報をそれぞれ抽出する。そして、ステップＳ３０３＿１〜Ｓ３０３＿ｎへ移行する。
【０１０１】
＜ステップＳ３０３＿１〜Ｓ３０３＿ｎ＞
ステップＳ３０３＿１では、最適モデル決定部１０９のスコア算出部１０９ａ＿１は、モデルＮｏ．が「１」のモデルに対応した特徴情報抽出方法および特徴情報抽出パラメータによって抽出された特徴情報について、記憶部１０７のモデル情報テーブルに規定されているモデルＮｏ．が「１」のモデルのモデルパラメータを適用することによってスコアを算出する。ステップＳ３０３＿２〜Ｓ３０３＿ｎにおいて、スコア算出部１０９ａ＿２〜１０９ａ＿ｎについても同様に、モデルＮｏ．が「２」〜「ｎ」のモデルのモデルパラメータを適用することによってスコアをそれぞれ算出する。そして、ステップＳ３０４へ移行する。
【０１０２】
＜ステップＳ３０４＞
最適モデル決定部１０９の正解率算出部１０９ｂは、例えば、スコア算出部１０９ａ＿１により各学習データについて算出されたスコアそれぞれについて閾値判定を行い、正常と判定される確率を正解率として算出する。正解率算出部１０９ｂは、正解率の算出を、スコア算出部１０９ａ＿２〜１０９ａ＿ｎそれぞれによって算出されたスコアに対しても実行する。そして、正解率算出部１０９ｂは、各モデルについて算出した正解率を、記憶部１０７のモデル情報テーブルに記憶させる。そして、ステップＳ３０５へ移行する。
【０１０３】
＜ステップＳ３０５＞
最適モデル決定部１０９の決定部１０９ｃは、正解率算出部１０９ｂによって算出された各モデルに対応する正解率を比較して、最も高い正解率に対応するモデルを、異常判定処理で使用する最適なモデルとして決定する。決定部１０９ｃは、決定したモデルの情報を、異常判定部１１０に送る。
【０１０４】
以上のステップＳ３０１〜Ｓ３０５によって、最適モデル決定処理が実行される。
【０１０５】
（診断装置による異常判定処理）
図１３は、第１の実施形態における異常判定処理の一例を示すフローチャートである。図１３を参照しながら、本実施形態に係る診断システム１の診断装置１００の異常判定処理の流れについて説明する。
【０１０６】
＜ステップＳ４０１＞
加工機２００の数値制御部２０１は、加工機２００から送信されたコンテキスト情報を、逐次、診断装置１００に送信する。診断装置１００の通信制御部１０１は、このようにして加工機２００から送信されたコンテキスト情報を受信する。そして、診断装置１００の加工情報取得部１０３は、通信制御部１０１により受信されたコンテキスト情報を取得する。そして、ステップＳ４０２へ移行する。
【０１０７】
＜ステップＳ４０２＞
また、加工機２００の検知部２１１は、検知情報を、逐次、出力する。診断装置１００の検知情報受信部１０２は、このようにして加工機２００から送信された検知情報（センサデータ）を受信する。そして、ステップＳ４０３へ移行する。
【０１０８】
＜ステップＳ４０３＞
診断装置１００の特徴抽出部１０５は、記憶部１０７のモデル情報テーブルを参照し、加工情報取得部１０３により取得されたコンテキスト情報に対応し、かつ、最適モデル決定処理により決定されたモデルに対応する特徴情報抽出方法および特徴情報抽出パラメータに基づいて、検知情報受信部１０２により受信された検知情報から特徴情報を抽出する。そして、ステップＳ４０４へ移行する。
【０１０９】
＜ステップＳ４０４＞
診断装置１００の異常判定部１１０は、記憶部１０７のモデル情報テーブルを参照し、加工情報取得部１０３により取得されたコンテキスト情報に対応し、かつ、最適モデル決定処理により決定されたモデルの情報（モデルパラメータ）を取得する。そして、ステップＳ４０５へ移行する。
【０１１０】
＜ステップＳ４０５＞
異常判定部１１０は、抽出された特徴情報と、取得されたモデルの情報とを用いて、加工機２００が正常に動作しているか否かを判定する。そして、ステップＳ４０６へ移行する。
【０１１１】
＜ステップＳ４０６＞
異常判定部１１０は、判定結果を出力する。判定結果の出力方法はどのような方法であってもよい。異常判定部１１０は、例えば、診断装置１００の表示制御部１１２に対して、判定結果を表示部１１３に表示させるものとしてもよい。または、異常判定部１１０が、サーバ装置およびＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の外部装置に判定結果を出力するものとしてもよい。
【０１１２】
以上のステップＳ４０１〜Ｓ４０６によって、異常判定処理が実行される。
【０１１３】
以上のように、本実施形態に係る診断システム１では、異なる特徴情報の抽出方法、および、異なる識別アルゴリズムにより複数のモデルを生成し、さらに、複数のモデルのモデルパラメータを所定の方式（例えば、交差検定およびグリッドサーチ）により最適なモデルパラメータに更新するものとしている。さらに、生成または更新されたモデルパラメータごとに正解率を算出し、最も正解率が高いモデルを、異常判定処理に使用する最適なモデルとして決定する。これによって、正常か否か未知の検知情報に対して最適なモデルとして決定されたモデルを用いて異常判定を行うので、対象機械に対する異常判定の精度を向上させることができる。なお、上述の実施形態において、対象装置の動作の判定として、対象装置の動作が正常か否かを判定する異常判定について説明したが、動作の判定には、対象機器の寿命または故障の予知の判定等が含まれてもよい。つまり、正常に動作が行われていても、対象装置の各部が摩耗（例えば、工具の摩耗、およびモータの軸受けの摩耗等）していることを判定することも、対象装置の動作の判定に含まれる。
【０１１４】
（変形例１）
図１４は、第１の実施形態の変形例１における正解率を補正する動作の一例を示す図である。図１４を参照しながら、本変形例に係る診断システム１の正解率を補正する動作について説明する。
【０１１５】
図１４に示すように、突発的な異常値を含む学習データにより、新しく正解率算出部１０９ｂにより算出された正解率が、外れ値（図１４の例では、データセット（３）が、データセット（１）および（２）の正解率に対して大きく低下している）となる場合がある。この場合、例えば、正解率算出部１０９ｂは、過去の所定数の正解率により正規分布を求め、分散σの２倍（２σ）より大きい値となった正解率を外れ値として判定し、図１４に示すように、外れ値である正解率を補正して、正解率を大きくする。補正の方式としては、例えば、過去の所定数の正解率の平均値に基づいて補正を行う。
【０１１６】
このように、外れ値と判定した正解率を補正することができるので、対象機械に対する異常判定の精度を維持することができる。
【０１１７】
（変形例２）
図１５は、第１の実施形態の変形例２における正解率を予測する動作の一例を示す図である。図１５を参照しながら、本変形例に係る診断システム１の正解率を予測する動作について説明する。
【０１１８】
図１５に示すように、データセット（３）までは、モデルＮｏ．が「２」のモデルの正解率が、モデルＮｏ．が「１」のモデルの正解率が高いことが示されている。しかし、正解率算出部１０９ｂが、過去に算出した正解率に基づいて、未来の正解率を補間（予測）することによって、例えば、モデルＮｏ．が「１」のモデルの正解率が、いつモデルＮｏ．が「２」のモデルの正解率を上回るかを判断することができる。ここで、正解率を補間する方法としては、線形補間または多項式補間等を用いればよい。
【０１１９】
なお、正解率算出部１０９ｂにより補間された各モデルの正解率は、図１５に示すように、表示制御部１１２によって表示部１１３に表示されるものとしてもよい。これによって、加工機２００のユーザは、未来のモデルの変動を知ることができる。
【０１２０】
（変形例３）
図１６は、第１の実施形態の変形例３における正解率を補正および予測する動作の一例を示す図である。図１６を参照しながら、本変形例に係る診断システム１の正解率を補正かつ予測する動作について説明する。
【０１２１】
図１６に示すように、正解率算出部１０９ｂは、図１４で上述したように、過去の正解率と比較して、求めた正解率が外れ値であると判定した場合、当該正解率を補正したうえで、さらに、図１５で上述したように、未来の正解率を補間（予測）する。これによって、例えば、正解率を外れ値のまま補間（予測）すると、補間の精度が著しく低下することになるが、補正したうえで補間しているので、精度の高い補間処理が可能となる。
【０１２２】
［第２の実施形態］
第２の実施形態に係る診断システムについて、第１の実施形態に係る診断システム１と相違する点を中心に説明する。本実施形態では、モデル生成処理、モデル更新処理、および最適モデル決定処理を、診断装置と通信可能なサーバで行う動作について説明する。なお、本実施形態に係る診断装置および加工機のハードウェア構成は、それぞれ第１の実施形態で説明した構成と同様である。
【０１２３】
（診断システムの全体構成）
図１７は、第２の実施形態に係る診断システムの全体構成の一例を示す図である。図１７を参照しながら、本実施形態に係る診断システム１ａの全体構成について説明する。
【０１２４】
図１７に示すように、本実施形態に係る診断システム１ａは、加工機２００ａ＿１、２００ａ＿２、・・・それぞれに設置されたセンサ５７ａ＿１、５７ａ＿２、・・・と、診断装置１００ａ＿１、１００ａ＿２、・・・と、サーバ３００と、を含む。加工機２００ａ＿１、２００ａ＿２、・・・は、それぞれ、診断装置１００ａ＿１、１００ａ＿２、・・・に対して通信可能となるように接続されている。サーバ３００は、診断装置１００ａ＿１、１００ａ＿２、・・・それぞれに対して、ネットワーク２を介して通信可能となっている。
【０１２５】
なお、診断装置１００ａ＿１、１００ａ＿２、・・・について、任意の診断装置、または総称する場合、単に「診断装置１００ａ」と称するものとする。また、加工機２００ａ＿１、２００ａ＿２、・・・について、任意の加工機、または総称する場合、単に「加工機２００ａ」と称するものとする。また、センサ５７ａ＿１、５７ａ＿２、・・・について、任意のセンサ、または総称する場合、単に「センサ５７ａ」と称するものとする。
【０１２６】
また、図１７に示す例では、診断装置１００ａおよび加工機２００ａについてそれぞれ２台ずつ図示されているが、台数が限定されるものではなく、その他の台数であってもよい。
【０１２７】
診断装置１００ａは、サーバ３００により生成または更新されたモデルを利用して、加工機２００ａの動作について異常の診断を行う装置である。
【０１２８】
なお、加工機２００ａおよびセンサ５７ａについては、それぞれ図１で上述した加工機２００およびセンサ５７と同様である。
【０１２９】
また、サーバ３００のハードウェア構成は、例えば、図３に示した診断装置１００のハードウェア構成に準じる。
【０１３０】
（診断システムの機能ブロックの構成および動作）
図１８は、第２の実施形態に係る診断システムの機能ブロックの構成の一例を示す図である。図１８を参照しながら、本実施形態に係る診断システム１ａおよび加工機２００ａの機能ブロックの構成および動作について説明する。なお、加工機２００ａの機能ブロックの構成および動作は、図４で上述した加工機２００の機能ブロックの構成および動作と同様である。
【０１３１】
図１８に示すように、診断システム１ａの診断装置１００ａは、通信制御部１０１ａと、検知情報受信部１０２（装置側取得部）と、加工情報取得部１０３と、特徴抽出部１０５ａと、記憶部１０７ａと、異常判定部１１０（判定部）と、入力部１１１と、表示制御部１１２と、表示部１１３と、を有する。なお、入力部１１１、表示制御部１１２および表示部１１３の動作は、第１の実施形態で説明した動作と同様である。
【０１３２】
通信制御部１０１ａは、加工機２００ａおよびサーバ３００との通信を制御する機能部である。例えば、通信制御部１０１ａは、加工機２００の数値制御部２０１から、通信制御部２０２を介して、コンテキスト情報を受信する。また、通信制御部１０１ａは、受信したコンテキスト情報を、ネットワーク２を介してサーバ３００へ送信する。通信制御部１０１ａは、例えば、図３に示す通信Ｉ／Ｆ６４、およびＣＰＵ６１で動作するプログラムによって実現される。
【０１３３】
検知情報受信部１０２は、加工機２００ａに設置された検知部２１１から検知情報を受信する機能部である。また、検知情報受信部１０２により受信された検知情報が学習データとして使用される場合は、通信制御部１０１ａおよびネットワーク２を介して、サーバ３００へ送信される。検知情報受信部１０２は、例えば、図３に示すセンサＩ／Ｆ６５、およびＣＰＵ６１で動作するプログラムによって実現される。
【０１３４】
加工情報取得部１０３は、加工機２００ａから、通信制御部１０１ａにより受信されたコンテキスト情報（加工情報）を取得する機能部である。加工情報取得部１０３は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【０１３５】
特徴抽出部１０５ａは、異常判定部１１０による異常の判定等で用いる特徴情報を、検知情報から抽出する機能部である。この場合、特徴抽出部１０５ａは、サーバ３００による最適モデル決定処理で決定されたモデルに対応する特徴情報抽出方法によって特徴情報を抽出する。特徴抽出部１０５ａは、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【０１３６】
記憶部１０７ａは、サーバ３００で更新等がなされたモデル情報テーブルを記憶する機能部である。サーバ３００により生成されたモデル（モデルパラメータ）は、サーバ３００の記憶部（後述する記憶部３０７）のモデル情報テーブルに含めて記憶される。また、このモデルパラメータは、サーバ３００によるモデル更新処理により更新される。このように、サーバ３００によって更新等がなされたモデル情報テーブルは、ネットワーク２および通信制御部１０１ａを介して、記憶部１０７に記憶される。また、モデル情報テーブルは、複数のモデルの情報を含むテーブルであり、特定のコンテキスト情報に関連付けられている。記憶部１０７ａは、例えば、図３のＲＡＭ６３または補助記憶装置６６等によって実現される。
【０１３７】
異常判定部１１０は、特徴抽出部１０５ａにより抽出された特徴情報と、加工情報取得部１０３により取得されたコンテキスト情報に対応し、かつ、サーバ３００による最適モデル決定処理で決定されたモデルと、を用いて、加工機２００ａの動作が正常であるか否かを判定する機能部である。異常判定部１１０は、検知情報から抽出された特徴情報が正常であることの尤もらしさを示す尤度（上述のスコアと同様）を、対応するモデルを用いて算出する。異常判定部１１０は、尤度と、予め定められた閾値とを比較し、例えば、尤度が閾値以上である場合に、加工機２００ａの動作は正常であると判定する。また、異常判定部１１０は、尤度が閾値未満である場合に、加工機２００ａの動作は異常であると判定する。異常判定部１１０は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【０１３８】
なお、図１８に示した診断装置１００ａの各機能部（通信制御部１０１ａ、検知情報受信部１０２、加工情報取得部１０３、特徴抽出部１０５ａ、異常判定部１１０および表示制御部１１２）は、図３のＣＰＵ６１にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよく、ＩＣ等のハードウェアにより実現してもよく、または、ソフトウェアおよびハードウェアを併用して実現してもよい。
【０１３９】
図１８に示すように、診断システム１ａのサーバ３００は、通信制御部３０１と、検知情報取得部３０２（サーバ側取得部）と、加工情報取得部３０３と、特徴抽出部３０５（抽出部）と、生成部３０６と、記憶部３０７と、更新部３０８と、最適モデル決定部３０９（モデル決定部）と、を有する。
【０１４０】
通信制御部３０１は、診断装置１００ａとの間の通信を制御する機能部である。例えば、通信制御部３０１は、診断装置１００ａからコンテキスト情報および検知情報を受信する。通信制御部３０１は、例えば、図３に示す通信Ｉ／Ｆ６４、およびＣＰＵ６１で動作するプログラムによって実現される。
【０１４１】
検知情報取得部３０２は、診断装置１００ａから、通信制御部３０１により受信された学習データである検知情報を取得する機能部である。検知情報取得部３０２は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【０１４２】
加工情報取得部３０３は、診断装置１００ａから、通信制御部３０１により受信されたコンテキスト情報（加工情報）を取得する機能部である。加工情報取得部３０３は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【０１４３】
特徴抽出部３０５は、生成部３０６によるモデルの生成、および、更新部３０８によるモデルの更新等で用いる特徴情報を、検知情報から抽出する機能部である。また、特徴抽出部３０５は、後述する記憶部３０７のモデル情報テーブルで特定される複数種類の特徴情報抽出方法によって特徴情報を抽出する。特徴抽出部３０５は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【０１４４】
生成部３０６は、加工機２００ａの正常動作時の検知情報を学習データとして、特徴抽出部３０５により学習データから抽出された特徴情報を用いた学習により、加工情報取得部３０３により取得されたコンテキスト情報に対応するモデルを生成する機能部である。具体的には、生成部３０６は、記憶部３０７のモデル情報テーブルで特定される複数種類の識別アルゴリズムを用いることによって、複数のモデルを生成する。生成部３０６は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【０１４５】
記憶部３０７は、モデル情報テーブルを記憶する機能部である。生成部３０６により生成されたモデル（モデルパラメータ）は、記憶部３０７のモデル情報テーブルに含めて記憶される。また、モデル情報テーブルは、複数のモデルの情報を含むテーブルであり、特定のコンテキスト情報に関連付けられている。記憶部３０７は、例えば、図３のＲＡＭ６３または補助記憶装置６６等によって実現される。
【０１４６】
更新部３０８は、加工機２００ａの正常動作時の検知情報を学習データとして、特徴抽出部３０５により学習データから抽出された特徴情報、および、モデルパラメータを用いることによって、当該モデルパラメータを更新する機能部である。具体的には、更新部３０８は、生成部３０６により生成された複数のモデルそれぞれについて、交差検定およびグリッドサーチを用いた処理を行うことによって、最適なモデルパラメータを求めて更新する。更新部３０８は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【０１４７】
最適モデル決定部３０９は、生成または更新されたモデルを用いて、分割された学習データから各特徴情報抽出方法で抽出された特徴情報に基づいてスコアを算出し、算出したスコアに基づいて、各モデルの正解率を算出し、正解率の最も高いモデルを、異常判定処理に用いるモデルとして決定する機能部である。なお、最適モデル決定部３０９の具体的なブロック構成は、上述の第１の実施形態の図５に示した構成と同様である。最適モデル決定部３０９は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【０１４８】
なお、最適モデル決定部３０９による最適なモデルの決定においては、モデルの生成または更新に用いた学習データを用いてもよく、または、当該学習データとは別の学習データを用いるものとしてもよい。
【０１４９】
なお、図１８に示したサーバ３００の各機能部（通信制御部３０１、検知情報取得部３０２、加工情報取得部３０３、特徴抽出部３０５、生成部３０６、更新部３０８および最適モデル決定部３０９）は、図３のＣＰＵ６１にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよく、ＩＣ等のハードウェアにより実現してもよく、または、ソフトウェアおよびハードウェアを併用して実現してもよい。
【０１５０】
また、図１８に示した診断装置１００ａ、加工機２００ａおよびサーバ３００それぞれの各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図１８で独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図１８の１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【０１５１】
以上のように、各診断装置１００ａの異常判定処理で使用するモデルは、サーバ３００によるモデル生成処理およびモデル更新処理によって、一括して生成および更新がされる。さらに、サーバ３００による最適モデル決定処理によって、各診断装置１００ａの異常判定処理においてどのモデルを使用するのかがそれぞれ決定される。このような診断システム１ａの構成によって、各診断装置１００ａで使用するモデルの情報をサーバ３００で一括して管理することができ、診断装置１００ａではモデル生成処理、モデル更新処理および最適モデル決定処理を実行する必要がないため、診断装置１００ａを簡素なハードウェア構成とすることが可能となる。
【０１５２】
なお、上述の各実施形態の診断システムで実行されるプログラムは、ＲＯＭ等に予め組み込まれて提供するように構成してもよい。
【０１５３】
また、上述の各実施形態の診断システムで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅｃｏｒｄａｂｌｅ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータ・プログラム・プロダクトとして提供するように構成してもよい。
【０１５４】
また、上述の各実施形態の診断システムで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の各実施形態の診断システムで実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１５５】
また、上述の各実施形態の診断システムで実行されるプログラムは、上述した各機能部を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）がＲＯＭからプログラムを読み出して実行することにより上述の各機能部が主記憶装置上にロードされ、各機能部が主記憶装置上に生成されるようになっている。
【符号の説明】
【０１５６】
１、１ａ  診断システム
２  ネットワーク
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５４  通信Ｉ／Ｆ
５５  駆動制御回路
５６  モータ
５７、５７ａ、５７ａ＿１、５７ａ＿２  センサ
５８  バス
６１  ＣＰＵ
６２  ＲＯＭ
６３  ＲＡＭ
６４  通信Ｉ／Ｆ
６５  センサＩ／Ｆ
６６  補助記憶装置
６７  入力装置
６８  ディスプレイ
６９  バス
１００、１００ａ、１００ａ＿１、１００ａ＿２  診断装置
１０１、１０１ａ  通信制御部
１０２  検知情報受信部
１０３  加工情報取得部
１０４  受付部
１０５、１０５ａ  特徴抽出部
１０６  生成部
１０７、１０７ａ  記憶部
１０８  更新部
１０９  最適モデル決定部
１０９ａ、１０９ａ＿１、１０９ａ＿２  スコア算出部
１０９ｂ  正解率算出部
１０９ｃ  決定部
１１０  異常判定部
１１１  入力部
１１２  表示制御部
１１３  表示部
２００、２００ａ、２００ａ＿１、２００ａ＿２  加工機
２０１  数値制御部
２０２  通信制御部
２０３  駆動制御部
２０４  駆動部
２１１  検知部
３００  サーバ
３０１  通信制御部
３０２  検知情報取得部
３０３  加工情報取得部
３０５  特徴抽出部
３０６  生成部
３０７  記憶部
３０８  更新部
３０９  最適モデル決定部
【先行技術文献】
【特許文献】
【０１５７】
【特許文献１】特開２０１５−２０３９３６号公報
【図１】
2018156415.tif 000003
【図２】
2018156415.tif 000004
【図３】
2018156415.tif 000005
【図４】
2018156415.tif 000006
【図５】
2018156415.tif 000007
【図６】
2018156415.tif 000008
【図７】
2018156415.tif 000009
【図８】
2018156415.tif 000010
【図９】
2018156415.tif 000011
【図１０】
2018156415.tif 000012
【図１１】
2018156415.tif 000013
【図１２】
2018156415.tif 000014
【図１３】
2018156415.tif 000015
【図１４】
2018156415.tif 000016
【図１５】
2018156415.tif 000017
【図１６】
2018156415.tif 000018
【図１７】
2018156415.tif 000019
【図１８】
2018156415.tif 000020