(57)【要約】【課題】窓幅がデータ取得周期より大きくても機械学習および予測処理を効率よく行うこと。【解決手段】情報処理装置１０は、複数のセンサから、所定の時間間隔の時系列データを表すプロセスデータをそれぞれ取得する。また、情報処理装置１０は、センサごとに取得したプロセスデータから、所定幅のフレーム窓を時間軸方向に所定のシフト幅ずつ移動させて、該所定幅のプロセスデータを切り出し、切り出したプロセスデータの代表値を算出し時系列に並べて、センサごとの第１フレームデータを生成し、複数のセンサについて算出した第１フレームデータに対して、所定幅の分析窓を時間軸方向に所定のシフト幅ずつ移動させて、第２フレームデータを算出する。【選択図】図１
2020057289.tif 000002
【特許請求の範囲】
【請求項１】
複数のセンサから、所定の時間間隔の時系列データを表すプロセスデータをそれぞれ取得する取得部と、
前記センサごとに取得した前記プロセスデータから、所定幅のフレーム窓を時間軸方向に所定のシフト幅ずつ移動させて、該所定幅のプロセスデータを切り出し、切り出したプロセスデータの代表値を算出し時系列に並べて、前記センサごとの第１フレームデータを生成し、複数の前記センサについて生成した前記第１フレームデータに対して、所定幅の分析窓を時間軸方向に前記所定のシフト幅ずつ移動させて、第２フレームデータを算出する算出部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記算出部は、生成した前記第１フレームデータを、前記フレーム窓の幅および前記所定のシフト幅に基づくバッファ長と、時間軸とを有する二次元のバッファに格納し、前記分析窓を前記バッファのバッファ長方向に移動させて、前記第２フレームデータを算出する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記算出部は、前記分析窓が前記バッファ長に対応するバッファの記憶域に到達すると、所定のフレームスキップ長に基づいて、前記分析窓を前記バッファの時間軸方向に移動させて、前記第２フレームデータを算出する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記代表値は、切り出した前記プロセスデータの平均値である、
ことを特徴とする請求項１〜３のいずれか１つに記載の情報処理装置。
【請求項５】
さらに、算出した前記第２フレームデータと、前記第２フレームデータに基づいて算出したフレーム評価値とを機械学習により学習して学習済モデルを生成する生成部を有する、
ことを特徴とする請求項１〜４のいずれか１つに記載の情報処理装置。
【請求項６】
さらに、生成した前記学習済モデルを用いて、算出した前記第２フレームデータから、未取得のプロセスデータに対応するフレーム評価値を予測する予測部を有する、
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
複数のセンサから、所定の時間間隔の時系列データを表すプロセスデータをそれぞれ取得する取得工程と、
前記センサごとに取得した前記プロセスデータから、所定幅のフレーム窓を時間軸方向に所定のシフト幅ずつ移動させて、該所定幅のプロセスデータを切り出し、切り出したプロセスデータの代表値を算出し時系列に並べて、前記センサごとの第１フレームデータを生成し、複数の前記センサについて生成した前記第１フレームデータに対して、所定幅の分析窓を時間軸方向に前記所定のシフト幅ずつ移動させて、第２フレームデータを算出する算出工程と、
を情報処理装置が実行することを特徴とする算出方法。
【請求項８】
複数のセンサから、所定の時間間隔の時系列データを表すプロセスデータをそれぞれ取得する取得ステップと、
前記センサごとに取得した前記プロセスデータから、所定幅のフレーム窓を時間軸方向に所定のシフト幅ずつ移動させて、該所定幅のプロセスデータを切り出し、切り出したプロセスデータの代表値を算出し時系列に並べて、前記センサごとの第１フレームデータを生成し、複数の前記センサについて生成した前記第１フレームデータに対して、所定幅の分析窓を時間軸方向に前記所定のシフト幅ずつ移動させて、第２フレームデータを算出する算出ステップと、
をコンピュータに実行させることを特徴とする算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、算出方法および算出プログラムに関する。
【背景技術】
【０００２】
従来、工場、プラント等のセンサ等のプロセスデータを用いた異常の予測に関連する技術として、過去に収集したプロセスデータに基づいて異常を予測、または検知する方法が提案されている。
【０００３】
一般的に、多変量時系列データとして表現されるプロセスデータを一定時間の窓で切り取り、演算を行うことで異常予測や異常検知に関連する値を算出する。例えば、異常検知であれば、算出された値に基づきアラームを発したりすることで、異常の発生または異常の予報を通知する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−１４２６５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
目的とする異常等の予測や検知を行うために、例えば、１秒ごとに取得するプロセスデータに対して、１時間分の窓を用いてプロセスデータを切り取る場合がある。この場合、窓に対応するプロセスデータは、膨大な量となる。しかしながら、膨大な量のプロセスデータを用いて機械学習を行おうとすると、学習アルゴリズムが収束しなかったり、処理用のデータを蓄積するメモリが不足するため、学習アルゴリズムを適用することが困難である場合がある。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明の情報処理装置は、複数のセンサから、所定の時間間隔の時系列データを表すプロセスデータをそれぞれ取得する取得部と、前記センサごとに取得した前記プロセスデータから、所定幅のフレーム窓を時間軸方向に所定のシフト幅ずつ移動させて、該所定幅のプロセスデータを切り出し、切り出したプロセスデータの代表値を算出し時系列に並べて、前記センサごとの第１フレームデータを生成し、複数の前記センサについて算出した前記第１フレームデータに対して、所定幅の分析窓を時間軸方向に前記所定のシフト幅ずつ移動させて、第２フレームデータを算出する算出部と、を有することを特徴とする。
【０００７】
また、本発明の算出方法は、複数のセンサから、所定の時間間隔の時系列データを表すプロセスデータをそれぞれ取得する取得工程と、前記センサごとに取得した前記プロセスデータから、所定幅のフレーム窓を時間軸方向に所定のシフト幅ずつ移動させて、該所定幅のプロセスデータを切り出し、切り出したプロセスデータの代表値を算出し時系列に並べて、前記センサごとの第１フレームデータを生成し、複数の前記センサについて算出した前記第１フレームデータに対して、所定幅の分析窓を時間軸方向に前記所定のシフト幅ずつ移動させて、第２フレームデータを算出する算出工程と、を情報処理装置が実行することを特徴とする。
【０００８】
また、本発明の算出プログラムは、複数のセンサから、所定の時間間隔の時系列データを表すプロセスデータをそれぞれ取得する取得ステップと、前記センサごとに取得した前記プロセスデータから、所定幅のフレーム窓を時間軸方向に所定のシフト幅ずつ移動させて、該所定幅のプロセスデータを切り出し、切り出したプロセスデータの代表値を算出し時系列に並べて、前記センサごとの第１フレームデータを生成し、複数の前記センサについて算出した前記第１フレームデータに対して、所定幅の分析窓を時間軸方向に前記所定のシフト幅ずつ移動させて、第２フレームデータを算出する算出ステップと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、窓幅がデータ取得周期より大きくても機械学習および予測処理を効率よく行うことができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図２】図２は、フレームデータおよびフレーム評価値の算出の一例を示す図である。
【図３】図３は、フレームデータの算出高速化の一例を示す図である。
【図４】図４は、フレームデータの一例を示す図である。
【図５】図５は、プロセスデータに基づく予測処理の概要を説明する図である。
【図６】図６は、第１の実施形態における学習処理の一例を示すフローチャートである。
【図７】図７は、第１の実施形態における予測処理の一例を示すフローチャートである。
【図８】図８は、算出プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて、本願の開示する情報処理装置、算出方法および算出プログラムの実施の形態を詳細に説明する。なお、この実施の形態により本願に係る情報処理装置、算出方法および算出プログラムが限定されるものではない。
【００１２】
［第１の実施形態］
以下の実施の形態では、第１の実施形態に係る情報処理装置１０の構成、情報処理装置１０の処理の流れを順に説明し、最後に第１の実施形態による効果を説明する。
【００１３】
［情報処理装置の構成］
まず、図１を用いて、情報処理装置１０の構成を説明する。図１は、第１の実施形態に係る情報処理装置の構成の一例を示すブロック図である。情報処理装置１０は、例えば、工場やプラントなどの監視対象設備に設置される複数のセンサから、所定の時間間隔の時系列データを表すプロセスデータをそれぞれ取得する。情報処理装置１０は、センサごとに取得したプロセスデータから、所定幅のフレーム窓を時間軸方向に所定のシフト幅ずつ移動させて、該所定幅のプロセスデータを切り出す。情報処理装置１０は、切り出したプロセスデータの代表値を算出し時系列に並べて、センサごとの第１フレームデータを生成する。情報処理装置１０は、複数のセンサについて生成した第１フレームデータに対して、所定幅の分析窓を時間軸方向に所定のシフト幅ずつ移動させて、第２フレームデータを算出する。すなわち、情報処理装置１０は、プロセスデータを第２フレームデータに変換する。このように、情報処理装置１０は、全てのプロセスデータをそのまま適用せず、プロセスデータの代表値を用いて第２フレームデータを算出するので、窓幅がデータ取得周期より大きくても機械学習および予測処理を効率よく行うことができる。
【００１４】
図１に示すように、情報処理装置１０は、プロセスデータバッファ１１と、フレームデータバッファ１２と、学習済モデル記憶部１３と、取得部１４と、算出部１５と、生成部１６と、予測部１７と、判定部１８とを有する。なお、情報処理装置１００は、図１に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
【００１５】
プロセスデータバッファ１１、フレームデータバッファ１２および学習済モデル記憶部１３は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。
【００１６】
プロセスデータバッファ１１は、複数のセンサから取得されたプロセスデータを記憶する。プロセスデータは、例えば、工場やプラントにおける反応炉や各種装置に設置された各種センサにおいて取得されたデータである。また、プロセスデータは、例えば、反応炉や各種装置の運転用の各種信号等のデータであってもよい。プロセスデータは、センサそれぞれにおいて、所定の時間間隔、例えば１秒ごとに所得された時系列データである。
【００１７】
フレームデータバッファ１２は、学習処理または予測処理に用いる第２フレームデータを記憶する。第２フレームデータは、プロセスデータから所定幅のフレーム窓を時間軸方向にシフトすることで切り出されたデータの代表値を時系列に並べて生成された第１フレームデータに対して、分析窓を時間軸方向にシフトすることで算出される。
【００１８】
学習済モデル記憶部１３は、第２フレームデータと、第２フレームデータに基づいて算出されたフレーム評価値とを学習させた学習済モデルを記憶する。学習済モデルは、第２フレームデータと、重回帰分析を用いて算出されたフレーム評価値やフレーム評価値に対応する実測値等の教師データとを、重回帰分析やＤＮＮ（Deep  Neural  Networks）等の学習アルゴリズムによって学習したものである。学習済モデルは、例えば、重回帰分析の各種パラメータ（回帰係数）や、ＤＮＮの各種パラメータ（重み係数）等を記憶する。
【００１９】
取得部１４、算出部１５、生成部１６、予測部１７および判定部１８は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、取得部１４、算出部１５、生成部１６、予測部１７および判定部１８は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。なお、取得部１４、算出部１５、生成部１６、予測部１７および判定部１８の構成は、図１に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００２０】
取得部１４は、図示しない複数のセンサからプロセスデータを取得する。取得部１４は、取得した各センサのプロセスデータをプロセスデータバッファ１１に記憶する。取得部１４は、予め定めた条件を満たす場合、例えば、１時間分のプロセスデータをプロセスデータバッファ１１に記憶した場合に、算出部１５に算出指示を出力する。
【００２１】
算出部１５は、取得部１４から算出指示が入力されると、プロセスデータバッファ１１を参照し、所定幅のフレーム窓を用いて、所定幅のプロセスデータを切り出す。ここで、所定幅は、予め設定されたフレーム窓の幅Ｌであり、プロセスデータの時系列データの間隔より大きい値であればよく、例えば、１分といった値を用いることができる。つまり、算出部１５は、幅Ｌのフレーム窓を時間軸方向に所定のシフト幅Ｓずつ移動させて、幅Ｌのプロセスデータを切り出す。シフト幅Ｓは、フレーム窓の時間軸方向へ移動させる幅を示す。なお、以下の説明では、切り出したプロセスデータをフレームともいう。
【００２２】
算出部１５は、切り出した幅Ｌのプロセスデータに含まれる各値について、センサごとに代表値を算出する。算出部１５は、代表値として、例えば、幅Ｌのプロセスデータに含まれる各値の平均値を算出する。算出部１５は、算出した代表値（例えば平均値。）を時系列に並べて、センサごとの第１フレームデータを生成する。
【００２３】
算出部１５は、生成した第１フレームデータから所定幅、例えば幅Ｍの分析窓を用いて、第２フレームデータを算出する。幅Ｍは、例えば、１時間、１日等といった値を用いることができる。算出部１５は、例えば、フレーム窓のシフト幅Ｓを用いて、幅Ｍの分析窓を時間軸方向にシフト幅Ｓずつ移動させて、第２フレームデータを算出する。算出部１５は、算出した第２フレームデータをフレームデータバッファ１２に記憶するとともに、学習時には生成部１６に生成指示を出力し、予測時には予測部１７に予測指示を出力する。
【００２４】
また、算出部１５は、プロセスデータ全体が予め取得されている場合には、生成した第１フレームデータを、フレーム窓の幅Ｌおよびシフト幅Ｓに基づくバッファ長Ｂと、時間軸とを有する二次元のバッファに格納し、分析窓をバッファのバッファ長方向に移動させて、第２フレームデータを算出するようにしてもよい。なお、以下の説明では、この二次元のバッファをフレーム情報バッファともいう。
【００２５】
この場合、算出部１５は、分析窓がバッファ長Ｂに対応するバッファの記憶域に到達すると、所定のフレームスキップ長Ｗに基づいて、分析窓をバッファの時間軸方向に移動させて、第２フレームデータを算出する。
【００２６】
ここで、図２から図４を用いて、フレームデータおよびフレーム評価値の算出について説明する。図２は、フレームデータおよびフレーム評価値の算出の一例を示す図である。図２に示す（Ａ）は、センサから取得されたプロセスデータを項目ｘ１ｔ〜ｘｎｔごとにプロットしたものである。項目（プロセス）ｘ１ｔ〜ｘｎｔは、各センサに対応する。算出部１５は、幅Ｌのフレーム窓を時間軸方向に所定のシフト幅Ｓずつ移動させて、幅Ｌのプロセスデータを切り出す。幅Ｌは、例えば、プロセスデータの周期Ｌ個分の幅である。
【００２７】
図２に示す（Ｂ）は、切り出した幅Ｌのプロセスデータに含まれる各値について、例えば平均値を求めることで代表値を算出して時系列に並べた第１フレームデータである。第１フレームデータは、プロセスデータと同様に、項目ｙ１ｔ〜ｙｎｔごとにプロットしたものである。第１フレームデータの各値の幅は、シフト幅Ｓとなる。算出部１５は、第１フレームデータに対して、幅Ｍの分析窓を時間軸方向にシフト幅Ｓずつ移動させて、第２フレームデータを算出する。なお、分析窓のシフト幅は、フレーム窓のシフト幅Ｓと異なる値、例えば、２Ｓや３Ｓといった任意の値を用いてもよい。
【００２８】
図２に示す（Ｃ）は、第２フレームデータに基づいて、学習済モデルを用いて算出されたフレーム評価値をプロットしたものである。図２の例では、時刻ｔにおける分析窓の第２フレームデータに基づいて、時刻ｔ＋Ｎのフレーム評価値を算出している。つまり、図２の例では、時刻ｔ＋Ｎにおける予測値を算出している。なお、フレーム評価値のプロット幅は、例えば分析窓のシフト幅Ｓと同じ値を用いることができる。つまり、分析窓のシフト幅がシフト幅Ｓと異なる場合には、分析窓のシフト幅に合わせて、フレーム評価値のプロット幅が変化する。また、図２の（Ｃ）では、フレーム評価値は、項目ｚ１ｔの１つであるが、複数の項目であってもよい。
【００２９】
図３は、フレームデータの算出高速化の一例を示す図である。図３の例は、時刻を動かしながらプロセスデータの取得およびプロセスデータの切り出しを逐次行う方式ではなく、予め取得されたプロセスデータ全体を用いる場合に適用できる。この場合、使用される可能性のある第１プロセスデータの各値を全て用意することになる。また、一般的に、フレーム窓の幅Ｌと、シフト幅Ｓとは同じ値ではないため、ずれを考慮する必要がある。
【００３０】
図３の（Ａ）に示すように、算出部１５は、生成した第１フレームデータの各値Ｆ１〜ＦＢ，Ｆ（Ｂ＋１）〜Ｆ（２Ｂ）・・・を、バッファ長Ｂと時間軸との二次元のバッファ（フレーム情報バッファ）に格納する。フレーム情報バッファは、１つの記憶域がフレーム窓の幅Ｌに対応し、バッファ長方向に１つ移動するとシフト幅Ｓだけ時間軸方向にずれていく（図中値Ｆ１から値Ｆ２等。）。また、フレーム情報バッファは、値Ｆ１と同じ行の隣接する記憶域には、フレーム窓の幅Ｌ分だけシフトした値Ｆ（Ｂ＋１）が格納される。つまり、算出部１５は、分析窓がバッファ長Ｂに対応するバッファの記憶域（値ＦＢが格納される記憶域。）に到達すると、所定のフレームスキップ長Ｗに基づいて、分析窓をフレーム情報バッファの時間軸方向、かつ、値Ｆ１と同じ行の記憶域（値Ｆ（Ｂ＋１）が格納される記憶域。）に移動させる。
【００３１】
このとき、フレーム情報バッファの１行目は、プロセスデータの先頭から重複なく連続するフレームを切り出す場合に相当する。フレーム情報バッファの２行目は、プロセスデータの先頭からシフト幅Ｓずらした時刻を先頭として、重複なく連続するフレームを切り出す場合に相当する。フレーム情報バッファの３行目は、プロセスデータの先頭からシフト幅Ｓの２倍ずらした時刻を先頭として、重複なく連続するフレームを切り出す場合に相当する。これにより、あり得る全てのずれのパターン数の重複なく連続するフレームを切り出すことができる。このずれに対応する個数がバッファ長Ｂに対応する。バッファ長Ｂは、下記の式（１）〜式（３）を用いて算出する。
【００３２】
Ｌ／Ｓの余りが０の場合：  Ｂ＝Ｌ／Ｓ      ・・・（１）
Ｓ／Ｌの余りが０の場合：  Ｂ＝１          ・・・（２）
上記以外の場合        ：  Ｂ＝ＬＣＭ（ｍｏｄ（Ｓ，Ｌ），Ｌ）  ・・・（３）
【００３３】
なお、ｍｏｄ（Ｓ，Ｌ）は、Ｓ／Ｌの余り（Ｓ＜Ｌの場合はＳ）を示し、ＬＣＭ（ｍｏｄ（Ｓ，Ｌ），Ｌ）は、ｍｏｄ（Ｓ，Ｌ）とＬの最小公倍数を示す。
【００３４】
次に、図３の（Ｂ）は、フレーム情報バッファに幅Ｍの分析窓を適用する例である。幅Ｍの分析窓内のフレームの個数は、フレーム窓の幅Ｌを用いてＭ／Ｌ個と表すことができる。このとき、Ｍ／Ｌは、自然数になるものとする。つまり、ＭはＬの倍数である。
【００３５】
図３の（Ｂ−１），（Ｂ−２）は、分析窓のデータを取り出す順番を表している。（Ｂ−１）は、１周目として、先頭のフレームからＢ個の分析窓のデータを取り出す場合である。つまり、（Ｂ−１）では、分析窓Ａ１〜ＡＢのＢ個の分析窓に対応するデータを取得する。（Ｂ−２）は、２周目として、フレーム情報バッファの１行目に戻り、分析窓Ａ（Ｂ＋１）〜Ａ（２Ｂ）のＢ個の分析窓に対応するデータを取得する場合である。すなわち、分析窓Ａ（Ｂ＋１）の先頭は、分析窓Ａ１の先頭からフレームスキップ長Ｗだけ移動した場所となる。フレームスキップ長Ｗは、下記の式（４），式（５）を用いて算出する。
【００３６】
Ｌ／Ｓの余りが０の場合：  Ｗ＝１          ・・・（４）
上記以外の場合        ：  Ｗ＝Ｂ×Ｓ／Ｌ  ・・・（５）
【００３７】
なお、分析窓Ａ１と分析窓Ａ（Ｂ＋１）とが隣接しない場合、つまり一部のフレームをスキップする場合、Ｗ＞１となる。例えば、図３の（Ｂ−１），（Ｂ−２）では、Ｗ＝２であるので、フレーム情報バッファの列方向の第１要素から第３要素のうち、１周目と２周目とで重複する要素（フレーム）は第３要素となり、第２要素に対応するフレームはスキップされている。また、分析窓Ａの幅Ｍ／Ｌの値と、フレームスキップ長Ｗとの差が、例えば２倍以上ある場合には、１周目と２周目との差分に基づいてフレーム評価値を算出することで、より計算量を低減することができる。
【００３８】
図４は、フレームデータの一例を示す図である。図４の（Ｃ）は、図３の（Ｂ）の各分析窓に基づく第２フレームデータを、項目（プロセス）について縦にｎ個並べ、時間軸方向に各分析窓を並べたものである。この場合、各分析窓についてフレーム評価値の算出を行うことになる。例えば、分析窓Ａ１に対応する第２フレームデータには、各項目に対応するＡ１１〜Ａ１ｎの第２フレームデータが含まれる。また、第２フレームデータは、シフト幅Ｓを調整することで、分析窓をオーバーラップさせたり、途中をスキップしたりすることで、データ量を調整することができる。
【００３９】
図１の説明に戻って、生成部１６は、算出部１５から生成指示が入力されると、フレームデータバッファ１２を参照し、第２フレームデータに基づいて、フレーム評価値を算出する。生成部１６は、例えば、重回帰分析等を用いてフレーム評価値を算出する。なお、生成部１６は、実測値を取得してフレーム評価値としてもよい。生成部１６は、第２フレームデータと、対応するフレーム評価値とを教師データとして重回帰分析やＤＮＮ等の機械学習を行い、学習済モデルを生成する。生成部１６は、生成した学習済モデルを学習済モデル記憶部１３に記憶する。なお、教師データのフレーム評価値は、製品内部の状態等のように、製造時にセンサが取り付けられない場所の状態を用いてもよい。例えば、評価用の製品と、その製品の製造時の第２フレームデータとに基づいて教師データを生成するようにしてもよい。
【００４０】
予測部１７は、算出部１５から予測指示が入力されると、フレームデータバッファ１２および学習済モデル記憶部１３を参照し、学習済モデルを用いて、第２フレームデータからフレーム評価値を予測する。すなわち、予測部１７は、学習済モデルを用いて、第２フレームデータから、未取得のプロセスデータに対応するフレーム評価値を予測する。予測部１７は、予測したフレーム評価値を判定部１８に出力する。
【００４１】
判定部１８は、予測部１７からフレーム評価値が入力されると、例えば、判定用の閾値を用いて予測したフレーム評価値を判定する。判定部１８は、判定結果を図示しない報知部に出力し、情報処理装置１０のユーザに判定結果を報知する。判定結果としては、例えば、プロセスデータの取得先であるセンサが取り付けられた装置等の異常検知の有無等が挙げられる。
【００４２】
ここで、図５を用いてプロセスデータに基づく予測処理の概要を説明する。図５は、プロセスデータに基づく予測処理の概要を説明する図である。図５では、プラント内の反応炉や装置などにセンサや運転用の信号などを収集するデバイスが取り付けられ、一定時間毎にデータを収集していることを図示している。そして、図５では、取得部１４が各センサから収集したプロセスデータの推移を示したものを図示しており（図５の（Ａ），（Ｂ）参照）、算出部１５が分析窓で囲われた部分のプロセスデータを切り出し、予測部１７が予測値であるフレーム評価値を予測する（図５の（Ｃ）参照）。そして、判定部１８は、予測されたフレーム評価値の時系列データをチャート画面として出力する（図５の（Ｄ）参照）。このチャート画面は、例えば、監視や異常検知に利用できる。
【００４３】
［情報処理装置の処理手順］
次に、第１の実施形態に係る情報処理装置１０の動作について説明する。まず、図６を用いて学習処理について説明する。図６は、第１の実施形態における学習処理の一例を示すフローチャートである。
【００４４】
取得部１４は、図示しない複数のセンサからプロセスデータを取得する（ステップＳ１）。取得部１４は、取得した各センサのプロセスデータをプロセスデータバッファ１１に記憶する。取得部１４は、予め定めた条件を満たす場合、例えば、１時間分のプロセスデータをプロセスデータバッファ１１に記憶した場合に、算出部１５に算出指示を出力する。
【００４５】
算出部１５は、取得部１４から算出指示が入力されると、プロセスデータバッファ１１を参照し、取得したプロセスデータからフレーム窓を用いて、所定幅のプロセスデータを切り出す（ステップＳ２）。算出部１５は、切り出したプロセスデータの平均値を算出し時系列に並べて第１フレームデータを生成する（ステップＳ３）。
【００４６】
算出部１５は、生成した第１フレームデータから分析窓を用いて、第２フレームデータを算出する（ステップＳ４）。算出部１５は、算出した第２フレームデータをフレームデータバッファ１２に記憶するとともに、生成部１６に生成指示を出力する。
【００４７】
生成部１６は、算出部１５から生成指示が入力されると、フレームデータバッファ１２を参照し、第２フレームデータに基づいて、フレーム評価値を算出する（ステップＳ５）。生成部１６は、第２フレームデータとフレーム評価値とを学習して、学習済モデルを生成する（ステップＳ６）。生成部１６は、生成した学習済モデルを学習済モデル記憶部１３に記憶する。これにより、情報処理装置１０は、学習済モデルを生成できる。すなわち、情報処理装置１０は、窓幅がデータ取得周期より大きくても機械学習を効率よく行うことができる。
【００４８】
続いて、図７を用いて予測処理について説明する。図７は、第１の実施形態における予測処理の一例を示すフローチャートである。
【００４９】
取得部１４は、図示しない複数のセンサからプロセスデータを取得する（ステップＳ１１）。取得部１４は、取得した各センサのプロセスデータをプロセスデータバッファ１１に記憶する。取得部１４は、予め定めた条件を満たす場合、例えば、１時間分のプロセスデータをプロセスデータバッファ１１に記憶した場合に、算出部１５に算出指示を出力する。
【００５０】
算出部１５は、取得部１４から算出指示が入力されると、プロセスデータバッファ１１を参照し、取得したプロセスデータからフレーム窓を用いて、所定幅のプロセスデータを切り出す（ステップＳ１２）。算出部１５は、切り出したプロセスデータの平均値を算出し時系列に並べて第１フレームデータを生成する（ステップＳ１３）。
【００５１】
算出部１５は、生成した第１フレームデータから分析窓を用いて、第２フレームデータを算出する（ステップＳ１４）。算出部１５は、算出した第２フレームデータをフレームデータバッファ１２に記憶するとともに、予測部１７に予測指示を出力する。
【００５２】
予測部１７は、算出部１５から予測指示が入力されると、フレームデータバッファ１２および学習済モデル記憶部１３を参照し、学習済モデルを用いて、第２フレームデータからフレーム評価値を予測する（ステップＳ１５）。予測部１７は、予測したフレーム評価値を判定部１８に出力する。
【００５３】
判定部１８は、予測部１７からフレーム評価値が入力されると、例えば、判定用の閾値を用いて予測したフレーム評価値を判定する（ステップＳ１６）。判定部１８は、判定結果を図示しない報知部に出力し、情報処理装置１０のユーザに判定結果を報知する。これにより、情報処理装置１０は、各センサから取得したフレームデータに基づいて、予測対象の装置等の状態を予測することができる。すなわち、情報処理装置１０は、窓幅がデータ取得周期より大きくても予測処理を効率よく行うことができる。
【００５４】
［第１の実施形態の効果］
このように、情報処理装置１０は、複数のセンサから、所定の時間間隔の時系列データを表すプロセスデータをそれぞれ取得する。また、情報処理装置１０は、センサごとに取得したプロセスデータから、所定幅のフレーム窓を時間軸方向に所定のシフト幅ずつ移動させて、該所定幅のプロセスデータを切り出す。また、情報処理装置１０は、切り出したプロセスデータの代表値を算出し時系列に並べて、センサごとの第１フレームデータを生成する。また、情報処理装置１０は、複数のセンサについて生成した第１フレームデータに対して、所定幅の分析窓を時間軸方向に所定のシフト幅ずつ移動させて、第２フレームデータを算出する。その結果、情報処理装置１０は、全てのプロセスデータをそのまま適用せず、プロセスデータの代表値を用いて第２フレームデータを算出するので、窓幅がデータ取得周期より大きくても機械学習および予測処理を効率よく行うことができる。
【００５５】
また、情報処理装置１０は、生成した第１フレームデータを、フレーム窓の幅および所定のシフト幅に基づくバッファ長と、時間軸とを有する二次元のバッファに格納し、分析窓をバッファのバッファ長方向に移動させて、第２フレームデータを算出する。その結果、情報処理装置１０は、第２フレームデータの算出を高速化することができる。
【００５６】
また、情報処理装置１０は、分析窓がバッファ長に対応するバッファの記憶域に到達すると、所定のフレームスキップ長に基づいて、分析窓をバッファの時間軸方向に移動させて、第２フレームデータを算出する。その結果、情報処理装置１０は、フレームスキップ長に応じた間隔で第２フレームデータを算出できる。
【００５７】
また、情報処理装置１０では、代表値は、切り出したプロセスデータの平均値である。その結果、情報処理装置１０は、ノイズの影響を軽減することができる。
【００５８】
また、情報処理装置１０は、算出した第２フレームデータと、第２フレームデータに基づいて算出したフレーム評価値とを機械学習により学習して学習済モデルを生成する。その結果、情報処理装置１０は、予測対象の装置等に応じた学習済モデルを生成することができる。
【００５９】
また、情報処理装置１０は、生成した学習済モデルを用いて、算出した第２フレームデータから、未取得のプロセスデータに対応するフレーム評価値を予測する。その結果、情報処理装置１０は、予測対象の装置等の状態を予測することができる。
【００６０】
なお、上記第１の実施形態では、予測したフレーム評価値を情報処理装置１０の判定部１８で判定したが、これに限定されない。例えば、他の情報処理装置に予測したフレーム評価値を送信し、他の情報処理装置がフレーム評価値の判定を行ってもよい。
【００６１】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵやＧＰＵおよび当該ＣＰＵやＧＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６２】
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６３】
［プログラム］
また、上記実施形態において説明した情報処理装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係る情報処理装置１０が実行する処理をコンピュータが実行可能な言語で記述した算出プログラムを作成することもできる。この場合、コンピュータが算出プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる算出プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された算出プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
【００６４】
図８は、算出プログラムを実行するコンピュータの一例を示す図である。図８に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有し、これらの各部はバス１０８０によって接続される。
【００６５】
メモリ１０１０は、図８に例示するように、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、図８に例示するように、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、図８に例示するように、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、図８に例示するように、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、図８に例示するように、例えばディスプレイ１１３０に接続される。
【００６６】
ここで、図８に例示するように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、上記の、算出プログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０９０に記憶される。
【００６７】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出し、各種処理手順を実行する。
【００６８】
なお、算出プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、算出プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００６９】
上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００７０】
１０  情報処理装置
１１  プロセスデータバッファ
１２  フレームデータバッファ
１３  学習済モデル記憶部
１４  取得部
１５  算出部
１６  生成部
１７  予測部
１８  判定部
【図１】
2020057289.tif 000003
【図２】
2020057289.tif 000004
【図３】
2020057289.tif 000005
【図４】
2020057289.tif 000006
【図５】
2020057289.tif 000007
【図６】
2020057289.tif 000008
【図７】
2020057289.tif 000009
【図８】
2020057289.tif 000010