(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022019689
(43)【公開日】2022-01-27
(54)【発明の名称】時系列データに対する普遍的敵対的攻撃から防御するための方法およびシステム
(51)【国際特許分類】
G06N 20/00 20190101AFI20220120BHJP
G06F 21/55 20130101ALI20220120BHJP
【FI】
G06N20/00 130
G06F21/55
【審査請求】有
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2021118003
(22)【出願日】2021-07-16
(31)【優先権主張番号】202021030571
(32)【優先日】2020-07-17
(33)【優先権主張国・地域又は機関】IN
(71)【出願人】
【識別番号】512070816
【氏名又は名称】タタ・コンサルタンシー・サーヴィシズ・リミテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】プラディープ・ラトール
(72)【発明者】
【氏名】アルグヤ・バサク
(72)【発明者】
【氏名】スリ・ハルシャ・ニスタラ
(72)【発明者】
【氏名】ヴェンカタラマナ・ルンカナ
(57)【要約】
【課題】時系列データに対する普遍的敵対的攻撃から防御するための方法およびシステムを提供する。
【解決手段】いかなる業界でも、データはサイバーセキュリティ攻撃などの様々な攻撃を受けやすい。データセキュリティの領域における最新のシステムは敵対的攻撃をリアルタイムで識別することができず、このことは、プロセス/システムが意図しない結果をもたらすことになるだけでなく、セキュリティ問題をも引き起こす。本開示は、一般に、データセキュリティ分析に関し、より詳細には、時系列データに対する敵対的攻撃の影響を評価し、そのような攻撃に対する防御を提供するための方法およびシステムに関する。本システムは、選択されたデータ駆動型モデルに対して敵対的攻撃を実行して、選択されたデータモデルに対する敵対的攻撃の影響を決定し、選択されたデータモデルのパフォーマンスがしきい値未満である場合、選択されたデータモデルが再訓練される。
【選択図】
図3
【特許請求の範囲】
【請求項1】
普遍的敵対的攻撃から防御するための、プロセッサによって実施される方法(200)であって、
1つまたは複数のハードウェアプロセッサを介して、複数のデータソースからのデータを入力として受信するステップ(202)と、
前記1つまたは複数のハードウェアプロセッサを介して、前記受信されたデータを前処理するステップ(204)と、
前記1つまたは複数のハードウェアプロセッサを介して、複数の第1のセットのデータ駆動型モデルからの少なくとも1つのデータ駆動型モデルの中の訓練データと比較して、前記前処理されたデータの中のドリフトを決定するステップ(206)と、
前記1つまたは複数のハードウェアプロセッサを介して、前記前処理されたデータと一致するレジームを識別するステップ(208)と、
前記1つまたは複数のハードウェアプロセッサを介して、複数の第1のセットのデータ駆動型モデルから、前記識別されたレジームと一致するデータ駆動型モデルを選択するステップ(210)と、
前記1つまたは複数のハードウェアプロセッサを介して、前記選択されたデータ駆動型モデルに対して1つまたは複数の普遍的敵対的攻撃を実行するステップ(214)であって、
複数の反復において、普遍的敵対的摂動を計算するステップであって、
前記訓練データの中の対応するデータサンプルに対して損失の勾配の方向に最適ステップを取ることによって、前記データから複数の第1のデータサンプルの各々に対する更新を計算するステップ(302)と、
前記計算された更新を前記普遍的敵対的摂動の以前の値に加えるステップ(304)と、
前記計算された更新を加えた後に、前記普遍的敵対的摂動をクリップするステップ(306)と
を含む、ステップ
を含む、ステップ(214)と、
前記1つまたは複数のハードウェアプロセッサを介して、前記1つまたは複数の普遍的敵対的攻撃を実行した後の前記選択されたデータ駆動型モデルのパフォーマンスを推定するステップ(216)と、
前記1つまたは複数の普遍的敵対的攻撃を実行した後の前記選択されたデータ駆動型モデルの前記推定されたパフォーマンスがパフォーマンスのしきい値未満である場合、前記1つまたは複数のハードウェアプロセッサを介して、前記選択されたデータ駆動型モデルを再訓練するステップ(218)であって、前記再訓練するステップが、
第2のセットのデータ駆動型モデルからの生成モデルを含む複数のデータ拡張技法および複数の敵対的攻撃技法を使用して複数の第2のデータサンプルを生成するステップであって、前記複数の第2のデータサンプルが前記第1のデータサンプルの分布と同様の分布を有する、ステップと、
前記複数の第1のデータサンプルと前記複数の第2のデータサンプルとの組合せを使用して、前記選択されたデータ駆動型モデルを更新するステップと
を含む、ステップ(218)と
を含む方法。
【請求項2】
前記前処理が、外れ値の識別および除去、欠測データの補完、ならびに1つまたは複数のデータソースからの複数の変数の同期および統合を含む、請求項1に記載の方法。
【請求項3】
前記前処理されたデータの中の前記ドリフトが、複数のデータ駆動型ドリフト検出モデルを使用して決定される、請求項1に記載の方法。
【請求項4】
前記レジームを識別するステップが、複数のデータ駆動型レジーム識別モデルを使用して、前記データが意図されたレジームに属するかまたは大域的外れ値に属するかを決定するステップを含む、請求項1に記載の方法。
【請求項5】
データ駆動型モデルセットがレジームごとに生成され、前記データ駆動型モデルセットが、
第1のセットのデータ駆動型モデルであって、前記第1のセットのデータ駆動型モデルが少なくとも1つの時系列モデリングタスクを実行するように訓練される、第1のセットのデータ駆動型モデルと、
第2のセットのデータ駆動型モデルであって、前記第2のセットのデータ駆動型モデルの中の各データ駆動型モデルが、前記レジームについてのデータの分布を学習し、かつ対応する前記レジームの訓練データと一致するデータサンプルを生成する、敵対的生成ネットワークベースの生成モデルである、第2のセットのデータ駆動型モデルと
を含む、請求項1に記載の方法。
【請求項6】
前記時系列モデリングタスクが、分類、回帰、および異常検出タスクのうちの1つである、請求項1に記載の方法。
【請求項7】
入力として収集された前記データが、リアルタイムデータおよび非リアルタイムデータのうちの少なくとも1つである、請求項1に記載の方法。
【請求項8】
普遍的敵対的攻撃から防御するためのシステム(100)であって、
1つまたは複数のハードウェアプロセッサ(104)と、
通信インターフェース(106)と、
複数の命令を含むメモリ(102)と
を備え、前記複数の命令が実行されると、前記1つまたは複数のハードウェアプロセッサに、
複数のデータソースからのデータを入力として受信すること(202)と、
前記受信されたデータを前処理すること(204)と、
複数の第1のセットのデータ駆動型モデルからの少なくとも1つのデータ駆動型モデルの中の訓練データと比較して、前記前処理されたデータの中のドリフトを決定すること(206)と、
前記前処理されたデータと一致するレジームを識別すること(208)と、
複数の第1のセットのデータ駆動型モデルから、前記識別されたレジームと一致するデータ駆動型モデルを選択すること(210)と、
前記選択されたデータ駆動型モデルに対して1つまたは複数の普遍的敵対的攻撃を実行すること(214)であって、
複数の反復において、普遍的敵対的摂動を計算することであって、
前記訓練データの中の対応するデータサンプルに対して損失の勾配の方向に最適ステップを取ることによって、前記データから複数の第1のデータサンプルの各々に対する更新を計算すること(302)と、
前記計算された更新を前記普遍的敵対的摂動の以前の値に加えること(304)と、
前記計算された更新を加えた後に、前記普遍的敵対的摂動をクリップすること(306)と
を含む、計算すること
を含む、実行すること(214)と、
前記1つまたは複数の普遍的敵対的攻撃を実行した後の前記選択されたデータ駆動型モデルのパフォーマンスを推定すること(216)と、
前記1つまたは複数の普遍的敵対的攻撃を実行した後の前記選択されたデータ駆動型モデルの前記推定されたパフォーマンスがパフォーマンスのしきい値未満である場合、前記選択されたデータ駆動型モデルを再訓練すること(218)であって、前記再訓練することが、
第2のセットのデータ駆動型モデルからの生成モデルを含む複数のデータ拡張技法および複数の敵対的攻撃技法を使用して複数の第2のデータサンプルを生成することであって、前記複数の第2のデータサンプルが前記第1のデータサンプルの分布と同様の分布を有する、生成することと、
前記複数の第1のデータサンプルと前記複数の第2のデータサンプルとの組合せを使用して、前記選択されたデータ駆動型モデルを更新することと
を含む、再訓練すること(218)と
を行わせる、システム。
【請求項9】
前記前処理が、外れ値の識別および除去、欠測データの補完、ならびに1つまたは複数のデータソースからの複数の変数の同期および統合を含む、請求項8に記載のシステム。
【請求項10】
前記システムが、複数のデータ駆動型ドリフト検出モデルを使用して前記前処理されたデータの中の前記ドリフトを決定する、請求項8に記載のシステム。
【請求項11】
前記システムが、複数のデータ駆動型レジーム識別モデルを使用して、前記データが意図されたレジームに属するかまたは大域的外れ値に属するかを決定することによって前記レジームを識別する、請求項8に記載のシステム。
【請求項12】
データ駆動型モデルセットがレジームごとに生成され、前記データ駆動型モデルセットが、
第1のセットのデータ駆動型モデルであって、前記第1のセットのデータ駆動型モデルが少なくとも1つの時系列モデリングタスクを実行するように訓練される、第1のセットのデータ駆動型モデルと、
第2のセットのデータ駆動型モデルであって、前記第2のセットのデータ駆動型モデルの中の各データ駆動型モデルが、前記レジームについてのデータの分布を学習し、かつ対応する前記レジームの訓練データと一致するデータサンプルを生成する、敵対的生成ネットワークベースの生成モデルである、第2のセットのデータ駆動型モデルと
を含む、請求項8に記載のシステム。
【請求項13】
前記時系列モデリングタスクが、分類、回帰、および異常検出タスクのうちの1つである、請求項8に記載のシステム。
【請求項14】
前記システムが、リアルタイムデータおよび非リアルタイムデータのうちの少なくとも1つを入力として収集する、請求項8に記載のシステム。
【請求項15】
普遍的敵対的攻撃から防御するための非一時的コンピュータ可読記憶媒体であって、前記非一時的コンピュータ可読記憶媒体が複数の命令を含み、前記複数の命令が実行されると、
1つまたは複数のハードウェアプロセッサを介して、複数のデータソースからのデータを入力として受信することと、
前記1つまたは複数のハードウェアプロセッサを介して、前記受信されたデータを前処理することと、
前記1つまたは複数のハードウェアプロセッサを介して、複数の第1のセットのデータ駆動型モデルからの少なくとも1つのデータ駆動型モデルの中の訓練データと比較して、前記前処理されたデータの中のドリフトを決定することと、
前記1つまたは複数のハードウェアプロセッサを介して、前記前処理されたデータと一致するレジームを識別することと、
前記1つまたは複数のハードウェアプロセッサを介して、複数の第1のセットのデータ駆動型モデルから、前記識別されたレジームと一致するデータ駆動型モデルを選択することと、
前記1つまたは複数のハードウェアプロセッサを介して、前記選択されたデータ駆動型モデルに対して1つまたは複数の普遍的敵対的攻撃を実行することであって、
複数の反復において、普遍的敵対的摂動を計算することであって、
前記訓練データの中の対応するデータサンプルに対して損失の勾配の方向に最適ステップを取ることによって、前記データから複数の第1のデータサンプルの各々に対する更新を計算することと、
前記計算された更新を前記普遍的敵対的摂動の以前の値に加えることと、
前記計算された更新を加えた後に、前記普遍的敵対的摂動をクリップすることと
を含む、計算すること
を含む、実行することと、
前記1つまたは複数のハードウェアプロセッサを介して、前記1つまたは複数の普遍的敵対的攻撃を実行した後の前記選択されたデータ駆動型モデルのパフォーマンスを推定することと、
前記1つまたは複数の普遍的敵対的攻撃を実行した後の前記選択されたデータ駆動型モデルの前記推定されたパフォーマンスがパフォーマンスのしきい値未満である場合、前記1つまたは複数のハードウェアプロセッサを介して、前記選択されたデータ駆動型モデルを再訓練することであって、前記再訓練することが、
第2のセットのデータ駆動型モデルからの生成モデルを含む複数のデータ拡張技法および複数の敵対的攻撃技法を使用して複数の第2のデータサンプルを生成することであって、前記複数の第2のデータサンプルが前記第1のデータサンプルの分布と同様の分布を有する、生成することと、
前記複数の第1のデータサンプルと前記複数の第2のデータサンプルとの組合せを使用して、前記選択されたデータ駆動型モデルを更新することと
を含む、再訓練することと
を行わせる、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照および優先権
本出願は、2020年7月17日に出願されたインド特許出願第202021030571号の優先権を主張する。
【0002】
本明細書の本開示は、一般に、サイバー物理セキュリティシステムに関し、より詳細には、時系列データに対する普遍的敵対的攻撃の影響を評価するためのおよびそのような攻撃から防御するための方法およびシステムに関する。
【背景技術】
【0003】
世界が自動化に移行するのに伴い、様々なプロセスおよびシステムを自動化する意図で広範囲の研究が行われている。自動化に関して言えば、機械学習は重要な側面である。機械学習技法は、様々なプロセスから取得されたデータの中のパターンを学習し、プロセスを表す1つまたは複数のデータモデルを生成する。そのようなデータモデルは実際のプロセスの動作をエミュレートし、したがって、限定はしないが、産業プロセスの最適化などの用途に使用される。しかしながら、そのようなデータに対する攻撃はデータセキュリティ問題を引き起こす。さらに、そのような攻撃はデータを破損することがあるので、最適化プロセスなどの他の用途に破損されたデータを使用することは意図された結果をもたらさないことがある。たとえば、ヘルスケア産業では、ECG信号は、様々な病気/異常などを診断するための、患者の健康状態を評価するために測定される重要なパラメータである。患者のための適切な治療は、そのような信号の分析に基づいて決定される。しかしながら、ECGデータが敵対的攻撃を使用する攻撃者によって破損された場合、識別された評価および治療は適切ではないことがあり、患者にとって致命傷となることがある。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の実施形態は、従来のシステムにおいて本発明者らによって認識される上述の技術的問題のうちの1つまたは複数に対する解決策としての技術改善を提示する。たとえば、1つの実施形態では、普遍的敵対的攻撃から防御するための、プロセッサによって実施される方法が提供される。1つまたは複数のハードウェアプロセッサを介して、複数のデータソースからのデータが入力として受信される。次いで、1つまたは複数のハードウェアプロセッサを介して、受信されたデータが前処理される。さらに、1つまたは複数のハードウェアプロセッサを介して、複数の第1のセットのデータ駆動型モデルからの少なくとも1つのデータ駆動型モデルの中の訓練データと比較して、前処理されたデータの中のドリフトが決定される。さらに、1つまたは複数のハードウェアプロセッサを介して、前処理されたデータと一致するレジームが識別される。さらに、1つまたは複数のハードウェアプロセッサを介して、複数の第1のセットのデータ駆動型モデルから、識別されたレジームと一致するデータ駆動型モデルが選択される。さらに、1つまたは複数のハードウェアプロセッサを介して、選択されたデータ駆動型モデルに対して1つまたは複数の普遍的敵対的攻撃が実行される。1つまたは複数の普遍的敵対的攻撃を実行することは、複数の反復において、普遍的敵対的摂動を計算することを伴う。普遍的敵対的摂動を計算することは、対応するデータサンプルに対して損失の勾配の方向に最適ステップを取ることによって、データから複数の第1のデータサンプルの各々に対する更新を計算することをさらに伴う。さらに、計算された更新は、普遍的敵対的摂動の以前の値に加えられる。次いで、計算された更新を加えた後に、普遍的敵対的摂動がクリップされる。普遍的敵対的摂動が計算されると、次のステップにおいて、1つまたは複数のハードウェアプロセッサを介して、1つまたは複数の普遍的敵対的攻撃を実行した後の選択されたデータ駆動型モデルのパフォーマンスが推定される。1つまたは複数の普遍的敵対的攻撃を実行した後の選択されたデータ駆動型モデルの推定されたパフォーマンスがパフォーマンスのしきい値未満である場合、1つまたは複数のハードウェアプロセッサを介して、選択されたデータ駆動型モデルが再訓練される。選択されたデータ駆動型モデルの再訓練は、第2のセットのデータ駆動型モデルからの生成モデルを含む複数のデータ拡張技法および複数の敵対的攻撃技法を使用して複数の第2のデータサンプルを生成することであって、複数の第2のデータサンプルが第1のデータサンプルの分布と同様の分布を有する、生成することをさらに伴い、さらなるステップにおいて、複数の第1のデータサンプルと複数の第2のデータサンプルとの組合せを使用して、選択されたデータ駆動型モデルが更新される。
【0005】
別の態様では、普遍的敵対的攻撃から防御するためのシステムが提供される。本システムは、1つまたは複数のハードウェアプロセッサと、通信インターフェースと、複数の命令を含むメモリとを含む。複数の命令は、実行されると、1つまたは複数のハードウェアプロセッサに、複数のデータソースからのデータを入力として受信することを行わせる。次いで、1つまたは複数のハードウェアプロセッサを介して、受信されたデータが前処理される。さらに、1つまたは複数のハードウェアプロセッサを介して、複数の第1のセットのデータ駆動型モデルからの少なくとも1つのデータ駆動型モデルの中の訓練データと比較して、前処理されたデータの中のドリフトが決定される。さらに、1つまたは複数のハードウェアプロセッサを介して、前処理されたデータと一致するレジームが識別される。さらに、1つまたは複数のハードウェアプロセッサを介して、複数の第1のセットのデータ駆動型モデルから、識別されたレジームと一致するデータ駆動型モデルが選択される。さらに、1つまたは複数のハードウェアプロセッサを介して、選択されたデータ駆動型モデルに対して1つまたは複数の普遍的敵対的攻撃が実行される。1つまたは複数の普遍的敵対的攻撃を実行することは、複数の反復において、普遍的敵対的摂動を計算することを伴う。普遍的敵対的摂動を計算することは、対応するデータサンプルに対して損失の勾配の方向に最適ステップを取ることによって、データから複数の第1のデータサンプルの各々に対する更新を計算することをさらに伴う。さらに、計算された更新は、普遍的敵対的摂動の以前の値に加えられる。次いで、計算された更新を加えた後に、普遍的敵対的摂動がクリップされる。普遍的敵対的摂動が計算されると、次のステップにおいて、1つまたは複数のハードウェアプロセッサを介して、1つまたは複数の普遍的敵対的攻撃を実行した後の選択されたデータ駆動型モデルのパフォーマンスが推定される。1つまたは複数の普遍的敵対的攻撃を実行した後の選択されたデータ駆動型モデルの推定されたパフォーマンスがパフォーマンスのしきい値未満である場合、1つまたは複数のハードウェアプロセッサを介して、選択されたデータ駆動型モデルが再訓練される。選択されたデータ駆動型モデルの再訓練は、第2のセットのデータ駆動型モデルからの生成モデルを含む複数のデータ拡張技法および複数の敵対的攻撃技法を使用して複数の第2のデータサンプルを生成することであって、複数の第2のデータサンプルが第1のデータサンプルの分布と同様の分布を有する、生成することをさらに伴い、さらなるステップにおいて、複数の第1のデータサンプルと複数の第2のデータサンプルとの組合せを使用して、選択されたデータ駆動型モデルが更新される。
【0006】
さらに別の態様では、普遍的敵対的攻撃から防御するための非一時的コンピュータ可読記憶媒体が提供される。非一時的コンピュータ可読記憶媒体は複数の命令を含み、複数の命令は、実行されると、1つまたは複数のハードウェアプロセッサに、本明細書で詳述される手法を使用して普遍的敵対的攻撃から防御することを行わせる。1つまたは複数のハードウェアプロセッサを介して、複数のデータソースからのデータが入力として受信される。次いで、1つまたは複数のハードウェアプロセッサを介して、受信されたデータが前処理される。さらに、1つまたは複数のハードウェアプロセッサを介して、複数の第1のセットのデータ駆動型モデルからの少なくとも1つのデータ駆動型モデルの中の訓練データと比較して、前処理されたデータの中のドリフトが決定される。さらに、1つまたは複数のハードウェアプロセッサを介して、前処理されたデータと一致するレジームが識別される。さらに、1つまたは複数のハードウェアプロセッサを介して、複数の第1のセットのデータ駆動型モデルから、識別されたレジームと一致するデータ駆動型モデルが選択される。さらに、1つまたは複数のハードウェアプロセッサを介して、選択されたデータ駆動型モデルに対して1つまたは複数の普遍的敵対的攻撃が実行される。1つまたは複数の普遍的敵対的攻撃を実行することは、複数の反復において、普遍的敵対的摂動を計算することを伴う。普遍的敵対的摂動を計算することは、対応するデータサンプルに対して損失の勾配の方向に最適ステップを取ることによって、データから複数の第1のデータサンプルの各々に対する更新を計算することをさらに伴う。さらに、計算された更新は、普遍的敵対的摂動の以前の値に加えられる。次いで、計算された更新を加えた後に、普遍的敵対的摂動がクリップされる。普遍的敵対的摂動が計算されると、次のステップにおいて、1つまたは複数のハードウェアプロセッサを介して、1つまたは複数の普遍的敵対的攻撃を実行した後の選択されたデータ駆動型モデルのパフォーマンスが推定される。1つまたは複数の普遍的敵対的攻撃を実行した後の選択されたデータ駆動型モデルの推定されたパフォーマンスがパフォーマンスのしきい値未満である場合、1つまたは複数のハードウェアプロセッサを介して、選択されたデータ駆動型モデルが再訓練される。選択されたデータ駆動型モデルの再訓練は、第2のセットのデータ駆動型モデルからの生成モデルを含む複数のデータ拡張技法および複数の敵対的攻撃技法を使用して複数の第2のデータサンプルを生成することであって、複数の第2のデータサンプルが第1のデータサンプルの分布と同様の分布を有する、生成することをさらに伴い、さらなるステップにおいて、複数の第1のデータサンプルと複数の第2のデータサンプルとの組合せを使用して、選択されたデータ駆動型モデルが更新される。
【0007】
上記の全般的な説明と以下の詳細な説明の両方は例示的かつ説明的なものにすぎず、特許請求されるように本発明を限定するものではないことを理解されたい。
【0008】
本開示に組み込まれ、本開示の一部を構成する添付の図面は、例示的な実施形態を示し、本明細書とともに、開示される原則を説明するのに役立つ。
【図面の簡単な説明】
【0009】
【
図1】本開示のいくつかの実施形態による、普遍的敵対的攻撃から防御するための例示的なシステムを示す図である。
【
図2A】本開示のいくつかの実施形態による、
図1のシステムによる、普遍的敵対的攻撃から防御するプロセスに関与するステップを示す流れ図である(
図2Bとまとめて
図2と呼ばれる)。
【
図2B】本開示のいくつかの実施形態による、
図1のシステムによる、普遍的敵対的攻撃から防御するプロセスに関与するステップを示す流れ図である(
図2Aとまとめて
図2と呼ばれる)。
【
図3】本開示のいくつかの実施形態による、
図1のシステムによる、各データ点における普遍的敵対的摂動更新を計算するプロセスに関与するステップを示す流れ図である。
【
図4】本開示のいくつかの実施形態による、普遍的敵対的攻撃から防御するための産業プラント環境の中の
図1のシステムの例示的な実装形態を示す図である。
【発明を実施するための形態】
【0010】
例示的な実施形態は、添付の図面を参照して説明される。図では、参照番号の一番左の数字は、その参照番号が最初に登場する図を識別する。便宜的である場合には、同じまたは同様の部品を指すために、図面全体を通じて同じ参照番号が使用される。開示される原則の例および特徴が本明細書で説明されるが、開示される実施形態の範囲から逸脱することなく、修正形態、適応形態、および他の実装形態が可能である。以下の詳細な説明は例示的なものにすぎないと見なされ、真の範囲は以下の特許請求の範囲によって示されることが意図されている。
【0011】
用語集:
本明細書の方法およびシステムによって対処される時系列データ分類問題の数学的定義が以下で与えられる。
X
i∈R
TはデータセットXのi番目のサンプルであり、Tはサンプルのシーケンス長である
Y
i∈[0,K-1]、ここで、Y
iはi番目のサンプルの真のクラスである
KはXの一意のクラスの数である
【数1】
はX
iに対応する敵対的サンプルである
【数2】
は攻撃者がモデルに予測してほしいX
iに対応する標的クラスである
ε
max∈RはXに対する許容される摂動のL
∞ノルムの上界である
【数3】
はX
iに対する許容される摂動のL
∞ノルムの上界である
f(.):R
T→R
Kは任意のデータ駆動型モデルである
【数4】
はX
iに対応するf(.)によって予測されるクラスである
【数5】
はそれぞれ、非標的型攻撃および標的型攻撃に対する、サンプルX
i、データ駆動型モデルf(.)に対応する損失である
NはBIM(基本反復法(Basic Iterative Method))におけるステップの数である
α∈RはBIMの小さいステップサイズである
R
fooling∈Rは所望のフーリング比、すなわち、所与のデータセットからのだまされたサンプルの割合である
Epoch
foolはR
foolingを達成するために実行すべきエポックの最大数である
U∈R
TはデータセットXに対する普遍的敵対的摂動である
【数6】
はFGSM(高速勾配符号法(Fast Gradient Sign Method))を使用したX
iに対応する敵対的サンプルである
Error(.):はデータセットの誤分類エラー比を計算する。
【0012】
次に図面を、より具体的には、同様の参照符号が対応する特徴を図全体を通して一貫して示している
図1~
図4を参照すると、好ましい実施形態が示されており、これらの実施形態は、以下の例示的なシステムおよび/または方法の文脈で説明される。
【0013】
図1は、本開示のいくつかの実施形態による、普遍的敵対的攻撃から防御するための例示的なシステム(100)を示す。
図1は、本開示のいくつかの実施形態による、実験の設計および実行のための例示的なシステムを示す。一実施形態では、システム100は、プロセッサ104と、代替として入力/出力(I/O)インターフェース106と呼ばれる通信インターフェースデバイスと、プロセッサ104に動作可能に結合された1つもしくは複数のデータ記憶デバイスまたはメモリ102とを含む。一実施形態では、プロセッサ104は1つまたは複数のハードウェアプロセッサ(104)であり得る。一実施形態では、1つまたは複数のハードウェアプロセッサ(104)は、1つまたは複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理ユニット、状態機械、論理回路、および/または動作命令に基づいて信号を操作する任意のデバイスとして実装され得る。数ある能力の中でも、プロセッサ104は、メモリ102に記憶されたコンピュータ可読命令をフェッチし、実行するように構成される。一実施形態では、システム100は、ラップトップコンピュータ、ノートブック、ハンドヘルドデバイス、ワークステーション、メインフレームコンピュータ、サーバ、ネットワーククラウドなどの様々なコンピューティングシステムにおいて実装され得る。
【0014】
I/Oインターフェース106は、様々なソフトウェアインターフェースおよびハードウェアインターフェース、たとえば、ウェブインターフェース、グラフィカルユーザインターフェース(GUI)などを含むことができ、ワイヤードネットワーク、たとえば、LAN、ケーブルなどと、WLAN、セルラー、または衛星などのワイヤレスネットワークとを含む、多種多様なネットワークN/Wおよびプロトコルタイプ内の複数の通信を容易にすることができる。一実施形態では、I/Oインターフェース106は、いくつかのデバイスを互いにまたは別のサーバに接続するための1つまたは複数のポートを含むことができる。たとえば、I/Oインターフェース106は、許可されたユーザがGUIを通じて本明細書で開示されるシステムにアクセスし、1つまたは複数の他の同様のシステム100と通信することを可能にする。
【0015】
メモリ102は、たとえば、スタティックランダムアクセスメモリ(SRAM)およびダイナミックランダムアクセスメモリ(DRAM)などの揮発性メモリ、ならびに/または読取り専用メモリ(ROM)、消去可能プログラマブルROM、フラッシュメモリ、ハードディスク、光ディスク、および磁気テープなどの不揮発性メモリを含む、当技術分野で知られている任意のコンピュータ可読記憶媒体を含み得る。したがって、メモリ102は、システム100のプロセッサ104によって実行される各ステップの入力/出力および本開示の方法に関連する情報を含み得る。システム100による、普遍的敵対的攻撃から防御するプロセスに関与する様々なステップが
図2A~
図3に示されており、システム100の構成要素を参照して以下で説明される。
【0016】
図2Aおよび
図2B(まとめて
図2と呼ばれる)は、本開示のいくつかの実施形態による、
図1のシステムによる、普遍的敵対的攻撃から防御するプロセスに関与するステップを示す流れ図である。
【0017】
システム100は、入力として収集された時系列データに対して標的型攻撃、非標的型攻撃および普遍的敵対的攻撃を実行する。システム100はまた、標的型攻撃、非標的型攻撃および普遍的敵対的攻撃に応答して1つまたは複数のデータ駆動型モデルの再訓練を実行するように構成される。このプロセスを説明するために、産業プラント環境の中のシステム100の動作が考慮され、そのような環境では、システム100は
図4に示すように実装され得る。しかしながら、システム100は、
図2および
図3に示される手法に従うことによって、攻撃、ならびに任意の他のアプリケーション/環境からのデータに対する標的型攻撃、非標的型攻撃および普遍的敵対的攻撃の軽減を実行するように構成され得、そのようなシナリオでは、システム100はそれに応じて要件通りに実装され得ることに留意されたい。
図4に示される様々なデータ処理モジュールは、1つまたは複数のハードウェアプロセッサ104の実装形態であり得る。
【0018】
このプロセスでは、ステップ202において、システム100は、通信インターフェース106を介して、1つまたは複数のデータソースからのデータを入力として受信する。様々な実施形態では、データはリアルタイムデータならびに非リアルタイムデータであり得る。たとえば、システム100が産業プラントからのデータに対する標的型攻撃、非標的型攻撃および普遍的敵対的攻撃の識別を実行するために使用される場合、様々なプロセスパラメータ(たとえば、温度、圧力、流量、レベル、特定の材料の量など)の値がリアルタイム入力として収集されるが、実験室で測定または試験されるパラメータなどのリアルタイムで入手できないパラメータに関する情報(たとえば、使用される物質/材料の化学組成)は非リアルタイム入力/データとして収集される。
【0019】
次いで、システム100は、ステップ204において、データ前処理モジュール401を使用して、受信された入力データを前処理する。データを前処理することは、限定はしないが「範囲外検出」などの1つまたは複数の単変量方法および多変量方法を使用した外れ値の識別および除去を伴い、その後に、システム100による補完、ならびに1つまたは複数のデータソースからの複数の変数の同期および統合が続く。前処理段階の間、システム100はまた、実際的な制限により物理センサを使用して測定することができないパラメータを推定するために、ソフトセンサ推定モジュール402の中の1つまたは複数のソフトセンサと対話し得る。ソフトセンサは、必要な特徴と、必要に応じて、導出された特徴の値とを導出することができる、物理学ベースのモデルおよびデータ駆動型モデルを含む。次いで、前処理されたデータならびにソフトセンサデータ(すなわち、ソフトセンサを使用して導出されたデータ)は、さらなる処理のためにメモリ102の中の適切なデータベースに記憶される。説明のために、データベースに記憶される前処理されたデータおよびソフトセンサデータは、まとめて「前処理されたデータ」と呼ばれる。
【0020】
さらに、システム100は、ステップ206において、ドリフト検出モジュール403を使用して、複数の第1のセットのデータ駆動型モデルからの少なくとも1つのデータ駆動型モデルの中の訓練データと比較して、前処理されたデータの中の任意のドリフトを決定する。この文脈における「訓練データ」という用語は、異なるプロセスパラメータの値に換算したプラント運用およびパフォーマンスの参照データを指し、プラントの予想された/意図されたパフォーマンスである。この文脈における「ドリフト」という用語は、訓練データからの前処理されたデータの逸脱を指し、プラントのパフォーマンスおよび動作パラメータが1つまたは複数の予想されたレベルと一致しないことを示す。システム100のドリフト検出モジュールは、限定はしないが、深層学習ベースのエンコーダ-デコーダ、分離フォレスト、主成分分析および1クラスサポートベクターマシンなどの1つまたは複数の適切な多変量外れ値およびドリフト検出方法を使用して前処理されたデータを分析することによって、ドリフトを決定する。システム100は、前処理されたデータを直接、または前処理されたデータを変換した後に処理し得、ドリフトが検出された場合、システム100はデータをアーカイブし得る。一実施形態では、システム100は、アーカイブされるデータのラベリングを実行し得る。システム100はまた、許可されたユーザがシステム100にアクセスするためのインターフェースを提供し、データのラベリングを支援するための1つまたは複数の入力を提供し得る。システム100によって処理されるデータは、1つまたは複数のレジームに属し得る。一実施形態では、少なくとも1つのデータ駆動型モデルセットはレジームごとに生成され、メモリ102の中のデータベースに記憶される。各データ駆動型モデルセットは、第1のセットのデータ駆動型モデルおよび第2のセットのデータ駆動型モデルをさらに含む。第1のセットのデータ駆動型モデルの中の各データ駆動型モデルは、回帰および分類などの少なくとも1つの時系列モデリングタスクを実行するように訓練される。第1のセットのデータ駆動型モデルは、限定はしないが、回帰のバリアント(多重線形回帰、ステップワイズ回帰、前方回帰、後方回帰、部分的最小二乗回帰、主成分回帰、ガウス過程回帰、多項式回帰など)、決定木およびそのバリアント(ランダムフォレスト、バギング、ブースティング、ブートストラッピング)、サポートベクター回帰、k近傍回帰、スプラインフィッティングまたはそのバリアント(たとえば、多適応的回帰スプライン)、人工ニューラルネットワークおよびそのバリアント(多層パーセプトロン、再帰型ニューラルネットワークおよびそのバリアント、たとえば、長短期記憶ネットワーク、ならびに畳み込みニューラルネットワーク)ならびに時系列回帰モデルなどの統計技法、機械学習技法および深層学習技法を使用して構築され得る。さらに、第1のセットのデータ駆動型モデルは、統計ベース、機械学習ベースまたは深層学習ベースの1クラスまたは多クラス分類、主成分分析などのスコアリングモデルまたは診断モデル、マハラノビス距離、分離フォレスト、ランダムフォレスト分類器、1クラスサポートベクターマシン、人工ニューラルネットワークおよびそのバリアント、楕円エンベロープならびにオートエンコーダ(たとえば、デンスオートエンコーダ、LSTMオートエンコーダ)も含む。第2のセットのデータ駆動型モデルの中の各データ駆動型モデルは、レジームについてのデータの分布を学習し、その分布が対応するレジームの訓練データの分布と一致するデータサンプルを生成する、敵対的生成ネットワークベースの生成モデルである。
【0021】
システム100は、異なるレジームに関する情報を記憶するために使用される、メモリ102の中のデータベースを有し、ここにおいて、各領域に属するデータが指定される。さらに、ステップ208において、システム100は、レジーム識別モジュール404を使用して、メモリ102の中のモデルデータベースの中の1つまたは複数のレジーム識別モデルを使用して前処理されたデータを処理することによって、現在のデータ点またはデータ点のバッチのレジームを識別する。前処理されたデータを処理することによって、システム100は、現在のデータ点またはデータ点のバッチと一致するレジームを識別する。前処理されたデータと一致するレジームを識別している間に、システム100は、複数のデータ駆動型レジーム識別モデルを使用して、(前処理された)入力データが意図されたレジームに属するかまたは大域的外れ値に属するかを決定する。データ駆動型レジーム識別モデルは、ランダムフォレスト分類器、サポートベクターマシン分類器、人工ニューラルネットワークおよびそのバリアント、ならびにオートエンコーダ(たとえば、デンスオートエンコーダ、LSTMオートエンコーダ)などの統計技法、機械学習技法および深層学習技法を使用して構築されるモデルを含む。一実施形態では、一致するレジームが識別されない(すなわち、前処理されたデータと一致するデータがレジームのいずれにも見つからない)場合、システム100は、許可されたユーザが新しいレジームを定義するための適切なインターフェースを提供し得る。
【0022】
レジームが識別される(または新しいレジームが定義される)と、システム100は、ステップ210において、識別されたレジームと一致するデータ駆動型モデルとして、メモリ102の中のデータベースに記憶された複数の第1のセットのデータ駆動型モデルからデータ駆動型モデル(代替的に「モデル」と呼ばれることがある)を選択する。一実施形態では、システム100は、データモデルとレジームとの間のマッピングに基づいて、各レジームと一致するデータ駆動型モデルを選択する。各レジームには一意の「レジームID」が提供され得、次いで、各レジームIDは、1つまたは複数のデータ駆動型モデルとともにマッピングされる(たとえば、「レジームID→データ駆動型モデル「X」」)。そのようなマッピングに関する情報は、システム100によって参照データベースに記憶され得る。リアルタイムデータを処理している間、入力データが属するレジームを識別した後、システム100は、この参照テーブルの中のデータに基づいて、識別されたレジームと一致するデータ駆動型モデルを識別する。
【0023】
ステップ212において、システム100は、選択されたデータ駆動型モデルを使用して少なくとも1つの時系列モデリングタスクを実行する。時系列モデリングタスクは、回帰、分類、異常検出、異常位置特定および予知のうちの少なくとも1つであり得る。選択されたデータ駆動型モデルを使用して少なくとも1つの時系列モデリングタスクを実行することによって、システム100は、予測モジュール408を使用して、観測されるプロセス/システムに関連付けられた様々なパラメータの値を抽出/予測する。そのような抽出/予測されるパラメータのデータの例は、限定はしないが、産業プロセス/機械のヘルスインデックス、キーパフォーマンスインジケータ(KPI:key performance indicator)の推定された値などである。パラメータの予測/抽出のための時系列モデリングタスクを実行するステップは、システム100によってステップ214と並行して実行され得る。
【0024】
さらに、ステップ214において、システム100は、敵対的攻撃モジュール405を使用して、選択されたデータ駆動型モデルに対して1つまたは複数の普遍的敵対的攻撃を実行する。様々な実施形態では、システム100は、選択されたデータ駆動型モデルに対して標的型ならびに非標的型敵対的攻撃を実行する。たとえば、システム100は、選択されたデータ駆動型モデルに対してFGSM(高速勾配符号法)攻撃およびBIM(基本反復法)攻撃を実行する。FGSM攻撃およびBIM攻撃の詳細は以下で与えられる。
【0025】
1. FGSM攻撃:
FGSM攻撃は、入力に対して「損失の勾配」の符号の方向に摂動Xiを加えることによって敵対的サンプルを生成する単一ステップ攻撃である。代替として、非標的型攻撃のための敵対的サンプルは以下によって取得される。
【0026】
【0027】
攻撃者がX
iに対応する標的クラス
【数8】
を予測するためにモデルを誤った方向に導く、標的型攻撃のための敵対的サンプルは以下によって取得される。
【0028】
【0029】
ここで、LTはLの負数に等しい。標的型攻撃の場合、予測されたクラスと標的クラスとの間の損失は最小化されるが、非標的型攻撃の場合、予測されたクラスと真のクラスとの間の損失は最大化される。
【0030】
2. BIM攻撃:
BIM攻撃では、FGSMは、より小さいステップサイズを取ることによってサンプルデータに対して反復的に適用され、各反復の後、出力は、敵対的サンプルが元の入力Xiのε近傍内である一定の事前に指定された限界内にあるような値にクリップされる。
【0031】
非標的型敵対的サンプル
【数10】
は式(4)および(5)を使用して計算される。
【0032】
【0033】
同様に、標的型敵対的サンプル
【数12】
は方程式(6)および(7)を使用して計算される。
【0034】
【0035】
システム100はまた、選択されたデータ駆動型モデルに対して普遍的敵対的攻撃を実行し、ここにおいて、所与のデータセットXに対する普遍的敵対的摂動Uは、Xのデータ入力分布μからの最も多くのサンプルを誤った方向に導くことができるように定義され、式(8)において表される。
【0036】
【0037】
普遍的敵対的摂動は、(a)摂動の無限ノルムがεmax以下である、(b)普遍的敵対的摂動が所望のフーリング比を満たすという2つの条件が満たされるように計算される。これらの条件は以下のように表される。
【0038】
【0039】
選択されたデータ駆動型モデルに対して敵対的攻撃を実行するプロセスに関与する上述のステップは、
図3に示される。ステップ302において、システム100は、対応するデータサンプルに対して損失の勾配の方向に最適ステップを取ることによって、前処理されたデータから複数の第1のデータサンプルの各々の更新を計算する。さらに、ステップ304において、システム100は、計算された更新を普遍的敵対的摂動の以前の値に加える。最初の反復において、普遍的敵対的摂動の「以前の値」は普遍的敵対的摂動の初期値を指す。後続の反復において、普遍的敵対的摂動の「以前の値」は以前の反復の終わりでの普遍的敵対的摂動の累積値を指す。さらに、ステップ306において、敵対的サンプルが一定の事前に指定された限界内にあるように出力がクリップされる。
【0040】
選択されたデータ駆動型モデルに対してそのような敵対的攻撃を実行した後、システム100は、ステップ216において、モデルパフォーマンスモジュール406を使用して、選択されたデータ駆動型モデルに対する敵対的攻撃の影響を評価するために、選択されたデータ駆動型モデルのパフォーマンスを推定する。データ駆動型モデルのパフォーマンスを評価するためにシステム100によって使用されるパラメータのいくつかの例は、精度、リコールまたは真陽性率、偽陽性率、検出漏れ率、全体精度、Fスコア、ROC(受信者操作特性(receiver operating characteristic))曲線下面積、平均二乗誤差(MSE:Mean Square Error)、平均絶対誤差(MAE:Mean Absolute Error)、平方根平均二乗誤差(RMSE:Root Mean Square Error)、ヒット率、決定の係数などを含む。このステップにおいて、Uは、予測されたクラスが誤りである少なくとも少数のサンプルを無視しながら、Xの中のすべてのサンプルにわたって反復することによって計算される。システム100はまた、FGSM攻撃が失敗した少なくとも少数の「ハード」サンプルを無視するように構成される。残りのサンプルの各々について、最小ノルムを有するΔUが、各サンプルに対して損失の勾配の方向に異なるステップサイズを探索することによって計算される。さらに、制約
【数16】
が満たされることを確実にするために、ε
max無限ボールに対してU+ΔUの投影が取られる。
【0041】
次いで、システム100は、選択されたデータ駆動型モデルの推定されたパフォーマンスをパフォーマンスのしきい値と比較する。選択されたデータ駆動型モデルの推定されたパフォーマンスがパフォーマンスのしきい値未満である場合、ステップ218において、システム100は、敵対的攻撃に対する脆弱性を克服するために選択されたデータ駆動型モデルを更新するために、再訓練モジュール407を使用して、選択されたデータ駆動型モデルの再訓練を実行する。この段階において、システム100は、第2のセットのデータ駆動型モデルからの生成モデルを含む複数のデータ拡張技法および複数の敵対的攻撃技法を使用して複数の第2のデータサンプルを生成する。第2のデータサンプルは、第1のデータサンプルの分布と同様の分布を有する。さらに、システム100は、複数の第1のデータサンプルと複数の第2のデータサンプルとの組合せを使用して、選択されたデータ駆動型モデルを更新する。システム100は、この段階において、選択されたデータ駆動型モデルの敵対的訓練を実行する。一実施形態では、システム100は、レジーム固有の訓練データ、レジーム固有の拡張されたデータおよび対応する敵対的サンプルを使用して、各レジームに対応するデータに対してすべてのデータ駆動型モデルの訓練を実行する。データ駆動型モデルの訓練は、モデルにおいて使用される学習技法および変数を変更することを伴い得る。たとえば、選択されたデータ駆動型モデルがランダムフォレスト分類モデルであった場合、再訓練の間に、サポートベクターマシン分類および人工ニューラルネットワーク分類などの、ランダムフォレスト以外の技法も考慮され得る。敵対的サンプルを生成するために、システム100は元のレジーム固有の訓練データおよび対応する拡張されたデータを使用する。各レジーム固有のデータセットのデータ拡張のために、システム100は、GAN、ランダムマスキングおよび量子化などを使用して訓練されたデータ生成器を使用し得る。ランダムマスキングでは、システム100は最初にゼロ値をランダムに選択されたインスタンスに割り当て、次いで、1つまたは複数の適切な単変量および多変量補間アルゴリズムを使用してそれらのインスタンスを補間する。ランダムマスキングの後、システム100は最初に、各単変量時系列データの最小値と最大値との間の固定数のレベルを選ぶ。さらに、時系列データの中の個々のデータ点値は最も近いレベルに丸められる。レジームごとにデータ駆動型モデルに対して敵対的訓練を実行することによって、だますことが難しい、ロバストなレジーム固有の敵対的に訓練されたデータモデルが取得され得る。
【0042】
本明細書は、いかなる当業者も実施形態を作成および使用することを可能にするために本明細書の主題について説明している。主題の実施形態の範囲は特許請求の範囲によって定義され、当業者が思い付く他の修正形態を含み得る。そのような他の修正形態は、それらが特許請求の範囲の文言と異ならない同様の要素を有する場合、またはそれらが特許請求の範囲の文言と実質的な差がない同等の要素を含む場合、特許請求の範囲内にあることが意図されている。
【0043】
本明細書の本開示の実施形態は、データ駆動型モデルにおいて使用される時系列データに対するデータセキュリティの未解決の問題に対処する。したがって、本実施形態は、所与の入力データと一致するレジームを識別し、対応するデータ駆動型モデルを選択し、選択されたデータ駆動型モデルを誤った方向に導くために入力データに対して普遍的敵対的攻撃を実行するための機構を提供する。さらに、本明細書の実施形態は、入力データに対する攻撃によるデータ駆動型モデルの推定されたパフォーマンスがパフォーマンスのしきい値を下回るものとして識別される場合、データ駆動型モデルを再訓練するための機構をさらに提供する。
【0044】
保護の範囲は、そのようなプログラムに、さらに、その中にメッセージを有するコンピュータ可読手段に拡大され、そのようなコンピュータ可読記憶手段は、プログラムがサーバまたはモバイルデバイスまたは任意の適切なプログラマブルデバイス上で動作するとき、本方法の1つまたは複数のステップの実装のためのプログラムコード手段を含むことを理解されたい。ハードウェアデバイスは、たとえば、サーバもしくはパーソナルコンピュータなどのような任意の種類のコンピュータまたはそれらの任意の組合せを含む、プログラムされ得る任意の種類のデバイスであり得る。デバイスはまた、たとえば、ハードウェア手段であり得る手段を含んでもよく、手段は、たとえば、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、またはハードウェア手段とソフトウェア手段との組合せ、たとえば、ASICおよびFPGA、もしくは少なくとも1つのマイクロプロセッサおよびソフトウェア処理構成要素がその中に配置された少なくとも1つのメモリなどである。したがって、手段は、ハードウェア手段とソフトウェア手段の両方を含むことができる。本明細書で説明される方法実施形態は、ハードウェアおよびソフトウェアにおいて実装され得る。デバイスはまた、ソフトウェア手段を含み得る。代替として、本実施形態は、たとえば、複数のCPUを使用して、異なるハードウェアデバイス上で実装され得る。
【0045】
本明細書の実施形態は、ハードウェア要素およびソフトウェア要素を含むことができる。ソフトウェアにおいて実装される本実施形態は、限定はしないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む。本明細書で説明される様々な構成要素によって実行される機能は、他の構成要素または他の構成要素の組合せにおいて実装され得る。本明細書の目的で、コンピュータ使用可能媒体またはコンピュータ可読記憶媒体は、命令実行システム、装置、もしくはデバイスによって、またはそれらに関連して使用するためのプログラムを含む、記憶する、通信する、伝搬する、またはトランスポートすることができる任意の装置であり得る。
【0046】
図示のステップは示された例示的な実施形態を説明するために提示されており、進行中の技術開発は特定の機能が実行されるやり方を変化させるであろうことが予想されるべきである。これらの例は、限定ではなく、例示の目的で、本明細書で提示される。さらに、機能ビルディングブロックの境界は、説明の便宜上、本明細書では任意に定義されている。指定された機能およびそれらの関係が適切に実行される限り、代替の境界が定義され得る。代替形態(本明細書で説明されるものの均等物、拡張形態、変形形態、逸脱形態などを含む)は、本明細書に含まれる教示に基づいて関連分野の当業者に明らかとなろう。そのような代替形態は、開示される実施形態の範囲内に入る。また、「備える(comprising)」、「有する(having)」、「含む(containing)」、および「含む(including)」という語および他の同様の形態は、意味が同等であり、これらの語のうちのいずれか1つが続く1つまたは複数の項目はそのような1つまたは複数の項目の網羅的なリストとなるものではなく、リストされた1つまたは複数の項目のみに限定されるものでもないという点で、オープンエンドであることが意図されている。本明細書および添付の特許請求の範囲で使用される場合、文脈が別段に明確に示さない限り、単数形「a」、「an」、および「the」は複数の参照を含むことにも留意されなければならない。
【0047】
さらに、1つまたは複数のコンピュータ可読記憶媒体は、本開示と一致する実施形態を実装する際に利用され得る。コンピュータ可読記憶媒体は、プロセッサによって読取り可能な情報またはデータが記憶され得る任意のタイプの物理メモリを指す。したがって、コンピュータ可読記憶媒体は、プロセッサに本明細書で説明される実施形態と一致するステップまたは段階を実行させるための命令を含む、1つまたは複数のプロセッサによる実行のための命令を記憶し得る。「コンピュータ可読記憶媒体」という用語は、有形の項目を含み、搬送波および過渡信号を除外する、すなわち、非一時的であると理解されるべきである。例は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、揮発性メモリ、不揮発性メモリ、ハードディスク、CD ROM、DVD、フラッシュドライブ、ディスク、および任意の他の知られている物理記憶媒体を含む。
【0048】
本開示および例は例示的なものにすぎないと見なされ、開示される実施形態の真の範囲は添付の特許請求の範囲によって示されることが意図されている。
【符号の説明】
【0049】
100 システム
102 メモリ
104 プロセッサ
106 入力/出力(I/O)インターフェース
200 プロセッサ実施方法
401 データ前処理モジュール
402 ソフトセンサ推定モジュール
403 ドリフト検出モジュール
404 レジーム識別モジュール
405 敵対的攻撃モジュール
406 モデルパフォーマンスモジュール
407 再訓練モジュール
408 予測モジュール
【外国語明細書】