(57)【要約】【課題】所定の処理又は動作を行う物体が第１の状態であるか否かの判定精度を向上させる。【解決手段】情報処理装置は、所定の処理又は動作を行う所定の物体の第１の状態において、所定の処理又は動作による作用を受ける作用対象の第１の画像データと、当該物体の第１の状態において第１の画像データと対応して当該物体から得られる第１の時系列データと、のいずれか一方を入力、もう一方を出力として、機械学習モデルを学習させる。次に、情報処理装置は、新たに取得される当該作用対象の第２の画像データと、当該物体の第２の時系列データとのうちの学習時に入力として用いられた方のデータの入力に対する学習済みの機械学習モデルの出力データを取得し、第２の画像データ又は第２の時系列データのうちのもう一方のデータと学習済みの機械学習モデルの出力データとに基づいて、当該所定の物体が第１の状態であるか否かを判定する、制御部、を備える。【選択図】図６
2020187667.tif 000002
【特許請求の範囲】
【請求項１】
所定の処理又は動作を行う所定の物体の第１の状態において、前記所定の処理又は動作による作用を受ける作用対象の第１の画像データと、前記所定の物体の前記第１の状態において前記第１の画像データと対応して前記所定の物体から得られる第１の時系列データと、のいずれか一方を入力、もう一方を出力として、機械学習モデルを学習させ、
新たに取得される前記作用対象の第２の画像データと、前記第２の画像データに対応して新たに得られる第２の時系列データとのうちの前記学習時に入力として用いられたデータと同種のデータの入力に対する学習済みの前記機械学習モデルの出力データを取得し、
前記第２の画像データ又は前記第２の時系列データのうちの入力として用いられていないもう一方のデータと前記学習済みの前記機械学習モデルの前記出力データとに基づいて、前記所定の物体が前記第１の状態であるか否かを判定する、
制御部、
を備える情報処理装置。
【請求項２】
前記第１の画像データ及び前記第１の時系列データと、前記第２の画像データ及び前記第２の時系列データと、は、それぞれ、所定期間分あり、
前記機械学習モデルは、系列変換のモデルである、
請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、
前記第１の画像データ及び前記第１の時系列データのそれぞれから取得される特徴量を、前記機械学習モデルの入力又は出力として、前記機械学習モデルを学習させ、
前記第２の画像データから取得される特徴量及び前記第２の時系列データから取得される特徴量のいずれか一方を学習済みの前記機械学習モデルへ入力して出力データを取得し、
前記第２の画像データから取得される特徴量及び前記第２の時系列データから取得される特徴量のもう一方と、前記出力データと、に基づいて、前記所定の物体が前記第１の状態であるか否かを判定する、
請求項１又は２に記載の情報処理装置。
【請求項４】
所定の処理又は動作を行う所定の物体の第１の状態において、前記所定の処理又は動作による作用を受ける作用対象の第１の画像データと、前記所定の物体の前記第１の状態において前記第１の画像データと対応して前記所定の物体から得られる第１の時系列データと、のいずれか一方を入力、もう一方を出力として、機械学習モデルを学習させ、
新たに取得される前記作用対象の第２の画像データと、前記第２の画像データに対応して新たに得られる第２の時系列データとのうちの前記学習時に入力として用いられたデータと同種のデータの入力に対する学習済みの前記機械学習モデルの出力データを取得し、
前記第２の画像データ又は前記第２の時系列データのうちの入力として用いられていないもう一方のデータと前記学習済みの前記機械学習モデルの前記出力データとに基づいて、前記所定の物体が前記第１の状態であるか否かを判定する、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の処理又は動作を行う装置が第１の状態であるか否かを判定する技術に関する。
【背景技術】
【０００２】
所定の処理又は動作を行う装置の正常・異常のタグを付与する技術として、例えば、工作機械の稼働を表す時系列データに基づいて、当該工作機械が正常に動作しているか否かを判定する技術が開示されている（例えば、特許文献１）。また、所定の処理又は動作を行う装置の正常・異常のタグを付与する技術として、例えば、工作機械が作用する対象の画像やサーモ（熱温）のデータから、当該工作機械が正常に動作しているか否かを判定する技術が開示されている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−０３３４７０号公報
【特許文献２】特許第６４１７７３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、装置の稼働を表す時系列データ又は装置が作用する対象の画像データのいずれか一方に基づいて正常・異常のタグを付与するだけでは、当該装置の異常の発生の検出が遅れたり看過されたりする可能性がある。
【０００５】
本発明は、上記した問題に鑑み、所定の処理又は動作を行う物体が第１の状態であるか否かの判定精度を向上可能な情報処理装置及び情報処理方法を提供することを課題とする。
【課題を解決するための手段】
【０００６】
本発明の態様の一つは、
所定の処理又は動作を行う所定の物体の第１の状態において、前記所定の処理又は動作による作用を受ける作用対象の第１の画像データと、前記所定の物体の前記第１の状態において前記第１の画像データと対応して前記所定の物体から得られる第１の時系列データと、のいずれか一方を入力、もう一方を出力として、機械学習モデルを学習させ、
新たに取得される前記作用対象の第２の画像データと、前記第２の画像データに対応して新たに得られる第２の時系列データとのうちの前記学習時に入力として用いられたデータと同種のデータの入力に対する学習済みの前記機械学習モデルの出力データを取得し、
前記第２の画像データ又は前記第２の時系列データのうちの入力として用いられていないもう一方のデータと前記学習済みの前記機械学習モデルの前記出力データとに基づいて、前記所定の物体が前記第１の状態であるか否かを判定する、
制御部、
を備える情報処理装置である。
【０００７】
本発明の他の態様の一つは、
所定の処理又は動作を行う所定の物体の第１の状態において、前記所定の処理又は動作による作用を受ける作用対象の第１の画像データと、前記所定の物体の前記第１の状態において前記第１の画像データと対応して前記所定の物体から得られる第１の時系列データと、のいずれか一方を入力、もう一方を出力として、機械学習モデルを学習させ、
新たに取得される前記作用対象の第２の画像データと、前記第２の画像データに対応して新たに得られる第２の時系列データとのうちの前記学習時に入力として用いられたデータと同種のデータの入力に対する学習済みの前記機械学習モデルの出力データを取得し、
前記第２の画像データ又は前記第２の時系列データのうちの入力として用いられていないもう一方のデータと前記学習済みの前記機械学習モデルの前記出力データとに基づいて、前記所定の物体が前記第１の状態であるか否かを判定する、
情報処理方法である。
【発明の効果】
【０００８】
本発明によれば、所定の処理又は動作を行う物体の第１の状態の判定精度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１実施形態に係る異常検出システムのシステム構成の一例である。
【図２】図２は、異常検出装置のハードウェア構成の一例を示す図である。
【図３】図３は、異常検出装置の機能構成の一例を示す図である。
【図４】図４は、サーモデータの特徴量の抽出方法の一例を示す図である。
【図５】図５は、時系列データの特徴量の抽出方法の一例を示す図である。
【図６】図６は、異常検出モデルの入力データと出力データとを説明する図である。
【図７】図７は、異常検出モデルの学習処理のフローチャートの一例である。
【図８】図８は、異常検出処理のフローチャートの一例である。
【発明を実施するための形態】
【００１０】
本発明の態様の一つは、所定の処理又は動作を行う所定の物体の第１の状態において、当該所定の処理又は動作による作用を受ける作用対象の第１の画像データと、当該所定の物体の第１の状態において第１の画像データと対応して当該所定の物体から得られる第１の時系列データと、のいずれか一方を入力、もう一方を出力として、機械学習モデルを学習させ、新たに取得される作用対象の第２の画像データと、第２の画像データに対応して新たに得られる第２の時系列データとのうちの学習時に入力として用いられたデータと同種のデータの入力に対する学習済みの機械学習モデルの出力データを取得し、第２の画像データ又は第２の時系列データのうちの入力として用いられていないもう一方のデータと学習済みの機械学習モデルの出力データとに基づいて、当該所定の物体が第１の状態であるか否かを判定する、制御部、を備える情報処理装置である。
【００１１】
所定の処理又は動作を行う所定の物体には、例えば、工作機械がある。この場合、所定の処理又は動作は、例えば、加工対象を加工する処理又は動作である。また、当該所定の物体の所定の処理又は動作による作用を受ける作用対象は、当該工作機械によって加工される加工対象となる。ただし、所定の処理又は動作を行う所定の物体は、工作機械に限定されない。所定の処理又は動作を行う所定の物体の他の一例には、車両がある。この場合には、所定の処理又は動作は、例えば、車両のエンジン起動及び停止、加減速のシーケンス等である。また、当該所定の物体の所定の処理又は動作による作用を受ける作用対象には、例えば、周辺環境等がある。なお、当該所定の物体の所定の処理又は動作による作用を受ける作用対象も、上述のものに限定されない。
【００１２】
所定の物体の第１の状態には、例えば、正常に稼働している正常状態、異常が発生している異常状態がある。ただし、第１の状態はこれらに限定されない。機械学習モデルは、例えば、畳み込みニューラルネットワーク（ＣＮＮ）、再帰型ニューラルネットワーク（ＲＮＮ）等であってもよい。ただし、機械学習モデルに用いられるロジックはこれらに限定されない。
【００１３】
本発明の態様の一つによれば、作用対象の第１の画像データと、当該所定の物体の第１の時系列データと、の２種類のデータを用いて所定の物体が第１の状態であるか否かが判定されるので、より早く当該所定の物体の異常を検出できたり、当該所定の物体の異常の看過を低減したりすることができ、当該物体の異常の検出精度を向上させることができる。
【００１４】
また、本発明の態様の一つによれば、機械学習モデルは、所定の物体の第１の状態における作用対象の第１の画像データと所定の物体の第１の時系列データとの対応関係を学習することになる。そのため、作用対象の第１の画像データと、当該所定の物体の第１の時系列データとがあれば、所定の物体が第１の状態であるか否かを示すラベルがなくとも、所定の物体が第１の状態であるか否かを判定することができる。
【００１５】
また、本発明の態様の一つでは、第１の画像データ及び第１の時系列データと、第２の画像データ及び第２の時系列データと、は、それぞれ、所定期間分あってもよく、機械学習モデルは、系列変換のモデルであってもよい。系列変換のモデルには、Sequence-to-Sequenceモデル、Attentionメカニズムを搭載したSequence-to-Sequenceモデル等がある。
所定期間は、例えば、所定の物体の処理又は動作の１回のプロセスの期間である。ただし、これに限定されない。これによって、時間の経過の順で並んだ画像データの系列又は時系列データの入力に対して、時系列データ又は時間の経過の順で並んだ画像データの系列を出力として取得することができ、例えば、時間変化や手順の進行等に伴って作用対象の態様が遷移するような所定の物体の処理又は動作全体を考慮して、所定の物体が第１の状態であるか否かを判定することができる。
【００１６】
また、本発明の態様の一つでは、制御部は、第１の画像データ及び第１の時系列データのそれぞれから取得される特徴量を、機械学習モデルの入力又は出力として、機械学習モデルを学習させ、第２の画像データから取得される特徴量及び第２の時系列データから取得される特徴量のいずれか一方を学習済みの機械学習モデルへ入力して出力データを取得し、第２の画像データから取得される特徴量及び第２の時系列データから取得される特徴量のもう一方と、機械学習モデルの出力データと、に基づいて、所定の物体が第１の状態であるか否かを判定するようにしてもよい。これによって、機械学習モデルが取り扱う情報量を少なくすることができ、機械学習モデルによる処理の負荷を軽減することができる。
【００１７】
本発明の態様を、情報処理方法の側面から捉えることもできる。当該情報処理方法は、所定の処理又は動作を行う所定の物体の第１の状態において、所定の処理又は動作による作用を受ける作用対象の第１の画像データと、当該所定の物体の第１の状態において画像データと対応して当該所定の物体から得られる第１の時系列データと、のいずれか一方を入力、もう一方を出力として、機械学習モデルを学習させ、新たに取得される当該作用対象の第２の画像データと、第２の画像データに対応して新たに得られる第２の時系列データとのうちの学習時に入力として用いられたデータと同種のデータの入力に対する学習済みの機械学習モデルの出力データを取得し、第２の画像データ又は第２の時系列データのうちの入力として用いられていないもう一方のデータと学習済みの機械学習モデルの出力データとに基づいて、当該所定の物体が前記第１の状態であるか否かを判定することを含む。なお、上述までの情報処理装置に関して開示された技術的思想は、技術的な齟齬が生じない範囲で当該情報処理方法にも適用できる。
【００１８】
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１９】
＜第１実施形態＞
図１は、第１実施形態に係る異常検出システムのシステム構成の一例である。異常検出システム１００は、例えば、異常検出装置１、加工対象３、加工対象３を加工する工作機械２を含む。異常検出装置１は、工作機械２の異常状態を検出する装置である。第１実施形態では、異常検出装置１は、正常状態における、工作機械２の稼働を示す時系列データと、当該工作機械による加工中又は加工後の加工対象３のサーモデータと、の対応関係を異常検出モデルに学習させ、当該異常検出モデルの出力に基づいて、工作機械２の異常を検出する。異常検出装置１は、「情報処理装置」の一例である。工作機械２は、「所定の処理又は動作を行う所定の物体」の一例である。加工対象３は、「作用対象」の一例である。工作機械２の正常な状態は、「第１の状態」の一例である。第１実施形態では、異常検出装置１は、工作機械２が正常な状態か否かを判定し、正常な状態でないと判定した場合に、工作機械２の状態が異常であること判定する。また、サーモデータは、「画像データ」の一例である。ただし、画像データはサーモデータに限定されない。
【００２０】
異常検出モデルは、例えば、Sequence-to-Sequenceモデル、Attentionメカニズムを搭
載したSequence-to-Sequenceモデルによって構築されたモデルである。異常検出モデルは、例えば、工作機械２の正常状態における所定期間内の、加工中及び加工後の加工対象３のサーモデータの系列を入力、工作機械２の稼働を表す時系列データを出力として学習されたモデルである。
【００２１】
工作機械２の稼働を示す時系列データは、例えば、１回の動作プロセスの各時刻又はステップにおいて、所定のセンサによって測定された測定値の系列である。センサは、例えば、工作機械２に備えられているものが利用されてもよいし、工作機械２の周囲に設置されているものが用いられてもよい。当該センサと異常検出装置１とは、例えば、ＬＡＮ（Local Area Network）や無線ＬＡＮ等によって通信可能に接続されている。工作機械２の稼働を示すデータを測定するセンサは、１つであっても複数であってもよい。
【００２２】
加工対象３のサーモデータは、工作機械２又は工作機械２の周囲に設置されているサーモグラフィカメラによって加工対象３が撮像された、加工対象３の表面及び／又は内部の温度を示すサーモグラフィ画像データである。加工対象３のサーモデータの系列は、例えば、１回の動作プロセスの各時刻又は各ステップにおいて撮影された加工対象３のサーモデータの集まりである。サーモグラフィカメラは、例えば、１つであってもよいし、複数の角度から加工対象３が撮影されるように複数備えられてもよい。
【００２３】
工作機械２の時系列データと加工対象のサーモデータとは、例えば、取得された時刻、動作プロセス内のステップ等によって紐づけられている。第１実施形態では、異常検出モデルの学習用データ及び判定用データの１回分のデータは、１回の動作プロセスにおいて所定の時間間隔で取得された、加工対象３のサーモデータの系列と、時系列データと、である。
【００２４】
＜装置構成＞
図２は、異常検出装置１のハードウェア構成の一例を示す図である。異常検出装置１は、例えば、ＰＣ（Personal Computer）等の汎用のコンピュータ、サーバ等の専用のコン
ピュータ等である。異常検出装置１は、例えば、ハードウェア構成要素として、ＣＰＵ（Central Processing Unit）１１、主記憶装置１２、補助記憶装置１３、入力装置１４、
出力装置１５、ネットワークインタフェース１６を備え、これらがバスにより互いに接続されている情報処理装置である。
【００２５】
入力装置１４は、例えば、キーボード、マウス等のポインティングデバイス、タッチパネル等である。また、入力装置１４には、カメラやスキャナのような画像の入力装置や、
マイクロフォンのような音声入力装置を含むことができる。入力装置１４から入力されたデータは、ＣＰＵ  １１に出力される。
【００２６】
ネットワークインタフェース１６は、ネットワークとの情報の入出力を行うインタフェースである。ネットワークインタフェース１６は、有線のネットワーク、及び／又は、無線のネットワークと接続する。ネットワークインタフェース１６は、例えば、ＮＩＣ（Network Interface Card）、無線ＬＡＮ（Local Area Network）カード、携帯電話網に接続するための無線回路等である。
【００２７】
主記憶装置１２は、ＣＰＵ  １１に、補助記憶装置１３に格納されているプログラムをロードする記憶領域および作業領域を提供したり、バッファとして用いられたりする記憶装納する。補助記憶装置１３は、例えば、ＥＰＲＯＭ（Erasable Programmable ROM）、
ハードディスク（Hard Disｋ Drive）である。補助記憶装置１３は、例えば、オペレーティングシステム（ＯＳ）、異常検出プログラム、その他様々なアプリケーションプログラムを保持する。異常検出プログラムは、工作機械２の異常状態を検出するためのプログラムである。
【００２８】
ＣＰＵ  １１は、補助記憶装置１３に保持されたＯＳや様々なアプリケーションプログラムを主記憶装置１２にロードして実行することによって、様々な処理を実行する。ＣＰＵ  １１は、１つであってもよいし、複数であってもよい。ＣＰＵ  １１は、「制御部」の一例である。
【００２９】
出力装置１５は、ＣＰＵ  １１の処理の結果を出力する。出力装置１５は、ディスプレイやプリンタである。また、出力装置１５は、スピーカのような音声出力装置を含むことができる。
【００３０】
なお、図２に示される異常検出装置１のハードウェア構成は、一例であり、上記に限られず、実施の形態に応じて、適宜、構成要素の省略や置換、追加が可能である。例えば、異常検出装置１は、可搬記録媒体を駆動し、可搬記録媒体に記録されたデータを読み出す可搬記録媒体駆動装置を備えてもよい。可搬記録媒体は、例えば、ＵＳＢメモリ、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）、Ｂｌｕ−ｒａｙディスクのようなディスク記録媒体、フラッシュメモリカードのような記録媒体である。
【００３１】
図３は、異常検出装置１の機能構成の一例を示す図である。異常検出装置１は、機能構成要素として、学習用サーモデータ特徴抽出部１１１、学習用時系列データ特徴抽出部１１２、モデル学習部１１３、判定用サーモデータ特徴抽出部１２１、判定用時系列データ特徴抽出部１２２、異常検出部１２３、異常検出モデル１４０を備える。これらの機能構成要素は、例えば、異常検出装置１のＣＰＵ  １１が補助記憶装置１３に格納されている異常検出プログラムを実行することによって達成される。
【００３２】
異常検出モデル１４０は、例えば、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク等を用いたSequence-to-Sequenceモデル、Attentionメカニズムを搭載し
たSequence-to-Sequenceモデル等の機械学習モデルである。異常検出装置１には、学習用データと判定用データとが入力される。学習用データは、予め用意されたデータセットである。例えば、１回の学習で用いられる学習用データは、工作機械２が正常な状態の１回の動作プロセスにおいて取得された、加工対象３から得られる学習用サーモデータの系列、工作機械２から得られる学習用時系列データである。系列とは、第１実施形態では、時系列で並べられた同種のデータの集まりである。工作機械２の動作を監視するセンサが複数である場合には、時系列データも複数となる。
【００３３】
第１実施形態では、１回の動作プロセスにおいて取得された学習用サーモデータの系列が異常検出モデル１４０への入力となり、異常検出モデル１４０の出力データが学習用時系列データに近づくように異常検出モデル１４０のパラメータが調整されることで、異常検出モデル１４０の学習が行われる。
【００３４】
判定用データは、第１実施形態では、１回の動作プロセスの各時刻において、加工対象３から得られる判定用サーモデータの系列と工作機械２から得られる判定用時系列データとのセットであり、当該動作プロセスにおいて、工作機械２が正常であるか否かが不明なデータである。判定用サーモデータの系列を異常検出モデル１４０へ入力して得られる出力データと、判定用時系列データとを比較することで、工作機械２の状態が正常であるか否かが判定される。
【００３５】
ただし、サーモデータや時系列データ自体では、サイズが大きかったり、次元が高かったりして情報量が多いため、第１実施形態では、サーモデータ及び時系列データから特徴量を抽出して情報量を少なくする処理が行われる。異常検出モデル１４０には、サーモデータと時系列データそれぞれの特徴量について、学習又は処理が行われる。
【００３６】
学習用サーモデータ特徴抽出部１１１は、学習用サーモデータから所定の方法で特徴量を抽出する。学習用時系列データ特徴抽出部１１２は、学習用時系列データから所定の方法で特徴量を抽出する。サーモデータ及び時系列データからの特徴量の抽出方法の詳細は後述される。
【００３７】
モデル学習部１１３は、学習用サーモデータの特徴量、学習用時系列データの特徴量を用いて異常検出モデル１４０の学習を行う。異常検出モデル１４０の学習の詳細は、後述される。
【００３８】
判定用サーモデータ特徴抽出部１２１は、判定用サーモデータから所定の方法で特徴量を抽出する。判定用時系列データ特徴抽出部１２２は、判定用時系列データから所定の方法で特徴量を抽出する。異常検出部１２３は、判定用サーモデータの特徴量を学習済みの異常検出モデル１４０に入力し、異常検出モデル１４０の出力データと判定用時系列データの特徴量とを比較することによって、工作機械２の状態が異常であるか否かを判定する。工作機械２の状態が異常であることを検出する処理を、以下、異常検出処理と称する。異常検出処理の詳細については後述される。
【００３９】
学習用サーモデータ特徴抽出部１１１と判定用サーモデータ特徴抽出部１２１とのサーモデータからの特徴量の抽出方法は同じである。学習用時系列データ特徴抽出部１１２と判定用時系列データ特徴抽出部１２２との時系列データからの特徴量の抽出方法は同じである。また、サーモデータからの特徴量の抽出方法と時系列データからの特徴量の抽出方法とは同じであっても異なっていてもよい。
【００４０】
図４は、サーモデータの特徴量の抽出方法の一例を示す図である。サーモデータが、例えば、加工対象３の表面から取得される２次元のデータである場合には、２次元の各メッシュに１つの温度が記録されているとする。サーモデータが、例えば、加工対象３の表面及び内部から取得される場合は、３次元の各メッシュに１つの温度が記録されているとする。
【００４１】
１回の動作プロセスＰｉ（ｉ：正の整数、iは回数を示す変数）における時刻ｔｊで取
得されたサーモデータをサーモデータＴ（ｉ，ｊ）と表記する。学習用サーモデータ特徴抽出部１１１は、例えば、サーモデータＴ（ｉ，ｊ）に対して、自己符号化器を構築する。自己符号化器として、例えば、変分オートエンコーダ（variational autoencoder）等
が用いられる。自己符号化器は、出力データが入力データを再現するような、入力層、中間層、出力層からなるニューラルネットワークである。
【００４２】
すなわち、学習用サーモデータ特徴抽出部１１１は、出力データが入力データを再現するように、学習用サーモデータの系列に含まれるサーモデータＴ（ｉ，１），．．．Ｔ（ｉ，Ｍ）（Ｍは動作プロセスＰｉにおいて取得されたサーモデータ数）を自己符号化器に学習させる。１つの学習用サーモデータについての自己符号化器の学習は、所定の終了条件が満たされると終了される。所定の終了条件は、例えば、入力、出力、パラメータ調整の一連の処理が所定回数実行されたこと、出力データと入力データとの誤差が所定の閾値未満となること、等である。パラメータ調整は、自己符号化器の出力データが入力データを再現するように調整される。
【００４３】
学習用サーモデータ特徴抽出部１１１は、学習が終了した自己符号化器に対して、学習用サーモデータＴ（ｉ，ｊ）を入力し、その際の中間層の出力値を学習用サーモデータの特徴量Ｚｔ（ｉ，ｊ）として取得する。自己符号化器の中間層の出力値は潜在表現、潜在変数とも呼ばれる。
【００４４】
判定用サーモデータ特徴抽出部１２１は、学習用サーモデータ特徴抽出部１１１によって学習された自己符号化器に、判定用サーモデータＴ（ｉ，ｊ）を入力し、判定用サーモデータＴ（ｉ，ｊ）の特徴量Ｚｔ（ｉ，ｊ）を取得する。
【００４５】
なお、加工対象３のサーモデータが複数のサーモグラフィカメラ（センサ）によって異なる角度から取得されることで、１の時刻において複数のサーモデータが取得される場合には、例えば、各時刻において、各サーモグラフィカメラから取得されたサーモデータそれぞれについて特徴量を取得し、結合して、特徴量Ｚｔ（ｉ，ｊ）（ｋはサーモデータを識別する変数）を取得してもよい。なお、サーモデータの特徴抽出方法は、自己符号化器を用いる方法に限定されず、周知のいずれの方法が用いられてもよい。
【００４６】
図５は、時系列データの特徴量の抽出方法の一例を示す図である。時系列データは、動作プロセスＰｉの各時刻ｔｊ（ｊ＝１，．．．，Ｍ）における測定値である。時系列データは、例えば、変数ｓ（ｓ＝１，．．．，Ｋ）それぞれについて存在する。Ｋは、工作機械２を監視するセンサの数である。
【００４７】
学習用時系列データ特徴抽出部１１２は、動作プロセスＰｉの時刻ｔｊにおけるすべての変数ｓの測定値を並べたベクトルＹ（ｉ，ｊ）＝（ｙ（ｉ，ｊ）＾１，ｙ（ｉ，ｊ）＾２，．．．，ｙ（ｉ，ｊ）＾Ｋ）＾Ｔをサンプルとして生成し、入力及び出力がともにＹ（ｉ，ｊ）となるように、自己符号化器を学習させる。当該自己符号化器の学習は、所定の終了条件が満たされると終了する。自己符号化器の学習の終了条件は、学習用サーモデータ特徴抽出部１１１と同じであってもよい。
【００４８】
学習用時系列データ特徴抽出部１１２は、学習が終了した自己符号化器に対して、学習用時系列データのベクトルＹ（ｉ，ｊ）を入力し、その際の中間層の出力値を学習用時系列データの特徴量Ｚｗ（ｉ，ｊ）（潜在表現Ｚｗ（ｉ，ｊ）ともいう）として取得する。
【００４９】
判定用時系列データ特徴抽出部１２２は、学習用時系列データ特徴抽出部１１２によって学習された自己符号化器に、判定用時系列データから作成されるベクトルＹ（ｉ，ｊ）を入力し、判定用時系列データの特徴量Ｚｗ（ｉ，ｊ）を取得する。なお、時系列データの特徴抽出方法は、自己符号化器を用いる方法に限定されず、周知のいずれの方法が用いられてもよい。例えば、時系列データの各時点ｔｊについて、自己符号化器を学習させてもよい。
【００５０】
図６は、異常検出モデル１４０の入力データと出力データとを説明する図である。異常検出モデル１４０の１回の学習において、例えば、１回の動作プロセスＰｉにおいて取得された加工対象３のサーモデータの系列の特徴量Ｚｔ（ｉ，ｊ）（ｊ＝１，．．．，Ｍｔ）が異常検出モデル１４０へ入力される。異常検出モデル１４０の学習は、異常検出モデル１４０の出力が、動作プロセスＰｉにおける工作機械２の学習用の時系列データの特徴量Ｚｗ（ｉ，ｊ）（１，．．．，Ｍｗ）となるように、行われる。これによって、動作プロセスＰｉにおける学習用サーモデータの系列と学習用時系列データとの対応関係が学習される。なお、１回の動作プロセスＰｉにおいて、サーモデータの取得タイミングｔ１，．．．，ｔＭｔと、時系列データの取得タイミングｔ１’，．．．，ｔＭｗ’とは、互いに一致するタイミングでなくてもよい。また、１回の動作プロセスＰｉにおいて取得される、サーモデータの数Ｍｔと時系列データの数Ｍｗとは同じであっても異なっていてもよい。
【００５１】
異常判定処理の際には、１回の動作プロセスＰｉにおいて取得された加工対象３の判定用サーモデータの系列の特徴量Ｚｔ（ｉ，ｊ）（ｊ＝１，．．．，Ｍｔ）が異常検出モデル１４０へ入力され、出力データＺｐ（ｉ，ｊ）が取得される。
【００５２】
異常検出部１２３は、出力データＺｐ（ｉ，ｊ）（ｊ＝１，．．．，Ｍｗ）を結合してベクトルｚｐ＝（Ｚｐ（ｉ，１），．．．，Ｚｐ（ｉ，Ｍｗ））を得る。一方で、異常検出部１２３は、動作プロセスＰｉにおいて取得された工作機械２の判定用時系列データの特徴量Ｚｗ（ｉ，ｊ）（ｊ＝１，．．．，Ｍｗ）を結合してベクトルｚｗ＝（Ｚｗ（ｉ，１），．．．，Ｚｗ（ｉ，Ｍｗ））を得る。
【００５３】
異常検出部１２３は、下記の数式１が満たされるか否か、すなわち、異常検出モデル１４０の出力データＺｐのベクトルｚｐと判定用時系列データの特徴量Ｚｗのベクトルｚｗとの距離（ノルム）を算出し、当該距離が閾値ε以上であるか否かを判定する。
【数１】
2020187667.tif 000003
【００５４】
異常検出モデル１４０の出力データＺｐのベクトルｚｐと判定用時系列データの特徴量Ｚｗのベクトルｚｗとの距離（ノルム）が閾値ε以上である場合に、異常検出部１２３は、判定用サーモデータの系列と判定用時系列データとの対応関係が正常でない、すなわち、異常が生じたと判定する。判定用サーモデータの系列と判定用時系列データとの対応関係に異常が生じたことは、動作プロセスＰｉの実行結果が異常であることを示し、これはすなわち、工作機械２の異常状態が示される。
【００５５】
異常検出部１２３による異常又は正常の判定結果は、例えば、異常検出モデル１４０の入力である加工対象３のサーモデータの系列のラベル付けに用いることができる。なお、ノルムは、Ｌ１ノルム、Ｌ２ノルム等のいずれが用いられてもよい。
【００５６】
＜処理の流れ＞
図７は、異常検出モデルの学習処理のフローチャートの一例である。図７に示される処理は、異常検出装置１への管理者からの開始指示の入力、又は、１日１回等の所定のタイミングで実行される。図７に示される処理の実行主体は、ＣＰＵ  １１であるが、便宜上、機能構成要素を主体として説明する。
【００５７】
ＯＰ１０１では、モデル学習部１１３は、学習用サーモデータ特徴抽出部１１１から、各動作プロセスＰｉ（ｉ＝１，２，．．．）について学習用サーモデータの特徴量Ｚｔ（ｉ，ｊ）を取得する。ＯＰ１０２では、モデル学習部１１３は、学習用時系列データ特徴抽出部１１２から、各動作プロセスＰｉについて学習用時系列データの特徴量Ｚｗ（ｉ，ｊ）を取得する。
【００５８】
ＯＰ１０３からＯＰ１０５の処理は、異常検出モデルの学習の処理である。ＯＰ１０３からＯＰ１０５の処理は、各動作プロセスＰｉについて繰り返し実行される。ＯＰ１０３では、モデル学習部１１３は、学習用サーモデータの系列の特徴量Ｚｔ（ｉ，ｊ）を異常検出モデル１４０に入力し、出力を取得する。
【００５９】
ＯＰ１０４では、モデル学習部１１３は、終了条件が満たされたか否かを判定する。終了条件は、例えば、動作プロセスＰｉについて、ＯＰ１０３からＯＰ１０５の処理の実行回数が所定回数に達したこと、異常検出モデル１４０の出力データと入力データとの差分が所定の閾値未満となること、等である。終了条件が満たされた場合には（ＯＰ１０４：ＹＥＳ）、動作プロセスＰｉについての処理が終了し、動作プロセスＰｉ＋１についての処理が開始される。すべての動作プロセスについてＯＰ１０３からＯＰ１０５の処理が終了した場合には、図７に示される処理が終了する。
【００６０】
終了条件が満たされていない場合には（ＯＰ１０４：ＮＯ）、処理がＯＰ１０５に進む。ＯＰ１０５では、モデル学習部１１３は、異常検出モデル１４０のパラメータを調整する。異常検出モデル１４０のパラメータの調整方法は、例えば、誤差逆伝播法等の、異常検出モデル１４０の種類に応じたものとする。その後、再度動作プロセスＰｉについてＯＰ１０３からの処理が繰り返し行われる。
【００６１】
図８は、異常検出処理のフローチャートの一例である。図８に示される処理は、例えば、所定の周期で繰り返し実行される。状態予測処理が行われる周期は、例えば、動作プロセスに要する時間と同じであってもよい。ただし、これに限定されない。図８に示される処理の実行主体は、ＣＰＵ  １１であるが、便宜上、機能構成要素を主体として説明する。
【００６２】
ＯＰ２０１では、異常検出部１２３は、判定用サーモデータ特徴抽出部１２１から動作プロセスＰｉの判定用サーモデータの系列の特徴量Ｚｔ（ｉ，ｊ）を取得する。ＯＰ２０２では、異常検出部１２３は、判定用時系列データ特徴抽出部１２２から判定用時系列データの特徴量Ｚｗ（ｉ，ｊ）を取得する。ＯＰ２０３では、異常検出部１２３は、判定用時系列データの特徴量Ｚｗ（ｉ，ｊ）を結合して、ベクトルｚｗを取得する。
【００６３】
ＯＰ２０４では、異常検出部１２３は、判定用サーモデータの系列の特徴量Ｚｔ（ｉ，ｊ）を学習済みの異常検出モデル１４０に入力し、出力データＺｐ（ｉ，ｊ）を取得する。ＯＰ２０５では、異常検出部１２３は、異常検出モデル１４０の出力データＺｐ（ｉ，ｊ）を結合して、ベクトルｚｐを取得する。
【００６４】
ＯＰ２０６では、異常検出部１２３は、異常検出モデル１４０の出力データＺｐのベクトルｚｐと判定用時系列データの特徴量Ｚｗのベクトルｚｗとの距離（ノルム）が閾値ε以上であるか否かを判定する。異常検出モデル１４０の出力データＺｐのベクトルｚｐと判定用時系列データの特徴量Ｚｗのベクトルｚｗとの距離（ノルム）が閾値ε以上である場合には（ＯＰ２０６：ＹＥＳ）、処理がＯＰ２０７に進む。ＯＰ２０７では、異常検出部１２３は、異常検出モデル１４０の出力データＺｐのベクトルｚｐと判定用時系列データの特徴量Ｚｗのベクトルｚｗとの距離（ノルム）が閾値ε以上であるので、動作プロセスＰｉにおいて工作機械２が正常な状態でない、すなわち、異常な状態であることを判定
する。その後、図８に示される処理が終了する。
【００６５】
異常検出モデル１４０の出力データＺｐのベクトルｚｐと判定用時系列データの特徴量Ｚｗのベクトルｚｗとの距離（ノルム）が閾値ε未満である場合には（ＯＰ２０６：ＮＯ）、処理がＯＰ２０８に進む。ＯＰ２０８では、異常検出部１２３は、異常検出モデル１４０の出力データＺｐのベクトルｚｐと判定用時系列データの特徴量Ｚｗのベクトルｚｗとの距離（ノルム）が閾値ε未満であるので、動作プロセスＰｉにおいて工作機械２が正常な状態であることを判定する。その後、図８に示される処理が終了する。
【００６６】
なお、図７及び図８に示される処理は一例であって、異常検出モデルの学習処理及び状態予測処理はこれらに限定されない。例えば、図８のＯＰ２０７又はＯＰ２０８のそれぞれの後に、判定用サーモデータの系列又は判定用サーモデータの系列と判定用時系列データとのセットについて、正常又は異常のラベルを付してもよい。
【００６７】
＜第１実施形態の作用効果＞
第１実施形態では、工作機械２の稼働を示す時系列データと、工作機械２による加工中及び加工後の加工対象３のサーモデータの系列との対応関係を異常検出モデル１４０に学習させ、当該学習済みの異常検出モデル１４０に判定用のサーモデータの系列を入力することで、動作プロセスの異常を検出する。これによって、例えば、工作機械２の時系列データのみで異常検出を行う場合や、加工対象３のサーモデータのみで異常検出を行う場合よりも、早く工作機械２の異常を検出できたり、いずれか一方のデータによる異常検出のみでは看過されていた異常を検出できたりして、工作機械２の異常検出の精度が向上する。
【００６８】
また、例えば、工作機械２の加工対象３のサーモデータについて、異常又は正常を示すラベルを付す処理は、一般的に高負荷となることが多いが、第１実施形態における異常検出モデル１４０を用いると、より簡易が処理、すなわち、低負荷で、判定用データにラベル付けを行うことができる。
【００６９】
また、工作機械２の動作プロセスでは、時間経過とともに工作機械２や加工対象３の状態や様態等が変化するため、系列変換のモデルとの相性が良く、これによって、工作機械２の異常をより精度よく検出することができる。
【００７０】
また、第１実施形態では、時系列データ及びサーモデータ自体を異常検出モデル１４０に入力するのではなく、それぞれから抽出された特徴量が入力される。これによって、異常検出モデル１４０による処理の負荷を軽減することができる。
【００７１】
＜その他の実施形態＞
上記の実施形態はあくまでも一例であって、本発明はその要旨を逸脱しない範囲内で適宜変更して実施しうる。
【００７２】
第１実施形態では、工作機械２の稼働を示す時系列データと、工作機械２による加工中又は加工後の加工対象３のサーモデータの系列との対応関係を異常検出モデル１４０に学習させることで、工作機械２の異常を検出することについて説明されたが、第１実施形態で説明された技術の適用先はこれに限定されない。作用を発生する装置の稼働を示す時系列データと、当該作用を受ける作用対象の画像データとの対応関係で、当該装置の異常を検出することに適用可能である。具体的な例では、例えば、時系列データとしての車両の走行履歴データと、周辺環境の画像データとの対応関係によって、車両又はエンジンの異常を検出するようにしてもよい。周辺環境は、作用対象の一例である。この場合の動作プロセスは、例えば、加減速のシーケンス、１回のトリップ等である。
【００７３】
また、第１実施形態では、異常検出モデル１４０の入力を加工対象３のサーモデータの系列とし、出力を工作機械２の時系列データとしたが、これに限定されず、異常検出モデル１４０の入力を工作機械２の時系列データとし、出力を加工対象３のサーモデータの系列としてもよい。
【００７４】
また、第１実施形態では、学習用データを工作機械２の正常な状態におけるデータとして異常検出モデル１４０を学習させたが、これに限定されず、学習用データを工作機械２の異常な状態において取得されたデータとしてもよい。この場合には、異常検出モデル１４０の出力データＺｐのベクトルｚｐと判定用時系列データの特徴量Ｚｗのベクトルｚｗとの距離（ノルム）が閾値ε以上である場合に工作機械２の正常が判定され、閾値ε未満である場合に工作機械２の異常と判定される。この場合には、「第１の状態」の一例は、異常な状態である。
【００７５】
また、第１実施形態では、異常検出モデル１４０に系列変換のモデルが採用され、異常検出モデル１４０は、動作プロセスＰｉにおいて取得された、加工対象３のサーモデータの系列の入力に対して、工作機械２の時系列データが出力することについて説明された。ただし、これに限られず、異常検出モデル１４０は、動作プロセスＰｉのいずれかの時点で取得された１枚のサーモデータの入力に対して、動作プロセスＰｉにおける工作機械２の時系列データが出力されるようなモデルとして構成されてもよい。この場合の異常検出モデル１４０は、系列変換のモデルでなく、再帰型ニューラルネットワークや畳み込みニューラルネットワークであってもよい。
【００７６】
本開示において説明した処理や手段は、技術的な矛盾が生じない限りにおいて、自由に組み合わせて実施することができる。
【００７７】
また、１つの装置が行うものとして説明した処理が、複数の装置によって分担して実行されてもよい。あるいは、異なる装置が行うものとして説明した処理が、１つの装置によって実行されても構わない。コンピュータシステムにおいて、各機能をどのようなハードウェア構成（サーバ構成）によって実現するかは柔軟に変更可能である。
【００７８】
本発明は、上記の実施形態で説明した機能を実装したコンピュータプログラムをコンピュータに供給し、当該コンピュータが有する１つ以上のプロセッサがプログラムを読み出して実行することによっても実現可能である。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な非一時的なコンピュータ可読記憶媒体によってコンピュータに提供されてもよいし、ネットワークを介してコンピュータに提供されてもよい。非一時的なコンピュータ可読記憶媒体は、例えば、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクドライブ（ＨＤＤ）等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤディスク、ブルーレイディスク等）など任意のタイプのディスク、読み込み専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード、フラッシュメモリ、光学式カード、電子的命令を格納するために適した任意のタイプの媒体を含む。
【符号の説明】
【００７９】
１      ：異常検出装置
２      ：工作機械
３      ：加工対象
１２    ：主記憶装置
１３    ：補助記憶装置
１４    ：入力装置
１５    ：出力装置
１６    ：ネットワークインタフェース
１００  ：異常検出システム
１１１  ：学習用サーモデータ特徴抽出部
１１２  ：学習用時系列データ特徴抽出部
１１３  ：モデル学習部
１２１  ：判定用サーモデータ特徴抽出部
１２２  ：判定用時系列データ特徴抽出部
１２３  ：異常検出部
１４０  ：異常検出モデル
【図１】
2020187667.tif 000004
【図２】
2020187667.tif 000005
【図３】
2020187667.tif 000006
【図４】
2020187667.tif 000007
【図５】
2020187667.tif 000008
【図６】
2020187667.tif 000009
【図７】
2020187667.tif 000010
【図８】
2020187667.tif 000011