IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧

特許7571613情報処理装置、情報処理プログラムおよび情報処理方法
<>
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図1
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図2
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図3
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図4
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図5
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図6
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図7
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図8
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図9
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図10
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-15
(45)【発行日】2024-10-23
(54)【発明の名称】情報処理装置、情報処理プログラムおよび情報処理方法
(51)【国際特許分類】
   G05B 23/02 20060101AFI20241016BHJP
【FI】
G05B23/02 302R
G05B23/02 T
【請求項の数】 11
(21)【出願番号】P 2021027259
(22)【出願日】2021-02-24
(65)【公開番号】P2022128824
(43)【公開日】2022-09-05
【審査請求日】2023-12-12
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】土川 健斗
(72)【発明者】
【氏名】川ノ上 真輔
(72)【発明者】
【氏名】宮本 幸太
【審査官】渡邊 捷太郎
(56)【参考文献】
【文献】特開2019-159697(JP,A)
【文献】特開2020-144493(JP,A)
【文献】特開2019-179395(JP,A)
【文献】特開2012-138044(JP,A)
【文献】特開2007-327848(JP,A)
【文献】特開2021-012096(JP,A)
【文献】特開2020-030555(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
(57)【特許請求の範囲】
【請求項1】
制御対象を制御するための制御装置に接続される情報処理装置であって、前記制御装置は、前記制御対象から収集される情報から算出される特徴量が入力されてスコアを出力する学習済モデルと前記スコアを判定するためのしきい値とを有しており、前記情報処理装置は、
前記学習済モデルに関連する特徴量、および、当該特徴量から算出されるスコアを表示する表示手段と、
前記特徴量および前記スコアのいずれかに対するしきい値の設定を受け付ける受付手段と、
前記特徴量に対して設定されたしきい値から前記スコアに対するしきい値を算出する算出手段と、
前記スコアに対して設定されたしきい値、または、前記特徴量に対して設定されたしきい値から算出された前記スコアに対するしきい値、を前記学習済モデルに適用するしきい値として出力する出力手段とを備え
前記算出手段は、前記学習済モデルを規定する関数を用いて、前記特徴量に対して設定されたしきい値から前記スコアに対するしきい値を算出する、情報処理装置。
【請求項2】
制御対象を制御するための制御装置に接続される情報処理装置であって、前記制御装置は、前記制御対象から収集される情報から算出される特徴量が入力されてスコアを出力する学習済モデルと前記スコアを判定するためのしきい値とを有しており、前記情報処理装置は、
前記学習済モデルに関連する特徴量、および、当該特徴量から算出されるスコアを表示する表示手段と、
前記特徴量および前記スコアのいずれかに対するしきい値の設定を受け付ける受付手段と、
前記特徴量に対して設定されたしきい値から前記スコアに対するしきい値を算出する算出手段と、
前記スコアに対して設定されたしきい値、または、前記特徴量に対して設定されたしきい値から算出された前記スコアに対するしきい値、を前記学習済モデルに適用するしきい値として出力する出力手段とを備え
前記学習済モデルは、複数の特徴量からスコアを出力するように構成されており、
前記算出手段は、前記複数の特徴量に対してそれぞれ設定されたしきい値から前記スコアに対するしきい値を算出する、情報処理装置。
【請求項3】
前記表示手段は、前記複数の特徴量の時間波形を並べて表示する、請求項に記載の情報処理装置。
【請求項4】
前記表示手段は、2つの特徴量に対応付けられた2次元座標上に特徴量の各々をプロット表示するとともに、前記スコアに対するしきい値を等高線の形で表示する、請求項に記載の情報処理装置。
【請求項5】
前記表示手段は、3つの特徴量に対応付けられた3次元座標上に特徴量の各々をプロット表示するとともに、設定されたスコアに対応する座標点群を表示する、請求項に記載の情報処理装置。
【請求項6】
前記表示手段は、前記特徴量の時間波形、および、前記スコアの時間波形を並べて表示する、請求項1~5のいずれか1項に記載の情報処理装置。
【請求項7】
前記出力手段は、前記しきい値を複数出力する、請求項1~のいずれか1項に記載の情報処理装置。
【請求項8】
制御対象を制御するための制御装置に接続されるコンピュータで実行される情報処理プログラムであって、前記制御装置は、前記制御対象から収集される情報から算出される特徴量が入力されてスコアを出力する学習済モデルと前記スコアを判定するためのしきい値とを有しており、前記情報処理プログラムは前記コンピュータに、
前記学習済モデルに関連する特徴量、および、当該特徴量から算出されるスコアを表示するステップと、
前記特徴量および前記スコアのいずれかに対するしきい値の設定を受け付けるステップと、
前記特徴量に対して設定されたしきい値から前記スコアに対するしきい値を算出するステップと、
前記スコアに対して設定されたしきい値、または、前記特徴量に対して設定されたしきい値から算出された前記スコアに対するしきい値、を前記学習済モデルに適用するしきい値として出力するステップとを実行させ
前記しきい値を算出するステップは、前記学習済モデルを規定する関数を用いて、前記特徴量に対して設定されたしきい値から前記スコアに対するしきい値を算出するステップを含む、情報処理プログラム。
【請求項9】
制御対象を制御するための制御装置に接続されるコンピュータで実行される情報処理プログラムであって、前記制御装置は、前記制御対象から収集される情報から算出される特徴量が入力されてスコアを出力する学習済モデルと前記スコアを判定するためのしきい値とを有しており、前記情報処理プログラムは前記コンピュータに、
前記学習済モデルに関連する特徴量、および、当該特徴量から算出されるスコアを表示するステップと、
前記特徴量および前記スコアのいずれかに対するしきい値の設定を受け付けるステップと、
前記特徴量に対して設定されたしきい値から前記スコアに対するしきい値を算出するステップと、
前記スコアに対して設定されたしきい値、または、前記特徴量に対して設定されたしきい値から算出された前記スコアに対するしきい値、を前記学習済モデルに適用するしきい値として出力するステップとを実行させ
前記学習済モデルは、複数の特徴量からスコアを出力するように構成されており、
前記しきい値を算出するステップは、前記複数の特徴量に対してそれぞれ設定されたしきい値から前記スコアに対するしきい値を算出するステップを含む、情報処理プログラム。
【請求項10】
制御対象を制御するための制御装置に接続されるコンピュータで実行される情報処理方法であって、前記制御装置は、前記制御対象から収集される情報から算出される特徴量が入力されてスコアを出力する学習済モデルと前記スコアを判定するためのしきい値とを有しており、前記情報処理方法に、
前記学習済モデルに関連する特徴量、および、当該特徴量から算出されるスコアを表示するステップと、
前記特徴量および前記スコアのいずれかに対するしきい値の設定を受け付けるステップと、
前記特徴量に対して設定されたしきい値から前記スコアに対するしきい値を算出するステップと、
前記スコアに対して設定されたしきい値、または、前記特徴量に対して設定されたしきい値から算出された前記スコアに対するしきい値、を前記学習済モデルに適用するしきい値として出力するステップとを含み、
前記しきい値を算出するステップは、前記学習済モデルを規定する関数を用いて、前記特徴量に対して設定されたしきい値から前記スコアに対するしきい値を算出するステップを含む、情報処理方法。
【請求項11】
制御対象を制御するための制御装置に接続されるコンピュータで実行される情報処理方法であって、前記制御装置は、前記制御対象から収集される情報から算出される特徴量が入力されてスコアを出力する学習済モデルと前記スコアを判定するためのしきい値とを有しており、前記情報処理方法に、
前記学習済モデルに関連する特徴量、および、当該特徴量から算出されるスコアを表示するステップと、
前記特徴量および前記スコアのいずれかに対するしきい値の設定を受け付けるステップと、
前記特徴量に対して設定されたしきい値から前記スコアに対するしきい値を算出するステップと、
前記スコアに対して設定されたしきい値、または、前記特徴量に対して設定されたしきい値から算出された前記スコアに対するしきい値、を前記学習済モデルに適用するしきい値として出力するステップとを含み、
前記学習済モデルは、複数の特徴量からスコアを出力するように構成されており、
前記しきい値を算出するステップは、前記複数の特徴量に対してそれぞれ設定されたしきい値から前記スコアに対するしきい値を算出するステップを含む、情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、制御装置に接続される情報処理装置、情報処理プログラムおよび情報処理方法に関する。
【背景技術】
【0002】
様々な生産現場において、機械や装置に対する予知保全により設備稼働率を向上させたいというニーズが存在する。予知保全とは、機械や装置に生じる何らかの異常を検知して、設備を停止しなければ状態になる前に、整備や交換などの保守作業を行うような保全形態を意味する。このような予知保全を実現するために、機械や装置の状態値を収集するとともに、収集された状態値に基づいて、当該機械や装置に何らかの異常が生じているか否かを判定するような機械学習を用いた仕組みが実用化されている。
【0003】
例えば、特開2012-138044号公報(特許文献1)は、監視対象の異常診断を迅速に行うことを支援するプロセス状態監視装置を開示する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2012-138044号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
異常を検知する典型的な手法として、測定された値を予め定められたしきい値を用いて判定する方法がある。
【0006】
通常、検知対象の異常が生じ得る頻度は少なく、正常ラベルが付与されたデータのみ、あるいは、わずかな異常ラベルが付与されたデータに基づいて、しきい値を初期値として設定せざるを得ない。そのため、専門的な知見を有した専門家であっても、適切なしきい値を設定することは容易ではない。
【0007】
本技術は、学習済モデルを用いて何らかの事象を判定するためのしきい値をより容易に設定できる方法を提供するものである。
【課題を解決するための手段】
【0008】
本技術の一例に従えば、制御対象を制御するための制御装置に接続される情報処理装置が提供される。制御装置は、制御対象から収集される情報から算出される特徴量が入力されてスコアを出力する学習済モデルとスコアを判定するためのしきい値とを有している。情報処理装置は、学習済モデルに関連する特徴量、および、当該特徴量から算出されるスコアを表示する表示手段と、特徴量およびスコアのいずれかに対するしきい値の設定を受け付ける受付手段と、特徴量に対して設定されたしきい値からスコアに対するしきい値を算出する算出手段と、スコアに対して設定されたしきい値、または、特徴量に対して設定されたしきい値から算出されたスコアに対するしきい値、を学習済モデルに適用するしきい値として出力する出力手段とを含む。
【0009】
この構成によれば、ユーザは、特徴量またはスコアを確認しながら、特徴量およびスコアのいずれかに対するしきい値を設定することができる。そのため、特徴量およびスコアのうち設定が容易なものに対してしきい値を設定すること、学習済モデルを用いた判定処理を運用開始できる。
【0010】
表示手段は、特徴量の時間波形、および、スコアの時間波形を並べて表示してもよい。この構成によれば、ユーザは、特徴量の時間波形、および、スコアの時間波形の両方を確認できるので、しきい値の設定をより容易化できる。
【0011】
算出手段は、学習済モデルを規定する関数を用いて、特徴量に対して設定されたしきい値からスコアに対するしきい値を算出してもよい。この構成によれば、学習済モデルの定義に沿って、特徴量に対して設定されたしきい値からスコアに対するしきい値を算出できる。
【0012】
表示手段は、複数の特徴量の時間波形を並べて表示してもよい。この構成によれば、複数の特徴量を確認できるので、しきい値の設定をより容易化できる。
【0013】
表示手段は、2つの特徴量に対応付けられた2次元座標上に特徴量の各々をプロット表示するとともに、スコアに対するしきい値を等高線の形で表示してもよい。この構成によれば、2つの特徴量とスコアとの関係を視覚的に把握できるので、しきい値の設定をより容易化できる。
【0014】
表示手段は、3つの特徴量に対応付けられた3次元座標上に特徴量の各々をプロット表示するとともに、設定されたスコアに対応する座標点群を表示してもよい。この構成によれば、3つの特徴量とスコアとの関係を視覚的に把握できるので、しきい値の設定をより容易化できる。
【0015】
出力手段は、しきい値を複数出力してもよい。この構成によれば、学習済モデルを用いて算出されるスコアを用いて、複数段階の判定が可能となる。
【0016】
本技術の別の一例に従えば、制御対象を制御するための制御装置に接続されるコンピュータで実行される情報処理プログラムが提供される。制御装置は、制御対象から収集される情報から算出される特徴量が入力されてスコアを出力する学習済モデルとスコアを判定するためのしきい値とを有している。情報処理プログラムはコンピュータに、学習済モデルに関連する特徴量、および、当該特徴量から算出されるスコアを表示するステップと、特徴量およびスコアのいずれかに対するしきい値の設定を受け付けるステップと、特徴量に対して設定されたしきい値からスコアに対するしきい値を算出するステップと、スコアに対して設定されたしきい値、または、特徴量に対して設定されたしきい値から算出されたスコアに対するしきい値、を学習済モデルに適用するしきい値として出力するステップとを実行させる。
【0017】
本技術のさらに別の一例に従えば、制御対象を制御するための制御装置に接続されるコンピュータで実行される情報処理方法が提供される。制御装置は、制御対象から収集される情報から算出される特徴量が入力されてスコアを出力する学習済モデルとスコアを判定するためのしきい値とを有している。情報処理方法は、学習済モデルに関連する特徴量、および、当該特徴量から算出されるスコアを表示するステップと、特徴量およびスコアのいずれかに対するしきい値の設定を受け付けるステップと、特徴量に対して設定されたしきい値からスコアに対するしきい値を算出するステップと、スコアに対して設定されたしきい値、または、特徴量に対して設定されたしきい値から算出されたスコアに対するしきい値、を学習済モデルに適用するしきい値として出力するステップとを含む。
【発明の効果】
【0018】
本技術によれば、学習済モデルを用いて何らかの事象を判定するためのしきい値をより容易に設定できる方法を提供する。
【図面の簡単な説明】
【0019】
図1】本実施の形態に係る制御システムの全体構成例を示す模式図である。
図2】本実施の形態に係る制御システムの主要な構成および運用形態の一例を説明するための図である。
図3】本実施の形態に係る制御システムを構成する制御装置のハードウェア構成例を示すブロック図である。
図4】本実施の形態に係る制御システムを構成するサポート装置のハードウェア構成例を示すブロック図である。
図5】本実施の形態に係る制御システムにおける異常検知処理の概要を示す模式図である。
図6】本実施の形態に係る制御システムを構成するサポート装置が提供するしきい値設定処理の概要を説明するための図である。
図7】本実施の形態に係る制御システムを構成するサポート装置が提供するしきい値設定処理に係るユーザインターフェイス画面の一例を示す模式図である。
図8】本実施の形態に係る制御システムを構成するサポート装置が提供するしきい値設定処理に係るユーザインターフェイス画面の別の一例を示す模式図である。
図9】本実施の形態に係る制御システムを構成するサポート装置が提供するしきい値設定処理に係るユーザインターフェイス画面のさらに別の一例を示す模式図である。
図10】本実施の形態に係るしきい値設定処理に係る処理手順例を示すフローチャートである。
図11】本実施の形態に係るしきい値設定処理を実現するための機能構成例を示すブロック図である。
【発明を実施するための形態】
【0020】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0021】
<A.適用例>
まず、本発明が適用される場面の一例について説明する。以下では、機械学習の適用例として、設備などに何らかの異常が発生したか否かを判定する例について説明するが、本発明は、異常検知に限られず、任意の機械学習に適用可能である。
【0022】
本明細書においては、制御装置が関係する任意の装置を「制御対象」とも称す。「制御対象」との用語は、制御装置が直接制御する任意のデバイスや制御装置が情報を取得するデバイスに限らず、それらのデバイスを含む任意の装置や設備、ならびに、制御装置を構成するユニットなども含み得る。
【0023】
本明細書においては、判断などの処理を行う実体の一例として、異常検知エンジンは、機械学習により生成される学習済モデルを読み込む。異常検知エンジンには、予め定められた1または複数の特徴量が入力され、入力された特徴量に基づいて出力が算出される。異常検知エンジンが、読み込んだ学習済モデルを用いて算出する値を「スコア」とも称す。
【0024】
本明細書においては、機械学習により生成される学習済モデルを適用して判定できる特定の事象を「イベント」とも称す。異常検知に係る学習済モデルについて見れば、イベントは、典型的には、制御対象に発生し得る特定の異常の発生を意味する。
【0025】
図1は、本実施の形態に係る制御システム1の全体構成例を示す模式図である。図1を参照して、本実施の形態に係る制御システム1は、主たる構成要素として、制御対象を制御するための制御装置100と、制御装置100に接続される情報処理装置の一例であるサポート装置200とを含む。
【0026】
制御装置100は、PLC(プログラマブルコントローラ)などの、一種のコンピュータとして具現化されてもよい。制御装置100は、フィールドバス2を介してフィールド装置群10と接続される。フィールドバス2は、産業用の通信プロトコルを採用することが好ましい。このような通信プロトコルとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
【0027】
フィールド装置群10は、制御対象または制御に関連する製造装置や生産ラインなど(以下、「フィールド」とも総称する。)から入力データを収集する装置を含む。このような入力データを収集する装置としては、入力リレーや各種センサなどが想定される。フィールド装置群10は、さらに、制御装置100にて生成される指令(以下、「出力データ」とも称す。)に基づいて、フィールドに対して何らかの作用を与える装置を含む。このようなフィールドに対して何らかの作用を与える装置としては、出力リレー、コンタクタ、サーボドライバおよびサーボモータ、その他任意のアクチュエータが想定される。これらのフィールド装置群10は、フィールドバス2を介して、制御装置100との間で、入力データおよび出力データを含むデータを遣り取りする。
【0028】
図1に示す構成例においては、フィールド装置群10は、リモートI/O(Input/Output)装置12と、リレー群14と、サーボドライバ18およびサーボモータ20とを含む。
【0029】
リモートI/O装置12は、フィールドバス2を介して通信を行う通信部と、入力データの収集および出力データの出力を行うための入出力部(以下、「I/Oユニット」とも称す。)とを含む。このようなI/Oユニットを介して、制御装置100とフィールドとの間で入力データおよび出力データが遣り取りされる。図1には、リレー群14を介して、入力データおよび出力データとして、デジタル信号が遣り取りされる例が示されている。
【0030】
I/Oユニットは、フィールドバスに直接接続されるようにしてもよい。図1には、フィールドバス2にI/Oユニット16が直接接続されている例を示す。
【0031】
サーボドライバ18は、制御装置100からの出力データ(例えば、位置指令など)に従って、サーボモータ20を駆動する。
【0032】
上述のように、フィールドバス2を介して、制御装置100とフィールド装置群10との間で入力データおよび出力データが遣り取りされることになるが、これらの遣り取りされるデータは、数百μsecオーダ~数十msecオーダのごく短い周期で更新されることになる。なお、このような遣り取りされるデータの更新処理を、「I/Oリフレッシュ処理」と称することもある。
【0033】
制御装置100は、設備や機械などの制御対象を制御するための制御演算を実行するPLCエンジン(図2に示すPLCエンジン130)を有している。PLCエンジンは、制御演算部に相当し、入力データに基づく制御演算を実行することで、出力データを決定する。制御装置100は、フィールド装置群10からの入力データ、フィールド装置群10への出力データ、および、制御装置100の内部で管理される内部データなどを順次格納する時系列データベース(以下、「TSDB(Time Series Data Base)」とも記す。)140を有している。以下、TSDB140に格納されるデータを「時系列データ」とも称す。
【0034】
制御装置100は、予め用意された学習済モデル(以下、単に「モデル160」とも称す。)およびパラメータ162を読み込んで、制御対象における異常を検知する異常検知エンジン150を有している。
【0035】
モデル160には、制御対象から収集される情報から算出される特徴量が入力されて、スコアが出力される。基本的には、イベント毎にモデル160が用意される。但し、複数のイベントをそれぞれ判定するためのロジックを1つのモデルにまとめることもできる。
【0036】
パラメータ162は、モデル160から出力されるスコアを判定するためのしきい値を含んでいてもよい。
【0037】
制御対象から収集される情報としては、典型的には、TSDB140に格納された時系列データ(あるいは、時系列データから算出された特徴量)が用いられる。すなわち、異常検知エンジン150は、TSDB140に格納された時系列データに基づいて、制御対象での異常の発生あるいは異常の可能性を判定する。
【0038】
制御装置100は、上位ネットワーク6を介してサーバ400に接続されてもよいし、フィールドバス4を介して1または複数の表示装置500と接続されてもよい。なお、サーバ400および表示装置500はオプショナルな構成であり、制御システム1の必須の構成ではない。
【0039】
サーバ400は、制御装置100に対して任意の情報を提供し、あるいは、制御装置100からのデータを収集するような処理を担当する。
【0040】
表示装置500は、ユーザからの操作を受けて、制御装置100に対してユーザ操作に応じたコマンドなどを送信するとともに、制御装置100での演算結果などをグラフィカルに表示する。
【0041】
サポート装置200は、制御装置100が制御対象を制御するために必要な準備を支援する情報処理装置(コンピュータの一例)である。具体的には、サポート装置200は、制御装置100で実行されるユーザプログラムの開発環境(プログラム作成編集ツール、パーサ、コンパイラなど)、制御装置100および制御装置100に接続される各種デバイスのパラメータ(コンフィギュレーション)を設定するための設定環境、生成したユーザプログラムを制御装置100へ送信する機能、制御装置100上で実行されるユーザプログラムなどをオンラインで修正・変更する機能、などを提供する。
【0042】
さらに、サポート装置200は、制御装置100に実装される異常検知エンジン150が参照するモデル160の生成および調整などを支援するための機能を有している。
【0043】
ここで、異常検知の対象に関連するものとは、異常検知エンジン150の検知ロジック(すなわち、モデル160)を学習するための学習データの生成に利用できる情報であれば、どのようなものであってもよい。異常検知の対象に関連するものとしては、例えば、生産されるワーク(製品あるいは半製品)や生産設備自体などが考えられる。
【0044】
次に、制御装置100の異常検知エンジン150の構成および運用の一例について説明する。サポート装置200は、TSDB140に格納された時系列データを取得し、モデル160の生成に用いる時系列データあるいは特徴量を選別(クレンジング)する。そして、サポート装置200は、選別したデータを可視化するとともに、選別したデータに対するラベル付けを行う。さらに、サポート装置200は、モデル160と共に用いられるパラメータ162を決定する。パラメータ162の決定は、スコアあるいは特徴量に対するしきい値の設定を含む。しきい値は、ユーザが手動で設定してもよいし、統計的な情報に基づいて自動で設定するようにしてもよい。
【0045】
最終的に、サポート装置200は、ラベル付けされたデータに基づいてモデル160を生成し、生成したモデル160および対応するパラメータ162を制御装置100へ転送する。制御装置100へ転送されるモデル160は、学習済モデルである。しきい値などを含むパラメータ162は、モデル160とは別のファイルとして制御装置100に格納されてもよいし、パラメータ162をモデル160に組み込んでもよい。
【0046】
図2は、本実施の形態に係る制御システム1の主要な構成および運用形態の一例を説明するための図である。図2を参照して、制御システム1における異常検知の処理は、典型的には、データ収集フェーズ30、データ解析フェーズ32、運用フェーズ34の順次で実現される。
【0047】
データ収集フェーズ30においては、異常検知の対象に関連する時系列データが収集される。データ解析フェーズ32においては、データ収集フェーズ30において収集された時系列データに対するデータマイニングなどによって、目的の異常検知に適した特徴量が検討されるとともに、検討された特徴量に応じたモデル160が生成される。データ解析フェーズ32において生成されたモデル160を利用して、運用フェーズ34が開始される。
【0048】
運用フェーズ34の開始後に、検知すべき異常を見逃した、あるいは、検知すべきではない異常を検知したといった不足検知や誤検知が発生した場合には、再学習によりモデル160が更新されることもある。あるいは、異常検知の対象に何らかの変化(例えば、経年変化や動作条件の変化など)が生じた場合にも、再学習によりモデル160を更新するようにしてもよい。
【0049】
このような処理手順を考慮して、サポート装置200は、データマイニングツール240と、モデル生成ツール250とを含んでいてもよい。データマイニングツール240は、主として、データ解析フェーズ32において必要な処理を提供する。モデル生成ツール250は、主として、運用フェーズ34において必要な処理を提供する。
【0050】
データマイニングツール240は、典型的には、特徴量生成処理242と、特徴量選択処理244と、モデル生成処理246と、しきい値設定処理248とを提供する。
【0051】
モデル生成ツール250は、モデル更新処理252と、しきい値調整処理254とを提供する。
【0052】
一方、制御装置100は、上述したように、PLCエンジン130、TSDB140および異常検知エンジン150を有している。
【0053】
PLCエンジン130は、制御対象に応じて任意に作成されるユーザプログラム132により定義される制御演算を周期的に実行する。ユーザプログラム132では、AIライブラリ134が利用可能になっている。あるいは、ユーザプログラム132にAIライブラリ134が組み込まれていてもよい。AIライブラリ134の内容、特性、動作などは、データ解析フェーズ32において、データマイニングツール240を用いて決定されてもよい。
【0054】
PLCエンジン130がユーザプログラム132に含まれるAIライブラリ134の部分を実行することで、予め指定されたデータから1または複数の特徴量152が算出され、算出された特徴量152が異常検知エンジン150へ提供される。
【0055】
PLCエンジン130は、データ管理部136を有しており、入力データ、出力データ、および、内部データをユーザプログラム132から参照可能な形で保持する。データ管理部136が管理するデータの値は、I/Oリフレッシュ処理により所定周期(I/Oリフレッシュ周期)毎に更新される。また、データ管理部136が管理するデータのうち予め指定されたデータがTSDB140に所定周期毎に格納される。その結果、TSDB140からは指定されたデータの所定周期毎の値変化、すなわち時系列データ142が出力される。
【0056】
異常検知エンジン150は、PLCエンジン130からの特徴量152に基づいて、モデル160を参照して、異常の発生あるいは異常の可能性を判定する。モデル160は、データ解析フェーズ32において、データマイニングツール240を用いて決定されてもよいし、運用フェーズ34において、モデル生成ツール250を用いて決定されてもよい。
【0057】
典型的には、モデル160は、1または複数の特徴量152が入力されると、異常度を示す値(正常からの剥離度)を出力する関数である。モデル160は、実体である関数を定義する係数を含んでいてもよい。
【0058】
本実施の形態に係る制御システム1は、機械学習に係る情報をレポート出力することができ、ユーザは、このようなレポート出力を利用することで、学習済モデルの妥当性を容易に判定でき、また、設備の劣化傾向や生産状況の傾向などを容易に把握できる。
【0059】
<B.ハードウェア構成例>
次に、本実施の形態に係る制御システム1を構成する主要な装置のハードウェア構成例について説明する。
【0060】
(b1:制御装置100のハードウェア構成例)
図3は、本実施の形態に係る制御システム1を構成する制御装置100のハードウェア構成例を示すブロック図である。図3を参照して、制御装置100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、上位ネットワークコントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、内部バスコントローラ122と、フィールドバスコントローラ118,120と、I/Oユニット124-1,124-2,…とを含む。
【0061】
プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、PLCエンジン130および異常検知エンジン150を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータ伝送などを制御する。
【0062】
二次記憶装置108には、PLCエンジン130および異常検知エンジン150を実現するためのシステムプログラム131に加えて、PLCエンジン130を利用して実行されるユーザプログラム132が格納される。二次記憶装置108の一部の領域は、TSDB140として利用されてもよい。
【0063】
上位ネットワークコントローラ110は、上位ネットワーク6を介した他の装置との間のデータの遣り取りを制御する。USBコントローラ112は、USB接続を介してサポート装置200との間のデータの遣り取りを制御する。
【0064】
メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書込み、メモリカード116から各種データ(ユーザプログラムやトレースデータなど)を読出すことが可能になっている。
【0065】
内部バスコントローラ122は、制御装置100に搭載されるI/Oユニット124-1,124-2,…との間でデータを遣り取りするインターフェイスである。
【0066】
フィールドバスコントローラ118は、フィールドバス2を介した他の装置との間のデータの遣り取りを制御する。同様に、フィールドバスコントローラ120は、フィールドバス4を介した他の装置との間のデータの遣り取りを制御する。
【0067】
図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御装置100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
【0068】
(b2:サポート装置200のハードウェア構成例)
本実施の形態に係るサポート装置200は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いてプログラムを実行することで実現される。
【0069】
図4は、本実施の形態に係る制御システム1を構成するサポート装置200のハードウェア構成例を示すブロック図である。図4を参照して、サポート装置200は、CPUやMPUなどのプロセッサ202と、光学ドライブ204と、主記憶装置206と、二次記憶装置208と、USBコントローラ212と、ネットワークコントローラ214と、入力部216と、表示部218とを含む。これらのコンポーネントはバス220を介して接続される。
【0070】
プロセッサ202は、二次記憶装置208に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、後述するようなしきい値設定処理を含む各種処理を実現する。
【0071】
二次記憶装置208は、例えば、HDD(Hard Disk Drive)やSSD(Flash Solid State Drive)などで構成される。二次記憶装置208には、典型的には、OS222と、制御装置100との間で異常検知機能に関するデータを遣り取りするためのPLCインターフェイスプログラム224と、サポート装置200において実行されるユーザプログラムの作成、作成したユーザプログラムのデバッグ、システム構成の定義、各種パラメータの設定などを行うための開発プログラム226と、モデル160の生成および関連する処理を実現するためのモデル生成プログラム228とが格納される。二次記憶装置208には、図4に示すプログラム以外の必要なプログラムが格納されてもよい。
【0072】
サポート装置200は、光学ドライブ204を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体205(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読取られて二次記憶装置208などにインストールされる。
【0073】
サポート装置200で実行される各種プログラムは、コンピュータ読取可能な記録媒体205を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置200が提供する機能は、OS222が提供するモジュールの一部を利用する形で実現される場合もある。
【0074】
USBコントローラ212は、USB接続を介して制御装置100との間のデータの遣り取りを制御する。ネットワークコントローラ214は、任意のネットワークを介した他の装置との間のデータの遣り取りを制御する。
【0075】
入力部216は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部218は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ202からの処理結果などを出力する。
【0076】
図4には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
【0077】
<C.しきい値設定処理>
次に、本実施の形態に係るしきい値設定処理について説明する。
【0078】
図5は、本実施の形態に係る制御システム1における異常検知処理の概要を示す模式図である。図5を参照して、特徴量算出モジュール260は、時系列データの入力に対して、対応する特徴量152を算出する。
【0079】
特徴量152は、フィールドからの情報(時系列データの一部)から任意の方法で算出される情報である。特徴量152としては、例えば、最大値、最小値、中間値、平均値、標準偏差など、任意の値を用いることができる。なお、時系列データそのままを特徴量として用いることもできる。
【0080】
算出された特徴量152は、モデル160に入力されて、スコア154が算出される。さらに、モデル160から出力されたスコア154は、しきい値判定モジュール262において、しきい値156と比較される。スコア154としきい値156との大小関係に応じて、異常の有無などを含む検知結果158が出力される。
【0081】
なお、モデル160には、複数の特徴量152が入力されてもよいし、特徴量152の次元数も任意に設定できる。モデル160から出力されるスコア154は、典型的には、1次元の値であるが、複数次元の値であってもよい。
【0082】
本実施の形態に係る制御システム1は、スコア154の判定に用いられるしきい値156の設定を容易化するための仕組みを提供する。モデル160に入力される特徴量152と、モデル160から出力されるスコア154との対応関係は明確化されているため、スコア154に設定されるしきい値156に代えて、特徴量152に設定されるしきい値を調整することもできる。
【0083】
サポート装置200は、モデル160に関連する特徴量、および、当該特徴量から算出されるスコアを表示する。以下、特徴量およびスコアの表示例について示す。
【0084】
図6は、本実施の形態に係る制御システム1を構成するサポート装置200が提供するしきい値設定処理の概要を説明するための図である。図6を参照して、サポート装置200は、選択されたモデル160(いずれかのイベントに対応するモデル160)について、入力される1または複数の特徴量の時間波形が示された特徴量表示画面270と、出力されたスコアの時間波形が示されたスコア表示画面280とを選択的または同時に表示する。すなわち、サポート装置200は、特徴量の時間波形、および、スコアの時間波形を並べて表示してもよいし、特徴量の時間波形、および、スコアの時間波形の一方を表示してもよい。
【0085】
ユーザは、特徴量表示画面270およびスコア表示画面280のいずれにおいても、判定に用いるしきい値を設定できる。
【0086】
より具体的には、特徴量表示画面270は、特徴量表示領域271と、ヒストグラム表示領域272とを含む。特徴量表示領域271には、選択されたモデル160に入力される特徴量の時間波形が表示されている。ヒストグラム表示領域272には、特徴量表示領域271に表示される特徴量の時間波形の分布が表示されている。
【0087】
また、スコア表示画面280は、スコア表示領域281と、ヒストグラム表示領域282とを含む。スコア表示領域281には、選択されたモデル160から出力されるスコアの時間波形が表示されている。ヒストグラム表示領域282には、スコア表示領域281に表示されるスコアの時間波形の分布が表示されている。
【0088】
特徴量およびスコアの時間波形は、例えば、フレームと呼ばれる所定の時間区間毎に区切られている。
【0089】
図6(A)には、ユーザがスコアの時間波形に対して、しきい値を設定する例を示す。図6(A)に示されるスコア表示画面280には、しきい値を設定するためのスライダー285が表示される。ユーザは、スライダー285を操作して、スコアに対する第1しきい値283および第2しきい値284を設定する。このように、サポート装置200は、スコアに対するしきい値の設定を受け付ける。
【0090】
なお、しきい値としては、1つであってもよいし、複数であってもよい。例えば、第1しきい値283は、異常(damage)に至ったと判定するためのしきい値として設定し、第2しきい値284は、異常がある程度まで進行したことを示す注意(caution)と判定するためのしきい値として設定してもよい。この場合には、パラメータ162としても、複数のしきい値(第1しきい値283および第2しきい値284)が出力されることになる。
【0091】
図6(B)には、ユーザが特徴量の時間波形に対して、しきい値を設定する例を示す。図6(B)に示される特徴量表示画面270には、しきい値を設定するためのスライダー275が表示される。ユーザは、スライダー275を操作して、特徴量に対する第1しきい値273および第2しきい値274を設定する。このように、サポート装置200は、特徴量に対するしきい値の設定を受け付ける。
【0092】
サポート装置200は、ユーザが特徴量に対して設定した第1しきい値273および第2しきい値274から、スコアに対する第1しきい値283および第2しきい値284をそれぞれ算出する。第1しきい値283および第2しきい値284は、対応するモデル160を規定する関数を用いて算出される。
【0093】
例えば、1または複数の特徴量がスコアを算出するモデル160を関数f(特徴量1,特徴量2,・・・,特徴量N)(N≧1)とする。このとき、スコア=f(特徴量1,特徴量2,・・・,特徴量N)と表現できる。このようなモデル160を規定する関数fを用いることで、特徴量に対して設定されたしきい値THchからスコアに対するしきい値THscを算出できる。すなわち、THsc=f(THch)と算出できる。このように、モデル160を規定する関数f(すなわち、モデル160そのもの)を用いることで、特徴量に対して設定されたしきい値からスコアに対するしきい値を一意に算出できる。
【0094】
このように、サポート装置200は、特徴量に対して設定されたしきい値からスコアに対するしきい値を算出する。より具体的には、サポート装置200は、モデル160を規定する関数を用いて、特徴量に対して設定されたしきい値THchからスコアに対するしきい値THscを算出する。
【0095】
なお、モデル160に複数の特徴量が入力されることもある。この場合には、それぞれの特徴量に対して、しきい値を設定するようにしてもよい。このとき、ユーザが直感的に理解できるように、以下のようなユーザインターフェイス画面を提供してもよい。
【0096】
図7は、本実施の形態に係る制御システム1を構成するサポート装置200が提供するしきい値設定処理に係るユーザインターフェイス画面の一例を示す模式図である。図7を参照して、ユーザインターフェイス画面290は、モデル160に入力される複数の特徴量のうち任意の選択された2つの特徴量とスコアとの関係を表現する。
【0097】
より具体的には、ユーザインターフェイス画面290は、スコア表示領域291を含む。スコア表示領域291は、特徴量選択エリア292において選択された任意の2つの特徴量とスコアとの関係を等高線の形で表現する。スコア表示領域291に表示される等高線295は、同一のスコアが算出される特徴量の組を結んだものである。
【0098】
スコア表示領域291に表示される等高線295の各々は、選択された特徴量をそれぞれ変化させて対応するスコアを順次算出することで、同一のスコアを示す特徴量の組が抽出および生成される。
【0099】
また、スコア表示領域291には、正常ラベルが付与された特徴量296と、異常ラベルが付与された特徴量297とがプロットされている。ユーザは、スコア表示領域291に表示される等高線295ならびに特徴量296および特徴量297を参照しながら、しきい値設定エリア293およびしきい値設定エリア294に任意の値を入力することで、スコアに対する第1しきい値283および第2しきい値284を設定する。このように、モデル160が複数の特徴量からスコアを出力するように構成されている場合には、サポート装置200は、複数の特徴量に対してそれぞれ設定されたしきい値からスコアに対するしきい値を算出する。
【0100】
設定された第1しきい値283および第2しきい値284は、スコア表示領域291に等高線の形で反映される。
【0101】
ユーザは、スコア表示領域291に表示される第1しきい値283および第2しきい値284に対応する等高線が囲む範囲と、正常ラベルが付与された特徴量296および異常ラベルが付与された特徴量297とを比較しながら、最適な第1しきい値283および第2しきい値284を設定する。
【0102】
このように、サポート装置200は、2つの特徴量に対応付けられた2次元座標上に特徴量(特徴量296および特徴量297と)の各々をプロット表示するとともに、スコアに対するしきい値を等高線の形で表示する。
【0103】
図8は、本実施の形態に係る制御システム1を構成するサポート装置200が提供するしきい値設定処理に係るユーザインターフェイス画面の別の一例を示す模式図である。図8には、3つの特徴量がモデル160に入力されてスコアが算出される例を示す。
【0104】
図8のスコア表示領域298には、3つの特徴量が対応付けられた3次元座標が表示されている。図8に示すスコア表示領域298においては、スコアの等高線を複数表示することができなので、スコア表示領域298には、しきい値設定エリア299に設定されたしきい値に対応する境界面が表示される。
【0105】
このように、サポート装置200は、3つの特徴量に対応付けられた3次元座標上に特徴量の各々をプロット表示するとともに、設定されたスコアに対応する座標点群を表示する。
【0106】
図8のスコア表示領域298に示されるプロット(座標点群)が結ぶ曲面が、しきい値設定エリア299に設定されたスコアに対するしきい値に対応する境界面となる。ユーザは、プロットが結ぶ曲面を確認しながら、スコアに対するしきい値を設定できる。このように、サポート装置200は、スコアに対するしきい値の設定を受け付ける。
【0107】
なお、図8(A)に示されるスコア表示領域298に対するユーザ操作によって、図8(B)に示されるようなスコア表示領域298のような表示になる。すなわち、スコア表示領域298を表示する視点は、ユーザが任意に変更することができる。このような視点変更あるいは回転表示によって、ユーザは、設定したスコアに対するしきい値が適切であるか否かを判定できる。
【0108】
また、複数の特徴量のうち任意の特徴量に対してしきい値を設定することで、スコアに対するしきい値を設定するようにしてもよい。
【0109】
図9は、本実施の形態に係る制御システム1を構成するサポート装置200が提供するしきい値設定処理に係るユーザインターフェイス画面のさらに別の一例を示す模式図である。
【0110】
図9を参照して、モデル160に3つの特徴量が入力される場合を想定する。それぞれの特徴量の時間波形が表示された特徴量表示画面270A、特徴量表示画面270Bおよび特徴量表示画面270Cが並べて表示される。ユーザは、それぞれの特徴量の時間波形を参照して、しきい値を設定し易い特徴量を選択するとともに、所望のしきい値を設定する。
【0111】
図9に示す例では、ユーザは、特徴量表示画面270Bを選択し、特徴量表示画面270Bのスライダー275を操作して、選択した特徴量に対する第1しきい値273および第2しきい値274を設定する。すると、特徴量に対する第1しきい値273および第2しきい値274に対応した、スコアに対する第1しきい値283および第2しきい値284が算出される。スコア表示画面280には、対応するスコアの時間波形に加えて、算出された第1しきい値283および第2しきい値284が表示される。
【0112】
なお、しきい値が設定されていない特徴量に関しては、特徴量の統計データなどを用いて、暫定的に決定されたしきい値を用いて、スコアに対するしきい値を算出してもよい。
【0113】
このように、複数の特徴量の時間波形を並べて表示するとともに、しきい値を設定しやすい特徴量を選択し、所望のしきい値を設定することで、対応するスコアに対するしきい値を設定できる。
【0114】
以上のような手順によって設定された、スコアに対して設定されたしきい値、または、特徴量に対して設定されたしきい値から算出されたスコアに対するしきい値は、モデル160に適用するしきい値として出力される。
【0115】
<D.処理手順>
次に、本実施の形態に係るしきい値設定処理に係る処理手順例について説明する。
【0116】
図10は、本実施の形態に係るしきい値設定処理に係る処理手順例を示すフローチャートである。図10に示す各ステップは、典型的には、サポート装置200のプロセッサ202がモデル生成プログラム228(図4)を実行することで実現される。モデル生成プログラム228は、コンピュータであるサポート装置200で実行される情報処理プログラムの一例である。
【0117】
なお、1または複数の特徴量に対してスコアを算出するためのモデル160は、予め作成されているとする。
【0118】
図10を参照して、サポート装置200は、ユーザから対象のイベントの選択を受け付ける(ステップS100)。そして、サポート装置200は、選択されたイベントに関連付けられた時系列データを取得する(ステップS102)。例えば、サポート装置200は、制御装置100にアクセスして、TSDB140に格納されている時系列データを取得してもよいし、サポート装置200が予め取得している時系列データから対象となる時系列データを抽出してもよい。
【0119】
続いて、サポート装置200は、取得した時系列データから特徴量の時系列データを生成し(ステップS104)、生成した時系列データを対象のイベントに対応するモデル160に入力することで、スコアの時系列データを生成する(ステップS106)。
【0120】
サポート装置200は、ユーザ操作に従って、特徴量の時系列データおよびスコアの時系列データを表示する(ステップS108)。すなわち、サポート装置200は、モデル160に関連する特徴量、および、当該特徴量から算出されるスコアを表示する。ユーザは、特徴量の時系列データおよび/またはスコアの時系列データを参照しながら、1または複数のしきい値を設定する。サポート装置200は、特徴量およびスコアのいずれかに対するしきい値の設定を受け付ける。
【0121】
サポート装置200は、ユーザからしきい値の設定を受け付けると(ステップS110においてYES)、設定されたしきい値が特徴量に対するものであるか否かを判定する(ステップS112)。
【0122】
設定されたしきい値が特徴量に対するものであれば(ステップS112においてYES)、サポート装置200は、モデル160を規定する関数を用いて、特徴量に対するしきい値からスコアに対するしきい値を算出する(ステップS114)。このように、サポート装置200は、特徴量に対して設定されたしきい値からスコアに対するしきい値を算出する。
【0123】
設定されたしきい値が特徴量に対するものでなければ(すなわち、設定されたしきい値がスコアに対するものである場合)(ステップS112においてNO)、ステップS114の処理はスキップされる。
【0124】
サポート装置200は、算出あるいは設定された、スコアに対するしきい値をスコアの時間波形に反映する(ステップS116)。
【0125】
そして、サポート装置200は、ユーザからモデル出力の指示を受け付けると(ステップS118においてYES)、サポート装置200は、現在のモデル160および設定されたスコアに対するしきい値とをまとめて、異常検知エンジン150に提供するデータセットとして出力する(ステップS120)。すなわち、サポート装置200は、スコアに対して設定されたしきい値、または、特徴量に対して設定されたしきい値から算出されたスコアに対するしきい値、をモデル160に適用するしきい値として出力する。
【0126】
一方、ユーザからモデル出力の指示を受け付けていなければ(ステップS118においてNO)、ステップS110以下の処理が繰返される。
【0127】
以上のような手順によって、しきい値設定処理に係る処理が完了する。
<E.機能構成>
次に、本実施の形態に係るしきい値設定処理に係る機能構成例について説明する。
【0128】
図11は、本実施の形態に係るしきい値設定処理を実現するための機能構成例を示すブロック図である。図11に示す各ブロックは、典型的には、サポート装置200のプロセッサ202がモデル生成プログラム228(図4)を実行することで実現される。
【0129】
図11を参照して、サポート装置200は、しきい値設定処理に係る機能構成として、取得モジュール230と、特徴量算出モジュール231と、スコア算出モジュール232と、表示モジュール233と、設定受付モジュール234と、しきい値算出モジュール235と、出力モジュール236とを含む。
【0130】
取得モジュール230は、選択されたイベントに関連付けられた時系列データを取得する。取得モジュール230は、サポート装置200は、制御装置100にアクセスして、TSDB140に格納されている時系列データを取得してもよいし、二次記憶装置208に予め格納している時系列データを利用してもよい。
【0131】
特徴量算出モジュール231は、取得した時系列データから特徴量を算出する。特徴量算出モジュール231は、フレーム毎に特徴量を算出して、特徴量の時系列データを生成してもよい。
【0132】
スコア算出モジュール232は、特徴量または特徴量の時系列データからスコアを算出する。スコア算出モジュール232は、フレーム毎にスコアを算出して、スコアの時系列データを生成してもよい。
【0133】
表示モジュール233は、モデル160に関連する特徴量、および、当該特徴量から算出されるスコアを表示部218に表示する。
【0134】
設定受付モジュール234は、特徴量およびスコアのいずれかに対するしきい値の設定を受け付ける。
【0135】
しきい値算出モジュール235は、特徴量に対して設定されたしきい値からスコアに対するしきい値を算出する。
【0136】
出力モジュール236は、スコアに対して設定されたしきい値、または、特徴量に対して設定されたしきい値から算出されたスコアに対するしきい値、をモデル160に適用するしきい値(パラメータ162)として出力する。
【0137】
<F.変形例>
上述の説明においては、サポート装置200がしきい値設定処理を主体的に実行する構成例について説明したが、しきい値設定処理は、サポート装置200と別の装置との連携によって実現してもよいし。サポート装置200とは別の装置(例えば、クラウド上のコンピューティングリソース)によって実現してもよい。すなわち、本実施の形態に係るしきい値設定処理を実装するハードウェアはどのようなものであってもよい。
【0138】
<G.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
【0139】
[構成1]
制御対象を制御するための制御装置(100)に接続される情報処理装置(200)であって、前記制御装置は、前記制御対象から収集される情報から算出される特徴量(152)が入力されてスコア(154)を出力する学習済モデル(160)と前記スコアを判定するためのしきい値(162)とを有しており、前記情報処理装置は、
前記学習済モデルに関連する特徴量、および、当該特徴量から算出されるスコアを表示する表示手段(233,218)と、
前記特徴量および前記スコアのいずれかに対するしきい値の設定を受け付ける受付手段(234)と、
前記特徴量に対して設定されたしきい値(273,274)から前記スコアに対するしきい値(283,284)を算出する算出手段(235)と、
前記スコアに対して設定されたしきい値、または、前記特徴量に対して設定されたしきい値から算出された前記スコアに対するしきい値、を前記学習済モデルに適用するしきい値として出力する出力手段(236)とを備える、情報処理装置。
【0140】
[構成2]
前記表示手段は、前記特徴量の時間波形(271)、および、前記スコアの時間波形(281)を並べて表示する、構成1に記載の情報処理装置。
【0141】
[構成3]
前記算出手段は、前記学習済モデルを規定する関数を用いて、前記特徴量に対して設定されたしきい値から前記スコアに対するしきい値を算出する、構成1または2に記載の情報処理装置。
【0142】
[構成4]
前記学習済モデルは、複数の特徴量からスコアを出力するように構成されており、
前記算出手段は、前記複数の特徴量に対してそれぞれ設定されたしきい値から前記スコアに対するしきい値を算出する、構成1~3のいずれか1項に記載の情報処理装置。
【0143】
[構成5]
前記表示手段は、前記複数の特徴量の時間波形(271A,271B)を並べて表示する、構成4に記載の情報処理装置。
【0144】
[構成6]
前記表示手段は、2つの特徴量に対応付けられた2次元座標上に特徴量の各々をプロット表示するとともに、前記スコアに対するしきい値を等高線の形で表示する(291)、構成4に記載の情報処理装置。
【0145】
[構成7]
前記表示手段は、3つの特徴量に対応付けられた3次元座標上に特徴量の各々をプロット表示するとともに、設定されたスコアに対応する座標点群を表示する(298)、構成4に記載の情報処理装置。
【0146】
[構成8]
前記出力手段は、前記しきい値を複数出力する、構成1~7のいずれか1項に記載の情報処理装置。
【0147】
[構成9]
制御対象を制御するための制御装置(100)に接続されるコンピュータ(200)で実行される情報処理プログラム(228)であって、前記制御装置は、前記制御対象から収集される情報から算出される特徴量(152)が入力されてスコア(154)を出力する学習済モデル(160)と前記スコアを判定するためのしきい値(162)とを有しており、前記情報処理プログラムは前記コンピュータに、
前記学習済モデルに関連する特徴量、および、当該特徴量から算出されるスコアを表示するステップ(S108)と、
前記特徴量および前記スコアのいずれかに対するしきい値の設定を受け付けるステップ(S110)と、
前記特徴量に対して設定されたしきい値から前記スコアに対するしきい値を算出するステップ(S114)と、
前記スコアに対して設定されたしきい値、または、前記特徴量に対して設定されたしきい値から算出された前記スコアに対するしきい値、を前記学習済モデルに適用するしきい値として出力するステップ(S120)とを実行させる、情報処理プログラム。
【0148】
[構成10]
制御対象を制御するための制御装置(100)に接続されるコンピュータ(200)で実行される情報処理方法であって、前記制御装置は、前記制御対象から収集される情報から算出される特徴量(152)が入力されてスコア(154)を出力する学習済モデル(160)と前記スコアを判定するためのしきい値(162)とを有しており、前記情報処理方法は、
前記学習済モデルに関連する特徴量、および、当該特徴量から算出されるスコアを表示するステップ(S108)と、
前記特徴量および前記スコアのいずれかに対するしきい値の設定を受け付けるステップ(S110)と、
前記特徴量に対して設定されたしきい値から前記スコアに対するしきい値を算出するステップ(S114)と、
前記スコアに対して設定されたしきい値、または、前記特徴量に対して設定されたしきい値から算出された前記スコアに対するしきい値、を前記学習済モデルに適用するしきい値として出力するステップ(S120)とを含む、情報処理方法。
【0149】
<H.利点>
本実施の形態に係るサポート装置200においては、特徴量およびスコアのいずれに対しても、しきい値を設定できる。特徴量に対してしきい値が設定された場合には、スコアに対するしきい値に変換される。特徴量およびスコアのいずれに対してしきい値が設定されても、スコアに対するしきい値として出力される。
【0150】
このように、本実施の形態に係るサポート装置200においては、検知したいイベントに関して、特徴量およびスコアのいずれであってもしきい値を設定できるので、異常検知を実現するためのモデル160およびパラメータ162を容易に出力できる。
【0151】
通常、検知対象の異常が生じ得る頻度は少なく、正常ラベルが付与されたデータのみ、あるいは、わずかな異常ラベルが付与されたデータに基づいて、しきい値を初期値として設定せざるを得ないが、本実施の形態に係るサポート装置200によれば、判定が容易な特徴量またはスコアに対してしきい値を設定すればよいので、専門的な知見の少ないユーザであっても、比較的容易に、適切なしきい値を設定できる。
【0152】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0153】
1 制御システム、152,296,297 特徴量、2,4 フィールドバス、6 上位ネットワーク、10 フィールド装置群、12 リモートI/O装置、14 リレー群、16,124 I/Oユニット、18 サーボドライバ、20 サーボモータ、30 データ収集フェーズ、32 データ解析フェーズ、34 運用フェーズ、100 制御装置、102,202 プロセッサ、104 チップセット、106,206 主記憶装置、108,208 二次記憶装置、110 上位ネットワークコントローラ、112,212 USBコントローラ、114 メモリカードインターフェイス、116 メモリカード、118,120 フィールドバスコントローラ、122 内部バスコントローラ、130 PLCエンジン、131 システムプログラム、132 ユーザプログラム、134 ライブラリ、136 データ管理部、142 時系列データ、150 異常検知エンジン、154 スコア、156,THch,THsc しきい値、158 検知結果、160 モデル、162 パラメータ、200 サポート装置、204 光学ドライブ、205 記録媒体、214 ネットワークコントローラ、216 入力部、218 表示部、220 バス、222 OS、224 インターフェイスプログラム、226 開発プログラム、228 モデル生成プログラム、230 取得モジュール、231,260 特徴量算出モジュール、232 スコア算出モジュール、233 表示モジュール、234 設定受付モジュール、235 算出モジュール、236 出力モジュール、240 データマイニングツール、242 特徴量生成処理、244 特徴量選択処理、246 モデル生成処理、248 しきい値設定処理、250 モデル生成ツール、252 モデル更新処理、254 しきい値調整処理、262 判定モジュール、270,270A,270B,270C 特徴量表示画面、271 特徴量表示領域、272,282 ヒストグラム表示領域、273,283 第1しきい値、274,284 第2しきい値、275,285 スライダー、280 スコア表示画面、281,291,298 スコア表示領域、290 ユーザインターフェイス画面、292 特徴量選択エリア、293,294,299 設定エリア、295 等高線、400 サーバ、500 表示装置。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11