(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-07
(45)【発行日】2023-02-15
(54)【発明の名称】判定装置、判定方法、判定プログラム、学習装置、学習方法、および、学習プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20230208BHJP
【FI】
G06N20/00
(21)【出願番号】P 2019221233
(22)【出願日】2019-12-06
【審査請求日】2021-06-10
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】藤井 英幸
【審査官】金田 孝之
(56)【参考文献】
【文献】米国特許第06879971(US,B1)
【文献】米国特許出願公開第2019/0286725(US,A1)
【文献】特開平02-087261(JP,A)
【文献】特開2019-143388(JP,A)
【文献】特開2011-068174(JP,A)
【文献】特開2017-004509(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
測定対象を測定した時系列データである判定用データを取得する判定用データ取得部と、
複数の学習モデルのそれぞれと対応付けて記憶された複数の前処理情報の中から、前記測定対象の状態を出力する学習モデルの学習のために用いられた
前処理アルゴリズムを特定する情報を取得する前処理情報取得部と、
前記情報に基づいて特定した前処理アルゴリズムにより、前記判定用データを前処理する判定用データ前処理部と、
前記学習モデルを用いて、前処理された前記判定用データに基づいて、前記測定対象の状態を判定する判定部と
を備える、判定装置。
【請求項2】
前記判定用データ前処理部は、前記判定用データに対して補間処理を実行する、請求項1に記載の判定装置。
【請求項3】
前記補間処理は、前回値補間処理である、請求項2に記載の判定装置。
【請求項4】
前記補間処理は、直線補間処理である、請求項2に記載の判定装置。
【請求項5】
前記判定用データ前処理部は、前記判定用データに対して波形圧縮処理を実行する、請求項1に記載の判定装置。
【請求項6】
前記時系列データにおいて、データが取得できていない期間が予め定められた期間を超える場合に、エラーを通知するエラー通知部をさらに備える、請求項1から5のいずれか一項に記載の判定装置。
【請求項7】
測定対象を測定した時系列データである判定用データを取得する判定用データ取得部と、
前記測定対象の状態を出力する学習モデルの学習のために用いられた前処理アルゴリズムにより、前記判定用データを前処理する判定用データ前処理部と、
前記学習モデルを用いて、前処理された前記判定用データに基づいて、前記測定対象の状態を判定する判定部と、
前記測定対象を測定した時系列データである学習用データを取得する学習用データ取得部と、
前記学習用データを前処理する前記前処理アルゴリズムを決定する前処理決定部と、
前記前処理アルゴリズムにより前記学習用データを前処理する学習用データ前処理部と、
前処理された前記学習用データを用いて、前記学習モデルを学習する学習部と、
前記前処理アルゴリズムを特定する情報を前記学習モデルと対応付けて出力する前処理情報出力部と
を備える
、判定装置。
【請求項8】
前記学習モデルをさらに備える、請求項7に記載の判定装置。
【請求項9】
測定対象を測定した時系列データである判定用データを取得することと、
複数の学習モデルのそれぞれと対応付けて記憶された複数の前処理情報の中から、前記測定対象の状態を出力する学習モデルの学習のために用いられた
前処理アルゴリズムを特定する情報を取得することと、
前記情報に基づいて特定した前処理アルゴリズムにより、前記判定用データを前処理することと、
前記学習モデルを用いて、前処理された前記判定用データに基づいて、前記測定対象の状態を判定することと
を備える、判定方法。
【請求項10】
コンピュータにより実行されて、前記コンピュータを、
測定対象を測定した時系列データである判定用データを取得する判定用データ取得部と、
複数の学習モデルのそれぞれと対応付けて記憶された複数の前処理情報の中から、前記測定対象の状態を出力する学習モデルの学習のために用いられた
前処理アルゴリズムを特定する情報を取得する前処理情報取得部と、
前記情報に基づいて特定した前処理アルゴリズムにより、前記判定用データを前処理する判定用データ前処理部と、
前記学習モデルを用いて、前処理された前記判定用データに基づいて、前記測定対象の状態を判定する判定部と
して機能させる、判定プログラム。
【請求項11】
測定対象を測定した時系列データである学習用データを取得する学習用データ取得部と、
前記学習用データを前処理する前処理アルゴリズムを決定する前処理決定部と、
前記前処理アルゴリズムにより前記学習用データを前処理する学習用データ前処理部と、
前処理された前記学習用データを用いて、前記測定対象の状態を出力する学習モデルを学習する学習部と、
前記前処理アルゴリズムを特定する情報を前記学習モデルと対応付けて出力する前処理情報出力部と
を備える、学習装置。
【請求項12】
測定対象を測定した時系列データである学習用データを取得することと、
前記学習用データを前処理する前処理アルゴリズムを決定することと、
前記前処理アルゴリズムにより前記学習用データを前処理することと、
前処理された前記学習用データを用いて、前記測定対象の状態を出力する学習モデルを学習することと、
前記前処理アルゴリズムを特定する情報を前記学習モデルと対応付けて出力することと
を備える、学習方法。
【請求項13】
コンピュータにより実行されて、前記コンピュータを、
測定対象を測定した時系列データである学習用データを取得する学習用データ取得部と、
前記学習用データを前処理する前処理アルゴリズムを決定する前処理決定部と、
前記前処理アルゴリズムにより前記学習用データを前処理する学習用データ前処理部と、
前処理された前記学習用データを用いて、前記測定対象の状態を出力する学習モデルを学習する学習部と、
前記前処理アルゴリズムを特定する情報を前記学習モデルと対応付けて出力する前処理情報出力部と
して機能させる、学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、判定装置、判定方法、判定プログラム、学習装置、学習方法、および、学習プログラムに関する。
【背景技術】
【0002】
従来、工場や設備等の測定対象に設けられた機器からデータを取得し、学習モデルを用いて測定対象の状態を判定する技術が知られている。
[先行技術文献]
[特許文献]
[特許文献1] 特開2019-101495号公報
【発明の概要】
【発明が解決しようとする課題】
【0003】
測定対象の状態を判定するにあたって、測定対象を測定したデータを前処理する場合がある。この場合、測定対象の状態を判定する際に用いる学習モデルに応じた前処理アルゴリズムを適用することが望ましい。
【課題を解決するための手段】
【0004】
上記課題を解決するために、本発明の第1の態様においては、判定装置を提供する。判定装置は、測定対象を測定した時系列データである判定用データを取得する判定用データ取得部を備えてよい。判定装置は、測定対象の状態を出力する学習モデルの学習のために用いられた前処理アルゴリズムにより、判定用データを前処理する判定用データ前処理部を備えてよい。判定装置は、学習モデルを用いて、前処理された判定用データに基づいて、測定対象の状態を判定する判定部を備えてよい。
【0005】
判定用データ前処理部は、判定用データに対して補間処理を実行してよい。
【0006】
補間処理は、前回値補間処理であってよい。
【0007】
補間処理は、直線補間処理であってよい。
【0008】
判定用データ前処理部は、判定用データに対して波形圧縮処理を実行してよい。
【0009】
判定装置は、時系列データにおいて、データが取得できていない期間が予め定められた期間を超える場合に、エラーを通知するエラー通知部をさらに備えてよい。
【0010】
判定装置は、測定対象を測定した時系列データである学習用データを取得する学習用データ取得部と、学習用データを前処理する前処理アルゴリズムを決定する前処理決定部と、前処理アルゴリズムにより学習用データを前処理する学習用データ前処理部と、前処理された学習用データを用いて、学習モデルを学習する学習部と、前処理アルゴリズムを特定する情報を学習モデルと対応付けて出力する前処理情報出力部とをさらに備えてよい。
【0011】
判定装置は、学習モデルをさらに備えてよい。
【0012】
本発明の第2の態様においては、判定方法を提供する。判定方法は、測定対象を測定した時系列データである判定用データを取得することを備えてよい。判定方法は、測定対象の状態を出力する学習モデルの学習のために用いられた前処理アルゴリズムにより、判定用データを前処理することを備えてよい。判定方法は、学習モデルを用いて、前処理された判定用データに基づいて、測定対象の状態を判定することを備えてよい。
【0013】
本発明の第3の態様においては、判定プログラムを提供する。判定プログラムは、コンピュータにより実行されてよい。判定プログラムは、コンピュータを、測定対象を測定した時系列データである判定用データを取得する判定用データ取得部として機能させてよい。判定プログラムは、コンピュータを、測定対象の状態を出力する学習モデルの学習のために用いられた前処理アルゴリズムにより、判定用データを前処理する判定用データ前処理部として機能させてよい。判定プログラムは、コンピュータを、学習モデルを用いて、前処理された判定用データに基づいて、測定対象の状態を判定する判定部として機能させてよい。
【0014】
本発明の第4の態様においては、学習装置を提供する。学習装置は、測定対象を測定した時系列データである学習用データを取得する学習用データ取得部を備えてよい。学習装置は、学習用データを前処理する前処理アルゴリズムを決定する前処理決定部を備えてよい。学習装置は、前処理アルゴリズムにより学習用データを前処理する学習用データ前処理部を備えてよい。学習装置は、前処理された学習用データを用いて、測定対象の状態を出力する学習モデルを学習する学習部を備えてよい。学習装置は、前処理アルゴリズムを特定する情報を学習モデルと対応付けて出力する前処理情報出力部を備えてよい。
【0015】
本発明の第5の態様においては、学習方法を提供する。学習方法は、測定対象を測定した時系列データである学習用データを取得することを備えてよい。学習方法は、学習用データを前処理する前処理アルゴリズムを決定することを備えてよい。学習方法は、前処理アルゴリズムにより学習用データを前処理することを備えてよい。学習方法は、前処理された学習用データを用いて、測定対象の状態を出力する学習モデルを学習することを備えてよい。学習方法は、前処理アルゴリズムを特定する情報を学習モデルと対応付けて出力することを備えてよい。
【0016】
本発明の第6の態様においては、学習プログラムを提供する。学習プログラムは、コンピュータにより実行されてよい。学習プログラムは、コンピュータを、測定対象を測定した時系列データである学習用データを取得する学習用データ取得部として機能させてよい。学習プログラムは、コンピュータを、学習用データを前処理する前処理アルゴリズムを決定する前処理決定部として機能させてよい。学習プログラムは、コンピュータを、前処理アルゴリズムにより学習用データを前処理する学習用データ前処理部として機能させてよい。学習プログラムは、コンピュータを、前処理された学習用データを用いて、測定対象の状態を出力する学習モデルを学習する学習部として機能させてよい。学習プログラムは、コンピュータを、前処理アルゴリズムを特定する情報を学習モデルと対応付けて出力する前処理情報出力部として機能させてよい。
【0017】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0018】
【
図1】本実施形態に係る判定装置100のブロック図の一例を示す。
【
図2】本実施形態に係る判定装置100が測定対象の状態を判定するフローの一例を示す。
【
図3】本実施形態に係る学習装置300のブロック図の一例を示す。
【
図4】本実施形態に係る学習装置300が学習モデル350を学習するフローの一例を示す。
【
図5】前回値補間処理の前後における時系列データの一例を示す。
【
図6】直線補間処理の前後における時系列データの一例を示す。
【
図7】波形圧縮処理の前後における時系列データの一例を示す。
【
図8】本実施形態の変形例に係る判定装置100のブロック図の一例を示す。
【
図9】データが取得できていない期間が予め定められた期間を超える場合における時系列データの一例を示す。
【
図10】本実施形態の変形例に係る判定装置100がエラーを通知するフローの一例を示す。
【
図11】本実施形態の別の変形例に係る判定装置100のブロック図の一例を示す。
【
図12】本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2200の例を示す。
【発明を実施するための形態】
【0019】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0020】
図1は、本実施形態に係る判定装置100のブロック図の一例を示す。判定装置100は、学習モデルを用いて、測定対象を測定した時系列データである判定用データに基づいて、測定対象の状態を判定する。この際、本実施形態に係る判定装置100は、学習モデルの学習のために用いられた前処理アルゴリズムにより、判定用データを前処理する。
【0021】
本実施形態においては、判定装置100が、プラントに設けられたフィールド機器から時系列に取得した判定用データに基づいて、プラントの劣化や異常を判定する場合について一例として説明する。
【0022】
このようなプラントは、例えば、化学等の工業プラントの他、ガス田や油田等の井戸元やその周辺を管理制御するプラント、水力・火力・原子力等の発電を管理制御するプラント、太陽光や風力等の環境発電を管理制御するプラント、および、上下水やダム等を管理制御するプラント等であってよい。
【0023】
また、このようなプラントに設けられたフィールド機器は、例えば、圧力計、流量計、温度センサ等のセンサ機器、流量制御弁や開閉弁等のバルブ機器、ファンやモータ等のアクチュエータ機器、プラント内の状況や対象物を撮影するカメラやビデオ等の撮像機器、プラント内の異音等を収集したり警報音等を発したりするマイクやスピーカ等の音響機器、および、各機器の位置情報を出力する位置検出機器等であってよい。
【0024】
しかしながら、これに限定されるものではない。判定装置100は、プラントとは異なる他の設備や機器等を判定の対象としてもよい。
【0025】
判定装置100は、PC(パーソナルコンピュータ)、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。このようなコンピュータシステムもまた広義のコンピュータである。また、判定装置100は、コンピュータ内で1または複数実行可能な仮想コンピュータ環境によって実装されてもよい。これに代えて、判定装置100は、測定対象の状態判定用に設計された専用コンピュータであってもよく、専用回路によって実現された専用ハードウェアであってもよい。また、判定装置100がインターネットに接続可能な場合、判定装置100は、クラウドコンピューティングにより実現されてもよい。
【0026】
判定装置100は、学習モデル取得部110、前処理情報取得部120、判定用データ取得部130、判定用データ前処理部140、判定部150、および、判定結果出力部160を備える。なお、これらブロックは、それぞれ機能的に分離された機能ブロックであって、実際のデバイス構成とは必ずしも一致していなくてもよい。すなわち、本図において、1つのブロックとして示されているからといって、それが必ずしも1つのデバイスにより構成されていなくてもよい。また、本図において、別々のブロックとして示されているからといって、それらが必ずしも別々のデバイスにより構成されていなくてもよい。
【0027】
学習モデル取得部110は、測定対象を測定した時系列データである判定用データを入力して測定対象の状態を出力する学習モデルを取得する。例えば、学習モデル取得部110は、学習装置が測定対象を測定した時系列データである学習用データを用いて学習した学習モデルを、ネットワークを介して学習装置から取得する。学習モデル取得部110は、取得した学習モデルを判定部150へ供給する。
【0028】
前処理情報取得部120は、学習モデル取得部110が取得した学習モデルの学習のために用いられた前処理アルゴリズムを特定する情報を取得する。例えば、前処理情報取得部120は、学習装置が学習モデルを学習する際に、学習用データに対して実行した前処理アルゴリズムを特定する情報を、ネットワークを介して学習装置から取得する。前処理情報取得部120は、取得した前処理アルゴリズムを特定する情報を、判定用データ前処理部140へ供給する。
【0029】
判定用データ取得部130は、測定対象を測定した時系列データである判定用データを取得する。例えば、判定用データ取得部130は、プラントに設けられた複数のフィールド機器が測定した時系列データを記憶する測定データDB(Database)から、ネットワークを介して判定用データを取得する。判定用データ取得部130は、取得した判定用データを判定用データ前処理部140へ供給する。
【0030】
判定用データ前処理部140は、測定対象の状態を出力する学習モデルの学習のために用いられた前処理アルゴリズムにより、判定用データを前処理する。例えば、判定用データ前処理部140は、前処理情報取得部120から供給された前処理アルゴリズムを特定する情報に基づいて、測定対象の状態を出力する学習モデルの学習のために用いられた前処理アルゴリズムを特定する。そして、判定用データ前処理部140は、特定した前処理アルゴリズムにより、判定用データ取得部130から供給された判定用データを前処理する。判定用データ前処理部140は、前処理された判定用データを、判定部150へ供給する。
【0031】
判定部150は、学習モデルを用いて、前処理された判定用データに基づいて、測定対象の状態を判定する。例えば、判定部150は、学習モデル取得部110から供給された学習モデルに、判定用データ前処理部140から供給された前処理された判定用データを入力した場合における学習モデルの出力に応じて、測定対象の異常等を判定する。判定部150は、測定対象の判定結果を判定結果出力部160へ供給する。
【0032】
判定結果出力部160は、測定対象の判定結果を出力する。例えば、判定結果出力部160は、判定部150から供給された判定結果を、判定結果DB等の他の装置へ送信して出力する。
【0033】
図2は、本実施形態に係る判定装置100が測定対象の状態を判定するフローの一例を示す。
【0034】
ステップ210において、判定装置100は、学習モデルを取得する。例えば、学習モデル取得部110は、測定対象を測定した時系列データである判定用データを入力して測定対象の状態を出力する学習モデルを取得する。この際、学習モデル取得部110は、学習モデルと併せて、当該学習モデルを識別するための識別情報を取得してよい。そして、学習モデル取得部110は、取得した識別情報を前処理情報取得部120へ供給してよい。ここで、学習モデル取得部110が取得する学習モデルは、例えば、回帰分析、クラスター分析、主成分分析、ベクトル量子化、自己組織マップ、ニューラルネットワーク、サポートベクターマシン、ID3、および、単純ベイズ分類器等の様々なアルゴリズムによって学習されたものであってよい。一例として、学習モデル取得部110は、学習装置が測定対象を測定した時系列データである学習用データを用いて学習した学習モデルを、ネットワークを介して学習装置から取得する。しかしながら、これに限定されるものではない。学習モデル取得部110は、ユーザ入力や各種メモリデバイス等、ネットワークとは異なる他の手段を介して学習モデルを取得してもよい。また、学習モデル取得部110は、学習装置とは異なる他の装置から学習モデルを取得してもよい。学習モデル取得部110は、取得した学習モデルを判定部150へ供給する。
【0035】
ステップ220において、判定装置100は、前処理情報を取得する。例えば、前処理情報取得部120は、学習モデル取得部110から供給された識別情報に基づいて、学習モデル取得部110が取得した学習モデルを識別する。そして、前処理情報取得部120は、当該識別情報を検索キーとして、複数の学習モデルのそれぞれと対応付けて記憶された複数の前処理情報の中から、識別した学習モデルの学習のために用いられた前処理アルゴリズムを特定する情報を取得する。一例として、前処理情報取得部120は、学習装置が学習モデルを学習する際に、学習用データに対して実行した前処理アルゴリズムを特定する情報を、ネットワークを介して学習装置から取得する。しかしながら、これに限定されるものではない。前処理情報取得部120は、ユーザ入力や各種メモリデバイス等、ネットワークとは異なる他の手段を介して前処理アルゴリズムを特定する情報を取得してもよい。また、前処理情報取得部120は、学習装置とは異なる他の装置から前処理アルゴリズムを特定する情報を取得してもよい。前処理情報取得部120は、取得した前処理アルゴリズムを特定する情報を、判定用データ前処理部140へ供給する。
【0036】
ステップ230において、判定装置100は、判定用データを取得する。例えば、判定用データ取得部130は、測定対象を測定した時系列データである判定用データを取得する。一例として、判定用データ取得部130は、プラントに設けられた複数のフィールド機器が測定した時系列データを記憶する測定データDBから、ネットワークを介して判定用データを取得する。しかしながら、これに限定されるものではない。判定用データ取得部130は、ユーザ入力や各種メモリデバイス等、ネットワークとは異なる他の手段を介して判定用データを取得してもよい。また、判定用データ取得部130は、測定データDBとは異なる他の装置から判定用データを取得してもよい。判定用データ取得部130は、取得した判定用データを判定用データ前処理部140へ供給する。
【0037】
ステップ240において、判定装置100は、判定用データを前処理する。例えば、判定用データ前処理部140は、測定対象の状態を出力する学習モデルの学習のために用いられた前処理アルゴリズムにより、判定用データを前処理する。一例として、判定用データ前処理部140は、前処理情報取得部120から供給された前処理アルゴリズムを特定する情報に基づいて、測定対象の状態を出力する学習モデルの学習のために用いられた前処理アルゴリズムを特定する。そして、判定用データ前処理部140は、特定した前処理アルゴリズムにより、判定用データ取得部130から供給された判定用データを前処理する。ここで、判定用データ前処理部140は、前処理アルゴリズムとして、例えば、補間(前回値、平均値、中央値、最頻値、および、直線等)、波形圧縮、移動平均、標準化、および、正規化等の複数の処理の中から使用する処理、および、当該処理に適用する各種パラメータを特定し、特定した前処理アルゴリズムにより、判定用データを前処理する。前処理の詳細については後述する。判定用データ前処理部140は、前処理された判定用データを、判定部150へ供給する。
【0038】
ステップ250において、判定装置100は、測定対象の状態を判定する。例えば、判定部150は、学習モデルを用いて、前処理された判定用データに基づいて、測定対象の状態を判定する。一例として、判定部150は、学習モデル取得部110から供給された学習モデルに、判定用データ前処理部140から供給された前処理された判定用データを入力した場合における学習モデルの出力に応じて、測定対象の異常等を判定する。すなわち、判定部150は、学習モデルの学習のために用いられた前処理アルゴリズムによって前処理された判定用データを学習モデルに入力して、測定対象の状態を判定する。判定部150は、測定対象の判定結果を判定結果出力部160へ供給する。
【0039】
ステップ260において、判定装置100は、判定結果を出力して処理を終了する。例えば、判定結果出力部160は、判定部150から供給された判定結果(測定対象の異常や劣化等を示す結果)を、判定結果DB等の他の装置へ送信して出力する。しかしながら、これに限定されるものではない。判定結果出力部160は、判定部150から供給された判定結果を、モニタ等に表示出力してもよいし、スピーカ等から音声出力してもよいし、各種メモリデバイス等に書き出して出力してもよい。
【0040】
一般に、サポートベクターマシンやロジスティック回帰等、勾配降下法などの距離を用いた学習モデルの場合、前処理で標準化や正規化などを行い、各時系列データのレンジ(スケール)を合せることで、判定の精度が向上する。また、各センサ等の特性によりノイズや無効値が含まれている場合、前処理で移動平均や適切なデータ補間を行うことで、判定の精度が向上する。したがって、本実施形態に係る判定装置100は、学習モデルに応じた前処理アルゴリズムを判定用データに適用して、測定対象の状態を判定する。なお、このような前処理アルゴリズムは、後述する学習装置が学習モデルを機械学習する際に併せて決定されたものであってよい。
【0041】
図3は、本実施形態に係る学習装置300のブロック図の一例を示す。学習装置300は、測定対象を測定した時系列データである学習用データを用いて、測定対象の状態を出力する学習モデルを学習する。この際、本実施形態に係る学習装置300は、学習モデルに応じた前処理アルゴリズムを決定し、当該前処理アルゴリズムにより、学習用データを前処理するとともに、当該前処理アルゴリズムを特定する情報を学習モデルと対応付けて出力する。
【0042】
学習装置300は、PC(パーソナルコンピュータ)、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。このようなコンピュータシステムもまた広義のコンピュータである。また、学習装置300は、コンピュータ内で1または複数実行可能な仮想コンピュータ環境によって実装されてもよい。これに代えて、学習装置300は、学習モデルの学習用に設計された専用コンピュータであってもよく、専用回路によって実現された専用ハードウェアであってもよい。また、学習装置300がインターネットに接続可能な場合、学習装置300は、クラウドコンピューティングにより実現されてもよい。
【0043】
学習装置300は、学習用データ取得部310、前処理決定部320、学習用データ前処理部330、学習部340、学習モデル350、および、前処理情報出力部360を備える。なお、これらブロックは、それぞれ機能的に分離された機能ブロックであって、実際のデバイス構成とは必ずしも一致していなくてもよい。すなわち、本図において、1つのブロックとして示されているからといって、それが必ずしも1つのデバイスにより構成されていなくてもよい。また、本図において、別々のブロックとして示されているからといって、それらが必ずしも別々のデバイスにより構成されていなくてもよい。
【0044】
学習用データ取得部310は、測定対象を測定した時系列データである学習用データを取得する。例えば、学習用データ取得部310は、プラントに設けられた複数のフィールド機器が測定した時系列データを記憶する測定データDBから、ネットワークを介して学習用データを取得する。学習用データ取得部310は、取得した学習用データを、前処理決定部320および学習用データ前処理部330へ供給する。
【0045】
前処理決定部320は、学習用データを前処理する前処理アルゴリズムを決定する。例えば、前処理決定部320は、学習用データ取得部310から供給された学習用データを用いて、学習用データ前処理部330および学習部340と協働して学習用データを前処理する前処理アルゴリズムを決定する。前処理アルゴリズムの決定の詳細については後述する。前処理決定部320は、決定した前処理アルゴリズムに関する情報を学習用データ前処理部330へ供給する。
【0046】
学習用データ前処理部330は、前処理アルゴリズムにより学習用データを前処理する。例えば、学習用データ前処理部330は、前処理決定部320が決定した前処理アルゴリズムにより、学習用データ取得部310から供給された学習用データを前処理する。学習用データ前処理部330は、前処理した学習用データを学習部340へ供給する。また、学習用データ前処理部330は、学習用データを前処理した際に用いた前処理アルゴリズムを特定する情報を前処理情報出力部360へ供給する。
【0047】
学習部340は、前処理された学習用データを用いて、測定対象の状態を出力する学習モデル350を学習する。例えば、学習部340は、学習用データ前処理部330により前処理された学習用データを用いて、学習モデル350を学習する。
【0048】
学習モデル350は、測定対象を測定した時系列データである判定用データを入力して測定対象の状態を出力する。例えば、学習モデル350は、学習用データ前処理部330により前処理された学習用データを用いて、学習部340により学習されたものであってよい。学習モデル350は、判定装置100等の他の装置へ供給されてよい。
【0049】
前処理情報出力部360は、前処理アルゴリズムを特定する情報を学習モデル350と対応付けて出力する。例えば、前処理情報出力部360は、学習用データ前処理部330から供給された前処理アルゴリズムを特定する情報を、学習モデル350と対応付けて、判定装置100等の他の装置へ出力してよい。
【0050】
図4は、本実施形態に係る学習装置300が学習モデル350を学習するフローの一例を示す。
【0051】
ステップ410において、学習装置300は、学習用データを取得する。例えば、学習用データ取得部310は、測定対象を測定した時系列データである学習用データを取得する。この際、学習用データ取得部310は、ステップ412において、学習区間を管理する情報を記憶する学習区間情報管理DBから、ネットワークを介して学習区間を特定する情報を取得する。そして、学習用データ取得部310は、ステップ414において、当該学習区間に機器が測定した時系列データを、測定データDBから、ネットワークを介して取得する。
【0052】
一例として、学習用データ取得部310は、測定対象の状態が"正常"であるとラベル付けされた区間を特定する情報を、学習区間を特定する情報として取得してよい。なお、このような学習区間は、時間的に連続する区間であってもよいし、時間的に離散する区間であってもよい。また、このような区間は、NULL(データ抜け)の発生頻度が少ない区間として、人が選択した、または、自動的に選択された区間であってよい。そして、学習用データ取得部310は、測定対象の状態が"正常"であるとラベル付けされた区間において複数のフィールド機器が測定した時系列データを、学習用データとして取得してよい。
【0053】
しかしながら、これに限定されるものではない。学習用データ取得部310は、ユーザ入力や各種メモリデバイス等、ネットワークとは異なる他の手段を介して学習用データを取得してもよい。また、学習用データ取得部310は、学習区間情報管理DBとは異なる他の装置から、学習区間を特定する情報を取得してもよい。また、学習用データ取得部310は、測定データDBとは異なる他の装置から、学習用データを取得してもよい。
【0054】
また、上述の説明では、学習用データ取得部310が、測定対象の状態が"正常"であるとラベル付けされた区間における時系列データを学習用データとして取得する場合について示し、これより先、学習装置300が、当該"正常"区間における時系列データに基づいて学習モデル350を学習する場合について説明する。しかしながら、これに限定されるものではない。例えば、学習用データ取得部310が、測定対象の状態が"異常"であるとラベル付けされた区間における時系列データを学習用データとして取得し、学習装置300が、当該"異常"区間における時系列データに基づいて学習モデル350を学習してもよい。また、学習用データ取得部310が、ラベル付けされていない時系列データを学習用データとして取得し、学習装置300が、当該時系列データにおける分布に基づいて"正常"区間または"異常"区間を自動的に識別し、当該"正常"区間または"異常"区間として識別された時系列データに基づいて学習モデル350を学習してもよい。
【0055】
学習用データ取得部310は、取得した学習用データを、前処理決定部320および学習用データ前処理部330へ供給する。
【0056】
ステップ420において、学習装置300は、前処理アルゴリズムを決定する。例えば、前処理決定部320は、学習用データを前処理する前処理アルゴリズムを決定する。この際、前処理決定部320は、学習用データ取得部310から供給された学習用データを用いて、学習用データ前処理部330および学習部340と協働して学習用データを前処理する前処理アルゴリズムを決定してよい。
【0057】
一例として、前処理決定部320は、学習用データ前処理部330および学習部340と協働して、例えば、補間(前回値、平均値、中央値、最頻値、および、直線)、波形圧縮、移動平均、標準化、および、正規化等の複数の処理の中から使用する処理、および、当該処理に適用する各種パラメータの少なくともいずれかが異なる、複数の前処理アルゴリズムを学習用データにそれぞれ適用する。そして、前処理決定部320は、学習用データ前処理部330および学習部340と協働して、複数の前処理アルゴリズムによって前処理された複数の学習用データに基づいて、学習モデル350をそれぞれ学習し、複数の仮学習モデルを生成する。そして、前処理決定部320は、複数の仮学習モデルのそれぞれに、"正常"または"異常"のラベルが既知である仮の測定用データを入力し、測定対象の状態をそれぞれ仮判定する。そして、前処理決定部320は、複数の仮学習モデルのうち、仮判定の結果が最も優れていた仮学習モデルを選択し、当該仮学習モデルを生成した際に適用した前処理アルゴリズムを、学習用データを前処理する前処理アルゴリズムとして決定する。
【0058】
前処理決定部320は、決定した前処理アルゴリズムに関する情報を学習用データ前処理部330へ供給する。
【0059】
ステップ430において、学習装置300は、学習用データを前処理する。例えば、学習用データ前処理部330は、前処理アルゴリズムにより学習用データを前処理する。一例として、学習用データ前処理部330は、ステップ420において決定された前処理アルゴリズムにより、ステップ410において取得された学習用データを前処理する。学習用データ前処理部330は、前処理した学習用データを学習部340へ供給する。また、学習用データ前処理部330は、学習用データを前処理した際に用いた前処理アルゴリズムを特定する情報を前処理情報出力部360へ供給する。
【0060】
ステップ440において、学習装置300は、学習モデル350を学習する。例えば、学習部340は、前処理された学習用データを用いて、測定対象の状態を出力する学習モデル350を学習する。一例として、学習部340は、ステップ430において前処理された学習用データを用いて、学習モデル350を学習する。
【0061】
ステップ450において、学習装置300は、学習モデル350を出力する。例えば、学習装置300は、判定装置100からの要求に応じて、ステップ440において学習された学習モデル350を、ネットワークを介して判定装置100へ出力する。この際、学習装置300は、出力した学習モデル350を識別する情報を併せて判定装置100へ出力してよい。
【0062】
ステップ460において、学習装置300は、前処理情報を出力して処理を終了する。例えば、前処理情報出力部360は、前処理アルゴリズムを特定する情報を学習モデル350と対応付けて出力する。一例として、前処理情報出力部360は、判定装置100からの要求に応じて、学習用データ前処理部330から供給された前処理アルゴリズムを特定する情報を、学習モデル350と対応付けて、ネットワークを介して判定装置100へ出力してよい。
【0063】
このように、本実施形態に係る学習装置300は、学習モデル350ごとに最適な前処理アルゴリズムを決定し、決定した前処理アルゴリズムにより前処理された学習用データに基づいて学習モデル350を学習する。また、学習装置300は、学習モデル350を学習した際に学習用データに対して実行した前処理アルゴリズムを特定する情報を、判定装置100等の他の装置へ出力する。
【0064】
図5は、前回値補間処理の前後における時系列データの一例を示す。本図において、縦軸は時系列を示しており、横軸は、各時系列データの種別(本図においては、センサ1の振動データ、センサ1の加速度データ、センサ1の温度データ、センサ2の振動データ、センサ2の加速度データ、センサ2の温度データ、センサ3の振動データ、センサ3の加速度データ、および、センサ3の温度データ)を示している。本図上は前処理が実行される前における各センサの時系列データを示している。
【0065】
様々な場所におかれたセンサからのセンサデータは、クラウドやネットワーク上に異なるタイミングで転送される。そのため、本図上に示すように、各センサの時系列データは、同じタイムスタンプでみると、ところどころNULLを示している。すなわち、データ抜けが発生している。一般に、機械学習で測定対象の状態判定を行う場合、同じ時刻に判定に必要なデータが全て存在している必要がある。したがって、このような状態において時系列データを前処理しない場合、測定対象の状態判定処理は、全てのデータが揃った時点(本図においては、日時:2018/05/01 00:02、および、日時:2018/05/01 00:12)で実施されることとなる。
【0066】
これに対して、本実施形態においては、学習装置300において、前処理決定部320が、このようなデータ抜けが発生している学習用データを前処理する前処理アルゴリズムとして前回値補間処理を実行することを決定する。これに応じて、学習用データ前処理部330が、学習用データに対して前回値補間処理を実行する。そして、判定装置100において、このように前回値補間処理が実行された学習用データを用いて学習された学習モデル350により測定対象の状態判定を行う場合に、前処理情報取得部120が、前処理アルゴリズムとして前回値補間処理が実行されることを特定する情報を取得する。これに応じて、判定用データ前処理部140が、判定用データに対して前回値補間処理を実行する。
【0067】
本図下は、前処理として前回値補間処理が実行された後における時系列データを示している。本図下に示すように、各センサの時系列データにおいて、データ抜けが発生していた箇所が、データ抜けが発生する直前のデータによって補間されている。より詳細には、日時:2018/05/01 00:01および00:02におけるセンサ1の振動データ(Sensor1_Acc)が、"NULL"から、2018/05/01 00:00におけるセンサ1の振動データである"29.1208782"に補間されている。同様に、日時:2018/05/01 00:10および00:11におけるセンサ3の加速度データ(Sensor3_Vel)が、"NULL"から、2018/05/01 00:02におけるセンサ3の加速度データである"80.0172806"に補間されている。このように、判定用データ前処理部140は、判定用データに対して補間処理を実行してよい。この際、当該補間処理は、前回値補間処理であってよい。これにより、判定装置100は、日時:2018/05/01 00:02以降、全てのタイミングにおいて測定対象の状態判定処理を実施することができる。
【0068】
図6は、直線補間処理の前後における時系列データの一例を示す。本図において、縦軸は時系列を示しており、横軸は、各時系列データの種別を示している。本図上は、前処理が実行される前における各センサの時系列データを示している。
【0069】
本図上に示すように、各センサの時系列データは、同じタイムスタンプでみると、ところどころNULLを示している。すなわち、データ抜けが発生している。このような状態において時系列データを前処理しない場合、測定対象の状態判定処理は、全てのデータが揃った時点(本図においては、日時:2018/05/01 00:02、および、日時:2018/05/01 00:12)で実施されることとなる。
【0070】
これに対して、本実施形態においては、学習装置300において、前処理決定部320が、このようなデータ抜けが発生している学習用データを前処理する前処理アルゴリズムとして直線補間処理を実行することを決定する。これに応じて、学習用データ前処理部330が、学習用データに対して直線補間処理を実行する。そして、判定装置100において、このように直線補間処理が実行された学習用データを用いて学習された学習モデル350により測定対象の状態判定を行う場合に、前処理情報取得部120が、前処理アルゴリズムとして直線補間処理が実行されることを特定する情報を取得する。これに応じて、判定用データ前処理部140が、判定用データに対して直線補間処理を実行する。
【0071】
本図下は、前処理として直線補間処理が実行された後における時系列データを示している。本図下に示すように、各センサの時系列データにおいて、データ抜けが発生していた箇所が、データ抜けが発生する直前のデータおよび直後のデータを結ぶ直線上のデータによって補間されている。より詳細には、日時:2018/05/01 00:01および00:02におけるセンサ1の振動データ(Sensor1_Acc)が、"NULL"から、2018/05/01 00:00におけるセンサ1の振動データである"1"および2018/05/01 00:10におけるセンサ1の振動データである"2"を結ぶ直線上のデータ、"1.1"および"1.2"にそれぞれ補間されている。同様に、日時:2018/05/01 00:10および00:11におけるセンサ3の加速度データ(Sensor3_Vel)が、"NULL"から、2018/05/01 00:02におけるセンサ3の加速度データである"52"および2018/05/01 00:12におけるセンサ3の加速度データである"53"を結ぶ直線上のデータ、"52.1"および"52.2"にそれぞれ補間されている。このように、判定用データ前処理部140は、判定用データに対して補間処理を実行してよい。この際、当該補間処理は、直線補間処理であってよい。これにより、判定装置100は、日時:2018/05/01 00:02以降、全てのタイミングにおいて測定対象の状態判定処理を実施することができる。
【0072】
図7は、波形圧縮処理の前後における時系列データの一例を示す。本図において、縦軸は時系列を示しており、横軸は、各時系列データの種別(本図においては、センサ1の振動データ、および、センサ1の加速度データ)を示している。本図上は、前処理が実行される前における各センサの時系列データを示している。
【0073】
本図上に示すように、センサ1の振動データおよび加速度データは、1秒(高速)サンプリングのセンサデータである。このような高速サンプリングのセンサデータに対して、サンプリングレートごと(1秒ごと)に測定対象の状態判定処理が実施されると、判定に時間を要し、逆に、判定結果の出力が遅れることが考えられる。
【0074】
これに対して、本実施形態においては、学習装置300において、前処理決定部320が、このような高速サンプリングのセンサデータを含む学習用データを前処理する前処理アルゴリズムとして波形(Peak To Peak)圧縮処理を実行することを決定する。これに応じて、学習用データ前処理部330が、学習用データに対して波形圧縮処理を実行する。そして、判定装置100において、このように波形圧縮処理が実行された学習用データを用いて学習された学習モデル350により測定対象の状態判定を行う場合に、前処理情報取得部120が、前処理アルゴリズムとして波形圧縮処理が実行されることを特定する情報を取得する。これに応じて、判定用データ前処理部140が、判定用データに対して波形圧縮処理を実行する。
【0075】
本図下は、前処理として波形圧縮処理が実行された後における時系列データを示している。本図下に示すように、各センサの時系列データは、1秒間隔のデータから1分間隔のデータに変換されている。この場合、判定用データ前処理部140および学習用データ前処理部330は、第1の間隔で取得されるデータを、第1の間隔よりも長い第2の間隔のデータに変換する。この際、判定用データ前処理部140および学習用データ前処理部330は、例えば、第2の間隔中に第1の間隔で取得されるデータの中で、最も小さい値と最も大きい値を用いて第2の間隔のデータに変換する。より詳細には、判定用データ前処理部140および学習用データ前処理部330は、センサ1の振動データおよび加速度データのそれぞれについて、日時:2018/05/01 0:00:0~日時:2018/05/01 0:00:59の中で、最も小さい値を日時:2018/05/01 0:00:0 Minとし、最も大きい値を日時:2018/05/01 0:00:0 Maxとして変換する。同様に、判定用データ前処理部140および学習用データ前処理部330は、日時:2018/05/01 0:01:0~日時:2018/05/01 0:01:59の中で、最も小さい値を日時:2018/05/01 0:01:0 Minとし、最も大きい値を日時:2018/05/01 0:01:0 Maxとして変換する。このように、判定用データ前処理部140は、判定用データに対して波形圧縮処理を実行してよい。これにより、判定装置100は、日時:2018/05/01 00:00、日時:2018/05/01 00:01と1分間隔で測定対象の状態判定処理を実施することができる。
【0076】
なお、このような場合において、判定装置100は、判定用データを取得するタイミングを変更してもよい。例えば、判定装置100は、特定した前処理アルゴリズムに応じて判定用データを取得するタイミングを最適化してもよい。例えば、前処理アルゴリズムとして第1の間隔で取得されたデータを、第1の間隔よりも長い第2の間隔のデータに波形圧縮することを特定した場合、判定装置100は、判定用データを取得するタイミングを、第1の間隔から、第1の間隔よりも長く第2の間隔よりも短い第3の間隔に変更してもよい。つまり、判定装置100は、1秒間隔で取得していた判定用データを、1秒よりも長く1分よりも短い間隔で取得するように、判定用データを取得するタイミングを変更してもよい。これにより、判定装置100が取得する判定用データを減らすことができ、判定処理を効率化することができる。
【0077】
ここまで、前処理アルゴリズムとして前回値補間処理、直線補間処理、および、波形圧縮処理が実行される場合を一例として説明したが、上述のとおり、前処理アルゴリズムとして様々な処理が実行されてよい。このように、本実施形態においては、学習装置300が、学習用データを前処理する最適な前処理アルゴリズムを決定し、学習用データに対して前処理を実行する。そして、判定装置100が、このように前処理された学習用データを用いて学習された学習モデル350により測定対象の状態判定を行う場合に、前処理アルゴリズムを特定する情報を取得し、判定用データに対して学習モデル350の学習のために用いられた前処理アルゴリズムにより前処理を実行する。したがって、本実施形態によれば、学習装置300が学習モデル350を学習する際に学習用データに対して実行する前処理と、判定装置100が学習モデル350を用いて測定対象の状態を判定する際に判定用データに対して実行する前処理とを対応させることができ、測定対象の状態判定の精度を向上させることができる。
【0078】
また、例えば、測定データをクラウド上の測定データDBに記憶する前に測定データを前処理(例えば、補間処理)することも考えられるが、その場合、測定データDBが記憶するデータ量が増えてしまい、クラウド上のリソースおよびコスト増に繋がりかねない。これに対して、本実施形態に係る判定装置100および学習装置300によれば、測定データDBから測定データを取得した後にそれぞれ前処理を実行するので、測定データDBが記憶するデータ量を抑制することができる。
【0079】
また、例えば、前処理アルゴリズムとして、補間処理が実行される場合、本実施形態に係る判定装置100および学習装置300は、時系列データにデータ抜けが発生している場合であっても、データ抜けを補間することができる。これにより、本実施形態に係る判定装置100によれば、全てのデータが揃うことを待つことなく、測定対象の状態判定処理を実行することができるので、判定結果の出力が遅れることを抑制することができる。
【0080】
特に、補間処理が前回値補間処理であった場合、判定装置100および学習装置300は、時系列データにデータ抜けが発生している場合に、データ抜けを不要な演算を行うことなく直前のデータで補間するので、前処理に係る負荷を低減し、処理を高速化することができる。
【0081】
特に、補間処理が直線補間処理であった場合、判定装置100および学習装置300は、時系列データにデータ抜けが発生している場合に、データ抜けを本来取得すべきであったデータにより近いデータで補間し得る。これにより、判定装置100は、測定対象の状態判定の精度をより向上させることができる。
【0082】
また、例えば、前処理アルゴリズムとして、波形圧縮処理が実行される場合、本実施形態に係る判定装置100は、判定用データを第1の間隔(1秒間隔)よりも長い第2の間隔(1分間隔)に変換し、第2の間隔ごとに測定対象の状態判定処理を実施するので、判定の精度を落とすことなく判定の高速化を実現することができる。また、本実施形態に係る学習装置300は、学習用データを第1の間隔(1秒間隔)よりも長い第2の間隔(1分間隔)に変換し、第2の間隔を有する学習用データを用いて学習モデル350を学習するので、学習の負荷を低減し、学習に係る処理を高速化することができる。
【0083】
また、本実施形態においては、判定装置100と学習装置300とが別々の装置として構成されている。一般に、学習モデルの学習には大きな負荷がかかる。本実施形態においては、判定装置100が、学習装置300と切り離され、別体として構成されるので、判定装置100を小型、低容量化することができる。
【0084】
図8は、本実施形態の変形例に係る判定装置100のブロック図の一例を示す。本図においては、
図1と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。本変形例に係る判定装置100は、エラー通知部810をさらに備えている。
【0085】
本変形例においては、判定用データ取得部130は、取得した判定用データを、判定用データ前処理部140に加えて、エラー通知部810へ供給する。そして、エラー通知部810は、判定用データ取得部130から取得した時系列データにおいて、データが取得できていない期間が予め定められた期間を超える場合に、エラーを通知する。この際、エラー通知部810は、データが取得できていない状態が連続する期間が予め定められた期間を超える場合に、エラーを通知してよい。これに代えて、または加えて、エラー通知部810は、所定期間内においてデータが取得できていない状態を合算した期間が予め定められた期間を超える場合に、エラーを通知してもよい。
【0086】
図9は、データが取得できていない期間が予め定められた期間を超える場合における時系列データの一例を示す。本図において、縦軸は時系列を示しており、横軸は、各時系列データの種別を示している。本図に示すように、時系列データにおいて、日時:2018/05/01 00:11~日時:2018/05/01 00:32にわたって、センサ1の振動データ、加速度データ、および、温度データがNULLを示しており、この期間においてセンサ1からの測定データが取得できていないことが分かる。このような状態は、例えば、センサ1や周辺機器のトラブル等により、センサ1の測定データが測定データDBに記憶されていなかった場合に生じ得る。
【0087】
このような状態で、判定装置100が、前処理(例えば、補間処理)を実施したとしても、補間したデータが本来取得すべきであったデータと大きく乖離している場合があり、このように前処理されたデータに基づいて測定対象の状態を判定しても正確な判定結果を出力できているとはいえない。そこで、本変形例に係る判定装置100は、このような場合に測定対象の状態の判定処理を実施せずに、エラーを通知する。
【0088】
図10は、本実施形態の変形例に係る判定装置100がエラーを通知するフローの一例を示す。
【0089】
ステップ1010において、判定装置100は、機器のサンプリングレートを取得する。例えば、エラー通知部810は、判定用データ取得部130から供給された判定用データに基づいて、測定対象を測定するフィールド機器、例えば、センサのサンプリングレートを取得する。
【0090】
ステップ1020において、判定装置100は、NULL値をカウントする。例えば、エラー通知部810は、ステップ1010において取得したサンプリングレートに従って、時系列データにおいてNULL値となっている期間をカウントする。なお、当該期間は、上述のとおり、連続する期間であってもよいし、所定期間内において離散する期間を合算した期間であってもよい。
【0091】
ステップ1030において、判定装置100は、NULL値が予め定められた期間発生したか否か判定する。例えば、エラー通知部810は、ステップ1020においてカウントした値が、予め定められたしきい値を超えたか否か判定する。
【0092】
NULL値が予め定められた期間発生していないと判定された場合、すなわち、ステップ1020においてカウントした値が予め定められたしきい値を超えていない場合、判定装置100は、ステップ1040において、通常どおり判定用データを前処理する。
【0093】
一方、NULL値が予め定められた期間発生していると判定された場合、すなわち、ステップ1020においてカウントした値が予め定められたしきい値を超えている場合、エラー通知部810は、ステップ1050においてエラーを通知する。この際、エラー通知部810は、判定用データ前処理部140へエラーを通知して、判定用データ前処理部140による判定用データの前処理を行わせないよう制御してもよい。これにより、判定装置100は、不用な前処理を抑制することができる。これに代えて、または加えて、エラー通知部810は、他の装置へエラーを通知してもよい。これにより、判定装置100は、エラーが生じた旨を、ユーザへ知らしめることができる。
【0094】
このように、本変形例に係る判定装置100は、時系列データにおいて、データが取得できていない期間が予め定められた期間を超える場合に、エラーを通知する。これにより、本変形例に係る判定装置によれば、例えば、センサや周辺機器等のトラブルに起因する、測定対象の状態の誤判定を事前に防止することができる。
【0095】
図11は、本実施形態の別の変形例に係る判定装置100のブロック図の一例を示す。本図においては、
図1および
図3と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。上述の説明では、判定装置100が学習装置300とは別々の装置として構成される場合を一例として説明した。しかしながら、本別の変形例に係る判定装置100は、
図1に示した判定装置100の機能と
図3に示した学習装置300の機能とを一体に備えている。すなわち、本別の変形例に係る判定装置100は、測定対象を測定した時系列データである学習用データを取得する学習用データ取得部310と、学習用データを前処理する前処理アルゴリズムを決定する前処理決定部320と、前処理アルゴリズムにより学習用データを前処理する学習用データ前処理部330と、前処理された学習用データを用いて、学習モデルを学習する学習部340と、前処理アルゴリズムを特定する情報を学習モデルと対応付けて出力する前処理情報出力部360と、をさらに備えている。
【0096】
この場合、前処理情報取得部120は、前処理情報出力部360から前処理アルゴリズムを特定する情報を取得してよい。また、前処理情報取得部120は、前処理情報出力部360から取得した前処理アルゴリズムを特定する情報を、判定用データ前処理部140へ供給してよい。そして、判定用データ前処理部140は、前処理情報取得部120から供給された前処理アルゴリズムを特定する情報、すなわち、前処理情報出力部360から取得した前処理アルゴリズムを特定する情報に基づいて、前処理アルゴリズムを特定し、対応する学習モデルを用いて測定対象の状態を判定する場合に、当該前処理アルゴリズムにより、判定用データを前処理する。このように、本別の実施形態に係る判定装置100によれば、前処理情報の取得が同一の装置内で行われるので、前処理情報の取得に費やす手間や時間を低減することができ、また、前処理情報が外部へ漏洩するリスクも低減することができる。
【0097】
本別の変形例に係る判定装置100は、学習モデル350をさらに備えていてもよい。この場合、学習モデル取得部110は、学習部340によって学習された学習モデル350を取得してよい。このように、本別の実施形態に係る判定装置100によれば、モデルの取得が同一の装置内で行われるので、モデルの取得に費やす手間や時間を低減することができ、また、モデルが外部へ漏洩するリスクも低減することができる。また、本別の変形例に係る判定装置100によれば、モデルの学習から測定対象の状態判定までの処理を、オールインワンで1つの装置により実現することができるので、装置の管理やメンテナンスを単純化することができる。
【0098】
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
【0099】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0100】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
【0101】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0102】
図12は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2200の例を示す。コンピュータ2200にインストールされたプログラムは、コンピュータ2200に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ2200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ2200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU2212によって実行されてよい。
【0103】
本実施形態によるコンピュータ2200は、CPU2212、RAM2214、グラフィックコントローラ2216、およびディスプレイデバイス2218を含み、それらはホストコントローラ2210によって相互に接続されている。コンピュータ2200はまた、通信インターフェイス2222、ハードディスクドライブ2224、DVD-ROMドライブ2226、およびICカードドライブのような入/出力ユニットを含み、それらは入/出力コントローラ2220を介してホストコントローラ2210に接続されている。コンピュータはまた、ROM2230およびキーボード2242のようなレガシの入/出力ユニットを含み、それらは入/出力チップ2240を介して入/出力コントローラ2220に接続されている。
【0104】
CPU2212は、ROM2230およびRAM2214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ2216は、RAM2214内に提供されるフレームバッファ等またはそれ自体の中にCPU2212によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス2218上に表示されるようにする。
【0105】
通信インターフェイス2222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ2224は、コンピュータ2200内のCPU2212によって使用されるプログラムおよびデータを格納する。DVD-ROMドライブ2226は、プログラムまたはデータをDVD-ROM2201から読み取り、ハードディスクドライブ2224にRAM2214を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/またはプログラムおよびデータをICカードに書き込む。
【0106】
ROM2230はその中に、アクティブ化時にコンピュータ2200によって実行されるブートプログラム等、および/またはコンピュータ2200のハードウェアに依存するプログラムを格納する。入/出力チップ2240はまた、様々な入/出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コントローラ2220に接続してよい。
【0107】
プログラムが、DVD-ROM2201またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ2224、RAM2214、またはROM2230にインストールされ、CPU2212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ2200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ2200の使用に従い情報の操作または処理を実現することによって構成されてよい。
【0108】
例えば、通信がコンピュータ2200および外部デバイス間で実行される場合、CPU2212は、RAM2214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス2222に対し、通信処理を命令してよい。通信インターフェイス2222は、CPU2212の制御下、RAM2214、ハードディスクドライブ2224、DVD-ROM2201、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
【0109】
また、CPU2212は、ハードディスクドライブ2224、DVD-ROMドライブ2226(DVD-ROM2201)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM2214に読み取られるようにし、RAM2214上のデータに対し様々なタイプの処理を実行してよい。CPU2212は次に、処理されたデータを外部記録媒体にライトバックする。
【0110】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU2212は、RAM2214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM2214に対しライトバックする。また、CPU2212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU2212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0111】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ2200上またはコンピュータ2200近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ2200に提供する。
【0112】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0113】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0114】
100 判定装置
110 学習モデル取得部
120 前処理情報取得部
130 判定用データ取得部
140 判定用データ前処理部
150 判定部
160 判定結果出力部
300 学習装置
310 学習用データ取得部
320 前処理決定部
330 学習用データ前処理部
340 学習部
350 学習モデル
360 前処理情報出力部
810 エラー通知部
2200 コンピュータ
2201 DVD-ROM
2210 ホストコントローラ
2212 CPU
2214 RAM
2216 グラフィックコントローラ
2218 ディスプレイデバイス
2220 入/出力コントローラ
2222 通信インターフェイス
2224 ハードディスクドライブ
2226 DVD-ROMドライブ
2230 ROM
2240 入/出力チップ
2242 キーボード