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

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

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

特開2023-151722情報処理システム、情報処理方法および情報処理装置
<>
  • 特開-情報処理システム、情報処理方法および情報処理装置 図1
  • 特開-情報処理システム、情報処理方法および情報処理装置 図2
  • 特開-情報処理システム、情報処理方法および情報処理装置 図3
  • 特開-情報処理システム、情報処理方法および情報処理装置 図4
  • 特開-情報処理システム、情報処理方法および情報処理装置 図5
  • 特開-情報処理システム、情報処理方法および情報処理装置 図6
  • 特開-情報処理システム、情報処理方法および情報処理装置 図7
  • 特開-情報処理システム、情報処理方法および情報処理装置 図8
  • 特開-情報処理システム、情報処理方法および情報処理装置 図9
  • 特開-情報処理システム、情報処理方法および情報処理装置 図10
  • 特開-情報処理システム、情報処理方法および情報処理装置 図11
  • 特開-情報処理システム、情報処理方法および情報処理装置 図12
  • 特開-情報処理システム、情報処理方法および情報処理装置 図13
  • 特開-情報処理システム、情報処理方法および情報処理装置 図14
  • 特開-情報処理システム、情報処理方法および情報処理装置 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023151722
(43)【公開日】2023-10-16
(54)【発明の名称】情報処理システム、情報処理方法および情報処理装置
(51)【国際特許分類】
   G05B 23/02 20060101AFI20231005BHJP
   G06N 20/00 20190101ALI20231005BHJP
【FI】
G05B23/02 Z
G06N20/00
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022061490
(22)【出願日】2022-04-01
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】佐々木 達也
【テーマコード(参考)】
3C223
【Fターム(参考)】
3C223AA11
3C223BA03
3C223BB06
3C223CC02
3C223DD03
3C223FF04
3C223FF13
3C223FF16
3C223FF26
3C223FF33
3C223GG01
3C223HH03
3C223HH08
(57)【要約】
【課題】特徴量の算出に用いる範囲と統計量との組み合わせにより決定される複数の種類の特徴量のうちから、より適切な特徴量の決定を支援する技術を提供する。
【解決手段】情報処理システムは、制御装置から時系列データを取得する取得モジュールと、対象の時系列データのうち特徴量の算出に用いる範囲を定義する第1の関数と、特徴量として用いる統計量を定義する第2の関数との組み合わせにより複数の種類の特徴量を決定する決定モジュールと、複数の種類の特徴量の各々について、時系列データを評価する評価モジュールとを含む。
【選択図】図2
【特許請求の範囲】
【請求項1】
制御装置から時系列データを取得する取得モジュールと、
対象の時系列データのうち特徴量の算出に用いる範囲を定義する第1の関数と、特徴量として用いる統計量を定義する第2の関数との組み合わせにより複数の種類の特徴量を決定する決定モジュールと、
前記複数の種類の特徴量の各々について、前記時系列データを評価する評価モジュールとを備える、情報処理システム。
【請求項2】
前記評価モジュールは、前記時系列データに付与されたラベルと、前記時系列データから算出された対象の種類の特徴量の値とに基づいて、前記複数の種類の特徴量の各々について、分離精度を算出する、請求項1に記載の情報処理システム。
【請求項3】
前記複数の種類の特徴量のうち少なくとも一部について、前記評価モジュールにより算出された分離精度を含む第1のユーザインターフェイス画面を提示する第1の提示モジュールをさらに備える、請求項1に記載の情報処理システム。
【請求項4】
前記複数の種類の特徴量のうち選択された1または複数の特徴量を含む異常検知アルゴリズムを生成するアルゴリズム生成モジュールをさらに備える、請求項1~3のうちいずれか1項に記載の情報処理システム。
【請求項5】
前記アルゴリズム生成モジュールは、前記異常検知アルゴリズムを前記制御装置へ送信する、請求項4に記載の情報処理システム。
【請求項6】
前記評価モジュールは、前記複数の種類の特徴量の各々について、前記時系列データから算出された対象の種類の特徴量の分布に基づいて、他の時系列データとは異なる特性を示すと推定される時系列データを決定する、請求項1~3のいずれか1項に記載の情報処理システム。
【請求項7】
前記複数の種類の特徴量のうち少なくとも一部について、前記評価モジュールにより算出された他の時系列データとは異なる特性を示すと推定された時系列データを含む第2のユーザインターフェイス画面を提示する第2の提示モジュールをさらに備える、請求項6に記載の情報処理システム。
【請求項8】
ユーザ操作に応じて、前記時系列データにラベルを付与することで学習データを生成する学習データ生成モジュールをさらに備える、請求項7に記載の情報処理システム。
【請求項9】
コンピュータが実行する情報処理方法であって、
制御装置から時系列データを取得するステップと、
対象の時系列データのうち特徴量の算出に用いる範囲を定義する第1の関数と、特徴量として用いる統計量を定義する第2の関数との組み合わせにより複数の種類の特徴量を決定するステップと、
前記複数の種類の特徴量の各々について、前記時系列データを評価するステップとを備える、情報処理方法。
【請求項10】
制御装置から時系列データを取得する取得モジュールと、
対象の時系列データのうち特徴量の算出に用いる範囲を定義する第1の関数と、特徴量として用いる統計量を定義する第2の関数との組み合わせにより複数の種類の特徴量を決定する決定モジュールと、
前記複数の種類の特徴量の各々について、前記時系列データの評価をコンピューティングリソースに依頼する送信モジュールとを備える、情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理方法および情報処理装置に関する。
【背景技術】
【0002】
様々な生産現場において、設備や機械に対する予知保全により稼働率を向上させたいというニーズが存在する。予知保全とは、設備や機械に生じる何らかの異常を検知して、設備を停止しなければならない状態になる前に、設備や機械などの保守作業を行うような保全形態を意味する。このような異常検知を実現するために、検知対象に応じた適切なアルゴリズムを用意することが要求される。
【0003】
例えば、特開2019-045942号公報(特許文献1)は、メンテナンス前後の計測データの違いを故障予兆診断の特徴量とすることで、診断対象の変更に柔軟に対応する故障診断システムを開示する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2019-045942号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
検知対象に応じた適切なアルゴリズムを生成するには、特徴量の選択が重要となる。しかしながら、時系列データからは様々な特徴量を算出することが可能であり、どのような特徴量を選択すべきかを決定することが難しい。
【0006】
そこで、本発明は、特徴量の算出に用いる範囲と統計量との組み合わせにより決定される複数の種類の特徴量のうちから、より適切な特徴量の決定を支援する技術を提供することを一つの目的とする。
【課題を解決するための手段】
【0007】
本発明の一例に従う情報処理システムは、制御装置から時系列データを取得する取得モジュールと、対象の時系列データのうち特徴量の算出に用いる範囲を定義する第1の関数と、特徴量として用いる統計量を定義する第2の関数との組み合わせにより複数の種類の特徴量を決定する決定モジュールと、複数の種類の特徴量の各々について、時系列データを評価する評価モジュールとを含む。
【0008】
この構成によれば、対象の時系列データのうち特徴量の算出に用いる範囲を定義する第1の関数と、特徴量として用いる統計量を定義する第2の関数との組み合わせにより決定される複数の種類の特徴量の各々について、時系列データを評価できるので、より適切な特徴量の情報を取得できる。
【0009】
評価モジュールは、時系列データに付与されたラベルと、時系列データから算出された対象の種類の特徴量の値とに基づいて、複数の種類の特徴量の各々について、分離精度を算出するようにしてもよい。この構成によれば、分離精度に基づいて、複数の種類の特徴量のうちからより適切な特徴量を決定できる。
【0010】
情報処理システムは、複数の種類の特徴量のうち少なくとも一部について、評価モジュールにより算出された分離精度を含む第1のユーザインターフェイス画面を提示する第1の提示モジュールをさらに含んでいてもよい。この構成によれば、ユーザは、第1のユーザインターフェイス画面を確認することで、より適切な特徴量を決定し易くなる。
【0011】
情報処理システムは、複数の種類の特徴量のうち選択された1または複数の特徴量を含む異常検知アルゴリズムを生成するアルゴリズム生成モジュールをさらに含んでいてもよい。この構成によれば、より適切であるとして選択された1または複数の特徴量を用いて、異常検知アルゴリズムを生成できる。
【0012】
アルゴリズム生成モジュールは、異常検知アルゴリズムを制御装置へ送信するようにしてもよい。この構成によれば、制御装置は、より適切であるとして選択された1または複数の特徴量を用いた異常検知アルゴリズムに従って、異常検知の処理を実行できる。
【0013】
評価モジュールは、複数の種類の特徴量の各々について、時系列データから算出された対象の種類の特徴量の分布に基づいて、他の時系列データとは異なる特性を示すと推定される時系列データを決定するようにしてもよい。この構成によれば、ラベルが付与されていない時系列データのうちから、異常のラベルを付与すべき時系列データをより容易に見つけることができる。
【0014】
情報処理システムは、複数の種類の特徴量のうち少なくとも一部について、評価モジュールにより算出された他の時系列データとは異なる特性を示すと推定された時系列データを含む第2のユーザインターフェイス画面を提示する第2の提示モジュールをさらに含んでいてもよい。この構成によれば、この構成によれば、ユーザは、第2のユーザインターフェイス画面を確認することで、異常のラベルを付与すべき時系列データをより容易に見つけることができる。
【0015】
情報処理システムは、ユーザ操作に応じて、時系列データにラベルを付与することで学習データを生成する学習データ生成モジュールをさらに含んでいてもよい。この構成によれば、ユーザは、付与するラベルの操作を行うだけで、学習データが自動的に生成できる。
【0016】
本発明の別の一例に従うコンピュータが実行する情報処理方法は、制御装置から時系列データを取得するステップと、対象の時系列データのうち特徴量の算出に用いる範囲を定義する第1の関数と、特徴量として用いる統計量を定義する第2の関数との組み合わせにより複数の種類の特徴量を決定するステップと、複数の種類の特徴量の各々について、時系列データを評価するステップとを含む。
【0017】
本発明のさらに別の一例に従う情報処理装置は、制御装置から時系列データを取得する取得モジュールと、対象の時系列データのうち特徴量の算出に用いる範囲を定義する第1の関数と、特徴量として用いる統計量を定義する第2の関数との組み合わせにより複数の種類の特徴量を決定する決定モジュールと、複数の種類の特徴量の各々について、時系列データの評価をコンピューティングリソースに依頼する送信モジュールとを含む。
【発明の効果】
【0018】
本発明によれば、特徴量の算出に用いる範囲と統計量との組み合わせにより決定される複数の種類の特徴量のうちから、より適切な特徴量の決定を支援できる。
【図面の簡単な説明】
【0019】
図1】本実施の形態に係る情報処理システムの全体構成例を示す模式図である。
図2】本実施の形態に係る情報処理システムの機能構成例を示す模式図である。
図3】本実施の形態に係る情報処理システムの制御装置のハードウェア構成例を示すブロック図である。
図4】本実施の形態に係る情報処理システムの情報処理装置のハードウェア構成例を示すブロック図である。
図5】本実施の形態に係る情報処理システムのサーバ装置のハードウェア構成例を示すブロック図である。
図6】本実施の形態に係る情報処理システムにおける異常検知の一例を説明するための図である。
図7】本実施の形態に係る情報処理システムにおいて利用可能な特徴量群の一例を説明するための図である。
図8】本実施の形態に係る情報処理システムにおける分離精度を説明するための図である。
図9】本実施の形態に係る情報処理システムにおける特徴量の最適化処理を説明するための図である。
図10】本実施の形態に係る情報処理システムにおける特徴量の最適化処理の手順を示すフローチャートである。
図11】本実施の形態に係る情報処理システムの情報処理装置が提供するユーザインターフェイス画面の一例を示す模式図である。
図12】本実施の形態に係る情報処理システムにおける学習データの生成処理を説明するための図である。
図13】本実施の形態に係る情報処理システムにおける異常データの探索処理を説明するための図である。
図14】本実施の形態に係る情報処理システムにおける学習データの生成処理の手順を示すフローチャートである。
図15】本実施の形態に係る情報処理システムの情報処理装置が提供するユーザインターフェイス画面の別の一例を示す模式図である。
【発明を実施するための形態】
【0020】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0021】
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
【0022】
本明細書において「異常検知」は、何らかの基準となる状態とは異なっている状態を検知する処理を包含し、絶対的な意味での異常の検知に加えて、相対的な意味での異常の検知を含む。
【0023】
図1は、本実施の形態に係る情報処理システム1の全体構成例を示す模式図である。図1を参照して、本実施の形態に係る情報処理システム1は、主たるコンポーネントとして、制御装置100と、制御装置100に接続可能なコンピュータの一例である情報処理装置200と、サーバ装置300とを含む。
【0024】
制御装置100は、PLC(プログラマブルロジックコントローラ)などの、一種のコンピュータとして具現化されてもよい。制御装置100は、フィールドバス2を介してフィールド装置群10と接続される。フィールドバス2は、産業用の通信プロトコルを採用することが好ましい。このような通信プロトコルとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
【0025】
フィールド装置群10は、生産現場(以下、「フィールド」とも総称する。)から入力データを収集する装置と、制御装置100にて生成される指令(出力データ)に基づいて、フィールドに対して何らかの作用を与える装置を含む。
【0026】
図1に示す構成例において、フィールド装置群10は、リモートI/O(Input/Output)装置12と、リレー群14と、サーボドライバ18およびサーボモータ20とを含む。
【0027】
上述のように、フィールドバス2を介して、制御装置100とフィールド装置群10との間で入力データおよび出力データがやり取りされることになるが、これらのやり取りされるデータは、数百μsecオーダ~数十msecオーダのごく短い周期で更新されることになる。
【0028】
制御装置100は、生産現場にある設備や機械などを制御するための制御演算を実行するためのPLCエンジン140と、任意の異常を検知するための異常検知エンジン150とを有している。異常検知エンジン150は、例えば、予め定められた異常検知アルゴリズムに従って、フィールドから収集した入力データから特徴量を算出し、算出した特徴量に基づいて異常の有無を判断する。
【0029】
また、制御装置100は、フィールド装置群10からの入力データ、フィールド装置群10への出力データ、および、制御装置100の内部で管理される内部データなどを順次格納する時系列データベース(以下、「TSDB(Time Series Data Base)」とも記す。)160を有している。以下、TSDB160に格納されるデータを「時系列データ」とも称す。
【0030】
制御装置100は、フィールドバス4を介して1または複数のHMI(Human Machine Interface)400と接続されてもよい。
【0031】
情報処理装置200は、制御装置100で実行されるユーザプログラムの開発環境(プログラム作成編集ツール、パーサ、コンパイラなど)、制御装置100および制御装置100に接続される各種デバイスのパラメータ(コンフィギュレーション)を設定する機能、生成したユーザプログラムを制御装置100へ送信する機能、制御装置100上で実行されるユーザプログラムなどをオンラインで修正・変更する機能、などを提供する。
【0032】
さらに、情報処理装置200は、後述するような処理によって、制御装置100の異常検知エンジン150を動作させるための特徴量などを決定する。情報処理装置200は、上位ネットワーク6を介してサーバ装置300に接続されてもよい。
【0033】
サーバ装置300は、典型的には、クラウド型で提供されるコンピューティングリソースであり、情報処理装置200からの要求に応じて、任意の演算処理を実行する。
【0034】
図2は、本実施の形態に係る情報処理システム1の機能構成例を示す模式図である。図2を参照して、制御装置100は、機能構成として、PLCエンジン140と、異常検知エンジン150と、TSDB160とを含む。情報処理装置200は、機能構成として、取得モジュール230と、決定モジュール232と、学習データ生成モジュール234と、ユーザインターフェイスモジュール236と、アルゴリズム生成モジュール238と、送信モジュール240とを含む。
【0035】
取得モジュール230は、制御装置100のTSDB160からら時系列データを取得する。時系列データの取得方法については、任意のプロトコルを用いることができる。
【0036】
決定モジュール232は、対象の時系列データのうち特徴量の算出に用いる範囲を定義する切り出し関数(第1の関数)と、特徴量として用いる統計量を定義する統計関数(第2の関数)との組み合わせにより複数の種類の特徴量を決定する。
【0037】
学習データ生成モジュール234は、ユーザ操作に応じて、時系列データにラベルを付与することで学習データを生成する。
【0038】
ユーザインターフェイスモジュール236は、複数の種類の特徴量のうち少なくとも一部について、評価モジュール330により算出された分離精度を含むユーザインターフェイス画面、および/または、複数の種類の特徴量のうち少なくとも一部について、評価モジュール330により算出された他の時系列データとは異なる特性を示すと推定された時系列データを含むユーザインターフェイス画面を提示する。提示されるユーザインターフェイス画面の具体例については後述する。また、ユーザインターフェイスモジュール236は、ユーザ操作に応じて、他のモジュールへユーザ操作の内容に従う指示を与える。
【0039】
アルゴリズム生成モジュール238は、複数の種類の特徴量のうち選択された1または複数の特徴量を含む異常検知アルゴリズムを生成する。
【0040】
送信モジュール240は、決定モジュール232が決定した複数の種類の特徴量と、学習データ(ラベルが付与された時系列データ群)または時系列データをサーバ装置300へ送信する。
【0041】
サーバ装置300は、機能構成として、評価モジュール330を含む。評価モジュール330は、複数の種類の特徴量の各々について、時系列データを評価する。時系列データの評価の具体例については後述する。
【0042】
再度図1を参照して、情報処理システム1における典型的な処理手順について説明する。情報処理装置200(取得モジュール230)は、制御装置100(TSDB160)から時系列データを取得する((1)時系列データ)。また、情報処理装置200(決定モジュール232)は、切り出し関数(第1の関数)と統計関数(第2の関数)との組み合わせにより複数の種類の特徴量を決定する((2)複数種類の特徴量)。
【0043】
そして、情報処理装置200は、複数の種類の特徴量と学習データ(または、時系列データ)をサーバ装置300へ送信する((3)複数種類の特徴量および学習データ)。
【0044】
サーバ装置300(評価モジュール330)は、複数の種類の特徴量の各々について、時系列データを評価する((4)時系列データの評価)。そして、サーバ装置300は、評価結果を情報処理装置200へ送信する((5)評価結果)。
【0045】
情報処理装置200(ユーザインターフェイスモジュール236)は、サーバ装置300からの評価結果に基づいてユーザインターフェイス画面を提示する((6)ユーザインターフェイス画面)。さらに、情報処理装置200(アルゴリズム生成モジュール238)は、異常検知アルゴリズムを生成する((7)異常検知アルゴリズム生成)。生成された異常検知アルゴリズムは、制御装置100へ送信する((8)異常検知アルゴリズム)。
【0046】
制御装置100は、情報処理装置200からの異常検知エンジンに従って、異常検知エンジン150を構成する。
【0047】
このように、本実施の形態に係る情報処理システム1においては、対象の時系列データのうち特徴量の算出に用いる範囲を定義する切り出し関数(第1の関数)と、特徴量として用いる統計量を定義する統計関数(第2の関数)との組み合わせにより決定される様々な種類の特徴量の観点から時系列データを評価することで、より適切な特徴量を決定することができる。より適切な特徴量を決定することで、異常検知アルゴリズムの精度を高めることもできる。
【0048】
<B.ハードウェア構成例>
次に、本実施の形態に係る情報処理システム1の主要な装置のハードウェア構成例について説明する。
【0049】
(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,…とを含む。
【0050】
プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、制御装置100に必要な処理を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータ伝送などを制御する。
【0051】
二次記憶装置108には、PLCエンジンを実現するためのシステムプログラム131と、PLCエンジンを利用して実行されるユーザプログラム132と、異常検知エンジン150を実現するための異常検知プログラム133とが格納される。二次記憶装置108の一部の領域は、TSDB160として利用されてもよい。
【0052】
上位ネットワークコントローラ110は、上位ネットワーク6を介した他の装置との間のデータのやり取りを制御する。USBコントローラ112は、USB接続を介して情報処理装置200との間のデータのやり取りを制御する。
【0053】
メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書込み、メモリカード116から各種データ(ユーザプログラムやトレースデータなど)を読出すことが可能になっている。
【0054】
内部バスコントローラ122は、制御装置100に搭載されるI/Oユニット124-1,124-2,…との間でデータをやり取りするインターフェイスである。
【0055】
フィールドバスコントローラ118は、フィールドバス2を介した他の装置との間のデータのやり取りを制御する。同様に、フィールドバスコントローラ120は、フィールドバス4を介した他の装置との間のデータのやり取りを制御する。
【0056】
図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御装置100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
【0057】
(b2:情報処理装置200)
本実施の形態に係る情報処理装置200は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いてプログラムを実行することで実現される。
【0058】
図4は、本実施の形態に係る情報処理システム1の情報処理装置200のハードウェア構成例を示すブロック図である。図4を参照して、情報処理装置200は、CPUやMPUなどのプロセッサ202と、光学ドライブ204と、主記憶装置206と、二次記憶装置208と、USBコントローラ212と、ネットワークコントローラ214と、入力部216と、表示部218とを含む。これらのコンポーネントはバス220を介して接続される。
【0059】
プロセッサ202は、二次記憶装置208に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、後述するような各種処理を実現する。
【0060】
二次記憶装置208は、例えば、HDD(Hard Disk Drive)やSSD(Flash Solid State Drive)などで構成される。二次記憶装置208には、典型的には、OS222と、制御装置100との間で異常検知機能に関するデータをやり取りするためのPLCインターフェイスプログラム224と、情報処理装置200において実行されるユーザプログラムの作成、作成したユーザプログラムのデバッグ、システム構成の定義、各種パラメータの設定などを行うための開発プログラム226と、異常検知エンジン150に必要な設定を行うための異常検知設定生成プログラム228とが格納される。二次記憶装置208には、図4に示すプログラム以外の必要なプログラムが格納されてもよい。
【0061】
情報処理装置200は、光学ドライブ204を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体205(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読取られて二次記憶装置208などにインストールされる。
【0062】
情報処理装置200で実行される各種プログラムは、コンピュータ読取可能な記録媒体205を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係る情報処理装置200が提供する機能は、OS222が提供するモジュールの一部を利用する形で実現される場合もある。
【0063】
USBコントローラ212は、USB接続を介して制御装置100との間のデータのやり取りを制御する。ネットワークコントローラ214は、任意のネットワークを介した他の装置との間のデータのやり取りを制御する。
【0064】
入力部216は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部218は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ202からの処理結果などを出力する。
【0065】
図4には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
【0066】
(b3:サーバ装置300)
本実施の形態に係るサーバ装置300は、典型的には、クラウド型で提供されるコンピューティングリソースである。
【0067】
図5は、本実施の形態に係る情報処理システム1のサーバ装置300のハードウェア構成例を示すブロック図である。図5を参照して、サーバ装置300は、CPUやGPU(Graphics Processing Unit)などの1または複数のプロセッサ302と、1または複数の主記憶装置306と、二次記憶装置308と、1または複数のネットワークコントローラ314と、入力部316と、表示部318とを含む。これらのコンポーネントはバス320を介して接続される。
【0068】
二次記憶装置308には、典型的には、OS322と、複数の仮想コンピュータを管理するためのハイパーバイザ324と、仮想コンピュータの各々に実行させるアプリケーションプログラム328をデプロイするためのデプロイマネジャー326とが格納される。二次記憶装置308には、図5に示すプログラム以外の必要なプログラムが格納されてもよい。
【0069】
図5には、プロセッサ302を用いる構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
【0070】
<C.異常検知の実現>
次に、本実施の形態に係る情報処理システム1における異常検知の実現に関する説明を行う。
【0071】
図6は、本実施の形態に係る情報処理システム1における異常検知の一例を説明するための図である。図6には、異常検知に用いる測定値の時系列データ(正常)に加えて、2種類の異常を示す測定値の時系列データの例を示す。
【0072】
異常1に対応する測定値の時系列データは、正常な時系列データに比較して、全体的に高い値を示す。そのため、異常1については、全範囲に亘る平均値を特徴量として用いることで検知できる。
【0073】
一方、異常2に対応する測定値の時系列データは、異常な時系列データに比較して、2箇所で大きく乖離している(上側および下側に異常が発生している)。このような時系列データについては、全範囲に亘る平均値を用いたとしても、正常な時系列データについて算出された平均値と同様になる。すなわち、全範囲に亘る平均値を用いた場合には、正常と異常2とを区別することができない。
【0074】
そのため、異常2については、例えば、前半部分に亘る平均値、および、後半部分に亘る平均値をそれぞれ用いることで検知できる。
【0075】
このように、異常検知に用いる特徴量としては、(1)どの範囲に注目するのか、および、(2)どのような統計量を用いるのか、の組み合わせに応じて様々なものを採用できる。すなわち、検知すべき異常の特徴や状態に応じて、どのような特徴量を用いるのが適切であるかを探索および決定する必要がある(特徴量エンジニアリングとも称される)。
【0076】
このような特徴量の探索は、個人の経験やスキルなどに依存することも多く、適切な特徴量を決定することは用意ではない。そのため、異常検知に用いる特徴量を容易に探索できる仕組みを提供することが好ましい。
【0077】
図7は、本実施の形態に係る情報処理システム1において利用可能な特徴量群の一例を説明するための図である。図7を参照して、時系列データから算出される特徴量は、切り出し関数30と統計関数40との組み合わせで複数の種類を定義できる。
【0078】
切り出し関数30は、対象の時系列データのうち、特徴量の算出に用いる範囲を定義する関数である。切り出し関数30は、前処理関数あるいはフィルタ関数とも称することができる。切り出し関数30は、例えば、対象の時系列データの全範囲を対象とする「全範囲」、対象の時系列データの前半部分を対象とする「前半のみ」、対象の時系列データの後半部分を対象とする「後半のみ」、対象の時系列データの前半の1/4を対象とする「先頭1/4のみ」、対象の時系列データの最後を対象とする「最後のデータ」などを含む。
【0079】
統計関数40は、特徴量として用いる統計量を定義する関数である。統計関数40は、例えば、対象範囲の平均値を示す「平均」、対象範囲の分散を示す「分散」、対象範囲の中央値を示す「中央値」、対象範囲の尖度を示す「尖度」、対象範囲の時系列データを周波数解析して得られる主成分の周波数を示す「ピーク周波数」などを含む。
【0080】
切り出し関数30(N種類)と統計関数40(M種類)との組み合わせにより複数の特徴量(N×M種類)からなる特徴量群50を定義できる。特徴量群50の各々について分離精度を評価することで、目的の異常検知に適した1または複数の特徴量を決定できる。
【0081】
図8は、本実施の形態に係る情報処理システム1における分離精度を説明するための図である。図8には、正常(OK)ラベルまたは異常(NG:No Good)ラベルが付与されたサンプル(時系列データ)から算出された特徴量の例を示す。
【0082】
図8(A)に示す例では、OKラベルが付与されたサンプルの集合と、NGラベルが付与されたサンプルの集合とが分離されている。このように、特徴量空間において、異なるラベルが付与された特徴量が分離できている状態を分離精度が高い状態とみなすことができる。
【0083】
これに対して、図8(B)に示す例では、OKラベルが付与されたサンプルの集合と、NGラベルが付与されたサンプルの集合とが混在している。このように、特徴量空間において、異なるラベルが付与された特徴量が分離できていない状態を分離精度が低い状態とみなすことができる。
【0084】
本実施の形態に係る情報処理システム1は、学習データに応じて、特徴量の分離精度などを評価することで、適切な特徴量を探索することができる。分離精度の算出には、例えば、AUC(Area Under the Curve)、判別能d’(分布間の平均距離)、クラス内分散、クラス間分散などを用いることができる。
【0085】
<D.特徴量の最適化>
次に、学習データを用いて特徴量を最適化する処理について説明する。
【0086】
図9は、本実施の形態に係る情報処理システム1における特徴量の最適化処理を説明するための図である。図9を参照して、情報処理装置200は、制御装置100のTSDB160に格納されている時系列データ群を取得する。取得された時系列データ群の各々には、任意の方法でラベル(例えば、OKラベルまたはNGラベル)が付与される。ラベルが付与された時系列データ群が学習データ60として用いられる。
【0087】
ユーザが時系列データを確認して手作業でラベルを付与してもよい。典型的には、異常として検知したい時系列データが予め分かっている場合を想定している。
【0088】
制御装置100は、学習データ60をサーバ装置300へ送信するとともに、切り出し関数30と統計関数40との組み合わせで定義される特徴量群50の情報をサーバ装置300へ送信する。
【0089】
サーバ装置300は、評価モジュール330の一例として分離精度評価アルゴリズム350を有しており、特徴量群50の各々(特徴量1,特徴量2,…)についての分離精度を算出する。
【0090】
より具体的には、サーバ装置300は、特徴量群50のうち1つの種類の特徴量を選択し、学習データ60に含まれる時系列データ群の各々について、選択した種類の特徴量を算出する。さらに、サーバ装置300は、時系列データ群から算出したそれぞれの特徴量のラベル別の分布に基づいて、分離精度を算出する。
【0091】
サーバ装置300は、上述した処理を特徴量群50に含まれるすべての種類の特徴量について繰り返す。
【0092】
サーバ装置300は、特徴量群50に含まれる全種類の特徴量について算出した分離精度に基づいて、最適な特徴量を情報処理装置200へ応答する。情報処理装置200は、サーバ装置300からの算出結果をユーザへ提示するとともに、ユーザ操作に応じて、選択された1または複数の種類の特徴量を用いて、異常検知アルゴリズム70を生成する。すなわち、情報処理装置200は、複数の種類の特徴量のうち選択された1または複数の特徴量を含む異常検知アルゴリズム70を生成する。最終的に、情報処理装置200は、生成した異常検知アルゴリズム70を制御装置100へ送信する。
【0093】
このように、情報処理システム1においては、切り出し関数30と統計関数40との組み合わせで定義される特徴量群50に含まれる全種類の特徴量について、分離精度を算出することで、検知すべき異常の特徴や状態に応じた適切な特徴量を決定できる。
【0094】
なお、一般的には、特徴量群50には複数の種類の特徴量が含まれるので、計算量が膨大になり得るので、情報処理装置200単体ではなく、サーバ装置300(例えば、クラウド型で提供されるコンピューティングリソース)を利用することが好ましい。但し、情報処理装置200が十分なコンピューティングリソースを有している場合には、情報処理装置200単体ですべての計算を行ってもよい。
【0095】
例えば、切り出し関数30および統計関数40をソフトウェア部品(例えば、ユーザ定義関数)として用意しておくことで、異常検知アルゴリズム70に用いる特徴量を高級言語のレベルで記述することができる。また、サーバ装置300へ送信される特徴量群50の情報についても、当該用意されたソフトウェア部品を用いて定義してもよい。
【0096】
異常検知アルゴリズム70には、異常であるか否かを判定するためのしきい値なども必要となる。そのため、情報処理装置200は、決定した1または複数の特徴量を用いる異常検知アルゴリズム70に学習データ60を入力することで、しきい値などを算出するようにしてもよい。この場合、異常検知アルゴリズム70およびしきい値が制御装置100へ送信される。
【0097】
また、使用回数などのログ情報を異常検知アルゴリズム70に含めることで、異常の性質に応じた検知を行うこともできる。
【0098】
図10は、本実施の形態に係る情報処理システム1における特徴量の最適化処理の手順を示すフローチャートである。図10を参照して、情報処理装置200は、制御装置100から複数の時系列データ(時系列データ群)を取得する(ステップS100)。すなわち、情報処理装置200は、制御装置100から時系列データを取得する処理を実行する。
【0099】
情報処理装置200は、ユーザ操作に応じて、時系列データの各々に対するラベルを受け付ける(ステップS102)。これによって、ラベルが付与された時系列データ群からなる学習データ60が生成される。
【0100】
また、情報処理装置200は、ユーザ操作に応じて、切り出し関数30と統計関数40との組み合わせで複数の種類の特徴量(特徴量群50)を決定する(ステップS104)。すなわち、情報処理装置200は、対象の時系列データのうち特徴量の算出に用いる範囲を定義する切り出し関数30(第1の関数)と、特徴量として用いる統計量を定義する統計関数40(第2の関数)との組み合わせにより複数の種類の特徴量を決定する処理を実行する。
【0101】
そして、情報処理装置200は、学習データ60および特徴量群50の情報をサーバ装置300へ送信する(ステップS106)。すなわち、情報処理装置200は、複数の種類の特徴量の各々について、時系列データの評価をコンピューティングリソース(典型的には、サーバ装置300)に依頼する。また、コンピューティングリソースの一例であるサーバ装置300は、複数の種類の特徴量の各々について、時系列データを評価する処理を実行する。
【0102】
より具体的には、サーバ装置300は、情報処理装置200から受信した特徴量群50のうち1つの種類の特徴量を選択し(ステップS108)、学習データ60に含まれる時系列データの各々について、選択した種類の特徴量を算出する(ステップS110)。そして、サーバ装置300は、算出した特徴量のラベル別の分布に基づいて、分離精度を算出し(ステップS112)、選択した種類の特徴量と算出した分離精度とを対応付ける(ステップS114)。なお、算出される分離精度は、後述するような分離スコアとして定量化された値であってもよい。
【0103】
続いて、サーバ装置300は、受信した特徴量群50のうち未選択の特徴量が残っているか否かを判断する(ステップS116)。受信した特徴量群50のうち未選択の特徴量が残っていれば(ステップS116においてYES)、サーバ装置300は、情報処理装置200から受信した特徴量群50のうち別の1つの種類の特徴量を選択し(ステップS118)、ステップS110以下の処理を繰り返す。
【0104】
このように、サーバ装置300は、時系列データに付与されたラベルと、時系列データから算出された対象の種類の特徴量の値とに基づいて、複数の種類の特徴量の各々について、分離精度を算出する。
【0105】
受信した特徴量群50のうち未選択の特徴量が残っていなければ(ステップS116においてNO)、サーバ装置300は、特徴量の種類と対応する分離精度とを情報処理装置200へ送信する(ステップS120)。
【0106】
情報処理装置200は、サーバ装置300から受信した情報をユーザへ提示する(ステップS122)。そして、情報処理装置200は、ユーザ操作に応じて、選択された1または複数の種類の特徴量を用いて、異常検知アルゴリズム70を生成する(ステップS124)。最終的に、情報処理装置200は、生成した異常検知アルゴリズム70を制御装置100へ送信する(ステップS126)。
【0107】
図11は、本実施の形態に係る情報処理システム1の情報処理装置200が提供するユーザインターフェイス画面の一例を示す模式図である。図11を参照して、情報処理装置200は、算出結果を含むユーザインターフェイス画面250を提供する。
【0108】
すなわち、情報処理装置200は、複数の種類の特徴量のうち少なくとも一部について、サーバ装置300(評価モジュール330)により算出された分離精度(分離スコア)を含むユーザインターフェイス画面250を提示する。
【0109】
より具体的には、ユーザインターフェイス画面250は、算出された分離精度に基づいてランキングされた結果を含む。より具体的には、ユーザインターフェイス画面250は、特徴量の種類毎の分離精度の算出結果を含む。ユーザは、ユーザインターフェイス画面250を参照して、異常検知アルゴリズム70に用いる特徴量の種類を選択する。
【0110】
より具体的には、ユーザインターフェイス画面250は、チェックカラム251と、ランクカラム252と、切り出し関数カラム253と、統計関数カラム254と、分離スコアカラム255と、処理負荷カラム256とを含む。
【0111】
チェックカラム251は、異常検知アルゴリズム70に用いられる特徴量の種類のユーザ選択を受け付ける。ランクカラム252は、分離精度(分離スコア)に基づいて、特徴量の種類毎のランキングされた順位を示す。
【0112】
切り出し関数カラム253は、選択された切り出し関数の種類を示す。統計関数カラム254は、選択された統計関数の種類を示す。
【0113】
分離スコアカラム255は、対応する特徴量について算出された分離精度を数値化した分離スコアを示す。処理負荷カラム256は、対応する特徴量の算出に係る処理負荷を数値化した値を示す。
【0114】
ユーザインターフェイス画面250に表示される複数種類の特徴量のうち、いずれかが選択されると、分離精度の算出に用いられた特徴量分布グラフ260が表示されるようにしてもよい。特徴量分布グラフ260には、分離精度の算出過程で決定されたしきい値262が表示されてもよい。
【0115】
ユーザは、特徴量分布グラフ260を参照することで、算出された分離精度を確認することができるとともに、決定されたしきい値262を適宜変更してもよい。
【0116】
特徴量分布グラフ260に表示される特徴量のうち、いずれかが選択されると、選択された特徴量を算出した時系列データを示す時系列データグラフ270が表示されるようにしてもよい。例えば、ユーザは、特徴量分布グラフ260に含まれる外れ値などを選択することで、外れ値を生じた時系列データなどを確認することができる。
【0117】
以上のように、学習データ60(ラベルが付与された時系列データ群)を用意することができる場合には、様々な種類の特徴量を用いて評価することで、適切な種類の特徴量を決定できる。
【0118】
<E.学習データの生成>
上述の特徴量を最適化する処理においては、学習データ60(ラベルが付与された時系列データ群)を予め用意する必要がある。以下では、学習データ60を生成する処理について説明する。
【0119】
一般的に、制御装置100が収集する時系列データ群の多くは、正常(OK)データであり、異常(NG)データは少ない。そのため、特徴量の種類を異ならせて評価することで、時系列データ群に含まれる異常データをより容易に抽出することが効率的である。
【0120】
本明細書において、「異常データ」は、他の時系列データとは異なる特性を示す時系列データを意味する。そのため、異常データの抽出は、他の時系列データとは異なる特性を示すと推定される時系列データを決定する処理を含む。
【0121】
図12は、本実施の形態に係る情報処理システム1における学習データの生成処理を説明するための図である。図12を参照して、情報処理装置200は、制御装置100のTSDB160に格納されている時系列データ群62を取得する。時系列データ群62の各々には、ラベルが付与されていない。
【0122】
時系列データ群62に含まれる時系列データが多くなりすぎると、ユーザがすべてを確認することは事実上不可能であり、異常データを見逃す可能性もある。
【0123】
制御装置100は、時系列データ群62をサーバ装置300へ送信するとともに、切り出し関数30と統計関数40との組み合わせで定義される特徴量群50の情報をサーバ装置300へ送信する。
【0124】
サーバ装置300は、評価モジュール330の一例として異常データ探索アルゴリズム352を有しており、特徴量群50の各々(特徴量1,特徴量2,…)の観点から、異常データを探索する。
【0125】
より具体的には、サーバ装置300は、特徴量群50のうち1つの種類の特徴量を選択し、時系列データ群62に含まれる時系列データ群の各々について、選択した種類の特徴量を算出する。さらに、サーバ装置300は、時系列データ群から算出したそれぞれの特徴量の分布から、異常データと推定される時系列データを探索する。
【0126】
図13は、本実施の形態に係る情報処理システム1における異常データの探索処理を説明するための図である。
【0127】
図13(A)に示す例では、特徴量Aの分布は分離された2つの集合を有しており、いずれかの集合が異常データの候補であると決定できる。すなわち、何らかの特徴量の分布が、図13(A)に示すような分離された集合を含んでいる場合には、当該特徴量を用いることで、異常データを抽出できる可能性が高いと判断できる。
【0128】
図13(B)に示す例では、特徴量Bの分布は分離された集合を有してはいないが、集合が外れた値(外れ値)が発生しており、当該外れ値については、異常データの候補であると決定できる。すなわち、何らかの特徴量の分布が、図13(B)に示すような外れ値を含んでいる場合には、当該特徴量を用いることで、異常データを抽出できる可能性が高いと判断できる。
【0129】
このように、異常データ探索アルゴリズム352は、クラスタリングなどの手法を用いて、分布が分離された集合を含んでいるか否かを判断し、また、分布において分布の中心からの乖離が相対的に大きいデータ(外れ値)が存在しているか否かを判断する。そして、異常データ探索アルゴリズム352は、分離された一方の集合、および、外れ値を異常データの候補として決定する。
【0130】
サーバ装置300は、上述した処理を特徴量群50に含まれるすべての種類の特徴量について繰り返す。
【0131】
サーバ装置300は、特徴量群50に含まれる全種類の特徴量について探索した結果を情報処理装置200へ応答する。情報処理装置200は、サーバ装置300からの探索結果をユーザへ提示する。すなわち、情報処理装置200は、ラベル付与するための情報72をユーザへ提示する。情報処理装置200は、ユーザ操作に応じて、時系列データ群62にラベルを付与する。ラベルが付与された時系列データ群62が学習データ60として用いられる。
【0132】
このように、情報処理システム1においては、切り出し関数30と統計関数40との組み合わせで定義される特徴量群50に含まれる全種類の特徴量についての分布を算出することで、時系列データ群62に含まれる異常データを探索する。
【0133】
なお、一般的には、特徴量群50には複数の種類の特徴量が含まれるので、計算量が膨大になり得るので、情報処理装置200単体ではなく、サーバ装置300(例えば、クラウド型で提供されるコンピューティングリソース)を利用することが好ましい。但し、情報処理装置200が十分なコンピューティングリソースを有している場合には、情報処理装置200単体ですべての計算を行ってもよい。
【0134】
図14は、本実施の形態に係る情報処理システム1における学習データの生成処理の手順を示すフローチャートである。図14を参照して、情報処理装置200は、制御装置100から時系列データ群62を取得する(ステップS200)。すなわち、情報処理装置200は、制御装置100から時系列データを取得する処理を実行する。
【0135】
また、情報処理装置200は、ユーザ操作に応じて、切り出し関数30と統計関数40との組み合わせで複数の種類の特徴量(特徴量群50)を決定する(ステップS202)。すなわち、情報処理装置200は、対象の時系列データのうち特徴量の算出に用いる範囲を定義する切り出し関数30(第1の関数)と、特徴量として用いる統計量を定義する統計関数40(第2の関数)との組み合わせにより複数の種類の特徴量を決定する処理を実行する。
【0136】
そして、情報処理装置200は、時系列データ群62および特徴量群50の情報をサーバ装置300へ送信する(ステップS204)。すなわち、情報処理装置200は、複数の種類の特徴量の各々について、時系列データの評価をコンピューティングリソース(典型的には、サーバ装置300)に依頼する。また、コンピューティングリソースの一例であるサーバ装置300は、複数の種類の特徴量の各々について、時系列データを評価する処理を実行する。
【0137】
より具体的には、サーバ装置300は、情報処理装置200から受信した特徴量群50のうち1つの種類の特徴量を選択し(ステップS206)、学習データ60に含まれる時系列データの各々について、選択した種類の特徴量を算出する(ステップS208)。そして、サーバ装置300は、算出した特徴量の分布に基づいて、異常データの候補が存在するか否かを判断する(ステップS210)。異常データの候補が存在すれば(ステップS210においてYES)、サーバ装置300は、選択した種類の特徴量と異常データの候補とを対応付ける(ステップS212)。サーバ装置300は、異常データの候補を探索する際に算出した分離精度を選択した種類の特徴量に対応付けてもよい。
【0138】
続いて、サーバ装置300は、受信した特徴量群50のうち未選択の特徴量が残っているか否かを判断する(ステップS214)。受信した特徴量群50のうち未選択の特徴量が残っていれば(ステップS214においてYES)、サーバ装置300は、情報処理装置200から受信した特徴量群50のうち別の1つの種類の特徴量を選択し(ステップS216)、ステップS208以下の処理を繰り返す。
【0139】
このように、サーバ装置300は、複数の種類の特徴量の各々について、時系列データから算出された対象の種類の特徴量の分布に基づいて、他の時系列データとは異なる特性を示すと推定される時系列データを決定する。
【0140】
受信した特徴量群50のうち未選択の特徴量が残っていなければ(ステップS214においてNO)、サーバ装置300は、特徴量の種類と対応する異常データの候補とを情報処理装置200へ送信する(ステップS218)。
【0141】
情報処理装置200は、サーバ装置300から受信した情報に基づいて、ラベル付与するための情報72をユーザへ提示する(ステップS220)。そして、情報処理装置200は、ユーザ操作に応じて、時系列データ群62に含まれる時系列データにラベルを付与する(ステップS222)。すなわち、情報処理装置200は、ユーザ操作に応じて、時系列データにラベルを付与することで学習データ60を生成する。
【0142】
図15は、本実施の形態に係る情報処理システム1の情報処理装置200が提供するユーザインターフェイス画面の別の一例を示す模式図である。図15を参照して、情報処理装置200は、ラベル付与するための情報を含むユーザインターフェイス画面280を提供する。
【0143】
すなわち、情報処理装置200は、複数の種類の特徴量のうち少なくとも一部について、サーバ装置300(評価モジュール330)により算出された他の時系列データとは異なる特性を示すと推定された時系列データ(異常データの候補)を含むユーザインターフェイス画面280を提示する。
【0144】
より具体的には、ユーザインターフェイス画面280は、算出された分離精度に基づいてランキングされた結果を含む。より具体的には、ユーザインターフェイス画面280は、特徴量の種類毎の分離精度の算出結果を含む。ユーザは、ユーザインターフェイス画面280を参照して、ラベルを付与する。
【0145】
より具体的には、ユーザインターフェイス画面280は、注意ランクカラム281と、切り出し関数カラム282と、統計関数カラム283と、分離スコアカラム284とを含む。
【0146】
注意ランクカラム281は、分離精度(分離スコア)に基づいて、異常データの候補の存在に応じてランキングされた順位を示す。
【0147】
切り出し関数カラム282は、選択された切り出し関数の種類を示す。統計関数カラム283は、選択された統計関数の種類を示す。分離スコアカラム284は、対応する特徴量について算出された分離精度を数値化した分離スコアを示す。
【0148】
ユーザインターフェイス画面280に表示される複数種類の特徴量のうち、いずれかが選択されると、分離精度の算出に用いられた特徴量分布グラフ290が表示されるようにしてもよい。
【0149】
ユーザは、特徴量分布グラフ290を参照しつつ、対象の特徴量または集合を選択して、OKラベルまたはNGラベルを付与する。特徴量分布グラフ290には、ユーザ操作に応じて、ラベル付与ダイアグラム292が表示されるようになっている。ユーザは、特徴量の分布に含まれる集合または外れ値を選択し、ラベル付与ダイアグラム292を操作して、OKラベルまたはNGラベルを付与する。
【0150】
特徴量分布グラフ290に表示される特徴量のうち、いずれかが選択されると、選択された特徴量を算出した時系列データを示す時系列データグラフ270が表示されるようにしてもよい。時系列データグラフ270を表示することで、ユーザは、異常データであるか否かをより確実に確認できる。
【0151】
なお、ラベルが付与済のサンプル(時系列データ)については、表示を異ならせるようにしてもよい。このような表示を異ならせることで、同一のサンプル(時系列データ)の詳細を何度も確認する手間が生じることを防止できる。
【0152】
以上のような処理によって、経験やスキルなどに依存することなく、学習データ60(ラベル付与された時系列データ群)を用意することができる。
【0153】
<F.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
【0154】
[構成1]
制御装置(100)から時系列データを取得する取得モジュール(230)と、
対象の時系列データのうち特徴量の算出に用いる範囲を定義する第1の関数(30)と、特徴量として用いる統計量を定義する第2の関数(40)との組み合わせにより複数の種類の特徴量(50)を決定する決定モジュール(232)と、
前記複数の種類の特徴量の各々について、前記時系列データを評価する評価モジュール(330)とを備える、情報処理システム。
【0155】
[構成2]
前記評価モジュール(330,350)は、前記時系列データに付与されたラベルと、前記時系列データから算出された対象の種類の特徴量の値とに基づいて、前記複数の種類の特徴量の各々について、分離精度を算出する、構成1に記載の情報処理システム。
【0156】
[構成3]
前記複数の種類の特徴量のうち少なくとも一部について、前記評価モジュールにより算出された分離精度を含む第1のユーザインターフェイス画面(250)を提示する第1の提示モジュール(236)をさらに備える、構成1または2に記載の情報処理システム。
【0157】
[構成4]
前記複数の種類の特徴量のうち選択された1または複数の特徴量を含む異常検知アルゴリズムを生成するアルゴリズム生成モジュール(238)をさらに備える、構成1~3のうちいずれか1項に記載の情報処理システム。
【0158】
[構成5]
前記アルゴリズム生成モジュールは、前記異常検知アルゴリズムを前記制御装置へ送信する、構成4に記載の情報処理システム。
【0159】
[構成6]
前記評価モジュール(330,352)は、前記複数の種類の特徴量の各々について、前記時系列データから算出された対象の種類の特徴量の分布に基づいて、他の時系列データとは異なる特性を示すと推定される時系列データを決定する、構成1~5のいずれか1項に記載の情報処理システム。
【0160】
[構成7]
前記複数の種類の特徴量のうち少なくとも一部について、前記評価モジュールにより算出された他の時系列データとは異なる特性を示すと推定された時系列データを含む第2のユーザインターフェイス画面(280,290)を提示する第2の提示モジュール(236)をさらに備える、構成6に記載の情報処理システム。
【0161】
[構成8]
ユーザ操作に応じて、前記時系列データにラベルを付与することで学習データを生成する学習データ生成モジュール(234)をさらに備える、構成7に記載の情報処理システム。
【0162】
[構成9]
コンピュータ(200)が実行する情報処理方法であって、
制御装置(100)から時系列データを取得するステップ(S100;S200)と、
対象の時系列データのうち特徴量の算出に用いる範囲を定義する第1の関数(30)と、特徴量として用いる統計量を定義する第2の関数(40)との組み合わせにより複数の種類の特徴量(50)を決定するステップ(S104;S202)と、
前記複数の種類の特徴量の各々について、前記時系列データを評価するステップ(S108~S118;S206~S216)とを備える、情報処理方法。
【0163】
[構成10]
制御装置(100)から時系列データを取得する取得モジュール(230)と、
対象の時系列データのうち特徴量の算出に用いる範囲を定義する第1の関数(30)と、特徴量として用いる統計量を定義する第2の関数(40)との組み合わせにより複数の種類の特徴量(50)を決定する決定モジュール(232)と、
前記複数の種類の特徴量の各々について、前記時系列データの評価をコンピューティングリソース(300)に依頼する送信モジュール(240)とを備える、情報処理装置。
【0164】
<G.利点>
異常検知の対象となる異常には、様々なタイプの時間波形(時系列データ)が存在し得る。本実施の形態においては、時系列データから異常検知に用いる特徴量を算出するにあたっては、対象の時系列データのうち特徴量の算出に用いる範囲を定義する切り出し関数(第1の関数)と、特徴量として用いる統計量を定義する統計関数(第2の関数)との組み合わせにより決定される特徴量を用いる。
【0165】
但し、切り出し関数と統計関数との組み合わせにより決定される特徴量の種類は膨大になり得るので、すべての特徴量について人力で評価することは事実上不可能である。そのため、個人の経験やスキルなどに依存して決定された特徴量が用いられることも多いが、当該決定された特徴量が最適なものであるとの保証はない。
【0166】
これに対して、本実施の形態に係る情報処理システムは、コンピュータリソースを用いて、複数の種類の特徴量の各々について、時系列データを評価することで、適切な特徴量の決定を支援できる。
【0167】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0168】
1 情報処理システム、2,4 フィールドバス、6 上位ネットワーク、10 フィールド装置群、12 リモートI/O装置、14 リレー群、18 サーボドライバ、20 サーボモータ、30 切り出し関数、40 統計関数、50 特徴量群、60 学習データ、62 時系列データ群、70 異常検知アルゴリズム、72 情報、100 制御装置、102,202,302 プロセッサ、104 チップセット、106,206,306 主記憶装置、108,208,308 二次記憶装置、110 上位ネットワークコントローラ、112,212 USBコントローラ、114 メモリカードインターフェイス、116 メモリカード、118,120 フィールドバスコントローラ、122 内部バスコントローラ、124 I/Oユニット、131 システムプログラム、132 ユーザプログラム、133 異常検知プログラム、140 PLCエンジン、150 異常検知エンジン、160 TSDB、200 情報処理装置、204 光学ドライブ、205 記録媒体、214,314 ネットワークコントローラ、216,316 入力部、218,318 表示部、220,320 バス、222,322 OS、224 インターフェイスプログラム、226 開発プログラム、228 異常検知設定生成プログラム、230 取得モジュール、232 決定モジュール、234 学習データ生成モジュール、236 ユーザインターフェイスモジュール、238 アルゴリズム生成モジュール、240 送信モジュール、250,280 ユーザインターフェイス画面、251 チェックカラム、252 ランクカラム、253,282 切り出し関数カラム、254,283 統計関数カラム、255,284 分離スコアカラム、256 処理負荷カラム、260,290 特徴量分布グラフ、262 しきい値、270 時系列データグラフ、281 注意ランクカラム、292 ラベル付与ダイアグラム、300 サーバ装置、324 ハイパーバイザ、326 デプロイマネジャー、328 アプリケーションプログラム、330 評価モジュール、350 分離精度評価アルゴリズム、352 異常データ探索アルゴリズム。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15