(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-15
(54)【発明の名称】産業用変化点検出のための方法およびシステム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240207BHJP
【FI】
G06N20/00 130
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023551154
(86)(22)【出願日】2022-02-23
(85)【翻訳文提出日】2023-10-02
(86)【国際出願番号】 EP2022054565
(87)【国際公開番号】W WO2022180120
(87)【国際公開日】2022-09-01
(32)【優先日】2021-02-24
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】505056845
【氏名又は名称】アーベーベー・シュバイツ・アーゲー
【氏名又は名称原語表記】ABB Schweiz AG
【住所又は居所原語表記】Bruggerstrasse 66, 5400 Baden, Switzerland
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】タン、ルオム
(72)【発明者】
【氏名】ゲルトラー、マルコ
(72)【発明者】
【氏名】クレッパー、ベンヤミン
(72)【発明者】
【氏名】マックジー、シルビア
(72)【発明者】
【氏名】ポチュカ、アンドレアス
(72)【発明者】
【氏名】ホーレンダー、マルティン
(72)【発明者】
【氏名】シュミット、ベネディクト
(57)【要約】
本発明は、以下のステップを備える、プロセス自動化システムの信号における変化点CPを検出するためのコンピュータ実装方法に関する。第1のステップ(110)において、オフライン学習段階において、教師なし検出方法を使用して少なくとも1つのオフライン信号上で、教師なし、候補CPが検出される。後続のステップ(120)において、候補CPからCPが選択される。選択されたCPは、教師ありプロセスに提供される。次のステップ(130、140)において、教師ありプロセスにおいて、オフライン機械学習(ML)システムが、教師あり機械学習方法を使用して、選択されたCPからのCPを改良するようにトレーニングされる。次のステップ(160)において、オンラインMLシステムのためのトレーニングデータセットが、改良されたCPを上記信号上に投影することによって、オフラインMLシステムを使用して作成される。さらなるステップ(170)において、オンラインMLシステムは、作成されたトレーニングデータセットを使用して、教師あり様式でトレーニングされる。オフライン学習段階の後に、CPは、トレーニングされたオンラインMLシステムを使用して検出される(180)。
【特許請求の範囲】
【請求項1】
自動化システムの信号における変化点CPを検出するためのコンピュータ実装方法(100)であって、
オフライン学習段階において、
教師なし検出方法を使用して少なくとも1つのオフライン信号上で、教師なし、候補CPを検出するステップ(110)と、
前記候補CPからCPを選択し(120)、前記選択されたCPを教師ありプロセスに提供する、ステップと、
教師あり機械学習方法を使用して、前記選択されたCPからのCPを改良するように、教師あり、オフライン機械学習MLシステムをトレーニングするステップ(130、140)と、
前記改良されたCPを前記信号上に投影することによって、オンラインMLシステムのためのトレーニングデータセットを前記オフラインMLシステムを使用して作成するステップ(160)と、
前記作成されたトレーニングデータセットを使用して、教師あり、前記オンラインMLシステムをトレーニングするステップ(170)と、前記オフライン学習段階の後に、
前記トレーニングされたオンラインMLシステムを使用してCPを検出するステップ(180)と
を備える、コンピュータ実装方法(100)。
【請求項2】
前記トレーニングされたオンラインMLシステムを使用してCPを検出する前記ステップ(180)が、前記自動化システムにおけるライブデータを記録することと、前記オンラインMLシステムを使用することによって、前記ライブデータ中のCPを検出することと、CPを検出すると、アクションをトリガすることとを含む、請求項1に記載のコンピュータ実装方法(100)。
【請求項3】
前記オフライン信号が前記信号のサンプルによって表され(112)、前記サンプルがランダム時間ウィンドウ(113、114)内のサンプルであり、前記候補CPが、前記ランダム時間ウィンドウ中に含まれている前記サンプルから選択される(120)、請求項1または2に記載のコンピュータ実装方法(100)。
【請求項4】
各時間ウィンドウの前記サンプルが、第1のアルゴリズムと第2のアルゴリズムとによって処理され(116)、両方のアルゴリズムが候補CPを提供する、請求項3に記載のコンピュータ実装方法(100)。
【請求項5】
各アルゴリズムが、パラメータによって変動させられ(116)、各時間ウィンドウの前記サンプルが各第1のアルゴリズムによって処理され、各変動させられた第2のアルゴリズムが変動させられ、したがって、候補CPが、前記変動させられた第1のアルゴリズムと各変動させられた第2のアルゴリズムとの各々によって取得される、請求項4に記載のコンピュータ実装方法(100)。
【請求項6】
前記候補CPからCPを前記選択すること(120)は、以下の方法、すなわち、
前記候補CPの中から前記CPをランダムに選択すること、
スライディング時間ウィンドウ長さを定義し、すべてのCPアルゴリズムにわたって検出されたCP候補の数を合計し、高い合計をもつウィンドウを選択すること、
すべての前記CP候補、またはすべての候補のランダムサンプル、およびCP候補なしの時間ウィンドウを機械学習分類への入力として使用すること、
前記候補CPをバッチイベントログと相関させること、
複数の信号またはいくつかのプロセス変数を相関させること
のうちの1つを備える、請求項1から5のいずれか一項に記載のコンピュータ実装方法(100)。
【請求項7】
教師あり、オフラインMLシステムをトレーニングするステップ(130)の後に、前記CP選択の改良が前記ユーザによって実施され、ここにおいて、モデルのパラメータが、前記改良に従ってチューニングされる、請求項1から6のいずれか一項に記載のコンピュータ実装方法(100)。
【請求項8】
以下の静的ルール、すなわち、
最良の一致比率を有する教師なしアルゴリズムの候補からCPを選択すること(143)、
前記選択問題を教師あり分類のバイナリ分類問題としてモデル化すること(143)、
CPの前および後の時間スパンにおける前記 基準信号のシーケンスの特性を決定し、前記特性を、さらなるCPの前および後の時間スパンにおける前記基準信号のシーケンスの前記特性と比較し、類似性を示すCPを選択すること(142)、
時系列にk平均クラスタリングアルゴリズムを適用し、前記時系列をラベリングし、前記ラベリングされた時系列に類似した時系列のクラスタ点を選択すること(142)、
分類器をトレーニングし、タイムスタンプtiが変化点であるか否かを判定し、前記判定に基づいて前記変化点を選択すること(141)
のうちの1つまたは組合せが、教師あり、オフライン機械学習、システムをトレーニングする前記ステップ(130、140)に追加される、請求項1から7のいずれか一項に記載のコンピュータ実装方法(100)。
【請求項9】
前記改良すること(130、140)が、前記改良するステップ(140)を実施する間に前記方法と前記パラメータとを記憶し、それとともに、学習されたオフラインモデルを形成することを備える、請求項1から8のいずれか一項に記載のコンピュータ実装方法(100)。
【請求項10】
前記選択されたCPからのCPを改良するように、教師あり、オフライン機械学習MLシステムをトレーニングする前記ステップ(130、140)の後のステップ(150)において、前記学習されたモデルを使用してすべてのtiを分類する前記ステップ(150)が実施される、請求項1から9のいずれか一項に記載のコンピュータ実装方法(100)。
【請求項11】
オンラインMLシステムのためのトレーニングデータセットを作成する前記ステップ(160)の後のステップ(170)において、オンラインモデルをトレーニングする前記ステップ(170)が実施される、請求項1から10のいずれか一項に記載のコンピュータ実装方法(100)。
【請求項12】
前記トレーニングされたオンラインMLを使用してCPを検出するステップ(180)の後のステップ(190)において、さらなるプロセスのために、学習されたオンラインモデルと前記学習されたオフラインモデルとを転移する前記ステップ(190)が実施される、請求項1から11のいずれか一項に記載のコンピュータ実装方法(100)。
【請求項13】
請求項1から12の一項に記載のコンピュータ実装方法(100)のステップを実施するように構成されたコントローラ。
【請求項14】
請求項13に記載のコントローラを備える産業プロセスシステム。
【請求項15】
請求項14に記載の産業プロセスシステムにおける、請求項13に記載のコントローラの使用。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信号における変化点CP(change point)を検出するためのコンピュータ実装方法と、そのコンピュータ実装方法のステップを実施するように構成されたコントローラと、そのようなコントローラを備える産業プロセス(industrial process)システムと、産業プロセスシステムにおけるそのようなコントローラの使用とに関する。
【背景技術】
【0002】
信号データ上のオンライン変化点検出(CPD:change point detection)は、産業プロセスのための有用なデータ分析ツールである。オンラインCPDは、バッチ生産プロセスにおける段階間の遷移を検出するために、またはオペレータに知らせるためにプロセス挙動の変化を自動的に検出するために、または「蒸気圧力の低下」など、信号におけるある形状が認識される、パターン認識のための前処理ステップとして、いくつかの適用例において使用され得る。
【0003】
教師なしCPDのための好適なアルゴリズムおよびそれのパラメータ化の選択は、データの特性および使用事例に大きく依存する。適切なアルゴリズムを選定し、パラメータをチューニングすることは、極めて冗長である。教師なしCPDアルゴリズムの代替は、教師ありCPDアルゴリズムを使用することである。しばしば、人間の専門家が例示的な変化点(および不変化点)を提供する必要があり、教師あり機械学習アルゴリズムは、時系列または信号内の所与のデータ点が変化点であるか否かを分類するようにトレーニングされる。データをラベリングするこの労力は非常に冗長である。いくつかのプラントでは、自動化システムが、プロセス挙動の変化(たとえば、バッチ段階の変化)を示すイベントデータを記録し得る。しかしながら、しばしばこのデータは、利用不可能であるか、得るのが難しいか、またはノイズで乱されている。さらに、人間のオペレータによって始動される手動ステップは、しばしば記録されない。状態ベースアラーミング(state-based alarming)のような多くの常時監視アルゴリズムは、現在のプロセス状態(たとえば、起動-半分の負荷-全負荷-停止)に依存する。CPDは、現在のプロセス状態を決定するために使用され得る。教師ありCPDと教師なしCPDの両方の変形態のための高い人的労力のために、CPDアルゴリズムは、実際にはほとんど使用されない。
【発明の概要】
【0004】
したがって、産業プロセス自動化における変化点を検出するための方法を改善するという要望があり得る。
【0005】
その問題は独立請求項の主題によって解決される。実施形態が、従属請求項と、以下の説明と、添付図とによって提供される。
【0006】
説明される実施形態は、同様に、信号における変化点を検出するためのコンピュータ実装方法と、そのコンピュータ実装方法のステップを実施するように構成されたコントローラと、そのようなコントローラを備える産業プロセスシステムと、そのコントローラの使用とに関係する。相乗効果が、詳細に説明されないことがあるが、実施形態の異なる組合せから生じ得る。
【0007】
さらに、方法に関する本発明のすべての実施形態が、説明されるようなステップの順序で行われ得るが、とはいえ、これは、本方法のステップの唯一のおよび必須の順序ではないことに留意されたい。本明細書で提示される方法は、以下でそうではないことが明示的に述べられない限り、それぞれの方法実施形態から逸脱することなく、開示されるステップの別の順序で行われ得る。
【0008】
技術用語は、その常識によって使用される。特定の意味がいくつかの用語に伝達される場合、用語の定義は、用語が使用されるコンテキストにおいて以下で与えられる。
【0009】
第1の態様によれば、自動化システムの信号における変化点CPを検出するためのコンピュータ実装方法が提供される。本方法は以下のステップを備える。第1のステップにおいて、オフライン学習段階において、教師なし検出方法を使用して少なくとも1つのオフライン信号上で、教師なし、候補CPが検出される。後続のステップにおいて、候補CPからCPが選択される。選択されたCPは、教師ありプロセスに提供される。次のステップにおいて、教師ありプロセスにおいて、オフライン機械学習(ML)システムが、教師あり機械学習方法を使用して、選択されたCPからのCPを改良するようにトレーニングされる。次のステップにおいて、オンラインMLシステムのためのトレーニングデータセットが、改良されたCPを上記信号上に投影することによって、オフラインMLシステムを使用して作成される。さらなるステップにおいて、オンラインMLシステムは、作成されたトレーニングデータセットを使用して、教師あり様式でトレーニングされる。オフライン学習段階の後に、CPは、トレーニングされたオンラインMLシステムを使用して検出される。
【0010】
より詳細には、最初に、記録された信号からのオフラインデータが、信号データの中からの候補CPの検出を実施する方法の第1のステップのための入力として使用される。人間の専門家の判定に基づいて、1つまたは数個の信号が、基準信号として選択される。記録された信号は、基準信号であり得る。基準信号は、生産プロセスの変化に関して代表的なものであると考えられる。CPが基準信号上で検出された場合、仮定は、プロセス全体が挙動の変化を示すというものである。以下では、本方法は、1つの基準信号に関して説明されるが、入力は2つ以上の基準信号を備え得る。
【0011】
記録された信号は、各サンプルが時間点に関連付けられるように、サンプルの時系列として表される。「変化点」における「点」は、そのようなサンプルの時間点を指す。したがって、候補CPDは、記録された履歴データにおけるオフラインCPDであり得る。サンプルは、時間に関して等距離のサンプルであり得、信号値とタイムスタンプとを備え得る。
【0012】
可能なCP候補の検出は、自動的に、すなわち、時間点を実際の変化点として識別する、たとえば、人間あるいは他のデータソースまたはシステムから来る、ラベルなしに、実施され、これは、「教師なし」とも呼ばれる。検出された候補CPは、一般に、正しく検出されたCPと、誤って検出されたCPとを備える。次のステップにおいて、正しいCPと誤ったCPとの比率が改善されるように、CPを選択するためのアルゴリズムが適用される。選択されたCPは、前のステップからのCPの選択を検証し、改良する、ユーザに提供され得る。すなわち、このトレーニングステップにおいて、CPは、教師あり様式で改良される。この改良は、CPが、ラベリングされ、アノテーションを提供され得る、機械学習プロセスの一部である。「機械学習プロセス」は、いくつかのアルゴリズムが適用され得、学習がアルゴリズムのパラメータを調整することなどをも備え得るので、非常に広い意味で解釈され得る。このトレーニングステップは、たとえば、正しいCPと誤ったCPとの比率の変化がしきい値よりも低くなるまで、反復的に行われ得る。このステップの機械学習プロセスは、「オフラインMLシステムをトレーニングすること」と呼ばれる。オフラインMLシステムがトレーニングされると、オンラインMLシステムのためのトレーニングデータが準備される。前のステップは、各tiについてラベルを作成した。このラベルは、教師ありオンラインCPDをトレーニングするために使用される。さらに、改良されたCPは、信号上に投影される。すなわち、CPまたは非CPに関する生成された情報は、たとえば、信号のサンプルの各々に転移され、信号のサンプルの各々について完了され、それにより、利用可能な信号サンプルまたは使用された信号サンプルに応じて、いわば、完了したオフライントレーニングデータセットを取得する。次のステップとして、オフライントレーニングデータセットは、オンラインMLシステムをトレーニングするために使用される。オンラインMLシステムは、たとえば、オフラインMLシステムでは、現在の時点の前および後の時点に関する予測子が利用可能であるという点で、オフラインMLシステムとは異なる。オンラインMLシステムは、現在の時点の前のおよびそれに等しい時点に関する予測子のみが利用可能であるように、構築される。オンラインMLのトレーニングは教師ありである。オンラインMLシステムのトレーニングが終了されたとき、このシステムはオンライン信号に適用され、ここにおいて、オンライン信号は、現在実行している産業プロセスの信号のサンプルであり得、すなわち、オンラインCPDのためのトレーニングされたモデルは、産業プロセスからのライブデータを供給される。各サンプリングステップにおいて、オンラインCPDモデルは、最後のタイムスタンプが変化点であったか否かの情報を返すことになる。
【0013】
したがって、本方法は、アクティブ学習を用いた教師なし変化点検出(CPD)と教師ありCPDとの組合せを提供する。この組合せにより、教師なしCPDとアクティブ学習との組合せによる低いラベリング労力を伴う教師ありCPD変化点検出が提供される。本コンピュータ実装方法は、たとえば、バッチ段階認識、CPDによるプロセス監視、状態ベース監視、異常検出または分類によるプロセス監視、および信号データ探索において適用され得る。
【0014】
化学バッチプロセスにおけるバッチの生産は、いくつかの特徴的な段階に分割される。プラントオペレータの場合、オペレータが、段階情報に応じて特定のアクションをとる必要があるか、または、たとえば傾向に基づいて、プロセスを監視するためにコンテキストを理解する必要があるので、現在のバッチ段階と新しいバッチ段階への開始または遷移とを知ることが重要である。高度に自動化されたバッチプラントでは、この情報は、制御システム内で利用可能である。しかしながら、半自動化されたバッチプラントでは、この情報は、制御システムから利用可能でない。さらに、サードパーティベンダー、すなわち、制御システムベンダーとは異なるベンダーのバッチ監視システムでは、この情報は、オンラインでまたはまったく利用可能でないことがある。オンラインCPDは、バッチ段階間の遷移を識別するために直接適用され得る。バッチ段階に関する知識は、各比較されるバッチについて同じ長さを必要とする、多変量主成分分析(MPCA)のようなアルゴリズムが適用され得るように、異なるバッチの整合を可能にする(段階の長さはバッチによって異なることがある)。
【0015】
CPDによるプロセス監視に言及すると、アクチュエータ値または設定点を変化させることなど、オペレータアクションによって導入されないプロセス挙動の変化は、プラントオペレータにとって高い関心があるものであり、プラントオペレータの注意を関連する信号に向けさせることがある。CPDは、信号の挙動の変化を検出するために使用され得る。追加の論理、たとえば、マッチする設定点または相関する他のプロセス値が変化したかどうかの検査、あるいは、機械学習モデル、たとえば、意図された変化対意図しない変化を分類する分類、と組み合わせられて、オンラインCPDは、プロセス挙動のそのような関連する変化を検出するために使用され得る。
【0016】
状態ベース監視では、線形補間のような、監視のために使用される多くのモデルは、特定の設定点における定常状態動作についてのみ有効である。CPDは、モデルが相応に変化され得るように、異なる定常状態間の遷移を識別するために使用され得る。
【0017】
本方法は、さらに、プロセス監視において異常を検出するためにまたは分類のために適用され得る。CPDは、さもなければ連続的な信号を、開始(最初の変化点)時間と終了(次の変化点)時間とをもつセグメントに切断するために使用され得る。これらのセグメントは、異常検出においてまたは分類プロセスにおいてサンプルとして使用され得、これは、連続的な信号上でトレーニングするには非常に煩雑である。
【0018】
信号データにおいて探索することは、プラントオペレータにとって有望なサポート機能である。効率的に探索を実施することは、履歴データ全体にわたるパスを探索プロセスが実施する必要があることを回避するために、履歴データのある種のインデックス付けまたはクラスタリングを必要とする。異常検出または分類によるプロセス監視と同様に、CPDは、連続的な信号をいくつかの有意味なセグメントに分割するために使用される。これらのセグメントは、弾性距離測度(たとえば、動的時間ワーピング、記号集合近似(symbolic aggregate approximation)を用いた前処理後のレーベンシュタイン距離)を使用して比較され、グループにクラスタリングされ得る。ここで、比較および探索は、クラスタ内でまたはクラスタ重心に対してのみ実施される必要があり、信号履歴全体に対して実施される必要はない。したがって、探索結果は、より少ない計算労力でより迅速にもたらされ得る。
【0019】
本方法は、任意の自動化システムにおいて、たとえば、プロセス自動化またはロボティクスの分野において適用され得る。
【0020】
一実施形態によれば、トレーニングされたオンラインMLシステムを使用してCPを検出するステップは、自動化システムにおけるライブデータを記録することと、ライブデータ中のCPを検出することと、CPを検出すると、アクションをトリガすることとを含む。
【0021】
すでに述べられたように、ライブデータは、たとえば1つまたは複数のプロセスまたはセンサーの、現在生成されているデータである。データは、収集され、記録され、オンラインMLシステムに入力される。CPが検出されたとき、たとえば、システムのアラーム設定を変更すること、またはオペレータにプロセスの変化について通知することなど、アクションが実施され得る。
【0022】
一実施形態によれば、オフライン信号は信号のサンプルによって表される。そのサンプルはランダム時間ウィンドウ内のサンプルであり、候補CPは、ランダム時間ウィンドウ中に含まれているサンプルから選択される。言い換えれば、時間ウィンドウはランダムに作成され、すなわち、たとえば、開始時間および停止時間がランダムである、または開始時間がランダムであり、時間ウィンドウの時間スパンが固定され、候補はこれらの時間ウィンドウ内のサンプルである。上記で説明されたように、信号は基準信号であり、いくつかの基準信号があり得る。ランダム化は、すべての基準信号にわたって実施され得る。
【0023】
一実施形態によれば、各時間ウィンドウのサンプルは、第1のアルゴリズムと第2のアルゴリズムとによって処理され、両方のアルゴリズムが候補CPを提供する。
【0024】
概して、各時間ウィンドウについて、複数のアルゴリズムが適用され得、これらの時間ウィンドウ-アルゴリズムの組合せの各々から、候補CPが取得されないか、1つの候補CPが取得されるか、または2つ以上の候補CPが取得され得る。
【0025】
一実施形態によれば、各アルゴリズムが、パラメータによって変動させられ、各時間ウィンドウのサンプルは各変動させられた第1のアルゴリズムと各変動させられた第2のアルゴリズムとによって処理され、したがって、候補CPが、変動させられた第1のアルゴリズムと各変動させられた第2のアルゴリズムとの各々によって取得される。「第1の」アルゴリズムおよび「第2の」アルゴリズムという用語は、複数のアルゴリズムの代表である。アルゴリズムのパラメータを変動させることによって、さらなる次元が候補CPの作成のために提供される。このようにして識別されるすべての候補CPが選択プロセスに提供される。
【0026】
一実施形態によれば、候補CPの中からの選択は、(i)候補CPの中からCPをランダムに選択すること、(ii)時間ウィンドウよりも小さいスライディング時間ウィンドウ長さを定義し、すべてのCPアルゴリズムにわたって検出されたCP候補の数を合計し、高い合計をもつウィンドウを選択すること、(iii)すべてのCP候補、またはすべての候補のランダムサンプル、およびCP候補なしの時間ウィンドウを機械学習分類への入力として使用すること、(iv)候補CPをバッチイベントログと相関させること、ならびに/あるいは(v)複数の信号またはいくつかのプロセス変数を相関させることのうちの1つに従う。これらの可能性の各々は、互いに完全に独立して使用され得る。
【0027】
オプション「CPをランダムに選択すること」は、1つの時間ウィンドウ内のおよび/またはすべての時間ウィンドウにわたる、ランダム選択であると理解され得る。教師なしCPDアルゴリズムの性能に応じて、これは、実際はCPでない多くのCP候補をもたらし得る。これは、後のプロセスでは、機械学習が、CPをCPでないものと区別するために、肯定的な例と否定的な例とから学習すると考えられるので、実際は望ましい。
【0028】
オプション「スライディング時間ウィンドウ長さを定義すること」は、スライディングウィンドウが時間ウィンドウよりも小さくなるように、実装され得る。すべてのCPアルゴリズムにわたって見つけられるCP候補の数が合計され、高い合計をもつウィンドウが選択される。ユーザは、CPの高い数を含んでいるそのようなウィンドウを提示され得る。概して、時間ウィンドウ長さnのサイズは、CPアルゴリズムが内部で使用する時間ウィンドウ長さよりもはるかに小さいべきである。理想的には、ウィンドウ長さnは、ユーザが、変化点が時間ウィンドウにおいて正確にどこに位置するかに無関心であるような方法で、選定されるべきである。したがって、値nは、適用例依存であり、ユーザまたは別の専門家によって定義される必要がある。
【0029】
オプション「すべてのCP候補、またはすべての候補のランダムサンプル、およびCP候補なしの時間ウィンドウを機械学習分類への入力として使用すること」の一例は、変動するサンプル長さを可能にするリカレントニューラルネットワーク(RNN)を用いた時系列分類である。そのアイデアは、分類器が、ノイズの多い入力を扱い、教師なしアルゴリズムが一致する、そのような変化点特性に焦点を当てることである。選択は、その場合、機械学習分類によって割り当てられたラベルに基づいて行われる。
【0030】
オプション「候補CPをバッチイベントログバッチと相関させること」は、バッチイベントログが利用可能であるときに適用され得る。この場合、候補CPは、それらのタイムスタンプをマッチングすることによってバッチイベントに関連付けられ得る。バッチイベントが各バッチランにおいて少なくとも1つのCPに結合され得る場合、対応するCPは、候補として選定され得、対応するバッチイベントでアノテーションを付けられ得る。同様に、知られているバッチイベントに関連付けられ得ないCPは、候補として維持されることになる。これらのCPは、動作または設定点変化から発生しない異常である可能性がある。ユーザをさらに支援するために、バッチイベントは、ユーザが、候補CPを受け付けるかまたは拒否するための、より多くの情報に基づく判定を行うことができるように、候補CPとともに可視化され得る。
【0031】
CPが個々の信号について検出されるが、CPの候補は、複数の信号を使用して決定され得、これは、1つのさらなるオプションである。CPは、いくつかのプロセス変数が、同じCP、または非常に小さい時間ウィンドウにおける隣接するCPを有する場合、候補と見なされ得る。これは、いくつかの変数のCPを、それらのタイムスタンプに関して可視化し、クラスタリングすることによって行われ得る。その上、複数の変数を点検するルールがユーザによって指定され得、たとえば、プロセスにおけるいくつかの設定点が同時に変化させられ、これらのプロセス変数についての共通CPが候補であることになる。
【0032】
一実施形態によれば、オフラインMLシステムを教師ありトレーニングするステップの後に、CP選択の改良がユーザによって実施され、アルゴリズムのパラメータが、改良に従ってまたは改良に基づいてチューニングされる。
【0033】
たとえば、変化点が削除されるかまたは追加され、あるいはそれの位置が変化させられる。さらに、変化点は、たとえば、バッチ段階Aからバッチ段階Bへの変化、または定常状態から負荷変化による遷移への変化にアノテーションを付けるために、アノテーションを付けられる。このステップにおいて、CPDアルゴリズムのパラメータは、アルゴリズムがより少数またはより多くのCPを生じるように、チューニングされ得る。したがって、本方法は、段階またはエピソード検出を可能にするために変化点についての追加のユーザアノテーションの組込みを提供し、変化点の改良のために教師なしCPDアルゴリズムを容易にチューニングすることを可能にする。
【0034】
いくつかのCPDアルゴリズムの出力がユーザに提示され得、ユーザは最良の出力を選定することができる。
【0035】
一実施形態によれば、随意に、以下の静的ルールのうちの1つまたは組合せが、教師あり機械学習方法を使用して、選択されたCPからのCPを改良するオフラインMLシステムをトレーニングする、トレーニングステップに追加される。第1の改良ルールオプションとして、最良の一致比率を有する教師なしアルゴリズムの候補からのCPが選択される。第2の改良ルールオプションとして、選択問題は、教師あり分類のバイナリ分類問題としてモデル化される。第3の改良ルールオプションとして、CPの前および後の時間スパンにおける基準信号のシーケンスの特性が決定され、そのシーケンスの特性は、さらなるCPの前および後の時間スパンにおける基準信号のシーケンスの特性と比較され、類似性を示すCPを選択する。第4の改良ルールオプションとして、k平均クラスタリングアルゴリズムが時系列に適用され、時系列がラベリングされ、ラベリングされた時系列に類似した時系列のクラスタ点が選択される。第5の改良ルールオプションとして、分類器は、タイムスタンプtiが変化点であるか否かを判定するようにトレーニングされ、変化点は判定に基づいて選択される。
【0036】
これらのオプションの各々は、単独で、これらのオプションのうちの別のものから独立して、または1つまたは複数の他のオプションと組み合わせて適用され得る。
【0037】
第1の改良ルールオプションは、教師なしCPDアルゴリズムとの専門家の一致に基づくアルゴリズムベース選択を対象とする。ポリシーの一例は、アルゴリズムごとに一致の比率をキャプチャし、ユーザによって受け付けられた候補をしばしば生成するようなアルゴリズムからの変化点の候補を選好することである。
【0038】
第2の改良ルールオプションも、アルゴリズムベース選択を対象とし、ここにおいて、選択問題がバイナリ分類問題、すなわち、ユーザが候補を変化点として受け付けるか否か、としてモデル化される。ここで、分類アルゴリズムが、基準信号を追加の予測子出力として使用することができ、データ特性を判定に組み込むことができる。
【0039】
第3の改良ルールオプションは、教師なしCPDから識別された候補変化点から可能性がある真の変化点を見つけるための類似性測度の使用に関する。類似性ベース選択は、2つ(tcpiからtcpi+1まで)の変化点または3つ(tcpiからtcpi+2まで)の変化点間の基準信号の抽出を行う。開始変化点および終了変化点は、その場合、tcpi≦t≦tcpi+1(2つの後続の変化点の場合、tcpi≦t≦tcpi+2)の、信号行列[タイムスタンプt,値v]のスライスを定義する。本方法は、次いで、候補変化点のセット中の基準信号における類似したシーケンス(tcpi’からtcpi’+2までまたはtcpi’からtcpi’+2まで)を探索して、類似したタイプの形状および遷移を見つけ、これらは、したがって、おそらく、生産プロセスにおいて類似した効果をキャプチャする。
【0040】
第4の改良ルールオプションは、上記で説明された類似性ベース選択の変形態である。この選択は、(自動)クラスタリングアルゴリズム、特にk平均またはそれの変形態を活用し得る。一実装形態は、2つのクラスタを用いたクラスタリングを達成するために、数k=2を用いたk平均またはそれの変形態を使用し得る。古典的k平均またはそれの変形態とは異なり、1つのクラスタ重心が、ラベリングされた変化点(またはラベリングされた不変化点)に固定されることになる。結果は、時系列例の2つのグループ、すなわち、ラベリングされた時系列に類似した一方のグループ、および他方の類似しないものであることになる。ユーザは、すでにラベリングされた変化点とともに類似したグループを提示され、ラベルを確認するように要請することになる。類似した時系列は、最も類似したものからあまり類似していないものまで、バッチにおいてユーザに提示され得る。バッチは、固定サイズ(たとえば、1つにおいて5つのシーケンス)であるか、または類似性のパーセンタイルに基づき得る。ユーザが、変化点でシーケンスをラベリングすることを停止すると、ラベルを提示するプロセスは停止され得る。このようにして、ユーザは、一度に大量のシーケンスをラベリングすることができる。クラスタリングアルゴリズムを使用することの別の変形態は、2つ以上のラベリングされたシーケンスで開始し、k個のクラスタの数を、ラベリングされたシーケンスの数またはそれよりもわずかに大きいものまで増加させることである。前処理ステップとして、たとえば、しきい値に基づいて、または互いに最も近い近隣であることに基づいて相応に検出され得る、非常に類似した、ラベリングされたシーケンスが、同じクラスタにとどまるように強制される。DBSCANのような他のクラスタリングアルゴリズムは、ランダム初期化を、すでにラベリングされた点の周りの初期化と置き換えることによって、同様の方法で修正され得る。
【0041】
第5の改良ルールオプションは、機械学習ベース選択に関する。この場合、バイナリ分類器が、所与の時間tにおいて基準信号における変化点があるかどうかを判定するように、改良された例に対して、および随意に、前の方法の一方または両方によってラベリングされた例に対してトレーニングされる。
【0042】
一実施形態によれば、改良することは、改良するステップを実施する間に本方法とパラメータとを記憶し、それとともに、学習されたモデルを形成することを備える。このステップは、学習されたオフラインモデルである、前のステップの結果をもたらし、保存する。
【0043】
一実施形態によれば、選択されたCPからのCPを改良するように、教師あり、オフライン機械学習MLシステムをトレーニングするステップの後のステップにおいて、学習されたモデルを使用してすべてのtiを分類するステップが実施される。
【0044】
教師あり、オフライン機械学習システムをトレーニングするステップの後のステップにおいて、トレーニングセットを作成するステップが実施される。ここで、各タイムスタンプについてのラベルが、教師ありオンラインCPDをトレーニングするために使用される。
【0045】
一実施形態によれば、オンラインMLシステムのためのトレーニングデータセットを作成するステップの後の、および180の前のステップにおいて、オンラインモデルをトレーニングするステップが実施される。このステップにおいて、分類アルゴリズムが、前のステップにおいて作成されたトレーニングデータセットを用いてトレーニングされる。機械学習されたモデルは、オンラインCPDを実施することが可能であることになる。
【0046】
一実施形態によれば、ステップ180の後のステップ190において、さらなるプロセスのために、学習されたオンラインモデルと学習されたオフラインモデルとを転移するステップが実施される。オフラインCPDとオンラインCPDとのための両方の機械学習モデルが、異なる産業プロセスにわたって使用され得る。(重みなどの学習されたパラメータを用いた)産業プロセスAからのトレーニングされたモデルは、プロセスBのためにモデルをトレーニングするための開始点として使用される。前提条件として、AおよびBにおけるリーディング信号(leading signal)の数は同じであるべきである。プロセスAにおけるトレーニングからのパラメータの初期化は、おそらく、機械学習プロセスを開始する通常の方法である、パラメータのランダム初期化と比較して、トレーニングするためのより良い開始点となる。結果として、学習は、許容できる性能を達成するために、より少数の最適化ステップとより少ないラベリングされたデータとを必要とすることになる。
【0047】
さらなる態様によれば、本コンピュータ実装方法のステップを実施するように構成されたコントローラが提供される。コントローラは、プログラマブル論理なしの回路を備え得るか、あるいはマイクロコントローラ、フィールドプログラマブルゲートアレイ(FPGA)、ASIC、複合プログラマブル論理デバイス(CPLD)、または当業者に知られている任意の他のプログラマブル論理デバイスであるかまたはそれらを備え得る。
【0048】
さらに、コンピュータプログラム要素とコンピュータ可読媒体とが提供され得る。コンピュータプログラム要素は、本明細書で説明される方法の実装形態である。コンピュータ可読媒体は、コンピュータプログラム要素を記憶する。コンピュータプログラム要素は、コンピュータプログラムの一部であり得るが、コンピュータプログラム要素はまた、それ自体でプログラム全体であり得る。たとえば、コンピュータプログラム要素は、本発明に到達するために既存のコンピュータプログラムを更新するために使用され得る。
【0049】
さらなる態様によれば、そのようなコントローラを備える産業プロセスシステムが提供される。
【0050】
さらなる態様によれば、産業プロセスシステムにおけるそのようなコントローラの使用が提供される。
【0051】
本発明のこれらおよび他の特徴、態様および利点は、添付図および以下の説明を参照するとより良く理解されよう。同等のまたは等価の要素は、原則として同じ参照符号を与えられる。
【図面の簡単な説明】
【0052】
【
図1a】一実施形態による、プロセス自動化システムの信号における変化点CPを検出するためのコンピュータ実装方法の第1の高レベル流れ図。
【
図1b】コンピュータ実装方法の第2の高レベル流れ図。
【
図2】コンピュータ実装方法の詳細な流れ図の第1の部分を示す図。
【
図3】コンピュータ実装方法の一部としてアクティブ学習方法を用いた流れ図。
【
図4】コンピュータ実装方法の詳細な流れ図の第2の部分を示す図。
【
図5】バイナリ判定を用いたオフライントレーニングサンプルの構造を示す図。
【
図6】アノテーションを用いたオフライントレーニングサンプルの構造を示す図。
【
図7】オンライントレーニングサンプルの構造を示す図。
【
図8】MLベースオフラインCPDの適用例のブロック図。
【
図9】MLベースオンラインCPDをトレーニングすることのブロック図。
【
図10】MLベースオンラインCPDの適用例のブロック図。
【発明を実施するための形態】
【0053】
図1aおよび
図1bは、コンピュータ実装方法100の概観を与えるための高レベルブロック図を示す。第1のステップ110において、オフラインCPDが教師なしで解決される。第2のステップ130において、CPD検出のアクティブ学習が、第1のステップ110において検出されたCPを使用して実施される。第3のステップ140において、CPは、教師あり様式でラベリングされる。第4のステップ160において、トレーニングデータが、アクティブ学習ステップにおいてトレーニングされたモデルを使用してオンラインCPDのために作成される。第5のステップ170において、オンラインCPDは、トレーニングデータを用いてトレーニングされ、第6のステップ180において、オンラインCPが検出される。それらのステップは以下で詳細に説明される。
図1bは、実際には、アクティブ学習130が第1の教師ありラベリング140で開始し、次いで、その後に初期アクティブ学習ステップが続き、ステップ130および140が、条件が満たされるまで繰り返される、という点で
図1bとは異なる。
【0054】
図2は、方法100のより詳細なものを示す。プロセスのいくつかの信号の信号データを備える履歴データ111が、教師なしCPDを解決する、ステップ110の入力として提供される。信号は、各々が信号値とタイムスタンプとを備えるサンプルによって表される。これらの信号の中から、1つまたは複数の信号が、人間の判定に基づいて基準信号112として選択される。基準信号は、生産プロセスの変化に関して代表的なものであると考えられる。ランダム時間ウィンドウ(113、114)は、1つまたは複数の信号のいくつかの時間ウィンドウ(113、114)のサンプルがフィルタで除去されるように、作成され、これは、教師なしCPD115のためのベースを形成し、異なるアルゴリズム1...nにパスされる。アルゴリズムは候補CP117を識別し116、これは、ステップ120に入力され、CPがユーザに提示される。候補CP117の識別により、教師なしCPDを解決する、ステップ110が完了される。
【0055】
ステップ120において、CPが選択され、次いで、それは、ユーザが本方法の後続の部分において教師ありCPDを実施することができるように、ユーザに提示される。選択は、以下のオプションのうちの1つまたは組合せに従って実施され得る。
【0056】
第1のオプションとして、CPは、すべての候補CPの中からランダムに選択され得る。
【0057】
代替的に、各アルゴリズムについて、CPランダム選択が以下のようにして実施される。内部のより大きい時間ウィンドウ内にスライドする、スライディング時間ウィンドウが定義される。スライディング時間ウィンドウはすべてのアルゴリズムに適用され、すべてのアルゴリズムにわたるすべてのCPが合計される。同じプロシージャが、さらなるスライディング時間ウィンドウを用いて実施される。高い数のCPを含んでいる、それらのスライディング時間ウィンドウ、すなわち、これらのウィンドウのCPが、ユーザに提示される。
【0058】
さらなる代替では、機械学習分類が適用され、ここで、すべてのCP候補、またはすべての候補のランダムサンプル、およびCP候補なしの時間ウィンドウが、入力として使用される。一例として、機械学習分類は、リカレントニューラルネットワークRNNを用いた時系列分類であり得る。
【0059】
さらなる方法は、知られているまたは記録されたバッチのタイムスタンプをCPとマッチングすることであり得る。マッチするCPとマッチしないCPの両方が、後続の教師ありCPDのためにユーザに提供され得る。ユーザは、たとえば視覚的に、マッチング結果に関する情報を提供され、したがって、教師(supervision)は、この情報に基づくか、またはこの情報によって支援される。
【0060】
さらなるオプションは、いくつかの信号の候補CPを互いに比較することであり得る。しばしば、CPに関する信号間の関係または相関がある。
【0061】
共通性として、選択の目的は、ユーザがおそらく受け付けることになる、およびおそらく拒否することになる、等しいサンプルの数を含んでいる、CP候補の初期セットに達することである(クラス平衡)。
【0062】
ステップ130において、ユーザは、ユーザに提示された変化点を受け付けるかまたは拒否する。ユーザはまた、変化点を改良する(たとえば、変化点を削除または追加する、変化点の位置を変化させる)、および変化点(たとえば、バッチ段階Aからバッチ段階Bへの変化または定常状態から負荷変化による遷移への変化)にアノテーションを付ける、可能性を得る。ユーザはまた、CPDアルゴリズムのパラメータを、そのアルゴリズムがより少数またはより多くのCPを生じるように、チューニングすることによって、検出されたCPの数を改良することができる。いくつかのCPDアルゴリズムの出力がユーザに提示され得、ユーザは最良の出力を選定することができる。最終的に、ユーザは、たとえば、2つの点が近接しており(第2の点のタイムスタンプ-第1の点のタイムスタンプ<しきい値)、かつ第1の値が範囲[第1の下側の値;第1の上側の値]内にあり、かつ第2の値が範囲[第2の下側の値;第2の上側の値)内にある場合、候補CPが、受け付けられるべきであり、何らかのラベルを割り当てられるべきである、のようないくつかの静的ルールを追加し得る。
【0063】
ステップ120においてCPを選択した後に、選択されたCPは、CPを検証し、改良し、それにアノテーションを付けるために、ユーザに提示される。改良されたCPは、アクティブ学習処理140に提供される。この処理140は、機械学習ベースCP選択141、類似性ベースCP選択142、および/またはアルゴリズムベースCP選択143を備え得る。アクティブ学習方法のこれらの例は、「改良ルールオプション」として上記で説明されており、ここで繰り返されない。
【0064】
機械学習ベースCP選択141に言及すると、
図5は、機械学習ベースオフラインCPDのためのトレーニングサンプルの構造を示す。サンプルは、タイムスタンプtiが変化点であるか否かを記述した(クラスラベル)。tiにおける、tiの前の、およびtiの後の、基準信号の値は、tiのラベルを予測するために使用される予測子となる。(1人または複数の)人間の専門家がアノテーションを提供する場合、これらのラベルは、マルチクラス分類問題を作成するために使用され得る。機械学習ベース選択に基づいて、アクティブ学習からのストラテジーが、どの候補変化点が人間の専門家に次に示されるべきであるかを判定するために使用され得る。そのようなストラテジーの例は、期待モデル変化、期待誤差低減(expected error reduction)、アクティブ学習のための指数勾配探査(Exponentiated Gradient Exploration)、不確実性サンプリング、多様な部分空間または区分からのクエリ(Querying from diverse subspaces or partitions)、ミスマッチ-ファースト・ファーゼスト-トラバーサル(Mismatch-first farthest-traversal)である。
【0065】
図3は、ステップ140の方法141および142の流れ図を示す。方法141は、一例として、データ拡張ステップ1411と、CP分類器をトレーニングするステップ1412と、CP分類器を候補CP上に適用するステップ1413と、可能な情報利得を計算するステップ1414と、CP選択を改良するために次の候補CPを選択するステップ1415とを備える。方法142は、CPの周りのシェープレット(shapelet)を抽出するステップ1421と、類似した形状について改良されていないCPを探索するステップ1422と、類似性に基づいて次の候補CPを示すステップ1423とを備える。
【0066】
再び
図2を参照すると、ステップ130および140は、(1人または複数の)人間の専門家がますます多くのCP変化を検証し、改良する、反復的プロセスの一部である。検証された変化点の数のしきい値が達成され、機械学習アルゴリズムが(たとえば、正確さ、再現率、および精度に基づく)1つまたは複数の性能しきい値を満たすと、反復的プロセスは停止し、アクティブ学習段階は終了され、方法100は、ステップ150、160、170、180、および190を備える、
図4中のブロック400に進む。
【0067】
ステップ150において、
図8に示されているように、すべてのtiが、
図2に示されているアクティブ学習フレームワークによって学習されたモデルによって分類される(教師あり)。アクティブ学習からの学習されたモデルは、すべてのタイムスタンプtiを変化点または不変化点として分類するために使用される。アクティブ学習フレームワークによって学習されたモデルへの入力は、各tiについて
図5において説明される予測子である。このステップは、tiが変化点であるかどうかを示す、長さm-nのバイナリ変数のリストを生成することになる。追加または代替として、ユーザは、
図6に示されているように、タイムスタンプをアノテーションを用いてラベリングし得る。
【0068】
ステップ160において、教師ありオンラインCPDのトレーニングセットが作成される。前のステップは、各tiについてラベルを作成した。このステップにおいて、このラベルは、教師ありオンラインCPDをトレーニングするために使用される。
図7は、オンラインCPDモデルをトレーニングするためのサンプルの構造を示す。それは、オフラインステップとまったく同様であるが、(適用例が検出においていくらかの遅延を可能にし、また、tiよりも大きいタイムスタンプが含まれ得る場合)tiよりも大きいタイムスタンプをもつデータを使用しない。サンプル中のラベルは、ここで、(1人または複数の)人間の専門家ではなく、オフラインアルゴリズムによって生成される。ステップ160および後続のステップ170が、
図9に示されている。
【0069】
ステップ170において、
図9に示されているように、オンラインモデルが、教師あり様式でトレーニングされる。このステップにおいて、分類アルゴリズムが、前のステップにおいて作成されたトレーニングデータセットを用いてトレーニングされる。機械学習されたモデルは、オンラインCPDを実施することが可能であることになる。
【0070】
ステップ180において、
図10に示されているように、CPまたは段階遷移が、トレーニングされたオンライン機械学習モデルを使用して検出される。すなわち、機械学習ベースオンラインCPDは、たとえば、プラントからのリード信号(lead signal)に適用される。
【0071】
ステップ190において、CPDのための転移学習の活用が実施される。すなわち、学習されたモデルは、プラントにおける他のプロセスに転移される。
【0072】
提示される方法およびシステムは、バッチ生産プロセスにおける段階間の遷移を検出すること、オペレータに知らせるためにプロセス挙動の変化を自動的に検出すること、パターン認識のために前処理することなど、オンラインCPDのために、ならびに、機械学習のためにまたは信号データ探索のために、たとえば、連続的なデータを、比較され得るセグメントにセグメント化するために、データを前処理することなど、オフラインCPDのために、適用可能である)。本発明によって検出された変化点は、さらに、たとえば多変量主成分分析(MPCA)のような多変量アルゴリズムを用いた、さらなる分析のための重要なベースである。
【0073】
開示される実施形態に対する他の変形形態が、図面、本開示、および添付の特許請求の範囲の検討から、請求される本発明を実施することにおいて当業者によって理解され、実現され得る。特許請求の範囲において、「備える」という単語は他の要素またはステップを除外せず、不定冠詞「a」または「an」は複数を除外しない。単一のプロセッサまたは他のユニットが、特許請求の範囲において列挙されるいくつかの項目またはステップの機能を遂行し得る。特定の手段(measures)が、相互に異なる従属請求項で列挙されているという単なる事実は、これらの手段の組合せが有利には使用され得ないことを示しているわけではない。コンピュータプログラムが、他のハードウェアと一緒にまたはそれの一部として供給される光記憶媒体または固体媒体など、好適な媒体に記憶され/その上で配信され得るが、インターネットあるいは他のワイヤードまたはワイヤレス電気通信システムを介してなど、他の形式でも配信され得る。特許請求の範囲の中のいかなる参照符号も、その範囲を限定するものと解釈されるべきではない。
【国際調査報告】