【文献】
稲福 和史,ほか,近傍エッジとの関係に着目したグラフマイニング手法の提案と評価,第10回データ工学と情報マネジメントに関するフォーラム (第16回日本データベース学会年次大会) ,日本,電子情報通信学会データ工学研究専門委員会 日本データベース学会 情報処理学会データベースシステム研究会,2018年03月06日
【文献】
MAHDI, J., et al.,Low-Resolution Fault Localization Using Phasor Measurement Units with Community Detection [online],arXiv.org,2018年08月20日,[検索日 2021.05.31], Internet: <URL: https://arxiv.org/pdf/1809.04014.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
請求項1に記載の方法であって、前記システム上で前記訓練済み機械学習モデルを実行して、前記複数の装置において障害検出及び特定を実行することをさらに含む、方法。
請求項7に記載のプログラムであって、前記処理は、前記システム上で前記訓練済み機械学習モデルを実行して、前記複数の装置において障害検出及び特定を実行することをさらに含むプログラム。
請求項13に記載の管理装置であって、さらに、前記システム上で前記訓練済み機械学習モデルを実行して、前記複数の装置において障害検出及び特定を実行する、管理装置。
【発明を実施するための形態】
【0025】
以下の詳細な説明は、本出願の図及び実施例のさらなる詳細を提供する。図の間の冗長要素の参照番号と説明は、説明の明確化のために省略されている。説明全体で使用される用語は例として提供されており、限定することを意図したものではない。例えば、「自動」という用語の使用は、本願の実装を実施する当業者の所望の実装に応じて、全自動又は実装の特定の態様に対するユーザ又は管理者の制御を伴う半自動の実装を含み得る。選択は、ユーザがユーザインターフェース又は他の入力手段を介して実行するか、所望のアルゴリズムを使用して実装できる。ここで説明される実施例は、単独で又は組み合わせて利用することができ、実施例の機能は、所望の実装による任意の手段を通じて実装することができる。
【0026】
実施例は、以下の態様を含む。第1の態様において、産業用ネットワークにおける障害検出及び特定の問題は、構成要素を測定値とパラメータの組み合わせとして定義し、産業用ネットワークを異なる接続の度合(重み)で接続された構成要素のセットとして定義することによって、定式化される。障害は、産業用ネットワークにおいて、構成要素パラメータにおける許容されない変化として定義される。最後に、産業用ネットワークにおける障害検出及び特定は、グラフ理論におけるノード分類問題として定式化される。
【0027】
実施例は、産業用ネットワークにおける障害を検出及び特定するソリューションを含む。ソリューションは、以下のプロセスを含む。1)ネットワーク構造のアップロード/学習、2)ネットワークにおける構成要素コミュニティの検出、3)各コミュニティの特徴量の抽出、4)各コミュニティの抽出された特徴量を使用した障害の検出及び特定、5)各タイムステップにおける、障害が起きた構成要素に基づく、ネットワークに対するメンテナンス推奨の提供。
【0028】
ここで説明されるように、障害検出及び特定問題は、以下のように、いくつかの構成要素を有する産業用ネットワークに対して定義される。
【0029】
定義1(構成要素):構成要素c=(c
θ、c
X)は、パラメータのセットc
θと、時系列測定値(信号)のセットc
Xによって特徴付けられる産業用ネットワークにおけるユニットである。
【0030】
パラメータは構成要素の特性を定義し、時系列測定値は構成要素の現在の状態を表す。
図1は、実施例による、給水ネットワークの例を示す。この例において、グラフは構成要素間の接続を表すことができる。さらに、各タンクは、時系列信号値(タンク圧力)を有している。ここで説明される実施例におけるソリューションは、時系列信号及び構成要素間の空間的関係を使用して、関連技術よりも高い精度でのメンテナンス推奨ソリューションを実現する。
【0031】
図1に示す給水ネットワークを、産業用ネットワークと考える。各タンクは、ネットワークの構成要素である。タンク容量は、タンクの特性を定義し、従って、構成要素パラメータを表す。しかし、タンク内の水圧は、構成要素の動作状態に基づいて変化する時間変化する変数である。測定されるときのこの変数は、構成要素の時系列信号を表す。
【0032】
定義2(産業用ネットワーク):産業用ネットワークS=(C、W)は、構成要素のセット及び重みのセットとして定義され、構成要素c
i∈Cと構成要素c
j∈Cとの間の接続は、w
ij∈Wで表される。
【0033】
一例として、
図1によって表される給水ネットワークは、5つの構成要素を組み合わせてなる産業用ネットワークである。なお、接続された構成要素の定義は、用途に基づいて異なり得る。
【0034】
重みはバイナリ変数とすることができ、c
iとc
jが接続されている場合にw
ij=1、それ以外の場合にw
ij=0とすることができる。重みは、距離などの接続の度合いや構成要素間の相関を表すこともできる。
【0035】
想定1(同種の構成要素):産業用ネットワークの構成要素は同じタイプ及び同じ数の測定値を有すると想定する。例えば、給水ネットワークの場合、全ての構成要素は、必ずしも同じパラメータを有しているわけではないが、圧力計などの同じタイプの計器を持っていると想定される。
【0036】
想定2(静的ネットワーク):ネットワークの構成要素の数及びそれらの接続(接続重み)は、ネットワーク作動中に変化しないと想定する。
【0037】
定義3(障害):標準条件からの構成要素パラメータの許容されない乖離は、障害と呼ばれる。
【0038】
障害は各構成要素で発生し得る。障害は、オペレータを危険に置き、製造プロセスを中断させ、多額のコストを発生させる。障害の検出及び特定(Fault Detection and Isolation:FDI)は、適時のメンテナンス推奨のための非常に重要なステップである。産業用ネットワークのFDIは以下のように定義される。
【0039】
定義4(産業用ネットワークにおけるFDI):障害の検出は、ネットワークにおける1以上の構成要素での障害の発生及び障害発生時間を決定する。次のステップにおいて、障害の特定は、システムにおける障害のある構成要素を決定する。
【0040】
FDIは、産業用ネットワーク問題において、無向グラフ上のノード分類問題として定式化される。障害のある構成要素を検出して特定するためには、構成要素の測定値を監視するのみでは十分ではない。時系列測定値の予期しない振る舞いが、構成要素における障害又は関連構成要素における障害により発生し得る。例えば、給水ネットワークにおけるタンク内の予期しない圧力低下は、タンクの漏れ(障害)又は接続されたタンクの漏れのサインとなり得る。
【0041】
従って、障害の検出及び特定のために局所的な測定値のみを使用することは、検出率を低下させ、誤報が増加させ得る。一方、構成要素間の接続を考慮せずに全てのシステム測定値を使用ことは、訓練ステップでのオーバーフィッティングにつながり、実用ステップでの検出率を低下させ、誤報を増加させ得る。構成要素間の関係を捉え、いくつかの構成要素を有する産業用ネットワークのためのより正確なメンテナンス推奨ソリューションを開発するために、障害の検出及び特定の問題は、これらのシステムにおいて、グラフにおけるノードバイナリ分類問題として定式化される。
【0042】
実施例のモデルにおいて、各ノードは構成要素を表す。各構成要素に関連付けられた測定値は、その構成要素に関連付けられたノードで定義されたデータを表す。グラフ構造は、1)エッジが構成要素間の接続を示し、2)エッジの重みが構成要素間の接続の度合いを示すように、構成要素間の対関係をエンコードする。
【0043】
グラフ構造(構成要素間のエッジ及び各エッジに割り当てられた重み)は、所望の実装に応じて、主要な専門家によって与えられる、又は、作動及びセンサ測定値から学習される。さらに、時系列測定値がグラフ構造と共に使用されて、各ノード(構成要素)を正常又は障害と分類し、障害のあるノードに対してメンテナンス推奨を与える。
【0044】
グラフ理論において、ホップ数は、目的地に到達するために通過すべきノードの最小数を意味する。各ノードのkホップ近傍(k−hop neighborhood)は、最大kホップでノードから到達可能なノードのセットである。1ホップ近傍構成要素は、各構成要素直近(隣の)近傍を表す。メンテナンス推奨のために、1ホップ近傍構成要素を考慮することは理にかなっている。しかし、多くの場合に、1ホップ近傍測定値を分析するだけでは不十分であり、そのため、実施例では、メンテナンス推奨における正確な障害の検出及び特定のため、高次近傍(higher order neighbors)を考慮する。
【0045】
ここで説明される実施例において、産業用ネットワークのメンテナンス推奨を生成するシステム及び方法が存在する。3つの主要なステップが、提案するアプローチにおいて存在する。実施例は、まず、産業用ネットワークをグラフ構造としてモデル化する。グラフ構造は、予め与えられる、又は、与えられた測定値から学習することができる。次に、実施例は、ネットワークにおける関連構成要素のコミュニティを検出する。
【0046】
各コミュニティにおける構成要素の健全性は、互いに強く関連している。このステップの実施例では、スペクトルクラスタリングを利用してコミュニティを検出できる。このような実施例は、グラフ構造のみを使用してコミュニティを検出する。このアプローチの使用により、ソリューションが計算上単純化される。しかし、グラフウェーブレット変換(グラフ及びその上で定義された信号を使用)も、コミュニティを検出するために使用することができる。
【0047】
そのシナリオにおいて、実施例は、通常の信号データ及びグラフ構造を使用して、コミュニティを検出する。3番目のステップにおいて、実施例は、構成要素の測定値及びそれらの相互関係を表す各コミュニティの特徴量を抽出する。最後に、実施例は、抽出された特徴量を使用して、障害検出を行い、メンテナンス推奨における特定タスクを実行する。
【0048】
図2は、実施例による、産業用ネットワークにおける障害検出及び特定のフローを示している。
図2に示されるように、産業用ネットワークのメンテナンス推奨の全体の戦略は、201において、データ測定値からグラフ構造を取得又は学習することを含む。
【0049】
ここで説明される実施例において、各構成要素は、他の構成要素とある程度の依存性を伴う接続を有し得るセンサデータの形態での変数及びパラメータを有する。
【0050】
従って、グラフにおけるノードとして表される構成要素を含むグラフ構造が構築され、ノードは異なる重みで互いに接続され、各ノードは変数及びパラメータを有する。実施例において、センサデータに従って構成要素で障害が起きると、そのような障害は検出及び特定できる。
【0051】
202において、フローはグラフにおけるコミュニティを検出する。203において、フローは各コミュニティの重要な特徴量を抽出する。204において、抽出された特徴量が分類のために使用され、障害の検出及び特定が実行される。分類から、実施例は、訓練された機械学習モデルの構築を通して、障害のある構成要素のメンテナンス推奨を与えることができる。
【0052】
第2の実施例において、コミュニティ変動グラフ畳み込みニューラルネットワーク(グラフCNN)を利用して、メンテナンス推奨を実行する。畳み込みニューラルネットワーク(CNN)のように、グラフCNNは、特徴量抽出器及び分類器として作動することによって、エンドツーエンドのソリューションを提供する。従って、グラフCNNを使用することで、追加の特徴量抽出ステップを不要にできる。
図3は、第2の実施例による例示的なフロー図を示す。
【0053】
図2及び3に示すように、産業用ネットワークにおけるメンテナンス推奨の全体フロー図には以下のステップを含む。1)データからグラフ構造を取得又は学習する。2)グラフにおけるコミュニティを検出する。3)各コミュニティについて、重要な特徴量を抽出する。4)抽出された特徴量を障害の検出及び特定のために使用する。5)障害を有する構成要素についてメンテナンスの推奨を与える。
【0054】
ここで説明する上記ステップに従う実施例を通じで、考慮を必要とするデータ量を低減することができ、それにより、管理している構成要素の障害の検出及び特定の実行に必要な処理時間を低減することができる。また、このような実施例は、システムが、関連技術よりも多くの構成要素を管理することを可能とする。
【0055】
このような技術的改善が可能である理由は、コミュニティ内のノードが正しく相互に関連付けられ、そのため、単一の構成要素が関係しているときに、障害の検出及び特定を実行するとき、管理している構成要素の全体グラフを考慮する必要がないためである。さらに、このような実施例は、より少ない要件で障害検出及び特定のシステムを構成することを可能とし、これにより、訓練のための情報はコミュニティ内の相関を通じて決定可能であるので、そのために必要なデータベースを小さくすることができる。
【0056】
さらに、ここで説明する実施例は、単一障害のシナリオを想定せず、所望の実装に従ってシステム内の同時障害を検出及び特定することができる。
【0057】
コミュニティ検出
最初に、グラフにおけるコミュニティ検出が、グラフ構造を使用することに基づくメンテナンス推奨の2つの実施例と共に、説明される。コミュニティ検出問題は、所与の産業用ネットワークの構成要素をサブセットに分割することを含み、その分割において、各サブセット内の構成要素が高度に互いに関連する一方で、異なるサブセットの構成要素はそのようになっていない。コミュニティ検出アルゴリズムは、2つのステップを含む。1)各2つの構成要素間の距離を定義する。2)類似の構成要素をクラスタ化する。
【0058】
実施例は、グラフ構造を使用して、コミュニティを検出する。まず、重み付き隣接行列Wを使用して、ラプラシアン行列を抽出する。重み付き隣接行列は、グラフ構造の行列表現である。ノードiとノードjの間にエッジがあるとき、w
ij∈Wはiとjの間のエッジの重みを表す。iとjの間にエッジが存在しないとき、w
ij=0となる。
【0059】
グラフDの次数行列は、対角行列であり、主対角線上の要素d
iiは、ノードiに接続された全てのエッジの重みの和である。対角行列は正方行列であり、主対角線の外側の要素は、全てゼロである。グラフの重み付き隣接行列と次数行列の間の差は、グラフラプラシアン行列Lと呼ばれる。
L=D−W
【0060】
ラプラシアン行列を計算した後、行列の固有ベクトルが計算され、選択されたクラスタリングアルゴリズムのための特徴量として利用される。k−meansクラスタリングや階層的クラスタリングのような異なるクラスタリングアルゴリズムを、このステップで使用することができる。クラスタリングを利用して、産業用ネットワークにおいての互いの類似の構成要素又は装置をクラスタリングする。クラスタリング手法を使用して形成されるクラスタは、産業用ネットワークのコミュニティとして利用される。これは、コミュニティ内で発生する障害は、コミュニティ内の構成要素を根本原因とする傾向がある、又は、コミュニティにおける他の構成要素で障害が発生しているかもしれないことを示すことができるからである。
【0061】
図4は、実施例による、コミュニティ検出のフロー例を示す。このフローを実行することで、
図2及び
図3に示すように、ネットワーク202におけるコミュニティを検出する。400において、フローは重み付き隣接行列Wを計算する。401において、フローは、ラプラシアン行列Lを計算する。
【0062】
402でにおいて、フローは、Lの最初のk個の固有ベクトルv
1、・・・、v
kを計算する。403において、フローは固有ベクトル行列V∈R
(n×k)を生成する。固有ベクトル行列において、v
1、・・・、v
kは行列の列である。404において、フローは、k−means又は階層的クラスタリングを使用して、ノードをクラスタリングする。このとき、ノードiの特徴量は、Vのi番目の行に対応するベクトルである。
【0063】
従って、実施例において、個々の構成要素は、個別の機械学習モデルによって分析される必要がない。コミュニティ内の関連する構成要素は、一つの構成要素からのセンサデータが当該構成要素は正常に作動していることを示している場合でも、障害が当該構成要素において発生したことを示すことができる。漏れが起きている水タンクの例において、水タンクの漏れが他の構成要素に影響するため、他の構成要素が正常に作動していても、水タンクの漏れが当該他の構成要素の圧力の読み取りに影響する可能性がある。
【0064】
障害検出及び特定
障害の検出及び特定のステップに対して、2つの例がここで説明されている。第1の実施例において、グラフ埋め込み(Graph embedding)を利用して、各コミュニティの特徴量セットを抽出する。分類器をその後に適用して、構成要素を正常又は障害と分類する。第2の実施例において、コミュニティ変動グラフCNNが利用される。コミュニティ変動グラフCNNは、各コミュニティから特徴量セットを学習し、構成要素を正常又は障害と分類する。
【0065】
<第1の実施例−グラフ埋め込み>
機械学習(ML)ツールは、ベクトル空間で作動するように開発されている。ベクトル空間において、距離メトリックス(例えばユークリッド距離)を利用して、定性的な結果を得ることができる。グラフは、より複雑なデータ構造を表す。グラフ埋め込みを使用して、グラフデータをベクトル空間に転送できる。
【0066】
グラフ埋め込みは、グラフ領域からベクトル空間領域へのマッピングであり、ベクトル空間におけるデータの次元は、グラフにおけるノード数と各ノードにおける測定値の数を掛けた値以下であり、マッピングされたデータは、グラフデータセットの一部のプロパティを維持する。埋め込みは、機械学習アルゴリズムの入力特徴量として使用でき、そのため、グラフ上で直接作動する複雑な方法を必要としない。
【0067】
例えば、ネットワークが有するノードが少なく、高次近傍間の接続が限られている場合、グラフ埋め込みが、第1の実施例において利用される。グラフ埋め込みは、ネットワークデータセットから生成されたグラフデータセットをベクトル空間にマップし、このとき、関連するネットワークプロパティを保持する。グラフ理論において、ホップ数は、目的ノードに到達するために通過する必要があるノードの最小数である。各ノードのkホップ近傍は、最大kホップで当該ノードから到達可能なノードのセットである。
【0068】
多くの現実世界のネットワークでは、数ホップの後、構成要素の間には意味ある関係は存在しない(例えば、給水ネットワーク内のタンク圧力は、近傍タンクの圧力と強く相関しているが、離れたタンクからはほぼ独立している)。コミュニティ検出ステップを利用して、意味のある接続を有する構成要素を検出する。
【0069】
ネットワークにおけるコミュニティを検出した後、各ノードの近傍コミュニティ測定値(neighboring community measurements)をそのノードの特徴量のセットとして考慮することにより、グラフ領域からベクトル空間にデータ構造をマッピングすることができる。グラフ埋め込み後、機械学習分類器を使用して、診断モデルを学習でき、診断モデルは、ベクトル空間における各ノードの特徴量を使用して、ノードそれぞれを正常又は障害と分類する。
【0070】
システムのノードが少なく、高次近傍間の接続が限られている場合、グラフ埋め込みはシンプルなソリューションを与える。しかし、埋め込みにおいて、グラフのプロパティと個々のノード間の接続を保持することは容易でない。ほとんどの産業用ネットワークは数千のノードを有しており、そのため、スケーラブルな埋め込みモデルを定義し、同時にグラフのプロパティを保持することは困難となり得る。
【0071】
グラフ再構築精度は、埋め込みの次元を増加させることによって改善することができる。しかし、より高い次元は、より多くの時間及び空間の複雑さを意味する。一般に、グラフ埋め込みは、情報損失、余分な空間及び計算複雑性につながる。より効率的なアプローチは、MLアルゴリズムをグラフ領域に適応させることである。
【0072】
<第2の実施例−グラフ畳み込みニューラルネットワーク>
畳み込みニューラルネットワーク(CNN)は、画像分類性能を大きく改善している。多層パーセプトロン(MLP)ニューラルネットワークのような古いニューラルネットワークと違い、CNNは、局所化された畳み込みフィルタを使用することによって、入力データ間の局所的な関係を抽出できる。
【0073】
畳み込みフィルタは、異なる空間位置で同一の特徴を抽出する。これらの固定フィルタは、画像とビデオの分類に飛躍的進歩をもたらした。同様に、異なる構成要素の産業変数間の局所的な関係を抽出すると、障害の検出と特定を大幅に改善できる。画像のように、工業用データセットはしばしば構造を表す。
【0074】
例えば、発電所において、主要なステーションの測定値は小さな負荷の測定値から独立していてもよいが、それらは発電所の測定値と非常に相関している。残念ながら、CNNは通常のデータ構造(グリッド)に対してのみ定義されており、産業用ネットワークデータセットなどの不規則な構造には適用できない。
【0075】
グラフ畳み込みニューラルネットワーク(グラフCNN)は、CNNを化学分子などの不規則な(非ユークリッド)領域及びソーシャルネットワークに一般化するために導入された。グラフは、異なる近傍構造と接続性マトリックス、及び非ユークリッドメトリックを表すことができる。ここで説明する実施例では、障害の検出及び特定は、無向グラフノード分類問題として、センサデータを使用した動的システムで定式化される。
【0076】
従って、コミュニティ変動グラフCNNを利用して、この問題を解決するための他のアプローチを開発することができる。いくつかのデータセットでの実験は、ここで説明されるアプローチが、各コミュニティにおける異なる構成要素での関連する測定値間の関係を捉えることにより、メンテナンス推奨の性能を改善できることを示した。
【0077】
畳み込みニューラルネットワーク(CNN)は、畳み込みフィルタを使用して、画像から特徴量を抽出する。同様に、グラフCNNは、グラフフーリエ変換(GFT)を使用して、グラフから特徴量を抽出する。重み付き隣接行列Wは、重み付きグラフの行列表現である。ノードiとノードjの間にエッジが存在するとき、w
ij∈Wはiとjの間の重みを表す。
【0078】
iとjの間にエッジが存在しないとき、w
ij=0である。対角行列は、正方行列であり、主対角線の外側の要素が全てゼロである。グラフDの次数行列は対角行列であり、主対角線上の要素d
iiは、ノードiに接続された全てのエッジの重みの和である。
【0079】
グラフの重み付き隣接行列と次数行列と間の差は、ラプラシアン行列と呼ばれる。グラフフーリエ変換(GFT)は、ラプラシアン行列固有分解に基づき定義される。固有分解は、その固有ベクトル及び固有値の点による、正方行列を表す。Uをラプラシアン行列固有分解によって生成された固有ベクトルの行列と考える。Z=GFT(X)は、U変換にグラフ信号を掛けた値に等しいと定義される。
Z=U
TX
【0080】
グラフCNNは、GFTを適用し、Uマトリックスを使用して信号をグラフフーリエ領域に転送する。次に、グラフフーリエ領域においてフィルタを適用し、グラフの特徴量を抽出する。kホップ局所化フィルタは、k未満の最短パス距離のノードのペアを使用して特徴量を抽出する。最後に、逆GFTを適用し、特徴量を時間領域に転送する。グラフCNNは、データを使用して、グラフフーリエ領域フィルタ係数を学習する。
【0081】
行列固有分解は計算的に高コストである。チェビシェフ多項式近似を使用して、固有分解なしでフィルタ係数を推定することがきる。kホップグラフフィルタのチェビシェフ近似は、X
f=(a
0I+a
1L+a
2L
2+・・・+a
kL
k)Xと書くことができ、Xはグラフ信号、X
fはフィルタリングされたグラフ信号、Lはグラフラプラシアン行列、a
isはスカラ係数である。
【0082】
各コミュニティに対して生成されるグラフフィルタのセットは、グラフCNNにおけるグラフ畳み込み層である。
図5Aは、実施例によるグラフ畳み込みニューラルネットワークにおけるグラフ畳み込み層を示す。
図5Aに示すように、グラフ畳み込み層は、いくつかのグラフフィルタを含む。係数の学習後、各層は入力信号を出力にマッピングする。
【0083】
非線形活性化関数を使用して、グラフCNNは、信号ノード間の複雑な関係を学習することができる。ここで説明される実施例において、障害検出及び特定問題は、ノード分類問題として定式化される。コミュニティ変動グラフCNNは、各コミュニティの係数のセットを学習し、元の測定値に加えてこれらの特徴量を使用して問題を解決する。
【0084】
図5Bは、実施例による障害検出及び特定を示している。X
iは、構成要素iの信号測定値を表す。Y
iは、ノードiのラベルを表し、正常又は障害を示す。kホップグラフ畳み込み層は、各コミュニティにおけるk未満の最短パス距離を持つノードを使用して特徴を抽出する。
【0085】
図6は、実施例による、複数の装置及び一つの管理装置を含むシステムを示す。1以上の装置又は装置システム601−1、601−2、601−3、及び601−4は、管理装置602に接続されたネットワーク600に、通信可能に接続されている。管理装置602はデータベース603を管理し、データベース603は、ネットワーク600内の装置及び装置システムから収集された履歴データを格納している。
【0086】
他の例において、装置及び装置システム601−1、601−2、601−3、及び601−4からのデータは、中央リポジトリ又は中央データベースに格納することができ、例えば、設備又は企業資源計画システムのような設備システムからのデータを格納する独自データベースに格納できる。管理装置602は、中央リポジトリ又は中央データベースのデータにアクセス又は検索(取得)することができる。
【0087】
そのような装置は、クーラ、水タンク、空気圧縮機、電線などのセンサシステムを備えた静的な装置又は機器、及び、移動ロボット、ロボットアームなどのモバイル装置又は機器を、産業用ネットワークに統合される任意の他の装置、又は、産業用ネットワークの一部になることができる構成要素として作動できる他の装置と共に、含むことができる。
【0088】
1以上の装置によって提供されるセンサデータは、装置が正常状態で作動していた間のデータ、及び、装置で障害が起きたときのセンサデータを含むことができる。ここで説明する実施例による機械学習分類器の訓練への統合のため、構成要素から組み込まれたセンサデータが、構成要素が正常な状態で作動している又は何らかの障害が起きているときのものであるかを示すように、センサデータを分類(ラベル付け)することもできる。
【0089】
図7は、例えば
図6に示す管理装置602のように、実施例における使用に適したコンピュータ装置の例を含むコンピューティング環境の例を示す。コンピューティング環境700のコンピュータ装置705は、1つ以上の処理ユニット、コア、又はプロセッサ710、メモリ715(例えば、RAM、ROMなど)、内部ストレージ720(例えば、磁気ストレ−ジ、光学ストレージ、ソリッドステートストレージ及び/又は有機ストレージ)、及び/又はI/Oインターフェース725を含むことができる。これらのいずれも、情報を通信するための通信機構又はバス730に結合されるか、コンピュータ装置705に埋め込まれることができる。I/Oインターフェース725も、目的の実装に応じて、カメラからの画像を受信し、又はプロジェクタやディスプレイに画像を与えるように構成される。
【0090】
コンピュータ装置705は、入力/ユーザインターフェース735及び出力デバイス/インターフェース740に通信可能に結合され得る。入力/ユーザインターフェース735及び出力デバイス/インターフェース740のいずれか一方又は両方は、有線又は無線インタ−フェ−スであり、取り外し可能であり得る。入力/ユーザインターフェース735には、入力を与えるために使用できる物理的又は仮想的なデバイス、コンポーネント、センサ、又はインターフェースを含めることができる(例えば、ボタン、タッチスクリーンインターフェース、キーボード、ポインティング/カーソルコントロール、マイク、カメラ、点字、モーションセンサ、光学式リ−ダなど)。出力デバイス/インターフェース740は、ディスプレイ、テレビ、モニタ、プリンタ、スピ−カ、点字などを含み得る。いくつかの実施例では、入力/ユーザインターフェース735及び出力デバイス/インターフェース740は、コンピュータ装置705に埋め込まれるか、又は物理的に結合され得る。他の例では、他のコンピュータ装置は、コンピュータ装置705の入力/ユーザインターフェース735及び出力デバイス/インターフェース740として機能するか、それらの機能を提供することができる。
【0091】
コンピュータ装置705の例は、これらに限定されないが、高度にモバイルな装置(例えば、スマートフォン、車両及び他の機械の装置、人間及び動物によって運ばれる装置など)、モバイル装置(例えば、タブレット、ノートブック、ラップトップ、パーソナルコンピュータ、ポータブルテレビ、ラジオなど)、及びモバイル向けに設計されていないデバイス(デスクトップコンピュータ、他のコンピュータ、情報キオスク、1つ以上のプロセッサが埋め込まれている及び/又は結合されているテレビ、ラジオなど)、が含まれ得る。
【0092】
コンピュータ装置705は、外部ストレージ745及びネットワーク750に通信可能に(例えば、I/Oインターフェース725を介して)結合し、同一又は異なる構成のコンピュータ装置を含む、任意の数のネットワーク化されたコンポーネント、装置、及びシステムと通信することができる。コンピュータ装置705又は接続されたコンピュータ装置は、サーバ、クライアント、シンサーバ、一般機械、専用機械、又は別の名称の装置として、機能する、サービスを与える、又はそれらとして参照され得る。
【0093】
I/Oインターフェース725は、任意の通信又はI/Oのプロトコル又は規格(例えば、イーサネット、802.11x、ユニバーサルシステムバス、WiMax、モデム、携帯電話ネットワーク等)を使用する有線及び/又は無線インターフェースを含むことができ(これらに限定されない)、コンピューティング環境700内の少なくとも全ての接続コンポーネント、デバイス、及びネットワークと情報をやり取りすることができる。ネットワーク750は、任意のネットワーク又はネットワークの組み合わせ(例えば、インターネット、ローカルエリアネットワーク、広域ネットワーク、電話ネットワーク、携帯電話ネットワーク、衛星ネットワークなど)であり得る。
【0094】
コンピュータ装置705は、一過性媒体及び非一過性媒体を含むコンピュータ使用可能又はコンピュータ可読媒体を使用する及び/又は使用して通信することができる。一過性媒体には、伝送媒体(金属ケーブル、光ファイバなど)、信号、搬送波などが含まれる。非過性媒体には、磁気媒体(ディスクやテープなど)、光学媒体(CD ROM、デジタルビデオディスク、Blu−ray(登録商標)ディスクなど)、ソリッドステート媒体(RAM、ROM、フラッシュメモリ、ソリッドステートストレージなど)、及びその他の不揮発性ストレージ又はメモリが含まれる。
【0095】
コンピュータ装置705を使用して、いくつかの例示的なコンピューティング環境において、技術、方法、アプリケーション、プロセス、又はコンピュータ実行可能命令を実装することができる。コンピュータで実行可能な命令は、一過性媒体から取得し、非一過性媒体に格納して取得できる。実行可能命令は、プログラミング、スクリプト、及び機械言語(C、C++、C#、Java(登録商標)、Visual Basic、Python、Perl、Java Script(登録商標)など)の1つ又は複数から生成できる。
【0096】
プロセッサ710は、任意のオペレーティングシステム(OS)(図示せず)の下で、ネイティブ環境又は仮想環境で実行でき、中央処理装置(CPU)、又はソフトウェア及びハードウェアプロセッサの組み合わせなどの、物理ハードウェアプロセッサの形態であり得る。論理ユニット760、アプリケーションプログラミングインタ−フェ−ス(API)ユニット765、入力ユニット770、出力ユニット775、及び、異なるユニットが相互に、OSと、そして他のアプリケーション(図示せず)と通信するユニット間通信メカニズム795を含む、1つ以上のアプリケーションを展開できる。説明されているユニット及び要素は、設計、機能、構成、又は実装が様々であり、提供された説明に限定されない。プロセッサ710は、中央処理装置(CPU)のようにハードウェアの形で提供する又はハードウェアとソフトウェアの組み合わせにおいて提供できる。
【0097】
いくつかの実施例では、情報又は実行命令がAPIユニット765によって受信されると、1つ又は複数の他のユニット(例えば、論理ユニット760、入力ユニット770、出力ユニット775)に通信され得る。いくつかの例では、論理ユニット760は、ユニット間の情報フローを制御し、上記のいくつかの実施例においてAPIユニット765、入力ユニット770、出力ユニット775によって提供されるサービスを指示すように構成され得る。例えば、1つ又は複数のプロセス又は実装のフローは、論理ユニット760単独又はAPIユニット765と連動して制御されてもよい。入力ユニット770は、実施例で説明された計算の入力を取得するように構成されてもよい。出力ユニット775は、実施例で説明される計算に基づいて出力を与えるように構成され得る。
【0098】
図6で説明したように、センサデータを与える複数の装置を管理する管理装置602を含む実施例において、プロセッサ710は、
図2及び
図3の201に示されるように、センサデータからグラフ構造を決定し、
図2及び
図3の202に示すように、グラフ構造において複数のコミュニティを検出し、
図2及び
図3の203及び300に示すように、複数のコミュニティの各コミュニティについて、特徴量抽出を実行して障害検出及び特定に関する特徴量を抽出し、そして、
図2及び
図3の204及び300に示すように、抽出された特徴量を機械学習処理に与えて、システムの障害検出及び特定を行うように構成された訓練済みの機械学習モデルを生成、ように構成することができる。
【0099】
上記実施例によって、コミュニティがグラフ構造から検出されて機械学習処理に利用されるので、訓練処理は、産業用ネットワーク全体又は産業用ネットワークの単一構成要素を考慮する必要がない。しかし、訓練処理は、コミュニティに対して訓練を行い、障害を検出し、構成要素に対する障害を特定するより正確な機械学習モデルを生成することができる。
【0100】
さらに、そのような実施例によって、構成要素がコミュニティ内で相関するので、機械学習モデルの訓練に使用する必要があるデータ量を低減し、産業用ネットワーク全体又は単一構成要素のために、大量のラベル付きデータを容易することが不要となる。実施例では、相関コミュニティによってより正確な訓練済み機械学習モデルを作成することができる。なぜなら、1つの構成要素において障害が発生する場合、当該構成要素に関連性の高い構成要素も影響を受けるからである。
【0101】
実施例において、プロセッサ710は、
図4の400において示すように、グラフ構造の重み付き隣接行列を計算することによってグラフ構造内の複数のコミュニティを検出し、
図4の401において示すように、重み付き隣接行列からラプラシアン行列を抽出し、
図4の402及び403において示すように、固有ベクトルを計算して固有ベクトル行列を生成し、
図4の404において示すように、固有ベクトル行列でクラスタリングを実行して複数のコミュニティを生成する、ように構成できる。
【0102】
実施例において、プロセッサ710は、
図2において示し第1の実施例に従って説明したように、グラフ埋め込みを行って複数のコミュニティの各コミュニティについてグラフ構造をベクトル空間領域にマッピングし、複数のコミュニティの各コミュニティの障害を検出及び特定するために複数のコミュニティの各コミュニティのベクトル空間領域において機械学習分類器を訓練することによって、特徴量抽出を実行するように構成できる。
【0103】
実施例において、プロセッサ710は、グラフ構造をグラフフーリエ変換(GFT)してグラフ構造をフーリエ領域に変換することによって特徴量抽出を実行し、フィルタに従ってフーリエ領域における変換されたグラフ構造から特徴量を抽出し、そして、
図3に示して第2の実施例に従って説明したように、逆GFTを適用することによって抽出された特徴量を時間領域に変換する。実施例において、フィルタはkホップグラフフィルタであり、kホップ近傍が特徴量抽出に使用される。しかし、他の方法も、望ましい実装に従って使用できる。
【0104】
モデルが構築されると、プロセッサ710は、システム上で訓練済み機械学習モデルを実行して、関連技術よりも正確に、複数の装置上で障害検出及び特定を実行できる。
【0105】
詳細な説明のいくつかの部分は、コンピュータ内の動作のアルゴリズム及び記号的表現に関して提示されている。これらのアルゴリズム記述及び記号的表現は、データ処理技術の当業者が、その革新の本質を他の当業者に伝えるために使用する手段である。アルゴリズムは、目的の最終状態又は結果に至る一連の定義済みステップでる。実施例では、実行されるステップは、具体的な結果を得るために具体的な量を物理的に操作する必要がある。
【0106】
議論から明らかなように、以下のことが理解される。説明全体を通して、「処理」、「演算」、「計算」、「決定」、「表示」などの用語を利用する議論は、コンピュータシステム又は他の情報処理装置の動作及び処理を含むことができる。これら装置は、コンピュータシステムのレジスタ及びメモリ内の物理(電子)量として表されるデータを、コンピュータシステムのメモリ、レジスタ、その他の情報ストレージ、送信又は表示デバイス内の物理量として同様に表される他のデータに操作及び変換する。
【0107】
実施例はまた、本明細書のオペレーションを実行するための装置に関連してもよい。この装置は、必要な目的のために特別に構築されてもよいし、1以上のコンピュータプログラムによって選択的に起動又は再構成される1以上の汎用コンピュータを含んでもよい。そのようなコンピュータプログラムは、コンピュータ可読記憶媒体又はコンピュータ可読信号媒体などのコンピュータ可読媒体に格納されてもよい。コンピュータ可読記憶媒体は、限定ではないが、電子情報を保存するための、光ディスク、磁気ディスク、読み取り専用メモリ、ランダムアクセスメモリ、ソリッドステートデバイス及びドライブ、又はその他の適切な有形又は非一過性の媒体などの有形媒体を含み得る。コンピュータ可読信号媒体は、搬送波などの媒体が含み得る。本明細書で提示されるアルゴリズム及び表示は、特定のコンピュータ又は他の装置に本質的に関連するものではない。コンピュータプログラムは、目的の実装のオペレーションを実行する命令を含む純粋なソフトウェア実装を含むことができる。
【0108】
本明細書の例に従って、様々な汎用システムをプログラム及びプログラムモジュールとともに使用することができ、又は所望の方法ステップを実行するための専用の装置を構築することがより適切であることが判明する場合がある。さらに、実施例は、特定のプログラミング言語を参照して説明されていない。様々なプログラミング言語を使用して、本明細書で説明する実施例の教示を実装できることが理解される。プログラミング言語の命令は、1以上の処理デバイス、例えば中央処理装置(CPU)、プロセッサ、又はコントローラによって実行されてよい。
【0109】
当技術分野で知られているように、上記オペレーションは、ハードウェア、ソフトウェア、又はソフトウェアとハードウェアの何らかの組み合わせによって実行することができる。実施例の様々な態様は、回路及び論理デバイス(ハードウェア)を使用して実装できるが、他の態様は、プロセッサによって実行されるとプロセッサに本願の実装を実行する方法を実行させる、機械可読媒体(ソフトウェア)に格納された命令を使用して実装できる。さらに、本願のいくつかの実施例は、ハードウェアのみで実行されてもよく、他の実施例は、ソフトウェアのみで実行されてもよい。さらに、説明されている様々な機能は、単一のユニットで実行することも、様々な方法で多数のコンポーネントに分散させることもできる。ソフトウェアによって実行される場合、これらの方法は、コンピュータ可読媒体に格納された命令に基づいて、汎用コンピュータなどのプロセッサによって実行され得る。必要に応じて、命令は圧縮及び/又は暗号化された形式で媒体に保存できる。
【0110】
さらに、本願の他の実装は、本願の教示の仕様及び実施を考慮することにより、当業者には明らかであろう。説明した実施例の様々な態様及び/又は構成要素は、単独で又は任意の組み合わせで使用することができる。本明細書及び実施例は、例としてのみ考慮されることが意図されており、本願の真の範囲及び精神は、添付の特許請求の範囲によって示される。