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

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

▶ ザルトリウス ステディム データ アナリティクス アーベーの特許一覧

特許7223839異常検出および/または予知保全のためのコンピュータ実装方法、コンピュータプログラム製品およびシステム
<>
  • 特許-異常検出および/または予知保全のためのコンピュータ実装方法、コンピュータプログラム製品およびシステム 図1
  • 特許-異常検出および/または予知保全のためのコンピュータ実装方法、コンピュータプログラム製品およびシステム 図2
  • 特許-異常検出および/または予知保全のためのコンピュータ実装方法、コンピュータプログラム製品およびシステム 図3
  • 特許-異常検出および/または予知保全のためのコンピュータ実装方法、コンピュータプログラム製品およびシステム 図4
  • 特許-異常検出および/または予知保全のためのコンピュータ実装方法、コンピュータプログラム製品およびシステム 図5
  • 特許-異常検出および/または予知保全のためのコンピュータ実装方法、コンピュータプログラム製品およびシステム 図6
  • 特許-異常検出および/または予知保全のためのコンピュータ実装方法、コンピュータプログラム製品およびシステム 図7
  • 特許-異常検出および/または予知保全のためのコンピュータ実装方法、コンピュータプログラム製品およびシステム 図8
  • 特許-異常検出および/または予知保全のためのコンピュータ実装方法、コンピュータプログラム製品およびシステム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-08
(45)【発行日】2023-02-16
(54)【発明の名称】異常検出および/または予知保全のためのコンピュータ実装方法、コンピュータプログラム製品およびシステム
(51)【国際特許分類】
   G06N 3/04 20230101AFI20230209BHJP
   G05B 23/02 20060101ALI20230209BHJP
   G01M 99/00 20110101ALI20230209BHJP
   G01H 17/00 20060101ALI20230209BHJP
【FI】
G06N3/04
G05B23/02 302Z
G01M99/00 A
G01H17/00 Z
【請求項の数】 15
(21)【出願番号】P 2021512922
(86)(22)【出願日】2019-09-05
(65)【公表番号】
(43)【公表日】2022-01-04
(86)【国際出願番号】 EP2019073670
(87)【国際公開番号】W WO2020049087
(87)【国際公開日】2020-03-12
【審査請求日】2021-07-12
(31)【優先権主張番号】18192649.4
(32)【優先日】2018-09-05
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】19180972.2
(32)【優先日】2019-06-18
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】521091099
【氏名又は名称】ザルトリウス ステディム データ アナリティクス アーベー
(74)【代理人】
【識別番号】110000796
【氏名又は名称】弁理士法人三枝国際特許事務所
(72)【発明者】
【氏名】シェーグレン リカルド
(72)【発明者】
【氏名】トリグ ヨハン
【審査官】河合 弘明
(56)【参考文献】
【文献】中国特許出願公開第107655850(CN,A)
【文献】特表平11-510604(JP,A)
【文献】国際公開第2016/132468(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02- 3/10
G05B 23/02
G01M 99/00
G01H 17/00
G06N 20/00-20/20
(57)【特許請求の範囲】
【請求項1】
対象のエンティティにおける異常検出のためのコンピュータ実装方法であって、
前記コンピュータ実装方法は、
新しい観測値を受信することであって、前記新しい観測値は、前記エンティティの少なくとも1つのパラメータを特徴付けることと、
前記新しい観測値を深層ニューラルネットワーク(100)に入力することであって、前記深層ニューラルネットワーク(100)は、複数の隠れ層を有し、前記深層ニューラルネットワーク(100)に入力できる可能性のある観測値を含むトレーニングデータセットを使用してトレーニングされることと、
前記受信した新しい観測値を前記深層ニューラルネットワーク(100)に入力することにより、前記深層ニューラルネットワーク(100)の前記複数の隠れ層のうちの少なくとも1つから出力される中間出力値の第2のセットを取得することと、
記憶媒体に格納された潜在変数モデルを使用して、前記中間出力値の第2のセットを射影値の第2のセットにマッピングすることと、
前記潜在変数モデルおよび前記射影値の第2のセットに基づいて、前記受信した新しい観測値が前記トレーニングデータセットに関して外れ値であるかどうかを判断することと、
前記深層ニューラルネットワーク(100)によって、前記新しい観測値の予測を計算することと、
前記予測および前記新しい観測値が外れ値であるかどうかの前記判断に基づいて、前記エンティティに少なくとも1つの前記異常が発生したことを示す結果を判断することとを含み、
前記記憶媒体に格納された前記潜在変数モデルは、
前記深層ニューラルネットワーク(100)の前記複数の隠れ層のうちの前記1つから出力される中間出力値の第1のセットを取得することであって、前記中間出力値の第1のセットのそれぞれは、前記トレーニングデータセットの少なくとも一部に含まれる前記可能性のある観測値の異なる1つを入力することによって取得されることと、
前記中間出力値の第1のセットを使用して前記潜在変数モデルを構築することであって、前記潜在変数モデルは、前記中間出力の前記セットの次元よりも低い次元を有する前記潜在変数モデルの部分空間内の射影値の第1のセットへ前記中間出力値の第1のセットのマッピングを提供することと、によって構築される潜在変数モデルである、
コンピュータ実装方法。
【請求項2】
データを処理するための前記深層ニューラルネットワーク(100)および前記深層ニューラルネットワーク(100)をトレーニングするために使用されるトレーニングデータセットの少なくとも一部を取得することであって、前記深層ニューラルネットワークは、複数の隠れ層を含み、前記トレーニングデータセットを使用してトレーニングされ、前記トレーニングデータセットは、前記深層ニューラルネットワークに入力できる可能性のある複数の観測値を含むことと、
前記複数の隠れ層のうちの少なくとも1つから出力される中間出力値の第1のセットを取得することであって、前記中間出力値の第1のセットのそれぞれは、前記トレーニングデータセットの前記少なくとも一部に含まれる前記可能性のある観測値の異なる1つを入力することによって取得できることと、
前記中間出力値の第1のセットを使用して潜在変数モデルを構築または適合することであって、前記潜在変数モデルは、前記中間出力の前記セットの次元よりも低い次元を有する部分空間内の射影値の第1のセットへの前記中間出力値の第1のセットのマッピングを提供することと、
前記潜在変数モデルおよび前記射影値の第1のセットを、記憶媒体に格納することと、
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記受信した新しい観測値が外れ値であるかどうかを判断するステップは、
前記射影値の第1のセットの分布に関して、前記射影値の第2のセットの距離を判断することと、
前記計算された距離が前記判断された距離の閾値よりも大きい場合、前記受信した新しい観測値が前記トレーニングデータセットに関して外れ値であると判断することとを、
含む、請求項1または2に記載の方法。
【請求項4】
前記距離の前記閾値は、距離に基づいて決定され、前記距離のそれぞれは、前記射影値の第1のセットの前記分布に関して前記射影値の第1のセットの異なる1つに対して計算される、請求項3に記載の方法。
【請求項5】
前記距離が、複合距離、残差平方和、マハラノビス距離、または局所外れ値因子のうちの1つである、請求項3または4に記載の方法。
【請求項6】
前記受信した新しい観測値が外れ値であるかどうかを判断するステップは、
前記潜在変数モデルおよび前記射影値の第2のセットを使用して、前記中間出力値の第2のセットに対応する中間出力値の近似セットを判断することと、
前記中間出力値の第2のセットおよび前記中間出力値の近似セットに対して、二乗近似残差を計算することと、
前記計算された二乗近似残差が前記二乗近似残差の閾値よりも大きい場合、前記受信した観測値が前記トレーニングデータセットに関して外れ値であると判断することと、
を含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記二乗近似残差の前記閾値は、二乗近似残差に基づいて判断され、前記二乗近似残差のそれぞれは、前記中間出力値の第1のセットの異なる1つ、および前記中間出力値の第1のセットの一つに対応する中間出力値の近似セットについて計算される、請求項6に記載の方法。
【請求項8】
前記中間出力値の第1のセットを取得し、前記潜在変数モデルを構築するステップは、前記複数の隠れ層のうちの2つ以上に対して実行され、
前記中間出力値の第2のセットを取得し、前記中間出力値の前記第2のセットを前記射影値の第2のセットにマッピングするステップは、前記複数の隠れ層のうちの前記2つ以上に関して実行され、
前記受信した新しい観測値が外れ値であるかどうかを判断するステップは、前記潜在変数モデル、および前記複数の隠れ層の前記2つ以上に関して取得された前記射影値の第2のセットに基づいて実行される、
請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記深層ニューラルネットワーク(100)の前記複数の隠れ層のうちの少なくとも1つから出力される前記中間出力値を取得するステップは、前記複数の隠れ層の前記の少なくとも1つからの活性化を判断することと、および、任意選択で、前記判断された活性化にグローバルプーリングを適用することと、を含む、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記潜在変数モデルが、主成分分析に従って、またはオートエンコーダを使用して構築される、請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記観測値は、1つまたは複数のセンサによる物理的測定に基づいて取得される、請求項1から10のいずれか一項に記載の方法。
【請求項12】
エンティティの予知保全のためのコンピュータ実装方法であって、
前記エンティティに対して実行された少なくとも1つのセンサ測定からのセンサデータに基づいて新しい観測値を取得し、
請求項1から11のいずれか一項の方法に従って、前記エンティティの少なくとも1つの前記異常の発生を示す結果を判断し、
少なくとも1つの前記異常の発生を示す前記結果に基づいて、修正処置を講じる必要があるかどうか、および、任意選択で講じるべき前記修正処置の種類を判断する、
コンピュータ実装方法。
【請求項13】
コンピュータにロードされて実行されると、請求項1から12のいずれか一項に記載の方法を前記コンピュータに実行させる、コンピュータ可読命令を含むコンピュータプログラム製品。
【請求項14】
エンティティの異常検出または予知保全のためのシステムであって、
前記エンティティの少なくとも1つのパラメータを特徴付ける1つまたは複数の観測値を取得するためのデータ収集ユニットと、
深層ニューラルネットワーク(100)のトレーニングに使用されるトレーニングデータセットを格納する記憶媒体(12)であって、前記深層ニューラルネットワーク(100)は、複数の隠れ層を含み、前記トレーニングデータセットを使用してトレーニングされ、前記トレーニングデータセットは、前記深層ニューラルネットワーク(100)に入力できる可能性のある観測値を含む、記憶媒体(12)と、
請求項1から12のいずれか一項に記載の方法を実行するように構成された少なくとも1つのプロセッサを含む予測分析ユニットと、
を含む、システム。
【請求項15】
前記エンティティの少なくとも1つのパラメータを測定するための少なくとも1つのセンサと、
前記少なくとも1つのセンサと、前記データ収集ユニット、および/または前記少なくとも1つのプロセッサとの間のデータ転送のためのデータ通信ユニットと、
をさらに含む、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、異常検出および/または予知保全のためのコンピュータ実装方法、コンピュータプログラム製品およびシステムに関し、特に、構造化データまたは非構造化データにおいて外れ値の検出を使用することに関する。
【背景技術】
【0002】
予知保全、サイバーセキュリティ、不正防止など、様々なシステムにおける異常検出がますます普及している。このようなシステムでは、システムの適切な機能を損なう可能性のある異常を、確実かつ迅速に検出することが重要である。
【0003】
例えば、予知保全技術は、機器(例えば、機械や機械部品)の破損を防ぐために、いつ保守が必要かを自動的に判断することを目的としている。機器の劣化を自動的に見積もることにより、定期的または時間に基づく保守と比較して、大幅なコスト削減を実現できる。対照的に、固定された日程で計画すると、保守が必要以上に早く実行され、過剰な費用が発生するリスクがある。また、機器が予想よりも早く故障し、致命的な障害やプロセスの停止につながる可能性があるというリスクがある。
【0004】
予測分析の方法論は、大きく2つの異なる方法論に分けることができる。まず、いわゆる教師なしのモデリング/機械学習を使用して、外部ラベルを必要とせずに、調査対象のシステムの通常の状態をモデル化できる。教師なしモデリングは、「機器は正常に動作しているかどうか」という質問に答えることができるが、システムを調査するためのさらなる手がかりは提供しない。より広く適用されている別のアプローチは、教師ありのモデリング/機械学習を使用することである。通常、履歴データが収集され、過去に発生した障害がドメインエキスパートによって調査され、障害の種類に分類され、場合によっては障害を修正するためにアクションが実行される。次に、予測モデルをトレーニングして、発生する障害の時期と種類を予測し、システムを修正する方法に関するガイダンスを提供する。後者の場合、人工ニューラルネットワークに基づくモデルを使用して、保守が必要な時期を予測できる。
【0005】
人工ニューラルネットワークモデルは、予知保全の多くの用途で使用されている。完全には網羅されていないが、リストとしては、次のものが含まれる:
-ニューラルネットワークモデルを使用し、測定された物理パラメータに基づいて、物理システムの状態を分類する。つまり、事前に決定された動作条件(良好、不良、未決定など)に従って、システムを分類する(例:特許文献1~4を参照)。具体的なシステム例は、次のものが含まれる:
o石炭燃焼プラント(例:特許文献5を参照);
o金型鋳造(例:特許文献6を参照);
o電気自動車用のバッテリ製造(例:特許文献7を参照);
o石油およびガスの地表機器(例:特許文献8を参照);
o電気モータ(例:特許文献9を参照);
oリカレントニューラルネットワークを使用した鉄道車両の保守(例:特許文献10を参照);
o産業プラントの制御弁(例:特許文献11を参照);
-ニューラルネットワークを使用して、機器の残存寿命を予測する(例:特許文献12、13を参照)。具体的なシステム例は、次のものが含まれる:
o振動に基づくフライス盤のカッターヘッド(例:特許文献14を参照);
・汚染物質が決定された制限内にあるかどうかを判断するために、製造工場の汚染物質のソフトセンサとして、ニューラルネットワークモデルを使用する(例:特許文献15を参照);
システム状態を分類するための方法例として、ニューラルネットワークモデルを使用する(例:特許文献16~20を参照);
その他の例には、以下が含まれるが、これらに限定されない。
・振動監視に基づく軸受の残存寿命の予測(例:非特許文献1を参照);
ニューラルネットワークを含む3つの統計的回帰法を使用した水力発電ユニットの故障予測(例:非特許文献2を参照);
・軸受の残存寿命の予測(例:非特許文献3~5を参照);
・運動電流の徴候に基づく、モータ負荷の分類(例:非特許文献6を参照);
・風力タービンのギアボックス軸受の早期故障検出(例:非特許文献7、8を参照);
・赤外線サーモグラフィの使用に基づく、電気機器の熱欠陥の検出(例:非特許文献9を参照);
・振動信号と音信号に基づく、電気モータ駆動のウォームギアの故障分類(例:非特許文献10を参照);
・荷重、速度、ヨー角の特性に基づく、車輪とレールの摩耗予測(例:非特許文献11を参照);
・集光型太陽光発電所の管欠陥検出のための吸収体パイプの温度予測(例:非特許文献12を参照);
【0006】
異常検出のためのニューラルネットワークの他の用途には、例えば、ネットワーク侵入や他の種類の悪意のある攻撃などのサイバーセキュリティ脅威を検出することが含まれる。例えば、ネットワークトラフィックは、機械学習技術を使用してモデル化し得る。例として、悪意のあるアクションおよび/またはアクタを示すトラフィックパターンの微妙な変化を検出し、侵入として分類し得る。もう1つの例は、金融取引における不正、疑わしいパターン、または特定傾向を検出することである。例えば、履歴データを使用して、機械学習に基づく分類器をトレーニングして、トランザクションまたはアクタ(例えば、不正または信頼できる)を分類したり、傾向を識別したりできる。
【0007】
上記用途に共通するのは、システムを特徴付けるために蓄積されたデータ(例えば、履歴データなど)を使用することと、正常動作と既知の種類の異常とを区別するために機械学習モデルを使用することである。機械学習モデルは、深層学習モデルであり得る。深層ニューラルネットワークを使用した深層学習は、深層ニューラルネットワークによって学習された強力な変換のおかげで、多くの用途で非常に普及している。深層ニューラルネットワークは、入力層、出力層、および入力層と出力層の間に複数の隠れ層を有する人工ニューラルネットワークであり得る。深層ニューラルネットワークを使用した深層学習モデルの用途の長いリストが、そのようなモデルが幅広い用途において教師あり予知保全と異常検出にうまく使用できることを示している。しかし、深層学習やニューラルネットワークを含むすべてのデータ駆動型モデリングの問題の1つは、モデルのトレーニング中に遭遇する観測値とは異なる観測値を処理できないことである。つまり、予測中に外れ値を処理することはできない。外れ値(外れ値の観測値)は、モデルのトレーニングに使用されるデータとは、大幅に異なる観測値であり得る。外れ値は、モデルが以前に遭遇したものとは大幅に異なるため、このような状況ではモデル動作が定義されていない、すなわち、予測を信頼することができない。外れ値が検出されたときのモデル動作が定義されていないので、以前に不明であった種類のエラーは、検出されないことがある。
【0008】
ただし、自動運転車、診断アプリケーション、発電所制御システムなどの重要なシステムで深層学習を採用する場合は、未知の種類の異常にもフラグを立てることが極めて重要になり得る。さらに、深層学習システムによって提供される予測を信頼するべきでないことを、理解することが重要になり得る。言い換えれば、深層学習システムによって提供される予測が正確であるかどうかだけでなく、深層学習システムが、そもそも予測する必要があるかどうかを知る必要ことが重要になり得る。学習された表現の限界を理解し、新しい種類のデータまたは深層学習システムによって認識されないデータに遭遇したときを認識することによって、自律的な決定を改善することができる。
【0009】
深層ニューラルネットワークが予測の不確実性を記述できるようにするために、多くの異なる方法が提案されている。これらの方法の多くは、予測中にポイント推論ではなくベイズ推論を実行するように深層ニューラルネットワークをトレーニングすることに基づいている。これは、単一ポイントを予測するのではなく、ネットワークが可能なポイント分布を予測するようにトレーニングされていることを意味する。直感的には、モデルで説明できない観測値は、分布が広いか、不確実性が大きいことになる。ベイズ予測を実行するための一般的な解決策の1つは、いわゆるモンテカルロドロップアウト(MCドロップアウト)であり、Y.GalおよびZ.Gharamaniによる「Dropout as a Bayesian approximation:Representing model uncertainty in deep learning」(機械学習の国際会議、2016年、第1050~1059頁)で、開示されている。MCドロップアウトは、「ドロップアウト」を使用してトレーニングされたニューラルネットワークに適用できる。これは、トレーニングフェーズ中のニューラルネットワーク内の一部のユニット(例、ニューロン、ノード)をドロップアウトする(または、言い換えると、無視する)ことで、ニューラルネットワークの過剰適合を減らすための正則化手法である。MCドロップアウトは、予測のためにいわゆるモンテカルロサンプリングを使用して、予測ごとに複数の推論を行い、予測時間中にネットワークニューロンをランダムに排除またはドロップアウトする。様々な予測は、ドロップアウトによって異なり、予測分布を表す。次に、結果の分布のエントロピーまたは分散を計算することにより、予測の不確実性を定量化できる。
【0010】
ドロップアウトを使用してモンテカルロサンプルを生成する他の方法には、バッチ正規化パラメータに基づくサンプリング(M.Teye、H.Azizpour、およびK.Smithによる「Bayesian Uncertainty Estimation for Batch Normalized Deep Networks」、アーカイヴ180206455Stat、2018年2月)、アンサンブル内の様々なモデルからの予測(B.Lakshminarayanan、A.Pritzel、およびC.Blundellによる「Simple and scalable predictive uncertainty estimation using deep ensembles」、ニューラル情報処理システムの進歩、2017年、第6405~6416頁)、共有に基づくネットワーク内の複数の「予測ヘッド」(I.Osband、C.Blundell、A.Pritzel、およびB.Van Royによる「Deep exploration via bootstrapped DQN」、ニューラル情報処理システムの進歩、2016年、第4026~4034頁、E.Ilgらによる「Uncertainty Estimates for Optical Flow with Multi-Hypotheses Networks」、アーカイヴ180207095Cs、2018年2月)、通常点の重みではなく重み分布の変分推論(C.Blundell、J.Cornebise、K.Kavukcuoglu、およびD.Wierstraによる「Weight uncertainty in neural networks」、アーカイヴ・プレプリント、アーカイヴ150505424、2015年)、および、既存の重みからの分布のラプラス近似(H.Ritter、A.Botev、およびD.Barberによる「A Scalable Laplace Approximation for Neural Networks」、2018年2月)、を含む。
【0011】
ただし、これらの方法は、使用されるモデルの種類を前提とし、ネットワークの構築またはトレーニングの方法を制約したり、および/または、予測ごとに複数の推論に依存したりする可能性がある。これにより、複数の推論を行うことが実用的でないリアルタイムシステム、および/または、制約に適合しない既存システムへの一般的な適用性が制限される可能性がある。
【先行技術文献】
【特許文献】
【0012】
【文献】US2019/0137985A1
【文献】EP0633536A1
【文献】US5566092A
【文献】JP5643387B2
【文献】CN109255440A
【文献】KR101677358B1
【文献】CN106168799B
【文献】US8676721B2
【文献】CN108921303A
【文献】EP3179326A1
【文献】US2016/0071004A1
【文献】DE10161633A1
【文献】US7457785B1
【文献】US8781982B1
【文献】EP0712509B1
【文献】EP2871803B1
【文献】US8275642B2
【文献】FR2698704A1
【文献】US6298308B1
【文献】JP5043839B2
【非特許文献】
【0013】
【文献】Wu S、Gebraeel N、Lawley MA、YihY.Aによる「Neural Network Integrated Decision Support System for Condition-Based Optimal Predictive Maintenance Policy」、IEEEシステム、人間、サイバネティックス上のトランザクション、Part Syst Hum、2007年3月、第37号(2)、第226~36頁
【文献】Lucifredi A、Mazzieri C、Rossi Mによる「APPLICATION OF MULTIREGRESSIVE LINEAR MODELS,DYNAMIC KRIGING MODELS AND NEURAL NETWORK MODELS TO PREDICTIVE MAINTENANCE OF HYDROELECTRIC POWER SYSTEMS」、機械システムと信号処理、2000年5月1日、第14号(3)、第471~94頁
【文献】Huang R、Xi L、Li X、Richard Liu C、Qiu H、Lee Jによる「Residual life predictions for ball bearings based on self-organizing map and back propagation neural network methods」、機械システムと信号処理、2007年1月1日、第21号(1)、第193~207頁
【文献】Shao Y、Nezu Kによる「Prognosis of remaining bearing life using neural networks」、英国機械学会の論文講演集、Part J Sys Control Eng、2000年5月1日、第214号(3)、第217~30頁
【文献】Vachtsevanos G、Wang Pによる「Fault prognosis using dynamic wavelet neural networks」、2001IEEEオートテストコン論文講演集IEEEシステム即応性技術会議(Cat No01CH37237)2001年、第857~70頁
【文献】Bansal D、Evans DJ、Jones Bによる「A real-time predictive maintenance system for machine systems」、機械ツールと製造の国際学術誌、2004年6月1日、第44号(7)、第759~66頁
【文献】Bangalore P,Letzgus S,Karlsson D,Patriksson Mによる「An artificial neural network-based condition monitoring method for wind turbines,with application to the monitoring of the gearbox」、風力エネルギー、2017年、第20号(8)、第1421~38頁
【文献】Bangalore P,Tjernberg LBによる「An Artificial Neural Network Approach for Early Fault Detection of Gearbox Bearings」、IEEE Transactions Smart Grid、2015年3月、第6号(2)、第980~7頁
【文献】Huda ASN,Taib Sによる「Application of infrared thermography for predictive/preventive maintenance of thermal defect in electrical equipment」、応用熱技術、2013年11月3日、第61号(2)、第220~7頁
【文献】Waqar T、Demetgul Mによる「Thermal analysis MLP neural network based fault diagnosis on worm gears」、メジャメント、2016年5月1日、86号、第56~66頁
【文献】Shebani A、Iwnicki Sによる「Prediction of wheel and rail wear under different contact conditions using artificial neural networks」、Wear、2018年7月15日、406~407号、第173~84頁
【文献】Jimenez AA、Munoz CQG、Marquez FPG、Zhang Lによる「Artificial Intelligence for Concentrated Solar Plant Maintenance Management」、Xu J、Hajiyev A、Nickel S、Gen M、editors、経営科学と工学管理に関する第10回国際会議の講演論文集、シュプリンガー、シンガポール、2017年、第125~34頁(インテリジェントシステムとコンピューティングの進歩)
【文献】Saxena A、Goebel K、Simon D、Eklund Nによる「Damage propagation modeling for aircraft engine run-to-failure simulation」、2008年の予後と健全性管理に関する国際会議、2008年、第1~9頁
【文献】Gers FA、Schmidhuber J、Cummins Fによる「Learning to Forget:Continual Prediction with LSTM」、ニューロコンピューティング、1999年、第12号、第2451~2471頁
【文献】Hochreiter S,Schmidhuber Jによる「Long short-term memory」、ニューロコンピューティング、1997年、第9号(8)、第1735~1780頁
【文献】Kingma DP、Ba J.Adamによる「A Method for Stochastic Optimization」、アーカイヴ14126980Cs[Internet]、2014年12月22日[2018年7月3日引用]http://arxiv.org/abs/1412.6980から入手可能
【発明の概要】
【0014】
本出願は、上記の課題の1つまたは複数に対処する。したがって、一態様によれば、課題は、既知の種類のイベントだけでなく、これまで知られていなかった未知の種類のイベントも処理できる、異常検出および/または予知保全のための改善された方法およびシステムに関する。さらなる課題は、深層ニューラルネットワークへの観測値入力に対して深層ニューラルネットワークによって与えられる予測の信頼性を効率的に評価することである。
【0015】
本課題は、独立した請求項によって開示された特徴によって解決される。さらなる例示的な実施形態は、従属した請求項によって定義される。
【0016】
一態様によれば、対象のエンティティ(例えば、監視されたエンティティ)における異常検出のためのコンピュータ実装方法が提供される。
【0017】
この方法は、
新しい観測値を受信することであって、前記新しい観測値は、エンティティの少なくとも1つのパラメータを特徴付けることと、
複数の隠れ層を有する深層ニューラルネットワークに新しい観測値を入力し、深層ニューラルネットワークに入力できる可能性のある観測値を含むトレーニングデータセットを使用してトレーニングされることと、
受信した新しい観測値を深層ニューラルネットワークに入力することであって、深層ニューラルネットワークの複数の隠れ層の少なくとも1つから出力される中間出力値の第2のセットを取得することと、
記憶媒体に格納された潜在変数モデルを使用して、中間出力値の第2のセットを射影値の第2のセットにマッピングすることと、
潜在変数モデルおよび射影値の第二のセットに基づいて、受信した新しい観測値がトレーニングデータセットに関して、外れ値であるかどうかを判断することとを含み、
記憶媒体に格納された潜在変数モデルは、
深層ニューラルネットワークの複数の隠れ層のうちの前記1つから出力される中間出力値の第1のセットを取得することであって、中間出力値の第1のセットのそれぞれは、トレーニングデータセットの少なくとも一部に含まれる可能性のある観測値の異なる1つを入力することによって取得されることと、
中間出力値の第1のセットを使用して潜在変数モデルを構築/適合することであって、潜在変数モデルは、中間出力のセットの次元よりも低い次元を有する潜在変数モデルの部分空間内の射影値の第1のセットへ中間出力値の第1のセットのマッピングすることと、
によって構築される。
【0018】
別の態様によれば、対象のエンティティにおける異常検出のためのコンピュータ実装方法が提供される。この方法は、
深層ニューラルネットワークおよび深層ニューラルネットワークをトレーニングにするために使用されるトレーニングデータセットの少なくとも一部を取得することであって、深層ニューラルネットワークは、複数の隠れ層を含み、トレーニングデータセットを使用してトレーニングされ、トレーニングデータセットは、深層ニューラルネットワークに入力できる複数の可能性のある観測値が含むことと、
複数の隠れ層のうちの少なくとも1つから出力される中間出力値の第1のセットを取得することであって、中間出力値の第1のセットのそれぞれは、トレーニングデータセットの少なくとも一部に含まれる可能性のある観測値の異なる1つを入力することによって取得することと、
中間出力値の第1のセットを使用して潜在変数モデルを構築(つまり適合)することであって、潜在変数モデルは、中間出力のセットの次元よりも低い次元を有する潜在変数モデルの部分空間内の射影値の第1のセットへの中間出力値の第1のセットのマッピングを提供することと、
深層ニューラルネットワークに入力される新しい観測値を受信することと、
受信した新しい観測値を深層ニューラルネットワークに入力することにより、深層ニューラルネットワークの複数の隠れ層のうちの前記少なくとも1つから出力される中間出力値の第2のセットを取得することと、
潜在変数モデルを使用して、中間出力値の第2のセットを射影値の第2のセットにマッピングすることと、
潜在変数モデルおよび射影値の第2のセットに基づいて、受信した観測値がトレーニングデータセットに関して外れ値であるかどうかを判断することと、
を含む。
【0019】
受信した観測値が外れ値であると判断された場合、受信した観測値に対して深層ニューラルネットワークによって与えられた予測(例えば、出力)は、新しい種類の異常であると仮定され得、および/または、受信した観測値が外れ値ではないと判断された場合に、予測は信頼性が低いと、仮定され得る。したがって、上記の態様のいずれかによる方法は、
深層ニューラルネットワークによって、新しい観測値の予測を計算することと、
予測および新しい観測値が外れ値であるかどうかを判断に基づいて、エンティティに少なくとも1つの異常が発生したことを示す結果を判断することと、
をさらに含み得る。
【0020】
さらに別の態様によれば、対象のエンティティの予知保全のためのコンピュータ実装方法が提供される。この方法は、
観測されるエンティティに対して実行された少なくとも1つのセンサ測定からのセンサデータに基づいて新しい観測値を取得することと、
本明細書に記載の様々な態様、例、および実施形態の方法に従って、エンティティの少なくとも1つの異常の発生を示す結果を判断することと、
少なくとも1つの異常の発生を示す結果に基づいて、修正処置を講じる必要があるかどうか、および、任意選択で講じるべき修正処置の種類を、判断することと、
を含む。
【0021】
対象のエンティティは、任意の種類のエンティティ、例えば、機器(機械または機械部品など)、または、複数の機器を含むより複雑な技術システムであり得る。観測されるエンティティの非限定的な例は、バイオリアクタ、発酵槽、発電所、産業プラント、車両、石油、ガス、太陽エネルギーまたは風力エネルギー機器、モータ、バッテリ、制御弁、ギアなどである。観測されるエンティティはまた、コンピュータまたはコンピュータネットワークなどのコンピュータシステム、例えば、金融取引を可能にするコンピュータシステム/ネットワークであり得る。
【0022】
異常は、対象のエンティティの通常操作および/または通常状態からの逸脱であり得る。例えば、異常は、センサデータ、ネットワークトラフィック量および/またはパターン、ユーザの行動および/または生体認証特性などの逸脱に関連し得る。
【0023】
観測値は、観測されるエンティティの少なくとも1つのパラメータを特徴付けるまたは示す、任意のデータであり得る。例えば、データは、1つまたは複数の機器の特性の状態を測定する1つまたは複数のセンサによって取得されたデータ、ネットワークトラフィックを特徴付けるデータ(例えば、ネットワーク上の異なるコンピュータ間で転送されたデータパッケージのログ)、金融取引に関連するデータなどの他のトランザクションデータであり得る。測定は、定期的または実質的に連続的で、例えば、リアルタイム測定であり得る。特定のアクション(例えば、ユーザとコンピュータの相互作用)の結果として測定が開始される可能性もある。データはまた、異なる入力情報、例えば、異なるセンサからの測定の組合せまたは融合に基づくことができる。
【0024】
深層ニューラルネットワークによって計算される予測には、異常が検出されたかどうか、または発生する可能性が高いかどうかの予測を含み得る。任意選択で、異常が検出された、または発生する可能性が高いと判断された場合、予測には、検出された、または発生する可能性のある異常の種類を含み得る。
【0025】
予測は、対象のエンティティの状態または状況を示す1つまたは複数のパラメータに関連するか、またはそれを含み得る。1つまたは複数のパラメータは、物理的パラメータ(温度、速度など)、残存寿命、摩耗、少なくとも1つの機器の故障または損傷の確率、汚染または他の望ましくない状況のレベル、不正または攻撃などの確率を含み得る。
【0026】
予測はまた、良好/不良/未決定、安全/安全でない/脆弱な、信頼できる/不正であるなど、所定の動作条件または基準に従って、対象のエンティティの状態または状況の分類に関連するか、またはそれを含み得る。
【0027】
新しい観測値の予測と、新しい観測値が外れ値であるかどうかの判断の結果に基づいて、エンティティに少なくとも1つの異常が発生したことを示す結果が、判断または生成される。例えば、新しい観測値が外れ値ではないと判断された場合、予測は、少なくとも1つの異常の発生を示す結果(簡単には、異常検出結果)として、受け入れられ出力され得る。さらに、異常検出結果を判断するために、受け入れられた予測をさらに処理することが可能である。異常検出の結果に基づいて、さらなるアクション(修正処置など)が開始され得る。さらなるアクションは、特定のアプリケーションに依存し得る。例えば、予測管理の場合、予測/異常検出結果の種類に応じて、必要かどうか、および、任意選択で、どの修正保守アクションが必要かを判断し得る。サイバーセキュリティまたはトランザクション・セキュリティアプリケーションの場合、アプリケーションおよび予測/異常検出結果の種類に応じて、コンピュータ、ユーザ、アカウントなどがブロックされるか、または、その他の予防アクションを講じ得る。
【0028】
例えば、予測/異常検出の結果が異常はないことを示している場合、または特定の種類の異常が検出された場合、観測されるデバイスまたはシステムの通常の動作、整合性、またはセキュリティに対する脅威ではないと見なされるので、さらなるアクションは、システムの操作および/または監視を継続し、ユーザ、コンピュータ、サーバなどへのアクセスを許可し、ユーザ、コンピュータ、サーバなどが、トランザクションを開始および/または完了することになり得る。予測/異常検出の結果に異常があることを示している場合、修正保守アクション、エンティティへのアクセスの拒否または制限などの修正アクションを講じ得る。修正処置は、予測よる指定通りに検出された異常の種類に依存する可能性があり、修正アクションの性質は、特定のアプリケーションに依存し得る。修正処置は、例えば、修正保守アクションのスケジューリング、対象のエンティティに関連する少なくとも1つの制御パラメータの変更、対象のエンティティまたはそれに含まれる少なくとも1つの機器の停止、または、対象のエンティティ(例えば、特定のコンピュータ、ユーザ、サーバなど)へのアクセスの拒否を含み得る。また、少なくとも1つのさらなるアクションは、観測されるシステムの状態または状況に関連する情報を表示すること、警告を発することなどを含み得る。少なくとも1つのさらなるアクションは、自動的に判断および/または開始され得るか、または、手動介入またはユーザからのさらなる入力を必要とし得る。
【0029】
新しい観測値が外れ値であると判断された場合、異常検出結果は、新しい観測値が新しい種類または未知の種類の異常に関連していることを示し得る。異常検出結果には、外れ値を続行または破棄する前に、外れ値を手動で分析するようにユーザに警告することも含まれ得る。例えば、外れ値の観測値が監視システムの障害、例えばセンサ監視装置の故障によって引き起こされたと結論付けられた場合、システムオペレータは、例えば、故障したセンサを交換することによって、監視システム自体が修正されるように予定を立てることができる。外れ値の観測値は、履歴データでは観測されない珍しいまたは新しい異常、例えば、新しいまたは珍しい方法での機器の破損、コンピュータネットワークへの侵入を実行する新しい方法、または、不正なトランザクションを実行する新しい種類が、原因であり得る。このような場合、外れ値の観測値には、さらに調査した後、例えば手動調査などの新しい種類の異常クラスが割り当てられ、それを使用して、将来の監視で新しい異常種類を含む最新の異常検出モデルをトレーニングし得る。
【0030】
そこに記載されている様々な実施形態および例において、監視あり予知保全の能力は、モデルトレーニング後に外れ値を検出する能力を予測深層ニューラルネットワークに与えることによって、教師なしモデリングと組み合わせることができる。このアプローチを使用すると、深層ニューラルネットワークを使用して異常と障害種類を分類すると同時に、これまで未知の異常や障害種類が発生した場合でも、定義された動作を行うことができる。
【0031】
本明細書に記載の様々な実施形態および例では、深層ニューラルネットワークによって処理されるデータは、構造化データまたは非構造化データであり得る。非構造化データは、事前定義されたデータモデルがないか、または、事前定義された方法で編成されていないデータとして理解され得る。非構造化データは、内部構造を有する場合があるが、事前定義されたデータモデルまたはスキーマを介して構造化されていない。非構造化データの例には、画像、音声、ビデオ、センサデータ、およびテキストが含まれるが、これらに限定されない。データは、生データ(未処理データ)である場合もあれば、正規化、ノイズ除去、コーディング、コントラスト強調、エッジ強調、色または周波数変換、サイズ変更、トリミング、および/またはその他の既知のデータ処理操作などの、なんらかの前処理が行われたデータであり得る。
【0032】
いくつかの特定の例では、深層ニューラルネットワークによって処理されるデータは、温度センサ、加速度センサ、圧力センサ、ひずみゲージ、力センサ、マイク、画像センサなどの1つまたは複数のセンサから取得されたセンサデータ(例えば、温度、圧力、電流、磁束など)であり得る。テストデータセットに含まれる可能性のある観測値および受信した観測値のそれぞれは、ある時点または一定期間中に1つまたは複数のセンサによって取得されたセンサデータを含み得る。
【0033】
センサは、機器の状態が物理的測定に基づいて間接的に計算される、いわゆるソフトセンサとも呼ばれる。例示的なソフトセンサには、カルマンフィルタ、速度推定器、製品品質(例えば、食品品質)の推定器などが含まれる。センサは、音声または画像の形式で、非構造化データを収集する場合もある。データはまた、ネットワークトラフィックを特徴付けるデータ(例えば、ネットワーク上の異なるコンピュータ間で転送されたデータパッケージのログ)、または、金融取引に関連するデータなどの他の取引データであり得る。
【0034】
本開示では、画像は、ピクセルの2次元配置を含み得る。各ピクセルは、少なくとも1つの値を含み得る。例えば、グレースケール画像のピクセルは、ピクセルの強度を示す1つの値を含み得る。カラー画像のピクセルは、RGB色空間などの色空間の座標を示す複数の値、例えば3つの値を含み得る。ピクセルはまた、異なる画像化モダリティの組合せ、例えば、位相差画像化および蛍光画像化などの2つの異なる画像化装置からの1つまたは複数の強度値の組合せを含み得る。画像が深層ニューラルネットワークによって処理される場合、テストデータセットに含まれる各観測値と受信された観測値は、画像を含み得る。
【0035】
本開示において、「深層ニューラルネットワーク」という用語は、入力層、出力層、および入力層と出力層との間に提供される複数の隠れ層を有する人工ニューラルネットワークとして理解し得る。ニューラルネットワークの隠れ層は、「中間層」と呼ばれ得る。したがって、隠れ層からの出力は「中間出力」と呼ばれ得る。さらに、隠れ層からの出力は、複数の値を含み得、それらのそれぞれは、隠れ層に含まれるノードに対応し得る。したがって、本明細書で使用される「中間出力値のセット」という用語は、隠れ層のそれぞれのノードから出力される複数の値を含む、隠れ層の出力を示し得る。
【0036】
使用される深層ニューラルネットワークの種類は特に限定されない。いくつかの例では、本開示における「深層ニューラルネットワーク」は、複数の隠れ層を有するフィードフォワードニューラルネットワークであり得る。フィードフォワードニューラルネットワークでは、ノード間の接続は、サイクルを形成しない。フィードフォワード深層ニューラルネットワークの特定の例は、視覚画像の分析に一般的に適用される畳み込みニューラルネットワーク(CNN)であり得る。
【0037】
他のいくつかの例では、本開示における「深層ニューラルネットワーク」は、ノード間の接続がシーケンスに沿って有向グラフを形成するリカレントニューラルネットワークであり得る。リカレント深層ニューラルネットワークの特定の例は、シーケンシャルデータを処理できる長・短期記憶(LSTM)であり得る。
【0038】
他の例示的な深層ニューラルネットワークは、リカーシブニューラルネットワークおよびトランスフォーマニューラルネットワークである。
【0039】
本開示では、「潜在変数モデル」という用語は、観測可能な変数のセットを潜在変数のセットに関連付けるか、またはマッピングする統計モデルであり得る。本明細書に記載の様々な実施形態および例では、(第1または第2の)「中間出力値のセット」は、潜在変数モデルの観測可能な変数のセットと見なすことができる。さらに、本明細書に記載の様々な実施形態および例では、「射影値のセット」は、潜在変数モデルの潜在変数のセットと見なすことができる。
【0040】
いくつかの例では、上記の態様による方法において、潜在変数モデルは、主成分分析に従って構築または適合され得る。
【0041】
本開示では、PCAとも呼ばれる「主成分分析」という用語は、直交変換を使用して、相関する可能性のある変数の観測値のセットを、主成分と呼ばれる、線形無相関の変数の値のセットに変換する統計的手順を示すと理解することができる。
【0042】
PCAの改良型には、スパースPCA(Jenatton,R.、Obozinski,G.およびBach,F.(2010年3月)、「Structured sparse principal component analysis」、人工知能と統計に関する第13回国際会議の講演論文集、(第366~373頁))が含まれるが、これらに限定されない。PCAの代替には、ランダムな射影(Dasgupta,S.(2000年6月)、「Experiments with random projection」、人工知能の不確実性に関する第16回会議の講演論文集(第143~151頁)、Morgan Kaufmann Publishers Inc.)、スパース・ランダム射影(Achlioptas,D.(2003年)、「Database-friendly random projections:Johnson-Lindenstrauss with binary coins」、コンピュータとシステムサイエンス学会誌、第66号(4)、第671~687頁)、非常にスパースなランダム射影(Li,P.、Hastie,T.J.およびChurch,K.W.(2006年8月)、「Very sparse random projections」、知識発見とデータマイニングに関する第12回ACM SIGKDD国際会議の講演論文集(第287~296頁)、ACM)、および、自己組織化マップ(Kohonen,T.(1998)、「The self-organizing map」、ニューロコンピューティング、第21号(1~3)、第1~6頁)、が含まれるが、これらに限定されない。
【0043】
他のいくつかの例では、上記の態様による方法では、潜在変数モデルは、オートエンコーダを使用して構築または適合され得る。「オートエンコーダ」は、教師なしの方法で効率的なデータ・コーディングを学習するために使用される一種の人工ニューラルネットワークであり得る。オートエンコーダの1つの形態は、入力層、出力層、およびそれらを接続する1つまたは複数の隠れ層を有し、出力層が入力層と同じ数のノードを有し、独自の入力を再構築する目的を持つ、フィードフォワード、非リカレントニューラルネットワークであり得る。様々な種類のオートエンコーダには、変化型オートエンコーダ(Kingma,D.P.およびWelling,M.(2013年)、「Auto-encoding variational bayes」、アーカイヴプレプリント、アーカイヴ1312.6114)、および、スパースオートエンコーダ(Makhzani,A.およびFrey,B.(2013年)、「K-sparse autoencoders」、アーカイヴプレプリント、アーカイヴ1312.5663)が含まれるが、これらに限定されない。
【0044】
潜在変数モデルを使用して、潜在変数モデルまでの新しい観測値の距離、言い換えれば潜在変数近似からの距離を決定し得る。決定された距離に基づいて、新しい観測値が外れ値であるかどうかに関する判断を行うことができる。受信した新しい観測値が外れ値であるかどうかに関する判断は、例えば、潜在変数モデルまでの新しい観測値の距離が閾値距離よりも大きいかどうかを判断することを含み得る。新しい観測値の計算された距離が閾値距離よりも大きい場合、新しい観測値が外れ値であると判断することができる。
【0045】
潜在変数モデルを使用して、トレーニングデータセットの少なくとも一部の各観測値から潜在変数モデルまでの距離を計算し、決定された距離に基づいて閾値距離を決定することで、閾値距離を決定し得る。したがって、上記の態様のいずれかによる方法は、複数の距離に基づいて閾値距離を決定することをさらに含み得、そのそれぞれは、射影値の第1のセットの分布に関して、射影値の第1のセットの異なる1つについて計算される。
【0046】
さらに、上記の態様による方法において、受信された観測値が外れ値であるかどうかを判断する前記ステップは、
射影値の第1のセットの分布に関して、射影値の第2のセットの距離を計算することと、
計算された距離が距離の閾値よりも大きい場合、受信した観測値がトレーニングデータセットに関して外れ値であると判断することと、を含み得る。
【0047】
距離の閾値は、距離に基づいて決定することができ、距離のそれぞれは、射影値の第1のセットの分布に関して、射影値の第1のセットの異なる1つについて計算し得る。
【0048】
距離指標は、潜在変数近似からの距離を定量化するのに適した任意の距離指標(すなわち、射影値の第1のセット)であり得る。例えば、距離は、残差平方和(RSS)、マハラノビス距離、局所外れ値因子、またはLOFであり得る(例えば、M.M.Breunig、H.-P.Kriegel、R.T.NgおよびJ.Sanderの「LOF:Identifying Density-based Local Outliers」、2000ACM SIGMODデータ管理の国際会議の講演論文集、ニューヨーク市、ニューヨーク州、USA、2000年、第93~104頁)。距離はまた、記述された距離の2つ以上を組み合わせることによって形成される複合距離指標に基づく複合距離であり得る。
【0049】
決定された距離は、特にマハラノビス距離であり得る。本開示において、「マハラノビス距離」という用語は、点P(例えば、観測値に対応する)と分布Dとの間の距離の既知の尺度を示すと理解され得る。より具体的には、「マハラノビス距離」は、多変量確率分布の原点から、観測値がどの程度の標準偏差で離れているかを測定する。
【0050】
決定された距離は、残差平方和(RSS)であり得る。例えば、上記の態様による方法では、受信した観測値が外れ値であるかどうかを判断する前記ステップは、
潜在変数モデルと射影値の第2のセットを使用して、中間出力値の第2のセットに対応する中間出力値の近似セットを決定することと、
中間出力値の第2のセットと中間出力値の近似セットの二乗近似残差を計算することと、
計算された二乗近似残差が二乗近似残差の閾値よりも大きい場合、受信した新しい観測値がトレーニングデータセットに関して外れ値であると判断することと、
を含み得る。
【0051】
二乗近似残差の閾値は、二乗近似残差に基づいて決定し得、そのそれぞれは、中間出力値の第1のセットの異なる1つ、および中間出力値の第1のセットの前記1つに対応する中間出力値の近似セットについて計算し得る。
【0052】
本開示において、「二乗近似残差」という用語は、残差平方の合計を示すものとして理解され得、ここで、残差は、観測値と潜在変数モデルによって提供される近似値との間の差である。
【0053】
さらに、上記の態様による方法では、中間出力値の第1のセットを取得し、潜在変数モデルを構築するステップは、複数の隠れ層のうちの2つ以上に対して実行され得、
中間出力値の第2のセットを取得し、中間出力値の第2のセットを射影値の第2のセットにマッピングするステップは、複数の隠れ層のうちの前記2つ以上に関して実行され得、
受信した観測値が外れ値であるかどうかを判断するステップは、潜在変数モデルおよび、複数の隠れ層のうちの前記2つ以上に関して取得された射影値の第2のセットに基づいて実行され得る。
【0054】
さらに、上記の態様による方法では、深層ニューラルネットワークの複数の隠れ層のうちの少なくとも1つから出力される中間出力値を取得するステップは、複数の隠れ層の少なくとも1つからの活性化を判断すること、および任意選択で、判断された活性化にグローバルプーリングを適用することを含み得る。活性化は、例えば、活性化ベクタの形態であり得る。
【0055】
与えられた深層ニューラルネットワークのレイヤi(i=1、2、3、...)からの特定の観測値xの活性化ベクトルa(または活性化)は、レイヤiからの中間出力に対応し、観測値が所与のネットワークに入力されたときに、レイヤiのそれぞれのノードからの出力に対応する値を持つ成分を含み得る。深層ニューラルネットワークの様々なレイヤ上の活性化または活性化ベクトルのそれぞれは、入力データ(つまり、入力観測値)の特徴表現を提供し得る。言い換えると、活性化は、深層ニューラルネットワークの様々なレイヤで、入力データの変換された、または前処理された表現を提供し得る。
【0056】
特に、トレーニングデータセットの観測値に基づいて、深層ニューラルネットワークの複数の隠れ層の少なくとも1つから出力される第1の中間出力値を取得するステップは、複数の隠れ層の少なくとも1つからの前記観測値の活性化を判断することと、および任意選択で、判断された活性化にグローバルプーリングを適用することと、を含み得る。同様に、新しい観測値に基づいて深層ニューラルネットワークの複数の隠れ層の少なくとも1つから出力される第2の中間出力値を取得するステップは、複数の隠れ層の少なくとも1つからの新しい観測値の活性化を判断すること、および任意選択で、判断された活性化にグローバルプーリングを適用することを含み得る。グローバルプーリングは、グローバル平均プーリングであり得る。
【0057】
例えば、活性化が特徴マップからのものである場合、グローバルプーリング(例えば、グローバル平均プーリング)が各特徴マップ全体に適用され得る。潜在変数モデルは、その後、(任意選択でプールされた)活性化、つまり(任意選択でプールされた)トレーニングセット活性化、および深層ニューラルネットワークへの新しい観測値入力に対して計算された(任意選択でプールされた)活性化に、構築または適合され得る。
【0058】
グローバル平均プーリング(GAP)は、ネットワーク活性化の特徴マップ表現をベクトル表現に変換する手順を指す(例えば、Lin、Min、Qiang ChenおよびShuicheng Yanによる「Network in network」、アーカイヴ・プレプリント、アーカイヴ1312.4400(2013年)を参照)。このステップでは、空間情報が破棄され、各要素が特定の特徴マップの平均的な活性化に対応するベクトルをもたらす。例えば、畳み込みニューラルネットワークの特定の隠れ層の場合、画像xの活性化は、次元wxhxcを有する可能性のある特徴マップAによって記述され、ここで、hは特徴マップのピクセル高さ、wは特徴マップのピクセル幅、および、cは現在の隠れ層内の特徴マップの数である。次に、Aの特徴マップのグローバル平均プーリング
は次の式で与えられる。
【数1】
または
【数2】
例えば:
【数3】
次に、画像xのグローバル平均プール特徴マップAのベクトルは、次の式で与えられる。
【数4】
【0059】
上記の式は、他の種類の観測値にも適用し得る。
【0060】
さらに、上記の態様のいずれか1つによる方法は、深層ニューラルネットワークのトレーニング、またはトレーニングデータセットを使用してトレーニングされた深層ニューラルネットワークを微調整することを含み得る。
【0061】
上記の態様による方法が、外れ値と非外れ値をどれだけうまく区別できるかは、例えば、受信者操作特性・曲線下面積(ROC-AUC)指標を使用して評価することができる。例えば、受信した観測値が外れ値であるかどうかを判断するために、マハラノビス距離および/または二乗近似残差および/または他の距離指標が計算される場合、マハラノビス距離および/または二乗近似残差および/または他の距離指標が、外れ値を非外れ値からどれだけうまく分離するかを比較することにより、ROC曲線を計算し得る。本方法の評価に使用できるその他の指標には、(1)適合率、これは、実際には外れ値であるシステムにより外れ値として識別された観測値の一部、(2)再現率、これは、システムによって外れ値として正常に識別されたすべての外れ値の一部、(3)F1値、これは、適合率と再現率の調和平均、(4)正解率、これは、すべての識別のうち、システムによる正しい識別の一部、が含まれるが、これらに限定されない。
【0062】
さらに別の態様によれば、コンピュータプログラム製品が提供される。コンピュータプログラム製品は、コンピュータにロードされて実行されると、コンピュータに上記の態様のいずれかに従って方法を実行させるコンピュータ可読命令を含む。
【0063】
さらに別の態様によれば、異常検出および/または予知保全のためのデータ分析のためのシステムが提供される。システムは、
対象のエンティティ(観測されるエンティティ)のパラメータを特徴付ける少なくとも1つの観測値を取得するためのデータ収集ユニットと、
深層ニューラルネットワークをトレーニングするために使用されるトレーニングデータセットを格納する記憶媒体であって、深層ニューラルネットワークは、複数の隠れ層を含み、トレーニングデータセットは、深層ニューラルネットワークに入力する可能性のある観測値を含む、記憶媒体と、
上記の態様および例のいずれか1つに従って方法を実行するように構成された少なくとも1つのプロセッサを含む予測分析ユニット(予測分析コンポーネント)と、
を含む。
【0064】
例えば、プロセッサは、
トレーニングデータセットを使用してトレーニングされた深層ニューラルネットワークを取得し、
記憶媒体に格納されているトレーニングデータセットの少なくとも一部を取得し、
複数の隠れ層の少なくとも1つから出力される中間出力値の第1のセットを取得し、
ここで、中間出力値の第1のセットのそれぞれは、トレーニングデータセットの少なくとも一部に含まれる可能性のある観測値の異なる1つを入力することによって取得され、
中間出力値の第1のセットを使用して潜在変数モデルを構築/適合し、
ここで、潜在変数モデルは、中間出力のセットの次元よりも低い次元を有する部分空間内の射影値の第1のセットへの中間出力値の第1のセットのマッピングを提供し、
深層ニューラルネットワークに入力される新しい観測値を受診し、
受信した新しい観測値を深層ニューラルネットワークに入力することにより、複数の隠れ層のうちの前記少なくとも1つから出力される中間出力値の第2のセットを取得し、
潜在変数モデルを使用して、中間出力値の第2のセットを射影値の第2のセットにマップし、
潜在変数モデルおよび射影値の第2のセットに基づいて、受信した新しい観測値がトレーニングデータセットに関して外れ値であるかどうかを判断するように、
構成され得る。
【0065】
少なくとも1つのプロセッサは、
深層ニューラルネットワークによって、新しい観測値の予測を計算し、
予測、および新しい観測値が外れ値であるかどうかの判断に基づいて、エンティティに少なくとも1つの異常が発生したことを示す結果を判断するように、
さらに構成され得る。
【0066】
上記の態様によるシステムでは、潜在変数モデルは、主成分分析に従って、またはオートエンコーダを使用して、構築され得る。
【0067】
上記の態様によるシステムにおいて、受信された観測値が外れ値であるかどうかを判断するために、プロセッサは、
射影値の第1のセットの分布に関して、射影値の第2のセットの距離を計算し、
計算された距離が距離の閾値よりも大きい場合、受信した新しい観測値がトレーニングデータセットに関して外れ値であると判断するように、
さらに構成され得る。
【0068】
上記のように、距離は、マハラノビス距離、残差平方和、局所外れ値因子、複合距離、またはその他の適切な距離測定であり得る。
【0069】
例えば、上記の態様によるシステムにおいて、受信された新しい観測値が外れ値であるかどうかを判断するために、少なくとも1つのプロセッサは、
潜在変数モデルと射影値の第2のセットを使用して、中間出力値の第2のセットに対応する中間出力値の近似セットを判断し、
中間出力値の第2のセットと中間出力値の近似セットの二乗近似残差を計算し、
計算された二乗近似残差が二乗近似残差の閾値よりも大きい場合、受信した新しい観測値がトレーニングデータセットに関して外れ値であると判断するように、
さらに構成され得る。
【0070】
上記の態様によるシステムでは、少なくとも1つのプロセッサは、
中間出力値の第1のセットを取得し、複数の隠れ層のうちの2つ以上の潜在変数モデルを構築するステップを実行し、
中間出力値の第2のセットを取得し、中間出力値の第2のセットを、複数の隠れ層のうちの前記2つ以上に関する射影値の第2のセットにマッピングするステップを実行し、
潜在変数モデルと、複数の隠れ層のうちの前記2つ以上に関して取得された射影値の第2のセットに基づいて、受信した新しい観測値が外れ値であるかどうかを判断するステップを実行するように、
さらに構成され得る。
【0071】
さらに、上記の態様によるシステムでは、少なくとも1つのプロセッサは、複数の隠れ層のうちの少なくとも1つからの活性化を判断し、任意選択で、判断された活性化にグローバルプーリングを適用するようにさらに構成され得る。したがって、(任意選択でプールされた)活性化は、第1/第2の中間出力値を構成し得る。
【0072】
少なくとも1つのプロセッサは、汎用コンピュータ、専用コンピューティングユニット、サーバ、またはコンピュータネットワークの一部であり得る。
【0073】
上記の態様によるシステムは、深層ニューラルネットワークのパラメータ(例えば、重み、ノード接続、フィルタなど)を格納するための記憶媒体をさらに含み得る。格納される特定のパラメータは、通常、使用する深層ニューラルネットワークの種類によって異なる。さらに、システムは、潜在変数モデル、距離、閾値距離などの潜在変数モデルを使用して得られたデータ、および/または他のデータを格納するための記憶媒体を備え得る。
【0074】
上記の記憶媒体のうちの1つまたは複数は、収集されたデータが蓄積、処理、および/または分析されるデータストアの一部であり得る。データストアは、サーバ(例えば、オンプレミス・サーバやローカル・サーバなど)に実装することも、クラウドサービスなどの分散ネットワークサービスとして実装し得る。
【0075】
さらに、システムは、状態を測定するための1つまたは複数のセンサ、または対象のエンティティまたは、対象のエンティティのコンポーネントの状態を特徴付ける少なくとも1つのパラメータを備え得る。測定されたパラメータは、温度、圧力、電流、磁束、ネットワークトラフィック、データログなどの物理的、電子的、またはその他のパラメータであり得る。少なくとも1つのセンサは、ソフトセンサであり得る。少なくとも1つのセンサは、定期的または実質的に連続的な測定を実行するように構成され得る。一例では、少なくとも1つのセンサは、リアルタイム測定を実行するように構成され得る。トリガ時に測定を開始するようにセンサを構成することもできる。例えば、測定は、ユーザとコンピュータとの相互作用などの特定のアクションの結果として開始され得る。一例では、複数のセンサが提供され得、深層ニューラルネットワークに入力された観測値は、異なる入力情報の組合せまたは融合、例えば、異なるセンサからの測定値に基づき得る。
【0076】
さらに、システムは、1つまたは複数のセンサデータ収集ユニット、転送されたデータを格納するための記憶媒体、および/または予測分析ユニットの間のデータ転送を可能にするデータ通信ユニットまたは複数のラインを備え得る。一例では、1つまたは複数のセンサとデータ収集ユニットとの間のデータ転送は、無線であり得る。
【0077】
システムは、予測、および/または少なくとも1つの機器および/または予測に基づくシステム全体の状態または状況に関する情報を伝達するように構成されたユーザインターフェース(例えば、グラフィカルおよび/またはオーディオおよび/または触覚ユーザインターフェース)をさらに含み得る。ユーザインターフェースは、少なくとも1つの機器の測定されたパラメータに関する情報を伝達する(例えば、表示する)ようにさらに構成され得る。ユーザインターフェースは、観測されるシステムの少なくとも1つの機器の少なくとも1つのパラメータを、ユーザが変更することができるように、さらに構成され得る。
【0078】
予測分析ユニットは、例えば、いつ保守が必要とされるかを予測するために、収集されたデータを集約およびモデル化するようにさらに構成され得る。分析コンポーネントは、例えば、対象のエンティティ(例えば、機器、機械、コンピュータなど)で直接実行され、いわゆるエッジ分析を構成し得る。
【0079】
上記の様々な様態および例によれば、深層ニューラルネットワークへのモデルトレーニング後に外れ値を検出することが可能である。深層ニューラルネットワークがどのように構築されているかについての仮定が少なくて済み、サンプリングが不要な場合があるため、トレーニングデータセットに関する入力データの外れ値を効率的に検出できる。さらに、上記の様々な態様および例によれば、すでに学習されたデータ表現を外れ値検出に使用することができる。個別の外れ値検出モデルとは対照的に、予測に使用されるのと同じ表現を外れ値の検出に使用できる。
【0080】
上記の様々な態様および例による方法およびシステムのさらなる利点には、以下が含まれ得る。
-アーキテクチャに依存しない。つまり、あらゆる種類のニューラルネットワークモデルで使用できる。
-トレーニングに依存しない。計算には、ニューラルネットワークがトレーニングされた後のトレーニングデータのシングル・パスが含まれる。つまり、通常のトレーニング手順への干渉は最小限に抑えられる。
-タスクに依存しない。つまり、目前のタスクについて想定する必要がない。提案されたアプローチは、分類、セグメンテーション、回帰、強化学習などの様々なタスクに適用できる。これらは計算の点で効率的である。つまり、深層ニューラルネットワークモデルの推論と比較して、追加の計算はほとんど必要ない。
-外れ値の検出において、最先端の方法よりも優れている。
【0081】
提案された技術は、あらゆる種類の入力、例えば、センサ入力、ネットワークトラフィック、金融取引トラフィックなどに適用可能であるという意味で、「汎用」技術である。上記の様々な態様および例による方法およびシステムの適用分野には、機械部品、機械、または複数の機械部品および/または機械を含むシステムの監視および/または予知保全が含まれるが、これらに限定されない。
【0082】
特定の非限定的な例は、ベアリング、ギア、ホイール、制御バルブ、バッテリ、モータ(例えば、電気モータ)、タービン、車両(例えば、鉄道車両、電気自動車)、バイオリアクタ、発酵槽、コンピュータ、コンピュータネットワーク、レール、石油およびガスの地表機器、産業または発電所(太陽光発電所、石炭燃焼プラントなど)の制御および/または監視、産業プロセスの制御および/または監視(例えば、ダイキャスティング、バッテリ製造、バイオテクノロジープロセス、医薬品製造など)の、異常(例えば、故障)検出および/または予知保全に関する。
【0083】
別の可能な用途は、サイバーセキュリティの脅威、例えば、ネットワーク侵入やその他の種類の悪意のある攻撃、を検出するためのものである。例えば、ネットワークトラフィックは、機械学習技術を使用してモデル化し得る。例として、悪意のあるアクションおよび/またはアクタを示すトラフィックパターンの微妙な変化を検出し、侵入として分類し得る。さらに別の可能な用途は、金融取引における不正、疑わしいパターン、または特定の傾向を検出するためのものである。例えば、履歴データを使用して、機械学習に基づく分類器をトレーニングして、トランザクションまたはアクタ(例えば、不正または信頼できる)を分類したり、傾向を識別したりできる。
【0084】
本出願に記載されている主題は、方法として、またはシステムとして、おそらく1つまたは複数のコンピュータプログラム製品の形で実装することができる。本出願に記載されている主題は、データ信号または機械可読媒体に実装することができ、媒体は、CD-ROM、DVD-ROM、半導体メモリ、ハードディスクなどの、1つまたは複数の情報キャリアに組み込まれている。そのようなコンピュータプログラム製品は、データ処理装置に、本出願に記載されている1つまたは複数の操作を実行させることができる。
【0085】
さらに、本出願に記載されている主題は、プロセッサ、およびプロセッサに結合されたメモリを含むシステムとして実装することもできる。メモリは、1つまたは複数のプログラムをエンコードして、プロセッサに、本出願で説明されている1つまたは複数の方法を実行させることができる。いくつかの例では、システムは、汎用コンピュータシステムであり得る。他の例では、システムは、組み込みシステムを含む専用コンピュータシステムであり得る。
【図面の簡単な説明】
【0086】
1つまたは複数の実装の詳細は、以下の例示的な図面および説明に示されている。その他の特徴は、説明、図面、および特許請求の範囲から明らかになるであろう。しかしながら、実施形態が別々に説明されているとしても、異なる実施形態の単一の特徴を組み合わせてさらなる実施形態にすることができることを理解されたい。
【0087】
図1】本開示によるシステムを含むシステムの一例を示す。
図2】画像を処理するための畳み込みニューラルネットワーク(CNN)の構成例を示す。
図3】本開示によるシステムによって実行される例示的なプロセスのフローチャートを示す。
図4】予知保全モデルに使用されるネットワークアーキテクチャの例、および、外れ値の検出のために抽出された特徴の例を示す。
図5】予知保全のためのテストセットシーケンスでの外れ値の検出を示す。
図6】PCA成分の数、およびカットオフパーセンタイルに応じた予知保全のための外れ値検出性能の評価を示す。
図7】難読化されたパワーシェルスクリプトを検出するための予知保全モデルに使用されるネットワークアーキテクチャの例を示す。
図8】本発明による外れ値距離指標のバイオリン図(図8A)、および、MCドロップアウトを使用した比較例によるバイオリン図(図8B)を示す。
図9】本明細書で説明されるシステムの少なくとも一部を実装するために使用され得るコンピュータの例示的なハードウェア構成を示す。
【発明を実施するための形態】
【0088】
以下の文章では、図面を参照して例の詳細な説明を行う。例には、様々な変更を加えることができることを理解されたい。特に、1つの例の1つまたは複数の要素を、組み合わせ、他の例で使用し、新しい例を形成することができる。
【0089】
システム構成
図1は、本開示によるシステムを含むシステムの一例を示す。
【0090】
図1に示されるシステムは、コンピューティングシステム1、ユーザクライアント20、制御システム30、およびサードパーティシステム40を含み得る。
【0091】
コンピューティングシステム1は、本開示によると、データ分析のためのシステムを提供し得る。コンピューティングシステム1は、例えば、1つまたは複数の汎用コンピュータを使用して実装し得る。図1に示されるように、コンピューティングシステム1は、アプリケーション10およびデータ記憶装置12を備え得る。
【0092】
アプリケーション10は、後でより詳細に説明するように、コンピューティングシステムの例示的なプロセスをコンピュータに実行させる命令を含む、ソフトウェアアプリケーションによって実装し得る。図1に示されるように、アプリケーション10は、深層ニューラルネットワーク100、予測110、外れ値指標112、およびインターフェース114を含み得る。アプリケーションは、予測分析コンポーネントまたはユニットによって提供または実行され得る。
【0093】
深層ニューラルネットワーク(以下、「DNN」とも呼ばれる)100は、入力層、出力層、および入力層と出力層との間に複数の隠れ層を有する人工ニューラルネットワークであり得る。深層ニューラルネットワーク100は、例えば、センサデータ、コンピュータネットワークトラフィックデータ、トランザクションデータなどのような任意の種類のデータを処理するように、トレーニングされ得る。一例では、深層ニューラルネットワーク100は、深層ニューラルネットワーク100への可能な入力画像を含むトレーニングデータセットを使用して、それぞれのセンサによって取得された画像を処理するようにトレーニングされ得る。トレーニングデータセットは、アプリケーション10によってアクセス可能なデータ記憶装置12に格納され得る。図1の例では、深層ニューラルネットワーク100は、レイヤ102および外れ値検出モジュール104を含み得る。
【0094】
レイヤ102は、入力層(図示せず)、出力層(図示せず)、および入力層と出力層との間に提供される複数の隠れ層(図示せず)を含み得る。
【0095】
外れ値検出モジュール104は、深層ニューラルネットワーク100の複数の隠れ層のうちの少なくとも1つに接続され得、深層ニューラルネットワーク100をトレーニングするために使用されるトレーニングデータセットに関して観測値が外れ値であるかどうかを判断するように構成され得る。外れ値検出モジュール104によって実行されるプロセスの詳細は、後で説明される。
【0096】
図2は、深層ニューラルネットワーク100の特定の例を示す。図2に示される例示的な深層ニューラルネットワークは、データ、例えば画像を分類するための畳み込みニューラルネットワーク(CNN)である。例えば、図2に示される例示的なCNNは、入力画像などの入力観測値をいくつかの異なるカテゴリに分類し得る。別の例では、図2に示される例示的なCNNは、入力観測値(例えば、画像)が特定のカテゴリに属するかどうかを判断し得る。特定の例では、図2に示される例示的なCNNは、入力画像(すなわち、入力観測値)として28×28ピクセルのグレースケール画像を受信するように構成され得る。入力画像の各ピクセルは、ピクセルの強度を示す値を含み得る。入力画像の各ピクセルの強度値は、例示的なCNNの入力層の入力ノードへの入力値と見なすことができる。図2に示される例示的なCNNは、4つの畳み込み層C1、C2、C3、C4と、2つの最大プール層MP1、MP2と、出力層に含まれるノードの活性化関数としてソフトマックス関数を使用する出力層とを、含む。
【0097】
上記の例では28x28ピクセルの画像を使用しているが、理論的な観点からは、画像サイズに上限はない。ただし、画像サイズを大きくすると、計算量も増え得る。一般に、対象のアプリケーション用に選択された画像サイズは、必要な詳細レベルと計算要求との間のトレードオフを反映し得る。一般的な分類アプリケーションでは、画像の範囲は200x200ピクセルから300x300ピクセルであり得る。ただし、アプリケーションはこの範囲に限定されず、200x200ピクセルより小さい、または300x300ピクセルより大きい、場合がある。
【0098】
例示的なCNNの畳み込み層C1に含まれる各ノードは、入力画像の特定の部分に適用されるサイズ3×3(ピクセル)のフィルタに対応し得、フィルタを入力画像の特定の部分に適用することから生じる値を出力し得る。図2の例では、畳み込み層C1の入力画像に32個のフィルタが適用されている。32個のフィルタのそれぞれは、入力画像の幅方向と高さ方向の両方に、Sピクセルのストライドでフィルタをスライドさせることにより、入力画像の全領域に適用し得る。入力画像上の32個のフィルタの位置ごとに、32個のフィルタに対応する32個のノードが畳み込み層C1に存在し得る。図2の例では、ストライドSは1ピクセルに設定し得る。したがって、畳み込み層C1の出力は、28×28×32の値を含むことができ、これは、28×28ピクセルの32個の画像と見なし得る。畳み込み層C1の出力は、畳み込み層C2に入力され得る。畳み込み層C2は、サイズ3×3の32個のフィルタを備えた畳み込み層C1に類似した構成を持ち得る。したがって、畳み込み層C2の出力はまた、28×28×32の値を含むことができ、これは、28×28ピクセルの32個の画像と見なし得る。
【0099】
畳み込み層C2の出力は、20%のドロップアウトの影響を受け得る(図2のD1を参照)。言い換えると、畳み込み層C2の出力の値(ノードに対応)の20%が、ランダムに選択され無視され得る。
【0100】
ドロップアウト操作D1の後、畳み込み層C2の出力は、第1の最大プール層MP1での最大プーリング操作によるダウン・サンプリングの対象となり得る。最大プーリング操作は、複数の入力値の中から最大値を選択し得る。図2の例では、最大プール層MP1は、畳み込み層C2から出力された28×28ピクセルの32個の画像のそれぞれに、2×2のサイズのフィルタを適用し、2ピクセルのストライドで適用され得る。これにより、対応するフィルタ内の対応する画像(畳み込み層C2からの出力)のピクセルの中で最大強度値をそれぞれが有する、14×14ピクセルを含む32個の出力画像を生成し得る。最大プーリング操作で使用される各フィルタは、最大プール層MP1のノードと見なし得る。
【0101】
最大プール層MP1からの出力は、畳み込み層C1、C2の構成に類似した構成を有するが64個のフィルタを適用する、畳み込み層C3に提供され得る。畳み込み層C3の出力は、サイズ3×3の64個のフィルタを備えた畳み込み層C3と同様の構成を有する畳み込み層C4に提供され得る。さらに、畳み込み層C4の出力は、20%のドロップアウトの影響を受け(図2のD2を参照)、上述のように、最大プール層MP1での最大プール操作に類似した方法で、最大プール層MP2で最大プーリング操作の対象になり得る。最大プール層MP2の出力には、7×7×64の値が含まれ得る。
【0102】
最後に、最大プール層MP2の出力は、softmax関数を使用して出力層に提供され得る。出力層は、入力画像が分類され得る1つまたは複数のグループ(またはカテゴリ)に対応する1つまたは複数の出力ノードを含み得る。この例は特定のパラメータ(例えば、フィルタの数、ドロップアウト率、畳み込み層の数、ストライドなど)に言及しているが、各パラメータの値の範囲は、本明細書で意図され、方法およびシステムはこれらの実施形態に限定されない。
【0103】
いくつかの例において、図2に示される例示的なCNNに関して、最大プール層MP1およびMP2からの出力は、図2に示す例示的なCNNのトレーニングに使用されるトレーニングデータセットに関して、入力画像が外れ値であるかどうかを検出するために、外れ値検出モジュール104(図1)に提供され得る。例えば、外れ値検出モジュール104は、最大プール層MP1およびMP2のそれぞれについて、トレーニングデータセット内の可能な入力画像のために、それぞれの最大プール層MP1およびMP2からの出力を使用する潜在変数モデルを、構築または適合し得る。潜在変数モデルは、最大プール層MP1またはMP2の出力を、最大プール層MP1またはMP2の出力の次元よりも低い次元を持つ部分空間(潜在変数モデルの部分空間)の射影値のセットにマッピングし得る。構築または適合された潜在変数モデルは、入力画像(例えば、トレーニングデータセットに含まれていない新しく取得された入力画像)が、トレーニングデータセットに関して外れ値であるかどうかを判断するために使用され得る。より一般的には、外れ値検出モジュール104は、深層ニューラルネットワーク100の1つ(または複数)の隠れ層から出力を取得し、取得された出力を使用して潜在変数モデルを構築または適合させるように構成され得る。潜在変数モデルの構築または適合の詳細については、以下で説明する。
【0104】
再び図1を参照すると、予測110は、深層ニューラルネットワーク100からの出力であり得る。いくつかの例では、予測110は、入力画像が深層ニューラルネットワーク100によってどのカテゴリに分類されるかを示し得る。
【0105】
外れ値指標112は、入力画像が深層ニューラルネットワーク100をトレーニングするために使用されるトレーニングデータセットに関して、外れ値であるかどうかを決定するための指標を含み得る。外れ値指標112の詳細は、以下で説明する。
【0106】
インターフェース114は、アプリケーション10がコンピューティングシステム1の外部に提供され得る様々なデバイスと通信するためのインターフェースであり得る。例えば、インターフェース114は、アプリケーション10によって生成された情報をそれらのデバイスに通信するように構成され得る。さらに、例えば、インターフェース114は、それらのデバイスからアプリケーション10に向けられた情報を受信するように構成され得る。
【0107】
データ記憶装置12は、アプリケーション100によって使用されるデータを格納するように構成され得る。図1は、データ記憶装置12がコンピューティングシステム1の一部であることを示しているが、いくつかの例では、データ記憶装置12に記憶されたデータがアプリケーション10によりアクセス可能である限り、データ記憶装置12は、コンピューティングシステムの外部で提供されてもよい。
【0108】
ユーザクライアント20は、コンピューティングシステム1に接続されたクライアントデバイスであり得る。ユーザクライアント20は、コンピューティングシステム1で実行される外れ値検出の予測および結果を使用することができるユーザアプリケーション22を含み得る。ユーザクライアント20の特定の例は、例えば、SSH(セキュアシェル)またはHTTP(ハイパーテキスト転送プロトコル)要求を使用して、計算サーバにリモート接続されたワークステーションであり得る。次に、DNN(深層ニューラルネットワーク)を、計算サーバ上のユーザが提供する入力に適用することができ、結果として得られる予測および外れ値指標を、ユーザクライアント20に返すことができる。ユーザクライアント20は、例えば、DNN予測を実行するように構成されたワークステーション上で、アプリケーション10を実行するコンピューティングシステム1と同じ物理デバイスの一部であり得る。
【0109】
制御および/または分析システム30は、デバイスを制御し、および/またはコンピューティングシステム1で実行される外れ値検出の予測および結果を使用して、さらなるデータ分析を実行し得る。制御および/または分析システム30は、異常検出および/または予知保全のためのシステムを構成するか、またはその一部であり得る。制御および/または分析システム30の例は、機械部品または機械、産業プロセスまたはプラント、車両(自律走行車など)、コンピュータネットワーク、金融取引ユニットなどの制御および/または分析システム(異常検出または予知保全など)であり得る。
【0110】
例えば、車両において、制御および/または分析システムは、車両操縦を制御するため、および/または、車両に含まれる1つまたは複数の機器(モータ、ギアなど)の状態、摩耗、および/または寿命に関連する表示を提供するために、外れ値検出の予測および結果を受け取り、および/または必要な修正保守アクションを受け取り得る。
【0111】
制御および/または分析システム30は、入力を受信し、データ分析を実行し、アプリケーション固有のアクションに関する決定を行う、制御および/または分析システム30で実行されるプログラムクライアント32を含み得る。例えば、それは、観測されるエンティティ(例えば、機器またはシステムの一部)の保守に関して、および/または、観測されるエンティティ(例えば、機器またはシステムの一部)の制御に関して行われる。
【0112】
本技術の特定の例は、バイオ医薬品製造プロセスの分析および/または制御システムへの入力材料の特徴付けに関する。そのような製造プロセスの所望の出力品質を確保するために、プロセスの制御パラメータは、入力材料の特性に従って調整され得る。さらに、例えば、センサ・温度・湿度など、調整器、栄養溶液、細胞培養物などの洗浄または交換で、修正保守操作が、決定および/または開始され得る。
【0113】
データソースの異種の組合せを使用することで、構造化データと非構造化データの両方を含む入力材料を特徴付けることができる。データソースの例は、イベントレポート、画像、クロマトグラム、分光データ、化学分析などのテキストを含み得る。深層学習は、構造化データと非構造化データの両方から特定の出力への有用なマッピングを見つけることができるため、このような異種のデータの組合せを分析するのに適している。入力データが深層学習モデルのトレーニングに使用されたデータと一致しない場合の出力品質の低下や致命的な障害を回避するには、モデルのトレーニング後に外れ値を検出することが重要になり得る。入力データが外れ値として識別された場合、出力品質が保証されないため、入力データを製造プロセスへの入力として使用できない場合がある。
【0114】
本技術の別の特定の例は、人間のコントローラによってプログラムされるのではなく、深層強化学習を使用してデータから学習された制御および監視システム(予知保全システムなど)にある。バイオ医薬品の製造プロセスでは、可能な制御パラメータが多数存在する可能性があり、高度に複雑なため、システムに存在するすべての相互作用とフィードバック・ループを見つけるのが難しい場合がある。代わりに、深層強化学習を使用して、データとシミュレーションから制御ポリシを学習できる。プロセスがモデルトレーニング中に遭遇した状態とは異なる状態に入るタイミングを検出するには、外れ値の検出が重要になり得る。そのような状態が外れ値として識別された場合、深層学習に基づく制御システムは、ユーザに警告し(例えば、ユーザに通知を送信することによって)、および/または出力品質の低下や致命的な障害を回避するために安全ルーチンを実行し得る。深層強化学習の使用例は、当技術分野に見出すことができる(例えば、Li,Y.、Wen,Y.、Guan,K.およびTao,D.による(2017年)「Transforming Cooling Optimization for Green Data Center via Deep Reinforcement Learning」、アーカイヴ・プレプリント、アーカイヴ1709.05077、Nguyen,P.およびTakashi,E.による(2018年)「Automating Water Purification Plant Operations Using Deep Deterministic Policy Gradient」、ワークショップの講演論文集(エンジニアリングシステムにおける安全上重要な深層学習のためのICMLワークショップで公開))。
【0115】
深層学習モデルにおける外れ値検出のための従来技術の方法とは異なり、本方法は、モデルがどのように設計および/またはトレーニングされるかを制約せず、これらの方法を稼働中のモデルに追加することを可能にする。さらに、本技術はモデルトレーニングの後に使用されるので、本技術は、ライブアプリケーションに実装された、リアルタイムアプリケーションおよび/またはモデルで、使用できる。異常検出のアプリケーションは非常に高速であり得る。つまり、予測モデルは、高周波数で観測値を受信する。例えば、回転タービンの監視は10kHzで測定し得る。同様に、コンピュータネットワークまたは銀行システムを監視するシステムは、通常、そのようなシステムには非常に多くの同時アクタが存在するため、高頻度で観測値を受信し得る。対照的に、予測ごとに複数のフォワードパス/推論を使用する従来方法(例えば、予測が平均として使用され、標準偏差またはエントロピーが不確実性の尺度として使用される場合)は、待ち時間の増加につながる可能性があり、リアルタイムアプリケーションにとっては、問題となる。さらに、提案された技術は、アーキテクチャに依存せず、トレーニングに依存せず、タスクにも依存しない。
【0116】
サードパーティシステム40は、コンピュータによって実装され得、サードパーティアプリケーション42を含み得る。サードパーティシステム40は、コンピューティングシステム1が属するエンティティとは異なるエンティティに属し得る。サードパーティアプリケーション42は、コンピューティングシステム1で実行された外れ値検出の予測および結果を使用し得る。サードパーティアプリケーション42の特定の例は、DNN予測およびDNN予測プロバイダから購入した外れ値検出の結果に依存するソフトウェアであり得る。
【0117】
コンピューティングシステム1は、インターネットなどのネットワークを介して、ユーザクライアント20、制御システム30、およびサードパーティシステム40に接続され得る。いくつかの例では、ユーザクライアント20、制御システム30、およびサードパーティシステム40のうちの1つまたは複数は、イントラネットを介してコンピューティングシステム1に接続され得る。
【0118】
部分最小二乗回帰を使用した予測-時間外れ値の検出
上記のように、図1に示されるコンピューティングシステム1の外れ値検出モジュール104は、深層ニューラルネットワーク100のトレーニングに使用されるトレーニングデータセットに関して、入力観測値(例えば、入力画像)が外れ値であるかどうかを判断するために、深層ニューラルネットワーク100(例えば、図2の最大プール層MP1またはMP2)の複数の隠れ層の少なくとも1つから出力される中間出力値を使用して、潜在変数モデルを構築または適合させるように構成され得る。中間出力値は、例えば、深層ニューラルネットワーク100の複数の隠れ層のうちの少なくとも1つからのそれぞれの入力画像の活性化であり得る。任意選択で、活性化が特徴マップからのものである場合、グローバルプーリング(例えば、グローバル平均プーリング)を各特徴マップ全体に適用し得る。
【0119】
以下は、部分最小二乗回帰を使用する外れ値検出のための例示的な技術を提供し、これは、外れ値検出モジュール104がどのように外れ値を検出できるかについての理解を容易にし得る。
【0120】
モデルの不確実性の概念は、予測時間の外れ値の検出の概念に関する。どちらの場合も、主な目的は、モデルがトレーニングされた観測値に対応しない観測値を見つけることであり得る。予測モデルは、製造プロセス監視における予測中に、分布外の観測値を検出するために長い間使用されてきた。この分野では、部分最小二乗(PLS)回帰などの線形潜在変数モデルが広く使用されている(例えば、P.GeladiおよびB.R.Kowalskiによる「Partial least-squares regression:a tutorial」、アナリティカ・ケミカ・アクタ、第185号、補足C、第1~17頁、1986年1月)。PLSモデルは、主成分分析(PCA)に類似するトレーニングデータの部分空間近似で見つけることができ(S.Wold、K.Esbensen、およびP.Geladiによる、「Principal component analysis」、ケモメトリクスと知的実験システム、第2巻、第1号、第37~52頁、1987年8月)、これは予測に使用される。次に、PLSモデルにより見つけられた部分空間に、新しい観測値を射影できる。したがって、部分空間内の距離と部分空間からの距離の両方を使用して、予測時間中に外れ値を見つけることができる。
【0121】
予測時間とは、モデルが適合され、モデルがアプリケーションでの予測に使用された後の時間を指す(モデルが生成されるときのモデルの適合/トレーニングの時間は含まれない)。
【0122】
単純で効果的ではあるが、上記のPLSモデルの原則を、深層学習システムに直接適用できない場合があることに注意すべきである。具体的には、PLSの予測の基礎は入力データ空間の部分空間であるため、新しい観測値の部分空間近似をトレーニングに使用されたものと簡単に比較できる。一方、深層学習モデルは通常、非線形変換の複数のレイヤに依存し、各変換が最終出力に寄与する。これは、表面上は異なる観測値が、空間のシーケンスを介して変換され、出力にマップされることを意味することがある。入力から出力への有用な変換を見つけるこの機能は、深層学習モデルが非構造化データに対して、うまく機能する理由であり得る。ただし、これらの変換の結果、この変換が、新しい観測値のモデルがトレーニングされたのと同じデータ分布に属しているかどうかを判断することを困難にする場合がある。深層学習モデルの知識の限界を判断するための明確な比較ポイントがない場合や、新しい観測値がそれらの限界内にあるかどうかを判断するための明確な方法がない場合がある。
【0123】
PLS回帰は、製造プロセスの監視などで広く使用されている回帰モデルである。観測値のn行と特徴のp列を含むトレーニングデータ行列(X=[x...xで表記される)、応答のq列を含む対応するターゲット行列(Yで表記される)が与えられると、PLSモデルは両方のデータ行列を要約し得る。PCAと同様に、PLSは、XおよびYを近似する「潜在変数空間」と呼ばれる、等しい次元kのフルランクの部分空間を見つけ得る。PCAとは対照的に、PLSは、単一の部分空間の分散を最大化する代わりに、検出された部分空間間の共分散を最大化し得る。つまり、PLSは入力データを次のように近似し得る。
X=TP+E (1)
【0124】
ここで、T=[t,... ,t]は、Xの列・空間のフルランク部分空間にまたがりYとの共分散を最大化するn×kの潜在変数行列であり、Pは、PLS負荷のp×k行列であり、Eは、近似残差のn×p行列であり得る。負荷には、TからXを近似するために使用される線形結合の重みで含み得る。Yの応答行列は、同様の方法で近似し得る。PLSモデルを計算して回帰に使用する方法の詳細については、以下で見つけられる。S.Wold、M.SjostromおよびL.Erikssonらによる「PLS-regression:a basic tool of chemometrics」、Chemom.Intell.Lab.Syst.、第58巻、第2号、第109~130頁、2001年10月。
【0125】
PLSによって提供される入力データの近似値を使用して、予測中に遭遇した外れ値を検出できる。モデルの適合後に、次の方法でPLSを使用して検出された部分空間に新しい観測値を射影し得る。
new=XnewP (2)
これにより、新しい観測値を次のように近似できる場合がある。
【数5】
【0126】
部分空間射影Tnewおよび近似の両方を使用して、適切な距離指標に基づいて、外れ値を検出し得る。予測時間中に外れ値を検出するために使用される2つの例示的な尺度は、潜在変数空間のマハラノビス距離と入力列空間の近似残差である。他の尺度は、複合距離、局所アウトライン因子(LOF)などである。
【0127】
PLSを使用する場合、予測時間中に外れ値を検出する1つの方法は、マハラノビス距離を使用することである。マハラノビス距離は、多変量確率分布の原点から観測値までの標準偏差が、どの程度離れているかを測定する既知の統計距離である。直感的には、マハラノビス距離が大きい観測値は、与えられた確率分布の下では、可能性が低いということであり得る。潜在変数の確率分布は、潜在変数の平均がゼロであると仮定して、Tにおける潜在変数の共分散行列Cを使用して、パラメータ化し得る。次に、潜在変数空間の射影値tを備える観測値xのマハラノビス距離dは、次のように計算し得る。
【数6】
【0128】
マハラノビス距離は、観測値が特定の分布の下にある可能性がどれほど低いかを測定できるが、マハラノビス距離は、観測値がその分布に属しているかどうかについての情報を提供しない場合がある。対照的に、近似残差は、新しい観測値が分布からどれだけ離れているかを簡単に測定できる。適合されたPLSモデルが与えられると、観測値xは、
として近似し得る。二乗近似残差は、次の式で簡単に求め得る。
【数7】
【0129】
ここで、xi,jは、観測値ベクトルのj番目の要素であり得る。直感的には、トレーニング分布以外の別の分布からの観測値の近似が失敗し、近似残差が大きくなるということであり得る。
【0130】
深層ニューラルネットワークの予測時間外れ値検出
外れ値検出モジュール104は、深層ニューラルネットワーク100が説明できない可能性がある観測値を見つけるために、例えば、上記のように製造プロセス監視における予測時間外れ値の原理に基づいて、アドオン方法を実行し得る。深層ニューラルネットワーク100は、任意の種類のニューラルネットワーク、例えば、畳み込みニューラルネットワーク(CNN)、リカレントニューラルネットワーク、リカーシブニューラルネットワーク、トランスフォーマニューラルネットワークなどであり得る。
【0131】
深層学習システムにおいて予測時間の外れ値を検出するために外れ値検出モジュール104によって実行される方法は、ニューラルネットワークが入力データを変換することによって機能し得るという事実に基づき得る。入力データが深層ニューラルネットワークを介して供給される場合、データの複数の中間表現が存在する可能性があり、(例えば、深層ニューラルネットワークが分類問題を解決するように構成されている場合に、入力データが分類されるグループの)予測に、中間表現が使用され得る。これらの中間表現の1つまたは複数は、予測中に外れ値を検出するため、および予測を実行するため、に使用され得る。
【0132】
PLSと同様の方法で、予測中に外れ値を検出する可能性を提供するために、深層ニューラルネットワーク(例えば、フィードフォワードニューラルネットワーク)を、一連の非線形変換と見なすことができる。言い換えると、特定のネットワークのレイヤi(=1、2、3、4、....)からの観測値x(入力データ)の活性化ベクトルaは、ネストされた一連の変換によって次のように与えられる。
【数8】
【0133】
ここで、f(k=1、2、...、i)は活性化関数であり得、W(k=1、2、...、i)は重み行列であり得る。観測値xの活性化ベクトルaは、所与のネットワークのレイヤiからの中間出力と見なすことができ、観測値xが所与のネットワークに入力されるときのレイヤiのそれぞれのノードからの出力に対応する要素値を含み得る。これらの活性化aのそれぞれは、入力データの特徴表現を提供し得る。重み行列は、通常、バックプロパゲーションによる教師ありトレーニングによって取得し得るが、活性化は、入力データの変換された、または前処理された表現を提供するだけであり得る。
【0134】
変換をより詳細に説明するために、観測値xは、n次元の行ベクトルx=[x...x]であり得、ここで、nは、アプリケーションに依存する。xが単一チャネル画像の場合、nは、ピクセル単位の画像の長さにピクセル単位の画像の幅を掛けたものであり得、値x,x,...,xは画像のピクセル値である。第1のレイヤでは、xは、行列に第1の重み行列Wを掛けたものであり、n次元の線形射影
を形成する。Wの次元は、n×nである。線形射影の後、活性化関数fが、
に適用されて、活性化aが形成される。活性化関数fは非線形関数であり得る。活性化関数の一般的な選択肢には、とりわけ、正規化線形関数f(x)=max(0,x)、シグモイド関数f(x)=(1+e-x-1、ソフトマックス関数
が含まれる。次に、活性化aは、行列に重み行列Wを掛けたものであり、結果の線形射影
は、活性化関数を使用して変換される。重み行列を用いた行列乗算と活性化関数を使用した変換手順は、レイヤiの活性化aが得られるまで、i回繰り返される。
【0135】
これらの中間表現を使用して、任意の深層ニューラルネットワーク(例えば、任意のフィードフォワードニューラルネットワーク)の外れ値を検出するためのプラグ・アンド・プレイ方式を提供し得る。トレーニングされたネットワークが与えられた場合、トレーニングデータは、レイヤiからの活性化行列A=[a1,i... an,iを使用して表すことができ、ここで、nは観測値の数である。Aは、フルランクではない場合があるため、近似Aとして使用できるフルランクの部分空間を見つけることが望ましい場合がある。いくつかの例では、PCAを使用して、データを低次元の部分空間にマッピングするために、線形射影を使用して部分空間を取得し得る。他のいくつかの例では、オートエンコーダ、ランダム射影、スパース主成分分析、および/または自己組織化マップなどの他の方法を使用して、データを低次元の部分空間にマッピングし得る。
【0136】
PCAの使用例では、以下を取得するために、トレーニングデータの活性化の次元をm次の次元に減らすことができる。
,P=PCA(A) (7)
【0137】
PLSと同様に、Tは、トレーニングセットの活性化の部分空間にまたがる潜在変数行列を示し得、Pは、PCA負荷を示し得る。例えば、行列形式のPCAは、次の最小二乗モデルを提供し得る。
【数9】
【0138】
これは、上記の式(1)に類似していると見なし得る。
【0139】
PLSと同じように、潜在変数の共分散行列と負荷行列を使用して、マハラノビス距離、近似残差、複合計量距離、局所アウトライン因子(LOF)などの適切な距離指標に基づいて、予測時間の外れ値を検出し得る。
【0140】
トレーニングされたニューラルネットワークを使用して新しい観測値が予測されると、活性化Ai,newも抽出し得る。新しい活性化は、PLSを使用する場合と同じ方法で、トレーニングデータの活性化から見つかった部分空間に射影し得る。
A,new=Ai,new (9)
【0141】
そして、新しい観測値の距離、例えばマハラノビス距離は、式(4)に従って計算し得る。
【0142】
新しい活性化は、PCA負荷を使用して、次のように近似し得る。
【数10】
【0143】
次の式(11)(式(5)に類似)に従って計算された近似残差を使用しても、PLSを使用する場合と同じ方法で、外れ値を検出し得る。
【数11】
【0144】
ここで、pは、レイヤi内のノードの数を示し得る。
【0145】
決定された距離はまた、記述された距離の2つ以上を組み合わせることによって形成される複合距離指標であり得る。1つの例は、ユークリッドノルムを次のように使用して、残差平方和の平方根によって与えられるマハラノビス距離および残差距離を組み合わせる方法である。
【数12】
【0146】
上記は複合距離指標の一例にすぎず、他の多くの組合せも可能である。
【0147】
上記の式、すなわち式(7)から(12)は、深層ニューラルネットワークからの活性化を適用するために、本明細書で提供されるような新しい方法で適合されている。
【0148】
システム設定のプロセス
図3の左側の部分は、コンピューティングシステム1を設定するための例示的なプロセスのフローチャートを示す。図3に示される例示的なプロセスは、コンピューティングシステム1のアプリケーション10によって実行され得る。
【0149】
ステップS10で、アプリケーション10は、データ記憶装置12からデータを入手し得る。データは、深層ニューラルネットワーク100をトレーニングするためのトレーニングデータセットの少なくとも一部であり得る。トレーニングデータセットは、深層ニューラルネットワーク100への可能な観測値入力を含み得る。トレーニングセットを構成する観測値は、センサデータ、コンピュータネットワークトラフィックデータ、金融取引データ、または観測された機器やシステムを特徴付けるその他の履歴データであり得る。例えば、深層ニューラルネットワーク100が図2に示されるようなCNNである場合、トレーニングデータセットは、可能性のある観測値として、CNNへの可能な入力画像を含み得る。
【0150】
ステップS12で、アプリケーション10は、深層ニューラルネットワーク100がすでにトレーニングされているかどうかを判断し得る。ステップS12は、ステップS10の前、後、または並行して実行し得る。
【0151】
深層ニューラルネットワーク100がまだトレーニングされていないと判断された場合(ステップS12で、いいえ)、プロセスはステップS14に進み得る。深層ニューラルネットワーク100がすでにトレーニングされていると決定された場合(ステップS12ではい)、プロセスはステップS16に進み得る。あるいは、ステップS16に進む前に、深層ニューラルネットワーク100を微調整し得る。
【0152】
ステップS14で、アプリケーション10は、ステップS10で入手されたデータを使用して、深層ニューラルネットワーク100をトレーニングし得る。
【0153】
ステップS16で、アプリケーション10は、深層ニューラルネットワーク100を使用してデータを変換し得る。ステップS17で、アプリケーション10は、深層ニューラルネットワーク100の複数の隠れ層のうちの少なくとも1つから出力される中間出力値(中間出力値の第1のセット)を取得し得る。具体的には、例えば、アプリケーション10は、トレーニングデータセット内の可能な入力画像の、上記の式(6)に従って、深層ニューラルネットワーク100の少なくとも1つのレイヤから活性化ベクトルを取得し得る。活性化とは、式(6)で説明されているように、観測値による活性化関数を使用した行列乗算と変換のシーケンスの結果を指す。任意選択で、活性化が特徴マップからのものである場合、各特徴マップ全体のグローバルプーリング、例えば平均プーリングを適用し得る。
【0154】
ステップS18で、アプリケーション10は、例えば(任意選択でプールされた)トレーニングセットの活性化において、中間出力値に潜在変数モデルを適合させ得る。言い換えれば、アプリケーション10は、潜在変数モデルを構築し得る。例えば、アプリケーション10は、上記のようにPCAを使用して、潜在変数行列TおよびPCA負荷Pを取得し得る(例えば、式(7)および(8)を参照)。あるいは、アプリケーションは、(任意選択でプールされた)活性化ベクトルを入力として使用してオートエンコーダをトレーニングし得る。
【0155】
ステップS20で、アプリケーション10は、潜在変数モデルを使用して活性化を射影し得る。例えば、アプリケーション10は、ステップS17で得られた活性化ベクトルから、潜在変数モデルを構築/適合させることによって見出された部分空間における射影値の対応するセット(例えば、T)を取得し得る。
【0156】
ステップS22で、アプリケーション10は、潜在変数モデルを使用して、トレーニングセット画像の1つまたは複数の距離のセットを計算し得る。例えば、アプリケーションは、データの活性化の距離を計算し得る。任意の適切な距離指標を使用し得る。例えば、アプリケーション10は、上記の式(4)に従って、ステップS18で構築された潜在変数モデルに関して、ステップS17で取得された活性化ベクトルのそれぞれについてマハラノビス距離を計算し得る。追加的または代替的に、例えば、アプリケーション10は、上記の式(11)に従って、ステップS17で取得された各活性化ベクトルの二乗近似残差を計算し得る。
【0157】
ステップS24で、アプリケーション10は、距離の閾値を決定し得る。追加的または代替的に、二乗近似残差の閾値を決定し得る。閾値は、後で、新しい観測値(例えば、入力画像)がトレーニングデータセットに関して外れ値であるかどうかを判断するために使用し得る。閾値を取得するために、ステップS22で計算された距離および/または二乗近似残差を使用し得る。例えば、閾値は、ステップS22で計算された距離(または二乗近似残差)のパーセンタイル、例えば95パーセンタイルで、あり得る。「95パーセンタイル」は単なる例であり、95より大きいまたは小さい値を、閾値を決定するためのパーセンタイルとして使用し得ることに注意すべきである。
【0158】
システム設定のプロセスは、ステップS24の後に終了し得る。
【0159】
外れ値検出のプロセス
図3の右側は、外れ値を検出するためにコンピューティングシステム1によって実行される例示的なプロセスを示している。
【0160】
このプロセスは、深層ニューラルネットワークを導入することから始まり得る。例えば、深層ニューラルネットワークは、観測値を処理するために使用されるソフトウェアに組み込み得る。これは、監視対象の機器またはシステム自体の内部にある場合もあれば、例えば、サーバまたはクラウドサービスとして実現される分析用の独立型ソフトウェアモジュールとしての場合もある。
【0161】
ステップS30で、アプリケーション10は、新しい観測値を受信し得る。例えば、深層ニューラルネットワーク100が図2に示すようにCNNである場合、CNNに入力される画像を、新たな観測値として受信し得る。ただし、観測値は画像に限定されず、観測される機器またはシステムを特徴付ける任意のデータであり得る。例えば、観測値は、1つまたは複数のセンサによって取得された特定の測定データであり得る。
【0162】
ステップS32で、アプリケーション10は、深層ニューラルネットワークを使用して新しい観測値を変換し得る。変換には、例えば、新しい観測値の深層ニューラルネットワーク予測を計算することを含み得る。
【0163】
その後、アプリケーションは、新しい観測値が外れ値であるかどうかを判断し得る。これは、次の方法で実行し得る。
ステップS33で、アプリケーション10は、深層ニューラルネットワーク100の複数の隠れ層のうちの少なくとも1つから出力される中間出力値(中間出力値の第2のセット)を取得し得る。例えば、アプリケーション10は、新しい観測値の、上記の式(6)に従って、深層ニューラルネットワーク100の少なくとも1つのレイヤから活性化ベクトルを取得し得る。
【0164】
ステップS34で、アプリケーション10は、上記のようにステップS18で構築/適合された潜在変数モデルを使用して、決定された中間値(中間値の第2のセット)を射影し得る。例えば、アプリケーション10は、ステップS32で得られた活性化ベクトルから、潜在変数モデルを構築/適合させることによって見出された部分空間における対応する射影値のセット(例えば、TA,new)を取得し得る(式(9)を参照)。
【0165】
ステップS36で、アプリケーション10は、上記のようにステップS18の潜在変数モデルを使用して、新しい観測値の距離を計算し得る。例えば、アプリケーション10は、上記の式(4)に従って、ステップS18で構築された潜在変数モデルに関して、ステップS32で取得された新しい観測値の活性化ベクトルのマハラノビス距離を計算し得る。追加的または代替的に、例えば、アプリケーション10は、上記の式(11)に従って、ステップS32で取得された新しい観測値の活性化ベクトルの二乗近似残差を計算し得る。上記のように、マハラノビス距離と二乗近似残差の代わりに、他の適切な距離指標を使用し得る。
【0166】
ステップS38において、アプリケーション10は、ステップS36で計算された距離が、ステップS24で決定された閾値よりも大きいかどうかを判断し得る。
【0167】
ステップS38で「はい」の場合、プロセスはステップS40に進むことができ、アプリケーション10は、新しい観測値が外れ値であると判断し得る。この場合、新しい観測値が外れ値であると判断されるため、システムはモデル予測を信頼できない予測として報告し得る。したがって、異常検出結果には、予測が新しい種類の異常に関連している、および/または信頼性の低い予測である、というデータを含み得る。プロセスは、ステップS40の後に終了し得る。あるいは、他のアプリケーション固有のアクションを実行し得る。例えば、深層ニューラルネットワークの予測は無視され、外れ値の観測値は破棄され得る。新しい種類の異常が検出されたという警告を生成し、任意選択で、外れ値の観測値および/または予測を保存して、さらに分析することもできる。
【0168】
ステップS38でいいえの場合、プロセスはステップS42に進むことができ、アプリケーション10は、新しい観測値のために深層ニューラルネットワーク100によって行われた予測が信頼できると判断し得る。この場合、新しい観測値は外れ値ではないと判断されるため、システムはモデル予測を信頼できる予測として報告し得る。次に、予測は異常検出結果として出力し得る。プロセスは、ステップS42の後に終了し得る。あるいは、さらにアプリケーション固有のアクションを実行し得る。
【0169】
予知保全の場合、アプリケーション固有のアクションは、有利には、実質的なエラーが実際に発生する前に、実行する必要のある修正保守アクションの種類を判断することに関し得る。判断された修正保守アクションに関する情報は、適切なユーザインターフェース(例えば、表示装置)を使用して、ユーザに伝達され得る。判断された修正保守アクションを、自動的にスケジュールおよび/または開始することも可能である。
【0170】
サイバーセキュリティアプリケーションの場合、さらなるアプリケーション固有のアクションは、セキュリティ違反の種類を判断すること、または、特定のユーザ、コンピュータ、サーバ、ネットワークなどが信頼できないと見なされることなどであり得る。それぞれの情報は、適切なユーザインターフェース(例えば、表示装置)を使用して、ユーザに伝達され得る。さらに、例えば、特定のユーザ、コンピュータ、サーバなどへのアクセスを拒否するなどの修正処置は、自動的にスケジュールおよび/または開始し得る。
【0171】
銀行業務において、さらなるアプリケーション固有のアクションは、電子取引、または、特定の参加者との電子取引が不正であると判断することに関連し得、さらに、適切なユーザインターフェース(例えば、表示装置)を使用して判断された情報をユーザに伝達することを含み得る。さらに、例えば、特定のユーザ、コンピュータ、サーバなどへのアクセスを拒否するなどの修正処置は、自動的にスケジュールおよび/または開始し得る。
【0172】
本出願の実施形態および例では、深層ニューラルネットワークを使用する深層学習モデルが、それが何であれ、観測されるシステムを特徴付ける履歴データを使用してトレーニングされる。その後、深層学習モデルを使用して入力データ(新しい観測値)を処理し、正常な動作と既知の種類の異常を区別する。既知のアプローチとは対照的に、深層ニューラルネットワークを採用した深層学習モデルは、未知の種類の異常を識別することもできる。
【0173】
実験
このセクションでは、例示的なコンピューティングシステム1によって実行された外れ値検出のための実験の結果が説明される。以下の実験では、深層ニューラルネットワーク100は、例えば、異常検出、特に予知保全のために、画像分類タスクを解決するように指示されている。
【0174】
実施例1:ターボファンエンジンの予知保全
いくつかの実装形態では、CNNは、画像分析のための深層ニューラルネットワーク100として使用することができる。しかしながら、例示的なコンピューティングシステム1は、画像以外の種類のデータを分析する際に、外れ値検出を実行することもできる。例えば、例示的なコンピューティングシステム1による外れ値検出は、保守がいつ実行されるべきかを予測するために、稼働中の機器の状況を判断する予知保全タスクに対して実行され得る。このセクションでは、ターボファンエンジンの予知保全のための外れ値検出の実験結果を提供する。
【0175】
この実験では、NASAエイムズのPrognostics Center of Excellenceによって提供されたターボファンエンジン劣化データセット(Saxena,A.、Goebel,K.による「Turbofan Engine Degradation Simulation Data Set」、NASAエイムズ予後診断データ・リポジトリ(http://ti.arc.nasa.gov/project/prognostic-data-repository)、2008年、NASAエイムズ研究センタ、モフェット・フィールド、カリフォルニア州)が使用された。データセットは、様々な動作条件と障害モードで、障害が発生するまで実行される模擬的なターボファンエンジンで構成されている。エンジンは、21個のセンサを使用して、経時的に監視された。使用されたセンサには、温度センサ、圧力センサ、ファンおよびコア速度センサ、冷却液漏れの測定値、および燃焼器の燃料・空気の比率の測定値が含まれていた。データセットの詳細は、例えば、Saxena,A.、Goebel,K.、Simon,D.およびEklund,N.による、「Damage propagation modeling for aircraft engine run-to-failure simulation」、予後および健全性管理、2008年、PHM2008、IEEE国際会議、第1~9頁、2008年10月で、見つけることができる。さらに、トレーニングデータセットの100個のエンジン、およびテストデータセットの100個のエンジンに対しての、3つの制御設定が記録されていた。課題は、致命的な障害を回避するために、障害が発生する15センサ・サイクル前に障害を予測することである。
【0176】
障害を予測するために、長・短期記憶(LSTM)ブロック(Hochreiter、SeppおよびJurgen Schmidhuberによる「Long Short-Term Memory」、ニューロコンピューティング9、第8号、1997年、第1735~1780頁、Gers、Felix A.、Jurgen SchmidhuberおよびFred Cumminsによる「Learning to Forget:Continual Prediction with LSTM」、ニューロコンピューティング12、1999年、第2451~2471頁)に基づいて、ニューラルネットワークモデルがトレーニングされた。LSTMブロックは、リカレントニューラルネットワークのユニットとして理解でき、セル、入力ゲート、出力ゲート、および忘却ゲートで構成され得る。セルは、任意の時間間隔で値を「記憶する」ことができ、例えば、内部の「メモリ」を実装することができる。入力ゲート、出力ゲート、および忘却ゲートのそれぞれは、活性化関数を使用して加重和の活性化を計算する、ニューラルネットワークのノードと見なし得る。入力、出力、および忘却ゲートはセルに接続でき、LSTMブロックの接続を通過する値の流れの調整器と見なし得る。この実験では、LSTMモデルをコンピューティングシステム1の深層ニューラルネットワーク100として使用した。
【0177】
図4は、この実験でターボファンエンジン劣化データセットを使用して障害を予測するためにトレーニングされたLSTMモデル(深層ニューラルネットワーク100の例)の構成例を示す。図4に示すLSTMモデルは、3つのLSTM層L1、L2、L3と、活性化関数としてシグモイド関数を持つ出力層で構成されている。LSTM層L1とL2はそれぞれ64個のLSTMブロックで構成され、LSTM層L3は50個のLSTMブロックで構成される。LSTM層L1、L2、L3は、深層ニューラルネットワーク100の隠れ層と見なし得る。図4に示すLSTMモデルをトレーニングするために、50サイクルの長さのスライディングウィンドウが入力として使用され、バイナリ応答がスライディングウィンドウの最後のサイクルが障害から15サイクル以内にあるかどうかを示した。21個のセンサ出力、3個の制御設定、および最初からの現在のサイクルが、故障予測の変数として使用された。すべての変数は0から1の範囲にスケーリングされ、トレーニングデータのスケーリングパラメータは、テストデータのスケーリングに使用された。
【0178】
トレーニングの進行状況を監視するために、トレーニングデータセットの10%が検証に使用された。LSTMモデルは、Adamオプティマイザ(Kingma、Diederik P.およびJimmy Ba.による、「Adam:A Method for Stochastic Optimization」、アーカイヴ1412.6980[Cs]、2014年12月22日、http://arxiv.org/abs/1412.6980で入手可能[アクセス日:2018年7月25日])を使用して、検証セットのバイナリ・クロス・エントロピーの増加が停止するまで(8エポック)、トレーニングされた。結果として得られたモデルは、スライディングウィンドウ分類で、テストセットF1値が94.1%を達成した。予知保全モデルのテストセットの性能を次の表1に要約する。
【0179】
【表1】
【0180】
センサが機能しなくなる予測時間の外れ値を模擬実験するために、テストセット・エンジンの半分が外れ値として機能するようにランダムに選択された。これらのエンジンのそれぞれについて、センサがランダムに選択され、その出力はフルタイムシーケンスの途中からゼロに設定された。これらの外れ値を検出するための潜在変数モデルを提供するために、予知保全モデルのLSTM層L1、L2、L3から、特徴(例えば、中間出力)が抽出された(図4を参照)。最初の2つのLSTM層L1、L2では、各LSTMノードの時間全体の平均を使用して、各スライディングウィンドウを要約した。最後のLSTM層L3では、タイムシーケンスの最後のサイクルが使用された。次に、3つのLSTM層L1、L2、L3からの出力が、連結されて単一行列となった。
【0181】
外れ値検出モジュールは、PCAに基づいて設定され、100成分のPCAモデルがすべてのトレーニングデータのLSTMに適合した。近似残差平方和は、すべてのトレーニングセットのスライディングウィンドウについて計算され、トレーニング残差平方和の99.9パーセンタイルが外れ値のカットオフとして設定された。次に、外れ値と残りのテストセットLSTM特徴がPCAモデルに射影され、図5からわかるように、すべてのスライディングウィンドウの近似残差平方和が計算された。したがって、外れ値の検出および管理を処理するために、予知保全モデルに加えて、本明細書に記載の方法およびシステムを使用し得る。予知保全モデルは、トレーニングされたタスクでは正確であるが、このモデルは、センサの破損(エンジンの破損ではない)などの予期しないイベントを処理できない。
【0182】
図5は、予知保全のためのテストセットシーケンスでの外れ値検出の結果を示す。図5の左側は、センサ破損時と整合している1つのランダムなセンサ破損のシーケンスを示し(センサが破損したときを示す垂直の破線)、図5の右側は、中間時点で整合しているセンサ破損がないテストセットを示す。図5の上段の図は、外れ値検出の残差平方和を示す。水平の破線は、トレーニングセットの距離に基づく99.9パーセンタイルを示す。図5の中段の図は、タービンが15サイクル以内に破損する場合のモデル予測を示す。ここで、1は、エンジンが故障すると予測されることを意味する。図5の下段の図は、タービンが15サイクル以内に破損するかどうかを示すラベルを示す。ここで、1は、エンジンが故障することを意味する。外れ値は通常の変動とうまく区別された(この実験では適合率=再現率=1)。センサ破損に続いて、LSTMモデルは、エンジンの多くが破損することを予測するが、残差平方和は同時に増加する。テストセットの場合、モデルはエンジンの故障を正しく予測する一方で、残差平方和は増加しない。これは、現在の方法を使用することにより、信頼すべきでない予測と信頼すべき予測との区別することが可能であることを示している。また、本手法がフィードフォワードネットワークだけでなくリカレントネットワークにも適用可能であることも示している。
【0183】
さらに、成分の数と残差平方和が、結果にどのように影響するかを調査した。図6からわかるように、成分の数は1から150まで変化し、外れ値検出の適合率および再現率は、トレーニングセットの残差平方和の95、99、および99.9パーセンタイルを、カットオフとして使用して報告された。図6は、PCA成分の数とカットオフパーセンタイルに応じた、予知保全のための外れ値検出性能の評価を示す。興味深いことに、すべてのカットオフで適合率および再現率は1が達成されたが、カットオフがより厳密になると、そのために必要な成分の数は増加する。すべてのカットオフについて、高い適合率と再現率を達成するには、説明された変動が非常に小さい成分が必要である(36成分のみで99.99%の累積R2に到達)。これは、外れ値と通常のテストセットシーケンスとの間で異なる変動が、小さく微妙な差異であり、非常に小さなPCA成分を補足する必要があることを示している。すべてのカットオフで、成分の数が多くなりすぎると、適合率が低下して過剰適合が観測された。ただし、より厳密なカットオフでは、過剰適合が発生する前に、より多くの成分が許容される。この実験では、トレーニングLSTM特徴の変動の99.999%を説明するPCAモデルが、99パーセンタイルカットオフおよび99.9パーセンタイルカットオフの両方で、適合率および再現率が1であり外れ値を検出するための優れた基盤を提供する。
【0184】
実施例2:サイバーセキュリティの分野での異常検出
予知保全の分野において、本発明の他の特に効果的な使用例は、サイバーセキュリティの分野における使用である。サイバーセキュリティで深層学習を使用する1つの方法は、難読化されたパワーシェルスクリプト(Hendler D、Kels S、Rubin Aによる、「Detecting Malicious PowerShell Commands Using Deep Neural Networks」、コンピュータと通信セキュリティのアジア学会2018の講演論文集[インターネット]、ニューヨーク市、ニューヨーク州、USA:ACM、2018年[2019年8月29日引用]、第187~197頁、(ASIACCS’18);http://doi.acm.org/10.1145/3196494.3196511から入手可能)を、検出することある。
【0185】
マイクロソフトのパワーシェルは、デフォルトでウインドウズコンピュータにインストールされるコマンドラインツールおよびプログラミング言語であり、システム管理者が、様々な操作タスクのために一般的に使用される。シマンテック社は、最近、サイバ犯罪者が、パワーシェルを攻撃の標的として使用することが増加していると報告した(「PowerShell Threats Grow Further and Operate in Plain Sight」[インターネット][2019年8月29日引用]https://www.symantec.com/blogs/threat-intelligence/powershell-threats-grow-further-and-operate-plain-sightから入手可能)。サイバ犯罪者が検出を回避するために使用できる方法の1つは、いわゆる難読化である。難読化とは、攻撃者のコードは、意図を自動的に検出するのが困難になるように書き直されるが、意図したとおりに実行されることを、意味する。つまり、サイバ攻撃を防ぐための多くの方法の内の1つは、難読化されたパワーシェルスクリプトを検出して削除することである。これは、難読化されたスクリプトの意図は検出できず、信頼できないからである。
【0186】
本発明による外れ値検出が、既存の種類でのみトレーニングされた場合に、以前には見られなかった種類の難読化をどのように検出できるかを、小規模な実験におけるこの状況のシミュレーションが示している。
【0187】
この目的のために、双方向LSTMに基づくバイナリ分類子を単一文字のシーケンスでトレーニングして、パワーシェルコーパス(Daniel Bohannonの難読化無効の調査用に集められた、https://github.com/danielbohannon/Revoke-Obfuscation)からの約40万のパワーシェルスクリプトを、難読化されているかどうかを分類できる。例示的なネットワークアーキテクチャを図7に示す。難読化されたスクリプトを構成するには、Daniel BohannonのInvoke-Obfuscation v1.8(https://github.com/danielbohannon/Invoke-Obfuscation)プログラム・ストリング/1、または、その他の(手動または自動、ランダムまたは疑似ランダムまたは決定論的)難読化技術が、通常のスクリプトで使用され、難読化されたスクリプトの新しいセットを作成することができる(以下、難読化1と呼ぶ)。デモンストレーションの目的で、モデルは、Adamオプティマイザ(Kingma DP、Ba J.Adamによる「A Method for Stochastic Optimization」、アーカイヴ14126980Cs[インターネット]、2014年12月22日[2018年7月3日引用]、http://arxiv.org/abs/1412.6980から入手可能)、を使用して、5エポックでトレーニングされ、学習率は、最初の3つのエポックで10-2、第4番目で10-3、第5番目で10-4であり、バイナリ・クロス・エントロピー損失を最小化して、90.4%のテストセット正解率であった。
【0188】
検査すると、難読化1は非常に穏やかな形式の難読化であることがわかる。つまり、結果として得られる難読化されたスクリプトは、通常のスクリプトと区別するのが難しい場合が多く、モデルが外れ値の検出に使用する有益な特徴を学習したことを示すのに、達成されたテストセット正解率が合理的であり充分であるとの結果になる。
【0189】
深層学習に基づく外れ値検出モデルを使用して新しい種類の難読化を検出する方法を説明するために、本発明による方法によって達成された結果を、MCドロップアウトによって達成された結果と比較する。外れ値を構成するために、難読化1スクリプトは、難読化実施圧縮プログラムを実行され、難読化されたスクリプトの別のセット(以下、難読化2と呼ぶ)を作成した。外れ値を検出するために、最初の双方向LSTM層から特徴が収集され、シーケンス全体で平均化され(図7参照)、元のパワーシェルスクリプトの変動の99%を補足するPCAモデルが適合された。通常のパワーシェルスクリプトからの任意の逸脱が検索されることがわかっているため、モデルトレーニング中に使用されるすべてのデータではなく、通常のスクリプトのみが使用される。次に、通常のスクリプト、難読化1、および難読化2、の残差平方和(図8Aに示す、Y軸の対数スケールに注意)が、それぞれ計算される。RSSの分布は、通常のスクリプトと難読化1スクリプトとの間で、明確に異なることに注意すべきである。つまり、教師ありの方法でトレーニングされたモデルに対して本発明の方法を使用すると、既知と未知の両方の種類の難読化されたスクリプトを確実に検出できる。
【0190】
比較のために、10個のモンテカルロサンプルを使用したMCドロップアウトを実行し、予測の標準偏差を外れ値距離として報告する。これにより、通常のスクリプトと難読化されたスクリプトとを強力に分離する(図8Bを参照)。本発明による方法論とMCドロップアウトとの間の大きな違いは、推論時間である。この例では、MCドロップアウトは、未知の外れ値のより強力な識別力を示しているが、本発明による方法は、予測時間に最小限のオーバー・ヘッドを追加する。この例では、本発明による方法は、予測がGPUで加速されている場合でも、予測に必要な実測時間の約1/30を追加するが、外れ値の検出ではそうではない。対照的に、MCドロップアウトは、モンテカルロサンプルごとに1つの完全な予測を必要とする。つまり、この例では、MCドロップアウトは、本発明の方法と比較して300倍長くかかる。バッチ処理を使用して複数のモンテカルロサンプルを並行実行できるが、これにより、推論の実時間と予測に必要なハードウェアメモリとの間に、トレードオフが生じる。
【0191】
さらなる例
異常検出および/または予知保全のためのデータ分析のための別の例示的な方法は、以下のステップを含む。
S101:データセット(観測値)(例えば、既知の障害または残存寿命を持つ機器のセンサデータの履歴)が提供される。提供された観測値は、トレーニングセットを構成する。
【0192】
S102:深層ニューラルネットワークをトレーニングするか、事前にトレーニングされたニューラルネットワークを微調整する。深層ニューラルネットワークは、畳み込みニューラルネットワーク、リカレントニューラルネットワーク、リカーシブニューラルネットワーク、トランスフォーマニューラルネットワーク、またはその他の適切な種類のネットワークであり得る。
【0193】
S103:深層ニューラルネットワークの1つまたは複数のレイヤを選択し、そのレイヤからトレーニングセットの観測値の活性化を計算する。
【0194】
S103a:任意選択で、活性化が特徴マップからのものである場合(例えば、ニューラルネットワークが畳み込みニューラルネットワークの場合)、各特徴マップ全体にグローバルプーリング(例えば、グローバル平均プーリング)を適用する。
【0195】
S104:(任意選択でプールされた)トレーニングセットの活性化に潜在変数モデルを適合する。
【0196】
S105:潜在変数モデルを使用して、トレーニングセットの観測値の1つ以上の距離のセットを計算する。
【0197】
S106:トレーニングセットの観測値の距離、例えば、トレーニングセットの距離の95パーセンタイル(つまり、トレーニングセットの観測値に対して取得された距離)に基づいて、閾値を選択する。
【0198】
S107:深層ニューラルネットワークを導入する。言い換えると、異常を検出したり、障害や残存寿命を予測したりするために使用されるソフトウェアに深層ニューラルネットワークを組み込む。ソフトウェアは、監視対象の機器自体の内部、オンプレミスまたはクラウド環境に導入できる中央サーバ(例えば、中央予測サーバまたは異常検出サーバ)、および/または、コンピュータネットワーク上に、独立型ソフトウェアとして実装し得る。
【0199】
S108:新しい観測値に対する深層ニューラルネットワーク予測を計算する。
【0200】
S109:次の手順を実行して、特定の新しい観測値が外れ値の観測値であるかどうかを判断する。
S109a:S105で潜在変数モデルを適合するために使用されるレイヤの活性化を計算する。任意選択で、グローバルプーリングを適用し得る。
S109b:S109aからの活性化およびS105の潜在変数モデルを使用して、モデルまでの距離を計算する。
S109c:S109bからの距離を、S106からの閾値距離と比較する。
(i)S109cの距離がS106の閾値よりも大きい場合、新しい観測値は外れ値と見なされる。その後、アプリケーション固有のアクションが実行される。例えば、エンドユーザに、続行する前に外れ値を手動で分析するように警告し得る。S108からの深層ニューラルネットワーク予測は無視され、外れ値の観測値は破棄し得る。
【0201】
(ii)S109cの距離がS106の閾値より大きくない場合、新しい観測値は外れ値とは見なされず、S108からの予測が受け入れられる。
【0202】
例示的な予知保全システムは、以下のコンポーネントを含み得る。
予知保全システムは、少なくとも1つの機器などの対象のエンティティの状態を測定するためのデータ収集センサを含み得る。センサは、例えば、温度、圧力、電流、磁束などを測定する物理的センサを含み得る。センサは、物理的測定に基づいて機器の状態が間接的に計算される、いわゆるソフトセンサとも呼ばれ得る。例えば、ソフトセンサには、カルマンフィルタや速度推定器が含まれる。センサは、音声または画像の形式で構造化データまたは非構造化データを収集する場合もあり得る。
【0203】
予知保全システムは、データ通信ネットワーク、および、例えばデータストアおよび/または他のユニットへの、センサからのデータ転送を可能にするそれぞれのデータ通信ユニットを、さらに備え得る。いくつかの例では、データ転送はリアルタイムで行われ得る。いくつかの例では、データ転送は無線転送を含み得る。
【0204】
予知保全システムは、センサから収集されたデータ、および任意選択で他のデータが蓄積、処理、および/または分析される、データストア(例えば、データベース)をさらに含み得る。データストアは、オンプレミスサーバ、遠隔サーバ、または分散型クラウドサービスとして実装し得る。
【0205】
予知保全システムは、本明細書に記載の方法を実行するように構成された予測分析コンポーネント(予測分析ユニット)をさらに含み得る。予測分析コンポーネントは、図1に示される制御および/または分析システム30を構成するか、またはその一部であり得る。特に、予測分析コンポーネントは、収集されたデータを集約およびモデル化して、保守が必要な時期、差し迫ったセキュリティ違反、不正なトランザクションまたはユーザなど、を予測するように構成し得る。予測分析コンポーネントは、観測される機器またはシステムで直接実行でき、いわゆるエッジ分析を構成し得る。予測分析コンポーネントは、サーバ上で実行することも、クラウドサービスとして実行し得る。
【0206】
予知保全システムは、例えば、オペレータが機器の状態および/または起動に関する見識を得るために使用することができる、ユーザインターフェースをさらに任意選択で備え得る。ユーザインターフェースは、例えば、グラフィカルユーザインターフェースであり得る。
【0207】
バリエーション
上記の例のいくつかでは、畳み込みニューラルネットワーク(CNN)が使用された。しかしながら、深層ニューラルネットワーク100は、畳み込みニューラルネットワークに限定されず、任意の種類のニューラルネットワーク、例えば、リカレントニューラルネットワーク、リカーシブニューラルネットワーク、トランスフォーマニューラルネットワークなどであり得る。
【0208】
上記の例のいくつかでは、単一の隠れ層からの活性化が外れ値の検出を実行するために使用される。
【0209】
他のいくつかの例では、2つ以上の隠れ層からの活性化を使用して外れ値の検出を実行し得る。例えば、外れ値の検出に使用するレイヤを選択する際の困難を回避するために、すべての(非表示の)レイヤからの測定値を、外れ値の検出に使用されているガウス・カーネル密度推定を使用して組み合わせることができる(例えば、L.J.Latecki、A.LazarevicおよびD.Pokrajacによる、「Outlier Detection with Kernel Density Functions」、パターン認識における機械学習とデータマイニング、2007年、第61~75頁、E.Schubert、A.ZimekおよびH.Kriegelによる、「Generalized Outlier Detection with Flexible Kernel Density Estimates」、データマイニングの2014SIAM国際会議の講演論文集、第0巻、産業および応用数学のための学会、2014年、第542~550頁)。カーネル密度推定は、トレーニングセットのマハラノビス距離と残差平方和に対して個別に計算できるが、すべてのレイヤを組み合わせる。各観測値の確率は、モンテカルロ積分を使用して、結果のカーネル密度関数で近似できる。外れ値の検出性能は、上記の実験と同じ方法で評価できる。
【0210】
さらなる例では、複数の埋め込み(例えば、複数のレイヤからの活性化)を統合する場合、バギング・アプローチ(例えば、A.LazarevicおよびV.Kumarによる「Feature Bagging for Outlier Detection」、第11回ACM SIGKDDデータマイニングにおける知識発見国際会議の講演論文集、ニューヨーク市、ニューヨーク州、USA、2005年、第157~166頁を参照)を、直接カーネル密度の代わりに、使用し得る。
【0211】
さらに、学習された表現、GMMワンクラスSMV、クラスタリングなどで他の方法論を使用できる場合がある。
【0212】
さらに、本明細書に記載の様々な実施形態および例では、マハラノビス距離などの単純な測定値を使用する代わりに、局所外れ値因子またはLOFなどのより局所的な測定値(例えば、M.M.Breunig、H.-P.Kriegel、R.T.NgおよびJ.Sanderによる「LOF:Identifying Density-based Local Outliers」、2000ACM SIGMODデータ会議の国際会議の講演論文集、ニューヨーク市、ニューヨーク州、USA、2000年、第93~104頁)は、PCA空間に直接適用され得る。原則として、複合指標のモデル化された埋め込みまでの距離、平方和、局所外れ値因子など、任意の適切な距離指標、または距離指標の組合せ、が使用され得る。
【0213】
上記の例のいくつかでは、特定の画像が観測値として(トレーニングセットの一部として、および予測が取得される新しい観測値として)、使用される。上記のように、故障、劣化、完全性またはセキュリティの違反、または観測されるエンティティの正常な状態または操作からの任意の他の逸脱(すなわち、異常)が判断さ得ることに基づいて、これらの画像の代わりに、例えば機器、機械部品の画像など任意の他の画像が使用され得る。
【0214】
例えば、特定の特徴の存在、画像の破損のレベル、取得された画像の色の変化などの取得された画像の特性に基づいて、画像化されたオブジェクトおよび/または画像システムの異常を、判断し得る。画像化されたオブジェクトの異常には、例えば、障害(例えば、亀裂)、画像化されたオブジェクトの摩耗または劣化が含まれ得る。さらに、画像の欠陥または画像の破損の存在は、画像化システムの欠陥、不整合などを示し得る。例えば、画像は、画像書き込み中の書き込みプロセスの中断、画像キャプチャデバイスの集束システムの障害のために、少なくとも部分的に破損する可能性があり、そのような異常を検出すると、ユーザは個々に通知されるか、および/または、修正保守アクションが開始され得る。
【0215】
さらに、画像の代わりに、他の種類の入力データ、例えば、1つまたは複数のセンサの測定に基づいて得られたデータ、コンピュータネットワークトラフィックデータ、トランザクションデータ(例えば、金融取引に関連する)などが、使用され得る。原則として、観測される機器またはシステムを特徴付ける任意の種類のデータが、処理され得る。次に、本明細書に記載の様々な実施形態および例による方法を使用して、正常な動作と既知の種類の異常とを区別するだけでなく、未知の種類の異常にもフラグを立てることができる。
【0216】
さらに、本明細書に記載されるような方法およびシステムの様々な用途があり得る。可能な用途の1つは、位相差顕微鏡で得られた画像の異常を検出することである。位相コントラスト画像から核を識別する作業は困難であり、通常、核の位置を強調する追加の画像チャネルを提供するために、核に結合する蛍光マーカに依存する。深層CNNを適用することにより、細胞からバックグラウンドをセグメント化し、蛍光ラベルを使用せずに位相差画像から細胞の核を識別するモデルが、生成およびトレーニングされ得る。CNNが複数の細胞種類からの位相差画像でトレーニングされている場合、CNNは、異常と見なされる可能性のある、これまでに見たことがない新しい細胞種類も識別し得る。これまで見たことがない細胞種類が、CNNトレーニングに使用されるセル種類と大きく異なる場合を判断するために、予測時間外れ値検出が、適用され得る。新しい細胞種類からの位相差顕微鏡画像が外れ値として検出された場合、異常が検出された、および/またはCNNの細胞とバックグラウンドの分離、および核の検出が信頼できない、という警告を、ユーザが受信し得る。この場合、提供されるCNNシステムは、細胞をバックグラウンドから確実に分離し、新しい細胞種類の位相差画像から核を識別するために、CNNモデルを再トレーニングする必要があるという信号を送信し得る。
【0217】
さらなる用途は、機械部品、機械、産業プラント、発電所などの様々な種類の技術システムでの異常検出である。
【0218】
例えば、予知保全機器では、通常、物理センサを使用してリアルタイムで測定できる。次に、予測深層学習モデルを使用して、エラーが発生する前に、エラーを検出および分類できる。本明細書に記載の方法およびシステムは、既知のエラーに加えて、未知の種類のエラーを検出する可能性を提供し、未知の種類のエラーは、外れ値として確実に特定される。その結果に基づいて、機器の破損を防ぐために保守が必要な時期が、自動的に判断され得る。したがって、予知保全システムは、これまで未知であった障害種類が発生した場合でも、定義された動作を行い得る。したがって、大幅なコスト削減を達成でき、機器が予想よりも早く故障して、致命的な障害やプロセスの停止につながる可能性があるリスクを減らし得る。
【0219】
もう1つの例は、サイバーセキュリティの技術分野であり、例えば、ネットワークへの侵入を検出する。例えば、深層学習を使用してネットワークトラフィック、つまりネットワーク上の異なるコンピュータ間で転送されるデータパッケージのログをモデル化することにより、ネットワーク内の悪意のある攻撃者を示すトラフィックパターンの微妙な変化が検出され、侵入として分類し得る。提案された方法とシステムを使用することにより、以前に見られなかったパターンがある場合にも、使用された深層学習モードは警告することができる。そのようなパターンは外れ値として確実に識別されるからである。
【0220】
別の例は、金融取引(例えば、銀行)の分野である。金融コンピュータネットワークでは、経済取引は、例えば、いつ/どこで/どのくらいの金額がアクタ間で転送されるかによって、特徴付け得る。履歴データを使用して、深層学習に基づく分類器をトレーニングして、トランザクションまたはアクタを不正として分類し得る。本発明を使用して、新しい種類の不正なトランザクションが発生したとき、またはアクタが以前には見られなかった方法で行動したときに、深層学習モデルは、警告することができる。したがって、金融コンピュータネットワークのセキュリティを改善し得る。
【0221】
上記の例では、履歴データを使用して、調査対象のシステムの特性を明らかにし、深層学習ニューラルネットワーク(深層学習モデル)をトレーニングし得る。次に、深層学習モデルを使用して、正常な動作と既知の種類の異常を区別し得る。さらに、提案された方法とシステムは、未知の種類の異常を識別する可能性が増える。
【0222】
ハードウェア構成
図9は、コンピューティングシステム1の少なくとも一部を実装するために、および/または、上記の方法を実行するために使用され得るコンピュータの例示的なハードウェア構成を示す。例えば、コンピュータは、上記の予測分析コンポーネントを実装し得る。図9に示されるコンピュータ7は、中央処理装置(CPU)70、グラフィックス処理装置(GPU)88、システムメモリ72、ネットワークインターフェース74、ハードディスクドライブ(HDD)インターフェース76、外部ディスクドライブインターフェース78および入力/出力(I/O)インターフェース80を含む。コンピュータのこれらのコンポーネントは、システムバス82を介して互いに結合されている。CPU70は、システムメモリ72にアクセスすることによって、算術、論理、および/または制御操作を実行し得る。GPU88は、深層学習に必要なグラフィック画像および/または行列演算に関する処理を実行し得る。GPU88は、並列処理を実行し得る複数のプロセッサ(例えば、コア)を備えることができ、これは、コンピューティングシステム1のより高い性能になり得る。CPU70および/またはGPU88は、上記の例示的なデバイスおよび/またはシステムのプロセッサを実装し得る。しかしながら、いくつかの例では、コンピュータ7は必ずしもGPU88を備えているとは限らない。システムメモリ72は、CPU70と組み合わせて使用するための情報および/または命令を格納し得る。システムメモリ72は、ランダムアクセスメモリ(RAM)720および読み取り専用メモリ(ROM)722などの揮発性および不揮発性メモリを含み得る。起動時など、コンピュータ7内の要素間で情報を転送するのに役立つ基本ルーチンを含む基本入出力システム(BIOS)は、ROM722に格納され得る。システムバス82は、メモリバスまたはメモリコントローラ、周辺バス、および様々なバスアーキテクチャのいずれかを使用するローカルバスを含む、いくつかの種類のバス構造のいずれかであり得る。CPU70は、1つまたは複数の対応するインターフェース(図示せず)およびバス82を介して、1つまたは複数のセンサ(図示せず)にさらに接続し得る。センサは、温度、pH、圧力などを含むが、これらに限定されない、物理的状況または状態を測定し得る。さらに、センサは、画像化デバイス、マイクロフォン、スペクトル・センサなどを含むが、これらに限定されない、他の種類の測定または検出デバイスを含み得る。コントローラは、温度、磁束、攪拌などを含むが、これらに限定されない、物理的状況または状態を制御し得る。
【0223】
コンピュータは、ネットワークを介して他のコンピュータおよび/またはデバイスと通信するためのネットワークインターフェース74を含み得る。
【0224】
さらに、コンピュータは、ハードディスク(図示せず)からの読み取りおよび書き込みのためのハードディスクドライブ(HDD)84(図示せず)、および、リムーバブル・ディスク(図示せず)への読み取りまたは書き込みのための外部ディスクドライブ86を含み得る。リムーバブルディスクは、磁気ディスクドライブ用の磁気ディスク、または光ディスクドライブ用のCD-ROMなどの光ディスクであり得る。HDD84および外部ディスクドライブ86は、それぞれ、HDDインターフェース76および外部ディスクドライブインターフェース78によってシステムバス82に接続されている。ドライブとそれに関連するコンピュータ可読媒体は、汎用コンピュータ用のコンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータの不揮発性記憶を提供する。データ構造は、本明細書に記載されるように、例示的な方法およびその変形の実施に関連するデータを含み得る。関連するデータは、データベース、例えばリレーショナルデータベースまたはオブジェクトデータベースに編成し得る。
【0225】
本明細書に記載の例示的な環境は、ハードディスク(図示せず)および外部ディスク(図示せず)を使用するが、コンピュータによってアクセス可能なデータを格納できる他の種類のコンピュータ可読媒体、磁気カセット、フラッシュ・メモリカード、デジタル・ビデオ・ディスク、ランダムアクセスメモリ、読み取り専用メモリなどのようなものも、例示的な動作環境で使用することができることは、当業者によって理解されるべきである。
【0226】
いくつかのプログラムモジュールが、ハードディスク、外部ディスク、ROM722またはRAM720に格納され得る。そこには、オペレーティングシステム(図示せず)、1つまたは複数のアプリケーションプログラム7202、他のプログラムモジュール(図示せず)、およびプログラムデータ7204を含む。アプリケーションプログラムは、上記記載のような機能の少なくとも一部を含み得る。
【0227】
コンピュータ7は、対応するI/Oインターフェース80aおよび80bならびにシステムバス82を介して、マウスおよび/またはキーボードなどの入力装置92および液晶ディスプレイなどの表示装置94が、接続され得る。コンピュータ7がタブレットコンピュータとして実装される場合、例えば、情報を表示し、入力を受信するタッチパネルは、対応するI/Oインターフェースおよびシステムバス82を介して、コンピュータ7に接続され得る。さらに、いくつかの例では、図9には示されていないが、コンピュータ7は、対応するI/Oインターフェースおよびシステムバス82を介して、プリンタおよび/またはカメラなどの画像化デバイスにさらに接続され得る。
【0228】
図9に示されるようなコンピュータ7を使用する実装に加えて、またはその代替として、本明細書に記載の例示的な実施形態の機能の一部またはすべては、1つまたは複数のハードウェア回路として実装され得る。このようなハードウェア回路の例には、大規模集積回路(LSI)、縮小命令セット回路(RISC)、特定用途向け集積回路(ASIC)、およびフィールドプログラマブルゲートアレイ(FPGA)が含まれるが、これらに限定されない。
【符号の説明】
【0229】
ASIC 特定用途向け集積回路
BIOS 基本入出力システム
CD ROM コンパクトディスク読み取り専用メモリ
CNN 畳み込みニューラルネットワーク
CPU 中央処理装置
DNN 深層ニューラルネットワーク
GPU グラフィックス処理装置
FPGA フィールドプログラマブルゲートアレイ
HDD ハードディスクドライブ
HTTP ハイパーテキスト転送プロトコル
I/O入力/出力
LSI 大規模集積回路
LOF 局所外れ値因子
MCドロップアウト モンテカルロドロップアウト
MNIST 修正されたアメリカ国立標準技術研究所
PCA 主成分分析
RAM ランダムアクセスメモリ
ReLu/Relu 正規化線形ユニット
RISC 縮小命令セット回路
ROC-AUC 受信者操作特性、曲線下面積
ROM 読み取り専用メモリ
RSS 残差平方和
SSH セキュアシェル
図1
図2
図3
図4
図5
図6
図7
図8
図9