(57)【要約】【課題】異常検出および／または予知保全のためのコンピュータ実装方法、およびそれぞれのシステムが提供される。【解決手段】本方法は、エンティティの少なくとも１つのパラメータを特徴付ける新しい観測値を受信することと、複数の隠れ層を有する深層ニューラルネットワーク（１００）に新しい観測値を入力し、可能性のある観測値を含むトレーニングデータセットを使用してトレーニングされることと、受信した新しい観測値を深層ニューラルネットワークに入力することにより、深層ニューラルネットワークの複数の隠れ層の少なくとも１つから出力される中間出力値の第２のセットを取得することと、記憶媒体に格納された潜在変数モデルを使用して、中間出力値の第２のセットを射影値の第２のセットにマッピングすることと、受信した新しい観測値が、潜在変数モデルと予測値の第２のセットに基づいて、トレーニングデータセットに関して外れ値であるかどうかを判断し、深層ニューラルネットワークによって、新しい観測値の予測を計算することと、予測および新しい観測値が外れ値であるかどうかの判断に基づいて、エンティティにおける少なくとも１つの異常の発生を示す結果を判断することとを、含む。記憶媒体に格納された潜在変数モデルは、深層ニューラルネットワークの複数の隠れ層のうちの前記１つから出力される中間出力値の第１のセットを取得することであって、中間出力値の第１のセットのそれぞれは、トレーニングデータセットの少なくとも一部に含まれている可能性のある観測値の異なるものを入力によって取得されることと、中間出力値の第１のセットを使用して潜在変数モデルを構築することであって、潜在変数モデルは、中間出力値の第１のセットを、中間出力のセットの次元よりも低い次元を有する潜在変数モデルの部分空間における射影値の第１のセットへのマッピングを提供することと、によって構築される。【選択図】図３
2022500745.tif 000002
【特許請求の範囲】
【請求項１】
対象のエンティティにおける異常検出のためのコンピュータ実装方法であって、
前記コンピュータ実装方法は、
新しい観測値を受信することであって、前記新しい観測値は、前記エンティティの少なくとも１つのパラメータを特徴付けることと、
前記新しい観測値を深層ニューラルネットワーク（１００）に入力することであって、前記深層ニューラルネットワーク（１００）は、複数の隠れ層を有し、前記深層ニューラルネットワーク（１００）に入力できる可能性のある観測値を含むトレーニングデータセットを使用してトレーニングされることと、
前記受信した新しい観測値を前記深層ニューラルネットワーク（１００）に入力することにより、前記深層ニューラルネットワーク（１００）の前記複数の隠れ層のうちの少なくとも１つから出力される中間出力値の第２のセットを取得することと、
記憶媒体に格納された潜在変数モデルを使用して、前記中間出力値の第２のセットを射影値の第２のセットにマッピングすることと、
前記潜在変数モデルおよび前記射影値の第２のセットに基づいて、前記受信した新しい観測値が前記トレーニングデータセットに関して外れ値であるかどうかを判断することと、
前記深層ニューラルネットワーク（１００）によって、前記新しい観測値の予測を計算することと、
前記新しい観測値が外れ値であるかどうかの前記予測および前記判断に基づいて、前記エンティティに少なくとも１つの前記異常が発生したことを示す結果を判断することとを含み、
前記記憶媒体に格納された前記潜在変数モデルは、
前記深層ニューラルネットワーク（１００）の前記複数の隠れ層のうちの前記１つから出力される中間出力値の第１のセットを取得することであって、前記中間出力値の第１のセットのそれぞれは、前記トレーニングデータセットの少なくとも一部に含まれる前記可能性のある観測値の異なる１つを入力することによって取得されることと、
前記中間出力値の第１のセットを使用して前記潜在変数モデルを構築することであって、前記潜在変数モデルは、前記中間出力の前記セットの次元よりも低い次元を有する前記潜在変数モデルの部分空間内の射影値の第１のセットへ前記中間出力値の第１のセットのマッピングを提供することと、によって構築される潜在変数モデルである、
コンピュータ実装方法。
【請求項２】
データを処理するための前記深層ニューラルネットワーク（１００）および前記深層ニューラルネットワーク（１００）をトレーニングするために使用されるトレーニングデータセットの少なくとも一部を取得することであって、前記深層ニューラルネットワークは、複数の隠れ層を含み、前記トレーニングデータセットを使用してトレーニングされ、前記トレーニングデータセットは、前記深層ニューラルネットワークに入力できる可能性のある複数の観測値を含むことと、
前記複数の隠れ層のうちの少なくとも１つから出力される中間出力値の第１のセットを取得することであって、前記中間出力値の第１のセットのそれぞれは、前記トレーニングデータセットの前記少なくとも一部に含まれる前記可能性のある観測値の異なる１つを入力することによって取得できることと、
前記中間出力値の第１のセットを使用して潜在変数モデルを構築または適合することであって、前記潜在変数モデルは、前記中間出力の前記セットの次元よりも低い次元を有する部分空間内の射影値の第１のセットへの前記中間出力値の第１のセットのマッピングを提供することと、
前記潜在変数モデルおよび前記射影値の第１のセットを、記憶媒体に格納することと、
をさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記受信した新しい観測値が外れ値であるかどうかを判断する前記ステップは、
前記射影値の第１のセットの分布に関して、前記射影値の第２のセットの距離を判断することと、
前記計算された距離が前記判断された距離の閾値よりも大きい場合、前記受信した新しい観測値が前記トレーニングデータセットに関して外れ値であると判断することとを、
含む、請求項１または２に記載の方法。
【請求項４】
前記距離の前記閾値は、距離に基づいて決定され、前記距離のそれぞれは、前記射影値の第１のセットの前記分布に関して前記射影値の第１のセットの異なる１つに対して計算される、請求項３に記載の方法。
【請求項５】
前記距離が、複合距離、残差平方和、マハラノビス距離、または局所外れ値因子のうちの１つである、請求項３または４に記載の方法。
【請求項６】
前記受信した新しい観測値が外れ値であるかどうかを判断する前記ステップは、
前記潜在変数モデルおよび前記射影値の第２のセットを使用して、前記中間出力値の第２のセットに対応する中間出力値の近似セットを判断することと、
前記中間出力値の第２のセットおよび前記中間出力値の近似セットに対して、二乗近似残差を計算することと、
前記計算された二乗近似残差が前記二乗近似残差の閾値よりも大きい場合、前記受信した観測値が前記トレーニングデータセットに関して外れ値であると判断することと、
を含む、請求項１から５のいずれか一項に記載の方法。
【請求項７】
前記二乗近似残差の前記閾値は、二乗近似残差に基づいて判断され、前記二乗近似残差のそれぞれは、前記中間出力値の第１のセットの異なる１つ、および前記中間出力値の第１のセットの前記一つに対応する中間出力値の近似セットについて計算される、請求項６に記載の方法。
【請求項８】
前記中間出力値の第１のセットを取得し、前記潜在変数モデルを構築する前記ステップは、前記複数の隠れ層のうちの２つまたは複数に対して実行され、
前記中間出力値の第２のセットを取得し、前記中間出力値の前記第２のセットを前記射影値の第２のセットにマッピングする前記ステップは、前記複数の隠れ層のうちの前記２つまたは複数に関して実行され、
前記受信した新しい観測値が外れ値であるかどうかを判断する前記ステップは、前記潜在変数モデル、および前記複数の隠れ層の前記２つまたは複数に関して取得された前記射影値の第２のセットに基づいて実行される、
請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記深層ニューラルネットワーク（１００）の前記複数の隠れ層のうちの少なくとも１つから出力される前記中間出力値を取得する前記ステップは、前記複数の隠れ層の前記の少なくとも１つからの活性化を判断することと、および、任意選択で、前記判断された活性化にグローバルプーリングを適用することと、を含む、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
前記潜在変数モデルが、主成分分析に従って、またはオートエンコーダを使用して構築される、請求項１から９のいずれか一項に記載の方法。
【請求項１１】
前記観測値は、１つまたは複数のセンサによる物理的測定に基づいて取得される、請求項１から１０のいずれか一項に記載の方法。
【請求項１２】
エンティティの予知保全のためのコンピュータ実装方法であって、
前記エンティティに対して実行された少なくとも１つのセンサ測定からのセンサデータに基づいて新しい観測値を取得し、
請求項１から１１のいずれか一項の方法に従って、前記エンティティの少なくとも１つの前記異常の発生を示す結果を判断し、
少なくとも１つの前記異常の発生を示す前記結果に基づいて、修正処置を講じる必要があるかどうか、および、任意選択で講じるべき前記修正処置の種類を判断する，
コンピュータ実装方法。
【請求項１３】
コンピュータにロードされて実行されると、請求項１から１２のいずれか一項に記載の方法を前記コンピュータに実行させる、コンピュータ可読命令を含むコンピュータプログラム製品。
【請求項１４】
エンティティの異常検出または予知保全のためのシステムであって、
前記エンティティの少なくとも１つのパラメータを特徴付ける１つまたは複数の観測値を取得するためのデータ収集ユニットと、
深層ニューラルネットワーク（１００）のトレーニングに使用されるトレーニングデータセットを格納する記憶媒体（１２）であって、前記深層ニューラルネットワーク（１００）は、複数の隠れ層を含み、前記トレーニングデータセットを使用してトレーニングされ、前記トレーニングデータセットは、前記深層ニューラルネットワーク（１００）に入力できる可能性のある観測値を含む、記憶媒体（１２）と、
請求項１から１２のいずれか一項に記載の方法を実行するように構成された少なくとも１つのプロセッサを含む予測分析ユニットと、
を含む、システム。
【請求項１５】
前記エンティティの少なくとも１つのパラメータを測定するための少なくとも１つのセンサと、
前記少なくとも１つのセンサと、前記データ収集ユニット、および／または前記少なくとも１つのプロセッサとの間のデータ転送のためのデータ通信ユニットと、
をさらに含む、請求項１４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、異常検出および／または予知保全のためのコンピュータ実装方法、コンピュータプログラム製品およびシステムに関し、特に、構造化データまたは非構造化データにおいて外れ値の検出を使用することに関する。
【背景技術】
【０００２】
予知保全、サイバーセキュリティ、不正防止など、様々なシステムにおける異常検出がますます普及している。このようなシステムでは、システムの適切な機能を損なう可能性のある異常を、確実かつ迅速に検出することが重要である。
【０００３】
例えば、予知保全技術は、機器（例えば、機械や機械部品）の破損を防ぐために、いつ保守が必要かを自動的に判断することを目的としている。機器の劣化を自動的に見積もることにより、定期的または時間に基づく保守と比較して、大幅なコスト削減を実現できる。対照的に、固定された日程で計画すると、保守が必要以上に早く実行され、過剰な費用が発生するリスクがある。また、機器が予想よりも早く故障し、致命的な障害やプロセスの停止につながる可能性があるというリスクがある。
【０００４】
予測分析の方法論は、大きく２つの異なる方法論に分けることができる。まず、いわゆる教師なしのモデリング／機械学習を使用して、外部ラベルを必要とせずに、調査対象のシステムの通常の状態をモデル化できる。教師なしモデリングは、「機器は正常に動作しているかどうか」という質問に答えることができるが、システムを調査するためのさらなる手がかりは提供しない。より広く適用されている別のアプローチは、教師ありのモデリング／機械学習を使用することである。通常、履歴データが収集され、過去に発生した障害がドメインエキスパートによって調査され、障害の種類に分類され、場合によっては障害を修正するためにアクションが実行される。次に、予測モデルをトレーニングして、発生する障害の時期と種類を予測し、システムを修正する方法に関するガイダンスを提供する。後者の場合、人工ニューラルネットワークに基づくモデルを使用して、保守が必要な時期を予測できる。
【０００５】
人工ニューラルネットワークモデルは、予知保全の多くの用途で使用されている。完全には網羅されていないが、リストとしては、次のものが含まれる：
−ニューラルネットワークモデルを使用し、測定された物理パラメータに基づいて、物理システムの状態を分類する。つまり、事前に決定された動作条件（良好、不良、未決定など）に従って、システムを分類する（例：特許文献１〜４を参照）。具体的なシステム例は、次のものが含まれる：
ｏ石炭燃焼プラント（例：特許文献５を参照）；
ｏ金型鋳造（例：特許文献６を参照）；
ｏ電気自動車用のバッテリ製造（例：特許文献７を参照）；
ｏ石油およびガスの地表機器（例：特許文献８を参照）；
ｏ電気モータ（例：特許文献９を参照）；
ｏリカレントニューラルネットワークを使用した鉄道車両の保守（例：特許文献１０を参照）；
ｏ産業プラントの制御弁（例：特許文献１１を参照）；
−ニューラルネットワークを使用して、機器の残存寿命を予測する（例：特許文献１２、１３を参照）。具体的なシステム例は、次のものが含まれる：
ｏ振動に基づくフライス盤のカッターヘッド（例：特許文献１４を参照）；
・汚染物質が決定された制限内にあるかどうかを判断するために、製造工場の汚染物質のソフトセンサとして、ニューラルネットワークモデルを使用する（例：特許文献１５を参照）；
システム状態を分類するための方法例として、ニューラルネットワークモデルを使用する（例：特許文献１６〜２０を参照）；
その他の例には、以下が含まれるが、これらに限定されない。
・振動監視に基づく軸受の残存寿命の予測（例：非特許文献１を参照）；
ニューラルネットワークを含む３つの統計的回帰法を使用した水力発電ユニットの故障予測（例：非特許文献２を参照）；
・軸受の残存寿命の予測（例：非特許文献３〜５を参照）；
・運動電流の徴候に基づく、モータ負荷の分類（例：非特許文献６を参照）；
・風力タービンのギアボックス軸受の早期故障検出（例：非特許文献７、８を参照）；
・赤外線サーモグラフィの使用に基づく、電気機器の熱欠陥の検出（例：非特許文献９を参照）；
・振動信号と音信号に基づく、電気モータ駆動のウォームギアの故障分類（例：非特許文献１０を参照）；
・荷重、速度、ヨー角の特性に基づく、車輪とレールの摩耗予測（例：非特許文献１１を参照）；
・集光型太陽光発電所の管欠陥検出のための吸収体パイプの温度予測（例：非特許文献１２を参照）；
【０００６】
異常検出のためのニューラルネットワークの他の用途には、例えば、ネットワーク侵入や他の種類の悪意のある攻撃などのサイバーセキュリティ脅威を検出することが含まれる。例えば、ネットワークトラフィックは、機械学習技術を使用してモデル化し得る。例として、悪意のあるアクションおよび／またはアクタを示すトラフィックパターンの微妙な変化を検出し、侵入として分類し得る。もう１つの例は、金融取引における不正、疑わしいパターン、または特定傾向を検出することである。例えば、履歴データを使用して、機械学習に基づく分類器をトレーニングして、トランザクションまたはアクタ（例えば、不正または信頼できる）を分類したり、傾向を識別したりできる。
【０００７】
上記用途に共通するのは、システムを特徴付けるために蓄積されたデータ（例えば、履歴データなど）を使用することと、正常動作と既知の種類の異常とを区別するために機械学習モデルを使用することである。機械学習モデルは、深層学習モデルであり得る。深層ニューラルネットワークを使用した深層学習は、深層ニューラルネットワークによって学習された強力な変換のおかげで、多くの用途で非常に普及している。深層ニューラルネットワークは、入力層、出力層、および入力層と出力層の間に複数の隠れ層を有する人工ニューラルネットワークであり得る。深層ニューラルネットワークを使用した深層学習モデルの用途の長いリストが、そのようなモデルが幅広い用途において教師あり予知保全と異常検出にうまく使用できることを示している。しかし、深層学習やニューラルネットワークを含むすべてのデータ駆動型モデリングの問題の１つは、モデルのトレーニング中に遭遇する観測値とは異なる観測値を処理できないことである。つまり、予測中に外れ値を処理することはできない。外れ値（外れ値の観測値）は、モデルのトレーニングに使用されるデータとは、大幅に異なる観測値であり得る。外れ値は、モデルが以前に遭遇したものとは大幅に異なるため、このような状況ではモデル動作が定義されていない、すなわち、予測を信頼することができない。外れ値が検出されたときのモデル動作が定義されていないので、以前に不明であった種類のエラーは、検出されないことがある。
【０００８】
ただし、自動運転車、診断アプリケーション、発電所制御システムなどの重要なシステムで深層学習を採用する場合は、未知の種類の異常にもフラグを立てることが極めて重要になり得る。さらに、深層学習システムによって提供される予測を信頼するべきでないことを、理解することが重要になり得る。言い換えれば、深層学習システムによって提供される予測が正確であるかどうかだけでなく、深層学習システムが、そもそも予測する必要があるかどうかを知る必要ことが重要になり得る。学習された表現の限界を理解し、新しい種類のデータまたは深層学習システムによって認識されないデータに遭遇したときを認識することによって、自律的な決定を改善することができる。
【０００９】
深層ニューラルネットワークが予測の不確実性を記述できるようにするために、多くの異なる方法が提案されている。これらの方法の多くは、予測中にポイント推論ではなくベイズ推論を実行するように深層ニューラルネットワークをトレーニングすることに基づいている。これは、単一ポイントを予測するのではなく、ネットワークが可能なポイント分布を予測するようにトレーニングされていることを意味する。直感的には、モデルで説明できない観測値は、分布が広いか、不確実性が大きいことになる。ベイズ予測を実行するための一般的な解決策の１つは、いわゆるモンテカルロドロップアウト（ＭＣドロップアウト）であり、Ｙ．ＧａｌおよびＺ．Ｇｈａｒａｍａｎｉによる「Ｄｒｏｐｏｕｔ  ａｓ  ａ  Ｂａｙｅｓｉａｎ  ａｐｐｒｏｘｉｍａｔｉｏｎ：Ｒｅｐｒｅｓｅｎｔｉｎｇ  ｍｏｄｅｌ  ｕｎｃｅｒｔａｉｎｔｙ  ｉｎ  ｄｅｅｐ  ｌｅａｒｎｉｎｇ」（機械学習の国際会議、２０１６年、第１０５０〜１０５９頁）で、開示されている。ＭＣドロップアウトは、「ドロップアウト」を使用してトレーニングされたニューラルネットワークに適用できる。これは、トレーニングフェーズ中のニューラルネットワーク内の一部のユニット（例、ニューロン、ノード）をドロップアウトする（または、言い換えると、無視する）ことで、ニューラルネットワークの過剰適合を減らすための正則化手法である。ＭＣドロップアウトは、予測のためにいわゆるモンテカルロサンプリングを使用して、予測ごとに複数の推論を行い、予測時間中にネットワークニューロンをランダムに排除またはドロップアウトする。様々な予測は、ドロップアウトによって異なり、予測分布を表す。次に、結果の分布のエントロピーまたは分散を計算することにより、予測の不確実性を定量化できる。
【００１０】
ドロップアウトを使用してモンテカルロサンプルを生成する他の方法には、バッチ正規化パラメータに基づくサンプリング（Ｍ．Ｔｅｙｅ、Ｈ．Ａｚｉｚｐｏｕｒ、およびＫ．Ｓｍｉｔｈによる「Ｂａｙｅｓｉａｎ  Ｕｎｃｅｒｔａｉｎｔｙ  Ｅｓｔｉｍａｔｉｏｎ  ｆｏｒ  Ｂａｔｃｈ  Ｎｏｒｍａｌｉｚｅｄ  Ｄｅｅｐ  Ｎｅｔｗｏｒｋｓ」、アーカイヴ１８０２０６４５５Ｓｔａｔ、２０１８年２月）、アンサンブル内の様々なモデルからの予測（Ｂ．Ｌａｋｓｈｍｉｎａｒａｙａｎａｎ、Ａ．Ｐｒｉｔｚｅｌ、およびＣ．Ｂｌｕｎｄｅｌｌによる「Ｓｉｍｐｌｅ  ａｎｄ  ｓｃａｌａｂｌｅ  ｐｒｅｄｉｃｔｉｖｅ  ｕｎｃｅｒｔａｉｎｔｙ  ｅｓｔｉｍａｔｉｏｎ  ｕｓｉｎｇ  ｄｅｅｐ  ｅｎｓｅｍｂｌｅｓ」、ニューラル情報処理システムの進歩、２０１７年、第６４０５〜６４１６頁）、共有に基づくネットワーク内の複数の「予測ヘッド」（Ｉ．Ｏｓｂａｎｄ、Ｃ．Ｂｌｕｎｄｅｌｌ、Ａ．Ｐｒｉｔｚｅｌ、およびＢ．Ｖａｎ  Ｒｏｙによる「Ｄｅｅｐ  ｅｘｐｌｏｒａｔｉｏｎ  ｖｉａ  ｂｏｏｔｓｔｒａｐｐｅｄ  ＤＱＮ」、ニューラル情報処理システムの進歩、２０１６年、第４０２６〜４０３４頁、Ｅ．Ｉｌｇらによる「Ｕｎｃｅｒｔａｉｎｔｙ  Ｅｓｔｉｍａｔｅｓ  ｆｏｒ  Ｏｐｔｉｃａｌ  Ｆｌｏｗ  ｗｉｔｈ  Ｍｕｌｔｉ−Ｈｙｐｏｔｈｅｓｅｓ  Ｎｅｔｗｏｒｋｓ」、アーカイヴ１８０２０７０９５Ｃｓ、２０１８年２月）、通常点の重みではなく重み分布の変分推論（Ｃ．Ｂｌｕｎｄｅｌｌ、Ｊ．Ｃｏｒｎｅｂｉｓｅ、Ｋ．Ｋａｖｕｋｃｕｏｇｌｕ、およびＤ．Ｗｉｅｒｓｔｒａによる「Ｗｅｉｇｈｔ  ｕｎｃｅｒｔａｉｎｔｙ  ｉｎ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ」、アーカイヴ・プレプリント、アーカイヴ１５０５０５４２４、２０１５年）、および、既存の重みからの分布のラプラス近似（Ｈ．Ｒｉｔｔｅｒ、Ａ．Ｂｏｔｅｖ、およびＤ．Ｂａｒｂｅｒによる「Ａ  Ｓｃａｌａｂｌｅ  Ｌａｐｌａｃｅ  Ａｐｐｒｏｘｉｍａｔｉｏｎ  ｆｏｒ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ」、２０１８年２月）、を含む。
【００１１】
ただし、これらの方法は、使用されるモデルの種類を前提とし、ネットワークの構築またはトレーニングの方法を制約したり、および／または、予測ごとに複数の推論に依存したりする可能性がある。これにより、複数の推論を行うことが実用的でないリアルタイムシステム、および／または、制約に適合しない既存システムへの一般的な適用性が制限される可能性がある。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】ＵＳ２０１９／０１３７９８５Ａ１
【特許文献２】ＥＰ０６３３５３６Ａ１
【特許文献３】ＵＳ５５６６０９２Ａ
【特許文献４】ＪＰ５６４３３８７Ｂ２
【特許文献５】ＣＮ１０９２５５４４０Ａ
【特許文献６】ＫＲ１０１６７７３５８Ｂ１
【特許文献７】ＣＮ１０６１６８７９９Ｂ
【特許文献８】ＵＳ８６７６７２１Ｂ２
【特許文献９】ＣＮ１０８９２１３０３Ａ
【特許文献１０】ＥＰ３１７９３２６Ａ１
【特許文献１１】ＵＳ２０１６／００７１００４Ａ１
【特許文献１２】ＤＥ１０１６１６３３Ａ１
【特許文献１３】ＵＳ７４５７７８５Ｂ１
【特許文献１４】ＵＳ８７８１９８２Ｂ１
【特許文献１５】ＥＰ０７１２５０９Ｂ１
【特許文献１６】ＥＰ２８７１８０３Ｂ１
【特許文献１７】ＵＳ８２７５６４２Ｂ２
【特許文献１８】ＦＲ２６９８７０４Ａ１
【特許文献１９】ＵＳ６２９８３０８Ｂ１
【特許文献２０】ＪＰ５０４３８３９Ｂ２
【非特許文献】
【００１３】
【非特許文献１】Ｗｕ  Ｓ、Ｇｅｂｒａｅｅｌ  Ｎ、Ｌａｗｌｅｙ  ＭＡ、ＹｉｈＹ．Ａによる「Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ  Ｉｎｔｅｇｒａｔｅｄ  Ｄｅｃｉｓｉｏｎ  Ｓｕｐｐｏｒｔ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｃｏｎｄｉｔｉｏｎ−Ｂａｓｅｄ  Ｏｐｔｉｍａｌ  Ｐｒｅｄｉｃｔｉｖｅ  Ｍａｉｎｔｅｎａｎｃｅ  Ｐｏｌｉｃｙ」、ＩＥＥＥシステム、人間、サイバネティックス上のトランザクション、Ｐａｒｔ  Ｓｙｓｔ  Ｈｕｍ、２００７年３月、第３７号（２）、第２２６〜３６頁
【非特許文献２】Ｌｕｃｉｆｒｅｄｉ  Ａ、Ｍａｚｚｉｅｒｉ  Ｃ、Ｒｏｓｓｉ  Ｍによる「ＡＰＰＬＩＣＡＴＩＯＮ  ＯＦ  ＭＵＬＴＩＲＥＧＲＥＳＳＩＶＥ  ＬＩＮＥＡＲ  ＭＯＤＥＬＳ，ＤＹＮＡＭＩＣ  ＫＲＩＧＩＮＧ  ＭＯＤＥＬＳ  ＡＮＤ  ＮＥＵＲＡＬ  ＮＥＴＷＯＲＫ  ＭＯＤＥＬＳ  ＴＯ  ＰＲＥＤＩＣＴＩＶＥ  ＭＡＩＮＴＥＮＡＮＣＥ  ＯＦ  ＨＹＤＲＯＥＬＥＣＴＲＩＣ  ＰＯＷＥＲ  ＳＹＳＴＥＭＳ」、機械システムと信号処理、２０００年５月１日、第１４号（３）、第４７１〜９４頁
【非特許文献３】Ｈｕａｎｇ  Ｒ、Ｘｉ  Ｌ、Ｌｉ  Ｘ、Ｒｉｃｈａｒｄ  Ｌｉｕ  Ｃ、Ｑｉｕ  Ｈ、Ｌｅｅ  Ｊによる「Ｒｅｓｉｄｕａｌ  ｌｉｆｅ  ｐｒｅｄｉｃｔｉｏｎｓ  ｆｏｒ  ｂａｌｌ  ｂｅａｒｉｎｇｓ  ｂａｓｅｄ  ｏｎ  ｓｅｌｆ−ｏｒｇａｎｉｚｉｎｇ  ｍａｐ  ａｎｄ  ｂａｃｋ  ｐｒｏｐａｇａｔｉｏｎ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ  ｍｅｔｈｏｄｓ」、機械システムと信号処理、２００７年１月１日、第２１号（１）、第１９３〜２０７頁
【非特許文献４】Ｓｈａｏ  Ｙ、Ｎｅｚｕ  Ｋによる「Ｐｒｏｇｎｏｓｉｓ  ｏｆ  ｒｅｍａｉｎｉｎｇ  ｂｅａｒｉｎｇ  ｌｉｆｅ  ｕｓｉｎｇ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ」、英国機械学会の論文講演集、Ｐａｒｔ  Ｊ  Ｓｙｓ  Ｃｏｎｔｒｏｌ  Ｅｎｇ、２０００年５月１日、第２１４号（３）、第２１７〜３０頁
【非特許文献５】Ｖａｃｈｔｓｅｖａｎｏｓ  Ｇ、Ｗａｎｇ  Ｐによる「Ｆａｕｌｔ  ｐｒｏｇｎｏｓｉｓ  ｕｓｉｎｇ  ｄｙｎａｍｉｃ  ｗａｖｅｌｅｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ」、２００１ＩＥＥＥオートテストコン論文講演集ＩＥＥＥシステム即応性技術会議（Ｃａｔ  Ｎｏ０１ＣＨ３７２３７）２００１年、第８５７〜７０頁
【非特許文献６】Ｂａｎｓａｌ  Ｄ、Ｅｖａｎｓ  ＤＪ、Ｊｏｎｅｓ  Ｂによる「Ａ  ｒｅａｌ−ｔｉｍｅ  ｐｒｅｄｉｃｔｉｖｅ  ｍａｉｎｔｅｎａｎｃｅ  ｓｙｓｔｅｍ  ｆｏｒ  ｍａｃｈｉｎｅ  ｓｙｓｔｅｍｓ」、機械ツールと製造の国際学術誌、２００４年６月１日、第４４号（７）、第７５９〜６６頁
【非特許文献７】Ｂａｎｇａｌｏｒｅ  Ｐ，Ｌｅｔｚｇｕｓ  Ｓ，Ｋａｒｌｓｓｏｎ  Ｄ，Ｐａｔｒｉｋｓｓｏｎ  Ｍによる「Ａｎ  ａｒｔｉｆｉｃｉａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ−ｂａｓｅｄ  ｃｏｎｄｉｔｉｏｎ  ｍｏｎｉｔｏｒｉｎｇ  ｍｅｔｈｏｄ  ｆｏｒ  ｗｉｎｄ  ｔｕｒｂｉｎｅｓ，ｗｉｔｈ  ａｐｐｌｉｃａｔｉｏｎ  ｔｏ  ｔｈｅ  ｍｏｎｉｔｏｒｉｎｇ  ｏｆ  ｔｈｅ  ｇｅａｒｂｏｘ」、風力エネルギー、２０１７年、第２０号（８）、第１４２１〜３８頁
【非特許文献８】Ｂａｎｇａｌｏｒｅ  Ｐ，Ｔｊｅｒｎｂｅｒｇ  ＬＢによる「Ａｎ  Ａｒｔｉｆｉｃｉａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ  Ａｐｐｒｏａｃｈ  ｆｏｒ  Ｅａｒｌｙ  Ｆａｕｌｔ  Ｄｅｔｅｃｔｉｏｎ  ｏｆ  Ｇｅａｒｂｏｘ  Ｂｅａｒｉｎｇｓ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  Ｓｍａｒｔ  Ｇｒｉｄ、２０１５年３月、第６号（２）、第９８０〜７頁
【非特許文献９】Ｈｕｄａ  ＡＳＮ，Ｔａｉｂ  Ｓによる「Ａｐｐｌｉｃａｔｉｏｎ  ｏｆ  ｉｎｆｒａｒｅｄ  ｔｈｅｒｍｏｇｒａｐｈｙ  ｆｏｒ  ｐｒｅｄｉｃｔｉｖｅ／ｐｒｅｖｅｎｔｉｖｅ  ｍａｉｎｔｅｎａｎｃｅ  ｏｆ  ｔｈｅｒｍａｌ  ｄｅｆｅｃｔ  ｉｎ  ｅｌｅｃｔｒｉｃａｌ  ｅｑｕｉｐｍｅｎｔ」、応用熱技術、２０１３年１１月３日、第６１号（２）、第２２０〜７頁
【非特許文献１０】Ｗａｑａｒ  Ｔ、Ｄｅｍｅｔｇｕｌ  Ｍによる「Ｔｈｅｒｍａｌ  ａｎａｌｙｓｉｓ  ＭＬＰ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ  ｂａｓｅｄ  ｆａｕｌｔ  ｄｉａｇｎｏｓｉｓ  ｏｎ  ｗｏｒｍ  ｇｅａｒｓ」、メジャメント、２０１６年５月１日、８６号、第５６〜６６頁
【非特許文献１１】Ｓｈｅｂａｎｉ  Ａ、Ｉｗｎｉｃｋｉ  Ｓによる「Ｐｒｅｄｉｃｔｉｏｎ  ｏｆ  ｗｈｅｅｌ  ａｎｄ  ｒａｉｌ  ｗｅａｒ  ｕｎｄｅｒ  ｄｉｆｆｅｒｅｎｔ  ｃｏｎｔａｃｔ  ｃｏｎｄｉｔｉｏｎｓ  ｕｓｉｎｇ  ａｒｔｉｆｉｃｉａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ」、Ｗｅａｒ、２０１８年７月１５日、４０６〜４０７号、第１７３〜８４頁
【非特許文献１２】Ｊｉｍｅｎｅｚ  ＡＡ、Ｍｕｎｏｚ  ＣＱＧ、Ｍａｒｑｕｅｚ  ＦＰＧ、Ｚｈａｎｇ  Ｌによる「Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  ｆｏｒ  Ｃｏｎｃｅｎｔｒａｔｅｄ  Ｓｏｌａｒ  Ｐｌａｎｔ  Ｍａｉｎｔｅｎａｎｃｅ  Ｍａｎａｇｅｍｅｎｔ」、Ｘｕ  Ｊ、Ｈａｊｉｙｅｖ  Ａ、Ｎｉｃｋｅｌ  Ｓ、Ｇｅｎ  Ｍ、ｅｄｉｔｏｒｓ、経営科学と工学管理に関する第１０回国際会議の講演論文集、シュプリンガー、シンガポール、２０１７年、第１２５〜３４頁（インテリジェントシステムとコンピューティングの進歩）
【非特許文献１３】Ｓａｘｅｎａ  Ａ、Ｇｏｅｂｅｌ  Ｋ、Ｓｉｍｏｎ  Ｄ、Ｅｋｌｕｎｄ  Ｎによる「Ｄａｍａｇｅ  ｐｒｏｐａｇａｔｉｏｎ  ｍｏｄｅｌｉｎｇ  ｆｏｒ  ａｉｒｃｒａｆｔ  ｅｎｇｉｎｅ  ｒｕｎ−ｔｏ−ｆａｉｌｕｒｅ  ｓｉｍｕｌａｔｉｏｎ」、２００８年の予後と健全性管理に関する国際会議、２００８年、第１〜９頁
【非特許文献１４】Ｇｅｒｓ  ＦＡ、Ｓｃｈｍｉｄｈｕｂｅｒ  Ｊ、Ｃｕｍｍｉｎｓ  Ｆによる「Ｌｅａｒｎｉｎｇ  ｔｏ  Ｆｏｒｇｅｔ：Ｃｏｎｔｉｎｕａｌ  Ｐｒｅｄｉｃｔｉｏｎ  ｗｉｔｈ  ＬＳＴＭ」、ニューロコンピューティング、１９９９年、第１２号、第２４５１〜２４７１頁
【非特許文献１５】Ｈｏｃｈｒｅｉｔｅｒ  Ｓ，Ｓｃｈｍｉｄｈｕｂｅｒ  Ｊによる「Ｌｏｎｇ  ｓｈｏｒｔ−ｔｅｒｍ  ｍｅｍｏｒｙ」、ニューロコンピューティング、１９９７年、第９号（８）、第１７３５〜１７８０頁
【非特許文献１６】Ｋｉｎｇｍａ  ＤＰ、Ｂａ  Ｊ．Ａｄａｍによる「Ａ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｓｔｏｃｈａｓｔｉｃ  Ｏｐｔｉｍｉｚａｔｉｏｎ」、アーカイヴ１４１２６９８０Ｃｓ［Ｉｎｔｅｒｎｅｔ］、２０１４年１２月２２日［２０１８年７月３日引用］ｈｔｔｐ：／／ａｒｘｉｖ．ｏｒｇ／ａｂｓ／１４１２．６９８０から入手可能
【発明の概要】
【００１４】
本出願は、上記の課題の１つまたは複数に対処する。したがって、一態様によれば、課題は、既知の種類のイベントだけでなく、これまで知られていなかった未知の種類のイベントも処理できる、異常検出および／または予知保全のための改善された方法およびシステムに関する。さらなる課題は、深層ニューラルネットワークへの観測値入力に対して深層ニューラルネットワークによって与えられる予測の信頼性を効率的に評価することである。
【００１５】
本課題は、独立した請求項によって開示された特徴によって解決される。さらなる例示的な実施形態は、従属した請求項によって定義される。
【００１６】
一態様によれば、対象のエンティティ（例えば、監視されたエンティティ）における異常検出のためのコンピュータ実装方法が提供される。
【００１７】
この方法は、
新しい観測値を受信することであって、前記新しい観測値は、エンティティの少なくとも１つのパラメータを特徴付けることと、
複数の隠れ層を有する深層ニューラルネットワークに新しい観測値を入力し、深層ニューラルネットワークに入力できる可能性のある観測値を含むトレーニングデータセットを使用してトレーニングされることと、
受信した新しい観測値を深層ニューラルネットワークに入力することであって、深層ニューラルネットワークの複数の隠れ層の少なくとも１つから出力される中間出力値の第２のセットを取得することと、
記憶媒体に格納された潜在変数モデルを使用して、中間出力値の第２のセットを射影値の第２のセットにマッピングすることと、
潜在変数モデルおよび射影値の第二のセットに基づいて、受信した新しい観測値がトレーニングデータセットに関して、外れ値であるかどうかを判断することとを含み、
記憶媒体に格納された潜在変数モデルは、
深層ニューラルネットワークの複数の隠れ層のうちの前記１つから出力される中間出力値の第１のセットを取得することであって、中間出力値の第１のセットのそれぞれは、トレーニングデータセットの少なくとも一部に含まれる可能性のある観測値の異なる１つを入力することによって取得されることと、
中間出力値の第１のセットを使用して潜在変数モデルを構築／適合することであって、潜在変数モデルは、中間出力のセットの次元よりも低い次元を有する潜在変数モデルの部分空間内の射影値の第１のセットへ中間出力値の第１のセットのマッピングすることと、
によって構築される。
【００１８】
別の態様によれば、対象のエンティティにおける異常検出のためのコンピュータ実装方法が提供される。この方法は、
深層ニューラルネットワークおよび深層ニューラルネットワークをトレーニングにするために使用されるトレーニングデータセットの少なくとも一部を取得することであって、深層ニューラルネットワークは、複数の隠れ層を含み、トレーニングデータセットを使用してトレーニングされ、トレーニングデータセットは、深層ニューラルネットワークに入力できる複数の可能性のある観測値が含むことと、
複数の隠れ層のうちの少なくとも１つから出力される中間出力値の第１のセットを取得することであって、中間出力値の第１のセットのそれぞれは、トレーニングデータセットの少なくとも一部に含まれる可能性のある観測値の異なる１つを入力することによって取得することと、
中間出力値の第１のセットを使用して潜在変数モデルを構築（つまり適合）することであって、潜在変数モデルは、中間出力のセットの次元よりも低い次元を有する潜在変数モデルの部分空間内の射影値の第１のセットへの中間出力値の第１のセットのマッピングを提供することと、
深層ニューラルネットワークに入力される新しい観測値を受信することと、
受信した新しい観測値を深層ニューラルネットワークに入力することにより、深層ニューラルネットワークの複数の隠れ層のうちの前記少なくとも１つから出力される中間出力値の第２のセットを取得することと、
潜在変数モデルを使用して、中間出力値の第２のセットを射影値の第２のセットにマッピングすることと、
潜在変数モデルおよび射影値の第２のセットに基づいて、受信した観測値がトレーニングデータセットに関して外れ値であるかどうかを判断することと、
を含む。
【００１９】
受信した観測値が外れ値であると判断された場合、受信した観測値に対して深層ニューラルネットワークによって与えられた予測（例えば、出力）は、新しい種類の異常であると仮定され得、および／または、受信した観測値が外れ値ではないと判断された場合に、予測は信頼性が低いと、仮定され得る。したがって、上記の態様のいずれかによる方法は、
深層ニューラルネットワークによって、新しい観測値の予測を計算することと、
予測および新しい観測値が外れ値であるかどうかを判断に基づいて、エンティティに少なくとも１つの異常が発生したことを示す結果を判断することと、
をさらに含み得る。
【００２０】
さらに別の態様によれば、対象のエンティティの予知保全のためのコンピュータ実装方法が提供される。この方法は、
観測されるエンティティに対して実行された少なくとも１つのセンサ測定からのセンサデータに基づいて新しい観測値を取得することと、
本明細書に記載の様々な態様、例、および実施形態の方法に従って、エンティティの少なくとも１つの異常の発生を示す結果を判断することと、
少なくとも１つの異常の発生を示す結果に基づいて、修正処置を講じる必要があるかどうか、および、任意選択で講じるべき修正処置の種類を、判断することと、
を含む。
【００２１】
対象のエンティティは、任意の種類のエンティティ、例えば、機器（機械または機械部品など）、または、複数の機器を含むより複雑な技術システムであり得る。観測されるエンティティの非限定的な例は、バイオリアクタ、発酵槽、発電所、産業プラント、車両、石油、ガス、太陽エネルギーまたは風力エネルギー機器、モータ、バッテリ、制御弁、ギアなどである。観測されるエンティティはまた、コンピュータまたはコンピュータネットワークなどのコンピュータシステム、例えば、金融取引を可能にするコンピュータシステム／ネットワークであり得る。
【００２２】
異常は、対象のエンティティの通常操作および／または通常状態からの逸脱であり得る。例えば、異常は、センサデータ、ネットワークトラフィック量および／またはパターン、ユーザの行動および／または生体認証特性などの逸脱に関連し得る。
【００２３】
観測値は、観測されるエンティティの少なくとも１つのパラメータを特徴付けるまたは示す、任意のデータであり得る。例えば、データは、１つまたは複数の機器の特性の状態を測定する１つまたは複数のセンサによって取得されたデータ、ネットワークトラフィックを特徴付けるデータ（例えば、ネットワーク上の異なるコンピュータ間で転送されたデータパッケージのログ）、金融取引に関連するデータなどの他のトランザクションデータであり得る。測定は、定期的または実質的に連続的で、例えば、リアルタイム測定であり得る。特定のアクション（例えば、ユーザとコンピュータの相互作用）の結果として測定が開始される可能性もある。データはまた、異なる入力情報、例えば、異なるセンサからの測定の組合せまたは融合に基づくことができる。
【００２４】
深層ニューラルネットワークによって計算される予測には、異常が検出されたかどうか、または発生する可能性が高いかどうかの予測を含み得る。任意選択で、異常が検出された、または発生する可能性が高いと判断された場合、予測には、検出された、または発生する可能性のある異常の種類を含み得る。
【００２５】
予測は、対象のエンティティの状態または状況を示す１つまたは複数のパラメータに関連するか、またはそれを含み得る。１つまたは複数のパラメータは、物理的パラメータ（温度、速度など）、残存寿命、摩耗、少なくとも１つの機器の故障または損傷の確率、汚染または他の望ましくない状況のレベル、不正または攻撃などの確率を含み得る。
【００２６】
予測はまた、良好／不良／未決定、安全／安全でない／脆弱な、信頼できる／不正であるなど、所定の動作条件または基準に従って、対象のエンティティの状態または状況の分類に関連するか、またはそれを含み得る。
【００２７】
新しい観測値の予測と、新しい観測値が外れ値であるかどうかの判断の結果に基づいて、エンティティに少なくとも１つの異常が発生したことを示す結果が、判断または生成される。例えば、新しい観測値が外れ値ではないと判断された場合、予測は、少なくとも１つの異常の発生を示す結果（簡単には、異常検出結果）として、受け入れられ出力され得る。さらに、異常検出結果を判断するために、受け入れられた予測をさらに処理することが可能である。異常検出の結果に基づいて、さらなるアクション（修正処置など）が開始され得る。さらなるアクションは、特定のアプリケーションに依存し得る。例えば、予測管理の場合、予測／異常検出結果の種類に応じて、必要かどうか、および、任意選択で、どの修正保守アクションが必要かを判断し得る。サイバーセキュリティまたはトランザクション・セキュリティアプリケーションの場合、アプリケーションおよび予測／異常検出結果の種類に応じて、コンピュータ、ユーザ、アカウントなどがブロックされるか、または、その他の予防アクションを講じ得る。
【００２８】
例えば、予測／異常検出の結果が異常はないことを示している場合、または特定の種類の異常が検出された場合、観測されるデバイスまたはシステムの通常の動作、整合性、またはセキュリティに対する脅威ではないと見なされるので、さらなるアクションは、システムの操作および／または監視を継続し、ユーザ、コンピュータ、サーバなどへのアクセスを許可し、ユーザ、コンピュータ、サーバなどが、トランザクションを開始および／または完了することになり得る。予測／異常検出の結果に異常があることを示している場合、修正保守アクション、エンティティへのアクセスの拒否または制限などの修正アクションを講じ得る。修正処置は、予測よる指定通りに検出された異常の種類に依存する可能性があり、修正アクションの性質は、特定のアプリケーションに依存し得る。修正処置は、例えば、修正保守アクションのスケジューリング、対象のエンティティに関連する少なくとも１つの制御パラメータの変更、対象のエンティティまたはそれに含まれる少なくとも１つの機器の停止、または、対象のエンティティ（例えば、特定のコンピュータ、ユーザ、サーバなど）へのアクセスの拒否を含み得る。また、少なくとも１つのさらなるアクションは、観測されるシステムの状態または状況に関連する情報を表示すること、警告を発することなどを含み得る。少なくとも１つのさらなるアクションは、自動的に判断および／または開始され得るか、または、手動介入またはユーザからのさらなる入力を必要とし得る。
【００２９】
新しい観測値が外れ値であると判断された場合、異常検出結果は、新しい観測値が新しい種類または未知の種類の異常に関連していることを示し得る。異常検出結果には、外れ値を続行または破棄する前に、外れ値を手動で分析するようにユーザに警告することも含まれ得る。例えば、外れ値の観測値が監視システムの障害、例えばセンサ監視装置の故障によって引き起こされたと結論付けられた場合、システムオペレータは、例えば、故障したセンサを交換することによって、監視システム自体が修正されるように予定を立てることができる。外れ値の観測値は、履歴データでは観測されない珍しいまたは新しい異常、例えば、新しいまたは珍しい方法での機器の破損、コンピュータネットワークへの侵入を実行する新しい方法、または、不正なトランザクションを実行する新しい種類が、原因であり得る。このような場合、外れ値の観測値には、さらに調査した後、例えば手動調査などの新しい種類の異常クラスが割り当てられ、それを使用して、将来の監視で新しい異常種類を含む最新の異常検出モデルをトレーニングし得る。
【００３０】
そこに記載されている様々な実施形態および例において、監視あり予知保全の能力は、モデルトレーニング後に外れ値を検出する能力を予測深層ニューラルネットワークに与えることによって、教師なしモデリングと組み合わせることができる。このアプローチを使用すると、深層ニューラルネットワークを使用して異常と障害種類を分類すると同時に、これまで未知の異常や障害種類が発生した場合でも、定義された動作を行うことができる。
【００３１】
本明細書に記載の様々な実施形態および例では、深層ニューラルネットワークによって処理されるデータは、構造化データまたは非構造化データであり得る。非構造化データは、事前定義されたデータモデルがないか、または、事前定義された方法で編成されていないデータとして理解され得る。非構造化データは、内部構造を有する場合があるが、事前定義されたデータモデルまたはスキーマを介して構造化されていない。非構造化データの例には、画像、音声、ビデオ、センサデータ、およびテキストが含まれるが、これらに限定されない。データは、生データ（未処理データ）である場合もあれば、正規化、ノイズ除去、コーディング、コントラスト強調、エッジ強調、色または周波数変換、サイズ変更、トリミング、および／またはその他の既知のデータ処理操作などの、なんらかの前処理が行われたデータであり得る。
【００３２】
いくつかの特定の例では、深層ニューラルネットワークによって処理されるデータは、温度センサ、加速度センサ、圧力センサ、ひずみゲージ、力センサ、マイク、画像センサなどの１つまたは複数のセンサから取得されたセンサデータ（例えば、温度、圧力、電流、磁束など）であり得る。テストデータセットに含まれる可能性のある観測値および受信した観測値のそれぞれは、ある時点または一定期間中に１つまたは複数のセンサによって取得されたセンサデータを含み得る。
【００３３】
センサは、機器の状態が物理的測定に基づいて間接的に計算される、いわゆるソフトセンサとも呼ばれる。例示的なソフトセンサには、カルマンフィルタ、速度推定器、製品品質（例えば、食品品質）の推定器などが含まれる。センサは、音声または画像の形式で、非構造化データを収集する場合もある。データはまた、ネットワークトラフィックを特徴付けるデータ（例えば、ネットワーク上の異なるコンピュータ間で転送されたデータパッケージのログ）、または、金融取引に関連するデータなどの他の取引データであり得る。
【００３４】
本開示では、画像は、ピクセルの２次元配置を含み得る。各ピクセルは、少なくとも１つの値を含み得る。例えば、グレースケール画像のピクセルは、ピクセルの強度を示す１つの値を含み得る。カラー画像のピクセルは、ＲＧＢ色空間などの色空間の座標を示す複数の値、例えば３つの値を含み得る。ピクセルはまた、異なる画像化モダリティの組合せ、例えば、位相差画像化および蛍光画像化などの２つの異なる画像化装置からの１つまたは複数の強度値の組合せを含み得る。画像が深層ニューラルネットワークによって処理される場合、テストデータセットに含まれる各観測値と受信された観測値は、画像を含み得る。
【００３５】
本開示において、「深層ニューラルネットワーク」という用語は、入力層、出力層、および入力層と出力層との間に提供される複数の隠れ層を有する人工ニューラルネットワークとして理解し得る。ニューラルネットワークの隠れ層は、「中間層」と呼ばれ得る。したがって、隠れ層からの出力は「中間出力」と呼ばれ得る。さらに、隠れ層からの出力は、複数の値を含み得、それらのそれぞれは、隠れ層に含まれるノードに対応し得る。したがって、本明細書で使用される「中間出力値のセット」という用語は、隠れ層のそれぞれのノードから出力される複数の値を含む、隠れ層の出力を示し得る。
【００３６】
使用される深層ニューラルネットワークの種類は特に限定されない。いくつかの例では、本開示における「深層ニューラルネットワーク」は、複数の隠れ層を有するフィードフォワードニューラルネットワークであり得る。フィードフォワードニューラルネットワークでは、ノード間の接続は、サイクルを形成しない。フィードフォワード深層ニューラルネットワークの特定の例は、視覚画像の分析に一般的に適用される畳み込みニューラルネットワーク（ＣＮＮ）であり得る。
【００３７】
他のいくつかの例では、本開示における「深層ニューラルネットワーク」は、ノード間の接続がシーケンスに沿って有向グラフを形成するリカレントニューラルネットワークであり得る。リカレント深層ニューラルネットワークの特定の例は、シーケンシャルデータを処理できる長・短期記憶（ＬＳＴＭ）であり得る。
【００３８】
他の例示的な深層ニューラルネットワークは、リカーシブニューラルネットワークおよびトランスフォーマニューラルネットワークである。
【００３９】
本開示では、「潜在変数モデル」という用語は、観測可能な変数のセットを潜在変数のセットに関連付けるか、またはマッピングする統計モデルであり得る。本明細書に記載の様々な実施形態および例では、（第１または第２の）「中間出力値のセット」は、潜在変数モデルの観測可能な変数のセットと見なすことができる。さらに、本明細書に記載の様々な実施形態および例では、「射影値のセット」は、潜在変数モデルの潜在変数のセットと見なすことができる。
【００４０】
いくつかの例では、上記の態様による方法において、潜在変数モデルは、主成分分析に従って構築または適合され得る。
【００４１】
本開示では、ＰＣＡとも呼ばれる「主成分分析」という用語は、直交変換を使用して、相関する可能性のある変数の観測値のセットを、主成分と呼ばれる、線形無相関の変数の値のセットに変換する統計的手順を示すと理解することができる。
【００４２】
ＰＣＡの改良型には、スパースＰＣＡ（Ｊｅｎａｔｔｏｎ，Ｒ．、Ｏｂｏｚｉｎｓｋｉ，Ｇ．およびＢａｃｈ，Ｆ．（２０１０年３月）、「Ｓｔｒｕｃｔｕｒｅｄ  ｓｐａｒｓｅ  ｐｒｉｎｃｉｐａｌ  ｃｏｍｐｏｎｅｎｔ  ａｎａｌｙｓｉｓ」、人工知能と統計に関する第１３回国際会議の講演論文集、（第３６６〜３７３頁））が含まれるが、これらに限定されない。ＰＣＡの代替には、ランダムな射影（Ｄａｓｇｕｐｔａ，Ｓ．（２０００年６月）、「Ｅｘｐｅｒｉｍｅｎｔｓ  ｗｉｔｈ  ｒａｎｄｏｍ  ｐｒｏｊｅｃｔｉｏｎ」、人工知能の不確実性に関する第１６回会議の講演論文集（第１４３〜１５１頁）、Ｍｏｒｇａｎ  Ｋａｕｆｍａｎｎ  Ｐｕｂｌｉｓｈｅｒｓ  Ｉｎｃ．）、スパース・ランダム射影（Ａｃｈｌｉｏｐｔａｓ，Ｄ．（２００３年）、「Ｄａｔａｂａｓｅ−ｆｒｉｅｎｄｌｙ  ｒａｎｄｏｍ  ｐｒｏｊｅｃｔｉｏｎｓ：Ｊｏｈｎｓｏｎ−Ｌｉｎｄｅｎｓｔｒａｕｓｓ  ｗｉｔｈ  ｂｉｎａｒｙ  ｃｏｉｎｓ」、コンピュータとシステムサイエンス学会誌、第６６号（４）、第６７１〜６８７頁）、非常にスパースなランダム射影（Ｌｉ，Ｐ．、Ｈａｓｔｉｅ，Ｔ．Ｊ．およびＣｈｕｒｃｈ，Ｋ．Ｗ．（２００６年８月）、「Ｖｅｒｙ  ｓｐａｒｓｅ  ｒａｎｄｏｍ  ｐｒｏｊｅｃｔｉｏｎｓ」、知識発見とデータマイニングに関する第１２回ＡＣＭ  ＳＩＧＫＤＤ国際会議の講演論文集（第２８７〜２９６頁）、ＡＣＭ）、および、自己組織化マップ（Ｋｏｈｏｎｅｎ，Ｔ．（１９９８）、「Ｔｈｅ  ｓｅｌｆ−ｏｒｇａｎｉｚｉｎｇ  ｍａｐ」、ニューロコンピューティング、第２１号（１〜３）、第１〜６頁）、が含まれるが、これらに限定されない。
【００４３】
他のいくつかの例では、上記の態様による方法では、潜在変数モデルは、オートエンコーダを使用して構築または適合され得る。「オートエンコーダ」は、教師なしの方法で効率的なデータ・コーディングを学習するために使用される一種の人工ニューラルネットワークであり得る。オートエンコーダの１つの形態は、入力層、出力層、およびそれらを接続する１つまたは複数の隠れ層を有し、出力層が入力層と同じ数のノードを有し、独自の入力を再構築する目的を持つ、フィードフォワード、非リカレントニューラルネットワークであり得る。様々な種類のオートエンコーダには、変化型オートエンコーダ（Ｋｉｎｇｍａ，Ｄ．Ｐ．およびＷｅｌｌｉｎｇ，Ｍ．（２０１３年）、「Ａｕｔｏ−ｅｎｃｏｄｉｎｇ  ｖａｒｉａｔｉｏｎａｌ  ｂａｙｅｓ」、アーカイヴプレプリント、アーカイヴ１３１２．６１１４）、および、スパースオートエンコーダ（Ｍａｋｈｚａｎｉ，Ａ．およびＦｒｅｙ，Ｂ．（２０１３年）、「Ｋ−ｓｐａｒｓｅ  ａｕｔｏｅｎｃｏｄｅｒｓ」、アーカイヴプレプリント、アーカイヴ１３１２．５６６３）が含まれるが、これらに限定されない。
【００４４】
潜在変数モデルを使用して、潜在変数モデルまでの新しい観測値の距離、言い換えれば潜在変数近似からの距離を決定し得る。決定された距離に基づいて、新しい観測値が外れ値であるかどうかに関する判断を行うことができる。受信した新しい観測値が外れ値であるかどうかに関する判断は、例えば、潜在変数モデルまでの新しい観測値の距離が閾値距離よりも大きいかどうかを判断することを含み得る。新しい観測値の計算された距離が閾値距離よりも大きい場合、新しい観測値が外れ値であると判断することができる。
【００４５】
潜在変数モデルを使用して、トレーニングデータセットの少なくとも一部の各観測値から潜在変数モデルまでの距離を計算し、決定された距離に基づいて閾値距離を決定することで、閾値距離を決定し得る。したがって、上記の態様のいずれかによる方法は、複数の距離に基づいて閾値距離を決定することをさらに含み得、そのそれぞれは、射影値の第１のセットの分布に関して、射影値の第１のセットの異なる１つについて計算される。
【００４６】
さらに、上記の態様による方法において、受信された観測値が外れ値であるかどうかを判断する前記ステップは、
射影値の第１のセットの分布に関して、射影値の第２のセットの距離を計算することと、
計算された距離が距離の閾値よりも大きい場合、受信した観測値がトレーニングデータセットに関して外れ値であると判断することと、を含み得る。
【００４７】
距離の閾値は、距離に基づいて決定することができ、距離のそれぞれは、射影値の第１のセットの分布に関して、射影値の第１のセットの異なる１つについて計算し得る。
【００４８】
距離指標は、潜在変数近似からの距離を定量化するのに適した任意の距離指標（すなわち、射影値の第１のセット）であり得る。例えば、距離は、残差平方和（ＲＳＳ）、マハラノビス距離、局所外れ値因子、またはＬＯＦであり得る（例えば、Ｍ．Ｍ．Ｂｒｅｕｎｉｇ、Ｈ．−Ｐ．Ｋｒｉｅｇｅｌ、Ｒ．Ｔ．ＮｇおよびＪ．Ｓａｎｄｅｒの「ＬＯＦ：Ｉｄｅｎｔｉｆｙｉｎｇ  Ｄｅｎｓｉｔｙ−ｂａｓｅｄ  Ｌｏｃａｌ  Ｏｕｔｌｉｅｒｓ」、２０００ＡＣＭ  ＳＩＧＭＯＤデータ管理の国際会議の講演論文集、ニューヨーク市、ニューヨーク州、ＵＳＡ、２０００年、第９３〜１０４頁）。距離はまた、記述された距離の２つまたは複数を組み合わせることによって形成される複合距離指標に基づく複合距離であり得る。
【００４９】
決定された距離は、特にマハラノビス距離であり得る。本開示において、「マハラノビス距離」という用語は、点Ｐ（例えば、観測値に対応する）と分布Ｄとの間の距離の既知の尺度を示すと理解され得る。より具体的には、「マハラノビス距離」は、多変量確率分布の原点から、観測値がどの程度の標準偏差で離れているかを測定する。
【００５０】
決定された距離は、残差平方和（ＲＳＳ）であり得る。例えば、上記の態様による方法では、受信した観測値が外れ値であるかどうかを判断する前記ステップは、
潜在変数モデルと射影値の第２のセットを使用して、中間出力値の第２のセットに対応する中間出力値の近似セットを決定することと、
中間出力値の第２のセットと中間出力値の近似セットの二乗近似残差を計算することと、
計算された二乗近似残差が二乗近似残差の閾値よりも大きい場合、受信した新しい観測値がトレーニングデータセットに関して外れ値であると判断することと、
を含み得る。
【００５１】
二乗近似残差の閾値は、二乗近似残差に基づいて決定し得、そのそれぞれは、中間出力値の第１のセットの異なる１つ、および中間出力値の第１のセットの前記１つに対応する中間出力値の近似セットについて計算し得る。
【００５２】
本開示において、「二乗近似残差」という用語は、残差平方の合計を示すものとして理解され得、ここで、残差は、観測値と潜在変数モデルによって提供される近似値との間の差である。
【００５３】
さらに、上記の態様による方法では、中間出力値の第１のセットを取得し、潜在変数モデルを構築するステップは、複数の隠れ層のうちの２つまたは複数に対して実行され得、
中間出力値の第２のセットを取得し、中間出力値の第２のセットを射影値の第２のセットにマッピングするステップは、複数の隠れ層のうちの前記２つまたは複数に関して実行され得、
受信した観測値が外れ値であるかどうかを判断するステップは、潜在変数モデルおよび、複数の隠れ層のうちの前記２つまたは複数に関して取得された射影値の第２のセットに基づいて実行され得る。
【００５４】
さらに、上記の態様による方法では、深層ニューラルネットワークの複数の隠れ層のうちの少なくとも１つから出力される中間出力値を取得するステップは、複数の隠れ層の少なくとも１つからの活性化を判断すること、および任意選択で、判断された活性化にグローバルプーリングを適用することを含み得る。活性化は、例えば、活性化ベクタの形態であり得る。
【００５５】
与えられた深層ニューラルネットワークのレイヤｉ（ｉ＝１、２、３、．．．）からの特定の観測値ｘの活性化ベクトルａｉ（または活性化）は、レイヤｉからの中間出力に対応し、観測値が所与のネットワークに入力されたときに、レイヤｉのそれぞれのノードからの出力に対応する値を持つ成分を含み得る。深層ニューラルネットワークの様々なレイヤ上の活性化または活性化ベクトルのそれぞれは、入力データ（つまり、入力観測値）の特徴表現を提供し得る。言い換えると、活性化は、深層ニューラルネットワークの様々なレイヤで、入力データの変換された、または前処理された表現を提供し得る。
【００５６】
特に、トレーニングデータセットの観測値に基づいて、深層ニューラルネットワークの複数の隠れ層の少なくとも１つから出力される第１の中間出力値を取得するステップは、複数の隠れ層の少なくとも１つからの前記観測値の活性化を判断することと、および任意選択で、判断された活性化にグローバルプーリングを適用することと、を含み得る。同様に、新しい観測値に基づいて深層ニューラルネットワークの複数の隠れ層の少なくとも１つから出力される第２の中間出力値を取得するステップは、複数の隠れ層の少なくとも１つからの新しい観測値の活性化を判断すること、および任意選択で、判断された活性化にグローバルプーリングを適用することを含み得る。グローバルプーリングは、グローバル平均プーリングであり得る。
【００５７】
例えば、活性化が特徴マップからのものである場合、グローバルプーリング（例えば、グローバル平均プーリング）が各特徴マップ全体に適用され得る。潜在変数モデルは、その後、（任意選択でプールされた）活性化、つまり（任意選択でプールされた）トレーニングセット活性化、および深層ニューラルネットワークへの新しい観測値入力に対して計算された（任意選択でプールされた）活性化に、構築または適合され得る。
【００５８】
グローバル平均プーリング（ＧＡＰ）は、ネットワーク活性化の特徴マップ表現をベクトル表現に変換する手順を指す（例えば、Ｌｉｎ、Ｍｉｎ、Ｑｉａｎｇ  ＣｈｅｎおよびＳｈｕｉｃｈｅｎｇ  Ｙａｎによる「Ｎｅｔｗｏｒｋ  ｉｎ  ｎｅｔｗｏｒｋ」、アーカイヴ・プレプリント、アーカイヴ１３１２．４４００（２０１３年）を参照）。このステップでは、空間情報が破棄され、各要素が特定の特徴マップの平均的な活性化に対応するベクトルをもたらす。例えば、畳み込みニューラルネットワークの特定の隠れ層の場合、画像ｘの活性化は、次元ｗｘｈｘｃを有する可能性のある特徴マップＡによって記述され、ここで、ｈは特徴マップのピクセル高さ、ｗは特徴マップのピクセル幅、および、ｃは現在の隠れ層内の特徴マップの数である。次に、Ａの特徴マップのグローバル平均プーリング
2022500745.tif 000003
は次の式で与えられる。
【数１】
2022500745.tif 000004
または
【数２】
2022500745.tif 000005
例えば：
【数３】
2022500745.tif 000006
次に、画像ｘのグローバル平均プール特徴マップＡのベクトルは、次の式で与えられる。
【数４】
2022500745.tif 000007
【００５９】
上記の式は、他の種類の観測値にも適用し得る。
【００６０】
さらに、上記の態様のいずれか１つによる方法は、深層ニューラルネットワークのトレーニング、またはトレーニングデータセットを使用してトレーニングされた深層ニューラルネットワークを微調整することを含み得る。
【００６１】
上記の態様による方法が、外れ値と非外れ値をどれだけうまく区別できるかは、例えば、受信者操作特性・曲線下面積（ＲＯＣ−ＡＵＣ）指標を使用して評価することができる。例えば、受信した観測値が外れ値であるかどうかを判断するために、マハラノビス距離および／または二乗近似残差および／または他の距離指標が計算される場合、マハラノビス距離および／または二乗近似残差および／または他の距離指標が、外れ値を非外れ値からどれだけうまく分離するかを比較することにより、ＲＯＣ曲線を計算し得る。本方法の評価に使用できるその他の指標には、（１）適合率、これは、実際には外れ値であるシステムにより外れ値として識別された観測値の一部、（２）再現率、これは、システムによって外れ値として正常に識別されたすべての外れ値の一部、（３）Ｆ１値、これは、適合率と再現率の調和平均、（４）正解率、これは、すべての識別のうち、システムによる正しい識別の一部、が含まれるが、これらに限定されない。
【００６２】
さらに別の態様によれば、コンピュータプログラム製品が提供される。コンピュータプログラム製品は、コンピュータにロードされて実行されると、コンピュータに上記の態様のいずれかに従って方法を実行させるコンピュータ可読命令を含む。
【００６３】
さらに別の態様によれば、異常検出および／または予知保全のためのデータ分析のためのシステムが提供される。システムは、
対象のエンティティ（観測されるエンティティ）のパラメータを特徴付ける少なくとも１つの観測値を取得するためのデータ収集ユニットと、
深層ニューラルネットワークをトレーニングするために使用されるトレーニングデータセットを格納する記憶媒体であって、深層ニューラルネットワークは、複数の隠れ層を含み、トレーニングデータセットは、深層ニューラルネットワークに入力する可能性のある観測値を含む、記憶媒体と、
上記の態様および例のいずれか１つに従って方法を実行するように構成された少なくとも１つのプロセッサを含む予測分析ユニット（予測分析コンポーネント）と、
を含む。
【００６４】
例えば、プロセッサは、
トレーニングデータセットを使用してトレーニングされた深層ニューラルネットワークを取得し、
記憶媒体に格納されているトレーニングデータセットの少なくとも一部を取得し、
複数の隠れ層の少なくとも１つから出力される中間出力値の第１のセットを取得し、
ここで、中間出力値の第１のセットのそれぞれは、トレーニングデータセットの少なくとも一部に含まれる可能性のある観測値の異なる１つを入力することによって取得され、
中間出力値の第１のセットを使用して潜在変数モデルを構築／適合し、
ここで、潜在変数モデルは、中間出力のセットの次元よりも低い次元を有する部分空間内の射影値の第１のセットへの中間出力値の第１のセットのマッピングを提供し、
深層ニューラルネットワークに入力される新しい観測値を受診し、
受信した新しい観測値を深層ニューラルネットワークに入力することにより、複数の隠れ層のうちの前記少なくとも１つから出力される中間出力値の第２のセットを取得し、
潜在変数モデルを使用して、中間出力値の第２のセットを射影値の第２のセットにマップし、
潜在変数モデルおよび射影値の第２のセットに基づいて、受信した新しい観測値がトレーニングデータセットに関して外れ値であるかどうかを判断するように、
構成され得る。
【００６５】
少なくとも１つのプロセッサは、
深層ニューラルネットワークによって、新しい観測値の予測を計算し、
予測、および新しい観測値が外れ値であるかどうかの判断に基づいて、エンティティに少なくとも１つの異常が発生したことを示す結果を判断するように、
さらに構成され得る。
【００６６】
上記の態様によるシステムでは、潜在変数モデルは、主成分分析に従って、またはオートエンコーダを使用して、構築され得る。
【００６７】
上記の態様によるシステムにおいて、受信された観測値が外れ値であるかどうかを判断するために、プロセッサは、
射影値の第１のセットの分布に関して、射影値の第２のセットの距離を計算し、
計算された距離が距離の閾値よりも大きい場合、受信した新しい観測値がトレーニングデータセットに関して外れ値であると判断するように、
さらに構成され得る。
【００６８】
上記のように、距離は、マハラノビス距離、残差平方和、局所外れ値因子、複合距離、またはその他の適切な距離測定であり得る。
【００６９】
例えば、上記の態様によるシステムにおいて、受信された新しい観測値が外れ値であるかどうかを判断するために、少なくとも１つのプロセッサは、
潜在変数モデルと射影値の第２のセットを使用して、中間出力値の第２のセットに対応する中間出力値の近似セットを判断し、
中間出力値の第２のセットと中間出力値の近似セットの二乗近似残差を計算し、
計算された二乗近似残差が二乗近似残差の閾値よりも大きい場合、受信した新しい観測値がトレーニングデータセットに関して外れ値であると判断するように、
さらに構成され得る。
【００７０】
上記の態様によるシステムでは、少なくとも１つのプロセッサは、
中間出力値の第１のセットを取得し、複数の隠れ層のうちの２つまたは複数の潜在変数モデルを構築するステップを実行し、
中間出力値の第２のセットを取得し、中間出力値の第２のセットを、複数の隠れ層のうちの前記２つまたは複数に関する射影値の第２のセットにマッピングするステップを実行し、
潜在変数モデルと、複数の隠れ層のうちの前記２つまたは複数に関して取得された射影値の第２のセットに基づいて、受信した新しい観測値が外れ値であるかどうかを判断するステップを実行するように、
さらに構成され得る。
【００７１】
さらに、上記の態様によるシステムでは、少なくとも１つのプロセッサは、複数の隠れ層のうちの少なくとも１つからの活性化を判断し、任意選択で、判断された活性化にグローバルプーリングを適用するようにさらに構成され得る。したがって、（任意選択でプールされた）活性化は、第１／第２の中間出力値を構成し得る。
【００７２】
少なくとも１つのプロセッサは、汎用コンピュータ、専用コンピューティングユニット、サーバ、またはコンピュータネットワークの一部であり得る。
【００７３】
上記の態様によるシステムは、深層ニューラルネットワークのパラメータ（例えば、重み、ノード接続、フィルタなど）を格納するための記憶媒体をさらに含み得る。格納される特定のパラメータは、通常、使用する深層ニューラルネットワークの種類によって異なる。さらに、システムは、潜在変数モデル、距離、閾値距離などの潜在変数モデルを使用して得られたデータ、および／または他のデータを格納するための記憶媒体を備え得る。
【００７４】
上記の記憶媒体のうちの１つまたは複数は、収集されたデータが蓄積、処理、および／または分析されるデータストアの一部であり得る。データストアは、サーバ（例えば、オンプレミス・サーバやローカル・サーバなど）に実装することも、クラウドサービスなどの分散ネットワークサービスとして実装し得る。
【００７５】
さらに、システムは、状態を測定するための１つまたは複数のセンサ、または対象のエンティティまたは、対象のエンティティのコンポーネントの状態を特徴付ける少なくとも１つのパラメータを備え得る。測定されたパラメータは、温度、圧力、電流、磁束、ネットワークトラフィック、データログなどの物理的、電子的、またはその他のパラメータであり得る。少なくとも１つのセンサは、ソフトセンサであり得る。少なくとも１つのセンサは、定期的または実質的に連続的な測定を実行するように構成され得る。一例では、少なくとも１つのセンサは、リアルタイム測定を実行するように構成され得る。トリガ時に測定を開始するようにセンサを構成することもできる。例えば、測定は、ユーザとコンピュータとの相互作用などの特定のアクションの結果として開始され得る。一例では、複数のセンサが提供され得、深層ニューラルネットワークに入力された観測値は、異なる入力情報の組合せまたは融合、例えば、異なるセンサからの測定値に基づき得る。
【００７６】
さらに、システムは、１つまたは複数のセンサデータ収集ユニット、転送されたデータを格納するための記憶媒体、および／または予測分析ユニットの間のデータ転送を可能にするデータ通信ユニットまたは複数のラインを備え得る。一例では、１つまたは複数のセンサとデータ収集ユニットとの間のデータ転送は、無線であり得る。
【００７７】
システムは、予測、および／または少なくとも１つの機器および／または予測に基づくシステム全体の状態または状況に関する情報を伝達するように構成されたユーザインターフェース（例えば、グラフィカルおよび／またはオーディオおよび／または触覚ユーザインターフェース）をさらに含み得る。ユーザインターフェースは、少なくとも１つの機器の測定されたパラメータに関する情報を伝達する（例えば、表示する）ようにさらに構成され得る。ユーザインターフェースは、観測されるシステムの少なくとも１つの機器の少なくとも１つのパラメータを、ユーザが変更することができるように、さらに構成され得る。
【００７８】
予測分析ユニットは、例えば、いつ保守が必要とされるかを予測するために、収集されたデータを集約およびモデル化するようにさらに構成され得る。分析コンポーネントは、例えば、対象のエンティティ（例えば、機器、機械、コンピュータなど）で直接実行され、いわゆるエッジ分析を構成し得る。
【００７９】
上記の様々な様態および例によれば、深層ニューラルネットワークへのモデルトレーニング後に外れ値を検出することが可能である。深層ニューラルネットワークがどのように構築されているかについての仮定が少なくて済み、サンプリングが不要な場合があるため、トレーニングデータセットに関する入力データの外れ値を効率的に検出できる。さらに、上記の様々な態様および例によれば、すでに学習されたデータ表現を外れ値検出に使用することができる。個別の外れ値検出モデルとは対照的に、予測に使用されるのと同じ表現を外れ値の検出に使用できる。
【００８０】
上記の様々な態様および例による方法およびシステムのさらなる利点には、以下が含まれ得る。
−アーキテクチャに依存しない。つまり、あらゆる種類のニューラルネットワークモデルで使用できる。
−トレーニングに依存しない。計算には、ニューラルネットワークがトレーニングされた後のトレーニングデータのシングル・パスが含まれる。つまり、通常のトレーニング手順への干渉は最小限に抑えられる。
−タスクに依存しない。つまり、目前のタスクについて想定する必要がない。提案されたアプローチは、分類、セグメンテーション、回帰、強化学習などの様々なタスクに適用できる。これらは計算の点で効率的である。つまり、深層ニューラルネットワークモデルの推論と比較して、追加の計算はほとんど必要ない。
−外れ値の検出において、最先端の方法よりも優れている。
【００８１】
提案された技術は、あらゆる種類の入力、例えば、センサ入力、ネットワークトラフィック、金融取引トラフィックなどに適用可能であるという意味で、「汎用」技術である。上記の様々な態様および例による方法およびシステムの適用分野には、機械部品、機械、または複数の機械部品および／または機械を含むシステムの監視および／または予知保全が含まれるが、これらに限定されない。
【００８２】
特定の非限定的な例は、ベアリング、ギア、ホイール、制御バルブ、バッテリ、モータ（例えば、電気モータ）、タービン、車両（例えば、鉄道車両、電気自動車）、バイオリアクタ、発酵槽、コンピュータ、コンピュータネットワーク、レール、石油およびガスの地表機器、産業または発電所（太陽光発電所、石炭燃焼プラントなど）の制御および／または監視、産業プロセスの制御および／または監視（例えば、ダイキャスティング、バッテリ製造、バイオテクノロジープロセス、医薬品製造など）の、異常（例えば、故障）検出および／または予知保全に関する。
【００８３】
別の可能な用途は、サイバーセキュリティの脅威、例えば、ネットワーク侵入やその他の種類の悪意のある攻撃、を検出するためのものである。例えば、ネットワークトラフィックは、機械学習技術を使用してモデル化し得る。例として、悪意のあるアクションおよび／またはアクタを示すトラフィックパターンの微妙な変化を検出し、侵入として分類し得る。さらに別の可能な用途は、金融取引における不正、疑わしいパターン、または特定の傾向を検出するためのものである。例えば、履歴データを使用して、機械学習に基づく分類器をトレーニングして、トランザクションまたはアクタ（例えば、不正または信頼できる）を分類したり、傾向を識別したりできる。
【００８４】
本出願に記載されている主題は、方法として、またはシステムとして、おそらく１つまたは複数のコンピュータプログラム製品の形で実装することができる。本出願に記載されている主題は、データ信号または機械可読媒体に実装することができ、媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ、ハードディスクなどの、１つまたは複数の情報キャリアに組み込まれている。そのようなコンピュータプログラム製品は、データ処理装置に、本出願に記載されている１つまたは複数の操作を実行させることができる。
【００８５】
さらに、本出願に記載されている主題は、プロセッサ、およびプロセッサに結合されたメモリを含むシステムとして実装することもできる。メモリは、１つまたは複数のプログラムをエンコードして、プロセッサに、本出願で説明されている１つまたは複数の方法を実行させることができる。いくつかの例では、システムは、汎用コンピュータシステムであり得る。他の例では、システムは、組み込みシステムを含む専用コンピュータシステムであり得る。
【図面の簡単な説明】
【００８６】
１つまたは複数の実装の詳細は、以下の例示的な図面および説明に示されている。その他の特徴は、説明、図面、および特許請求の範囲から明らかになるであろう。しかしながら、実施形態が別々に説明されているとしても、異なる実施形態の単一の特徴を組み合わせてさらなる実施形態にすることができることを理解されたい。
【００８７】
【図１】本開示によるシステムを含むシステムの一例を示す。
【図２】画像を処理するための畳み込みニューラルネットワーク（ＣＮＮ）の構成例を示す。
【図３】本開示によるシステムによって実行される例示的なプロセスのフローチャートを示す。
【図４】予知保全モデルに使用されるネットワークアーキテクチャの例、および、外れ値の検出のために抽出された特徴の例を示す。
【図５】予知保全のためのテストセットシーケンスでの外れ値の検出を示す。
【図６】ＰＣＡ成分の数、およびカットオフパーセンタイルに応じた予知保全のための外れ値検出性能の評価を示す。
【図７】難読化されたパワーシェルスクリプトを検出するための予知保全モデルに使用されるネットワークアーキテクチャの例を示す。
【図８】本発明による外れ値距離指標のバイオリン図（図８Ａ）、および、ＭＣドロップアウトを使用した比較例によるバイオリン図（図８Ｂ）を示す。
【図９】本明細書で説明されるシステムの少なくとも一部を実装するために使用され得るコンピュータの例示的なハードウェア構成を示す。
【発明を実施するための形態】
【００８８】
以下の文章では、図面を参照して例の詳細な説明を行う。例には、様々な変更を加えることができることを理解されたい。特に、１つの例の１つまたは複数の要素を、組み合わせ、他の例で使用し、新しい例を形成することができる。
【００８９】
システム構成
図１は、本開示によるシステムを含むシステムの一例を示す。
【００９０】
図１に示されるシステムは、コンピューティングシステム１、ユーザクライアント２０、制御システム３０、およびサードパーティシステム４０を含み得る。
【００９１】
コンピューティングシステム１は、本開示によると、データ分析のためのシステムを提供し得る。コンピューティングシステム１は、例えば、１つまたは複数の汎用コンピュータを使用して実装し得る。図１に示されるように、コンピューティングシステム１は、アプリケーション１０およびデータ記憶装置１２を備え得る。
【００９２】
アプリケーション１０は、後でより詳細に説明するように、コンピューティングシステムの例示的なプロセスをコンピュータに実行させる命令を含む、ソフトウェアアプリケーションによって実装し得る。図１に示されるように、アプリケーション１０は、深層ニューラルネットワーク１００、予測１１０、外れ値指標１１２、およびインターフェース１１４を含み得る。アプリケーションは、予測分析コンポーネントまたはユニットによって提供または実行され得る。
【００９３】
深層ニューラルネットワーク（以下、「ＤＮＮ」とも呼ばれる）１００は、入力層、出力層、および入力層と出力層との間に複数の隠れ層を有する人工ニューラルネットワークであり得る。深層ニューラルネットワーク１００は、例えば、センサデータ、コンピュータネットワークトラフィックデータ、トランザクションデータなどのような任意の種類のデータを処理するように、トレーニングされ得る。一例では、深層ニューラルネットワーク１００は、深層ニューラルネットワーク１００への可能な入力画像を含むトレーニングデータセットを使用して、それぞれのセンサによって取得された画像を処理するようにトレーニングされ得る。トレーニングデータセットは、アプリケーション１０によってアクセス可能なデータ記憶装置１２に格納され得る。図１の例では、深層ニューラルネットワーク１００は、レイヤ１０２および外れ値検出モジュール１０４を含み得る。
【００９４】
レイヤ１０２は、入力層（図示せず）、出力層（図示せず）、および入力層と出力層との間に提供される複数の隠れ層（図示せず）を含み得る。
【００９５】
外れ値検出モジュール１０４は、深層ニューラルネットワーク１００の複数の隠れ層のうちの少なくとも１つに接続され得、深層ニューラルネットワーク１００をトレーニングするために使用されるトレーニングデータセットに関して観測値が外れ値であるかどうかを判断するように構成され得る。外れ値検出モジュール１０４によって実行されるプロセスの詳細は、後で説明される。
【００９６】
図２は、深層ニューラルネットワーク１００の特定の例を示す。図２に示される例示的な深層ニューラルネットワークは、データ、例えば画像を分類するための畳み込みニューラルネットワーク（ＣＮＮ）である。例えば、図２に示される例示的なＣＮＮは、入力画像などの入力観測値をいくつかの異なるカテゴリに分類し得る。別の例では、図２に示される例示的なＣＮＮは、入力観測値（例えば、画像）が特定のカテゴリに属するかどうかを判断し得る。特定の例では、図２に示される例示的なＣＮＮは、入力画像（すなわち、入力観測値）として２８×２８ピクセルのグレースケール画像を受信するように構成され得る。入力画像の各ピクセルは、ピクセルの強度を示す値を含み得る。入力画像の各ピクセルの強度値は、例示的なＣＮＮの入力層の入力ノードへの入力値と見なすことができる。図２に示される例示的なＣＮＮは、４つの畳み込み層Ｃ１、Ｃ２、Ｃ３、Ｃ４と、２つの最大プール層ＭＰ１、ＭＰ２と、出力層に含まれるノードの活性化関数としてソフトマックス関数を使用する出力層とを、含む。
【００９７】
上記の例では２８ｘ２８ピクセルの画像を使用しているが、理論的な観点からは、画像サイズに上限はない。ただし、画像サイズを大きくすると、計算量も増え得る。一般に、対象のアプリケーション用に選択された画像サイズは、必要な詳細レベルと計算要求との間のトレードオフを反映し得る。一般的な分類アプリケーションでは、画像の範囲は２００ｘ２００ピクセルから３００ｘ３００ピクセルであり得る。ただし、アプリケーションはこの範囲に限定されず、２００ｘ２００ピクセルより小さい、または３００ｘ３００ピクセルより大きい、場合がある。
【００９８】
例示的なＣＮＮの畳み込み層Ｃ１に含まれる各ノードは、入力画像の特定の部分に適用されるサイズ３×３（ピクセル）のフィルタに対応し得、フィルタを入力画像の特定の部分に適用することから生じる値を出力し得る。図２の例では、畳み込み層Ｃ１の入力画像に３２個のフィルタが適用されている。３２個のフィルタのそれぞれは、入力画像の幅方向と高さ方向の両方に、Ｓピクセルのストライドでフィルタをスライドさせることにより、入力画像の全領域に適用し得る。入力画像上の３２個のフィルタの位置ごとに、３２個のフィルタに対応する３２個のノードが畳み込み層Ｃ１に存在し得る。図２の例では、ストライドＳは１ピクセルに設定し得る。したがって、畳み込み層Ｃ１の出力は、２８×２８×３２の値を含むことができ、これは、２８×２８ピクセルの３２個の画像と見なし得る。畳み込み層Ｃ１の出力は、畳み込み層Ｃ２に入力され得る。畳み込み層Ｃ２は、サイズ３×３の３２個のフィルタを備えた畳み込み層Ｃ１に類似した構成を持ち得る。したがって、畳み込み層Ｃ２の出力はまた、２８×２８×３２の値を含むことができ、これは、２８×２８ピクセルの３２個の画像と見なし得る。
【００９９】
畳み込み層Ｃ２の出力は、２０％のドロップアウトの影響を受け得る（図２のＤ１を参照）。言い換えると、畳み込み層Ｃ２の出力の値（ノードに対応）の２０％が、ランダムに選択され無視され得る。
【０１００】
ドロップアウト操作Ｄ１の後、畳み込み層Ｃ２の出力は、第１の最大プール層ＭＰ１での最大プーリング操作によるダウン・サンプリングの対象となり得る。最大プーリング操作は、複数の入力値の中から最大値を選択し得る。図２の例では、最大プール層ＭＰ１は、畳み込み層Ｃ２から出力された２８×２８ピクセルの３２個の画像のそれぞれに、２×２のサイズのフィルタを適用し、２ピクセルのストライドで適用され得る。これにより、対応するフィルタ内の対応する画像（畳み込み層Ｃ２からの出力）のピクセルの中で最大強度値をそれぞれが有する、１４×１４ピクセルを含む３２個の出力画像を生成し得る。最大プーリング操作で使用される各フィルタは、最大プール層ＭＰ１のノードと見なし得る。
【０１０１】
最大プール層ＭＰ１からの出力は、畳み込み層Ｃ１、Ｃ２の構成に類似した構成を有するが６４個のフィルタを適用する、畳み込み層Ｃ３に提供され得る。畳み込み層Ｃ３の出力は、サイズ３×３の６４個のフィルタを備えた畳み込み層Ｃ３と同様の構成を有する畳み込み層Ｃ４に提供され得る。さらに、畳み込み層Ｃ４の出力は、２０％のドロップアウトの影響を受け（図２のＤ２を参照）、上述のように、最大プール層ＭＰ１での最大プール操作に類似した方法で、最大プール層ＭＰ２で最大プーリング操作の対象になり得る。最大プール層ＭＰ２の出力には、７×７×６４の値が含まれ得る。
【０１０２】
最後に、最大プール層ＭＰ２の出力は、ｓｏｆｔｍａｘ関数を使用して出力層に提供され得る。出力層は、入力画像が分類され得る１つまたは複数のグループ（またはカテゴリ）に対応する１つまたは複数の出力ノードを含み得る。この例は特定のパラメータ（例えば、フィルタの数、ドロップアウト率、畳み込み層の数、ストライドなど）に言及しているが、各パラメータの値の範囲は、本明細書で意図され、方法およびシステムはこれらの実施形態に限定されない。
【０１０３】
いくつかの例において、図２に示される例示的なＣＮＮに関して、最大プール層ＭＰ１およびＭＰ２からの出力は、図２に示す例示的なＣＮＮのトレーニングに使用されるトレーニングデータセットに関して、入力画像が外れ値であるかどうかを検出するために、外れ値検出モジュール１０４（図１）に提供され得る。例えば、外れ値検出モジュール１０４は、最大プール層ＭＰ１およびＭＰ２のそれぞれについて、トレーニングデータセット内の可能な入力画像のために、それぞれの最大プール層ＭＰ１およびＭＰ２からの出力を使用する潜在変数モデルを、構築または適合し得る。潜在変数モデルは、最大プール層ＭＰ１またはＭＰ２の出力を、最大プール層ＭＰ１またはＭＰ２の出力の次元よりも低い次元を持つ部分空間（潜在変数モデルの部分空間）の射影値のセットにマッピングし得る。構築または適合された潜在変数モデルは、入力画像（例えば、トレーニングデータセットに含まれていない新しく取得された入力画像）が、トレーニングデータセットに関して外れ値であるかどうかを判断するために使用され得る。より一般的には、外れ値検出モジュール１０４は、深層ニューラルネットワーク１００の１つ（または複数）の隠れ層から出力を取得し、取得された出力を使用して潜在変数モデルを構築または適合させるように構成され得る。潜在変数モデルの構築または適合の詳細については、以下で説明する。
【０１０４】
再び図１を参照すると、予測１１０は、深層ニューラルネットワーク１００からの出力であり得る。いくつかの例では、予測１１０は、入力画像が深層ニューラルネットワーク１００によってどのカテゴリに分類されるかを示し得る。
【０１０５】
外れ値指標１１２は、入力画像が深層ニューラルネットワーク１００をトレーニングするために使用されるトレーニングデータセットに関して、外れ値であるかどうかを決定するための指標を含み得る。外れ値指標１１２の詳細は、以下で説明する。
【０１０６】
インターフェース１１４は、アプリケーション１０がコンピューティングシステム１の外部に提供され得る様々なデバイスと通信するためのインターフェースであり得る。例えば、インターフェース１１４は、アプリケーション１０によって生成された情報をそれらのデバイスに通信するように構成され得る。さらに、例えば、インターフェース１１４は、それらのデバイスからアプリケーション１０に向けられた情報を受信するように構成され得る。
【０１０７】
データ記憶装置１２は、アプリケーション１００によって使用されるデータを格納するように構成され得る。図１は、データ記憶装置１２がコンピューティングシステム１の一部であることを示しているが、いくつかの例では、データ記憶装置１２に記憶されたデータがアプリケーション１０によりアクセス可能である限り、データ記憶装置１２は、コンピューティングシステムの外部で提供されてもよい。
【０１０８】
ユーザクライアント２０は、コンピューティングシステム１に接続されたクライアントデバイスであり得る。ユーザクライアント２０は、コンピューティングシステム１で実行される外れ値検出の予測および結果を使用することができるユーザアプリケーション２２を含み得る。ユーザクライアント２０の特定の例は、例えば、ＳＳＨ（セキュアシェル）またはＨＴＴＰ（ハイパーテキスト転送プロトコル）要求を使用して、計算サーバにリモート接続されたワークステーションであり得る。次に、ＤＮＮ（深層ニューラルネットワーク）を、計算サーバ上のユーザが提供する入力に適用することができ、結果として得られる予測および外れ値指標を、ユーザクライアント２０に返すことができる。ユーザクライアント２０は、例えば、ＤＮＮ予測を実行するように構成されたワークステーション上で、アプリケーション１０を実行するコンピューティングシステム１と同じ物理デバイスの一部であり得る。
【０１０９】
制御および／または分析システム３０は、デバイスを制御し、および／またはコンピューティングシステム１で実行される外れ値検出の予測および結果を使用して、さらなるデータ分析を実行し得る。制御および／または分析システム３０は、異常検出および／または予知保全のためのシステムを構成するか、またはその一部であり得る。制御および／または分析システム３０の例は、機械部品または機械、産業プロセスまたはプラント、車両（自律走行車など）、コンピュータネットワーク、金融取引ユニットなどの制御および／または分析システム（異常検出または予知保全など）であり得る。
【０１１０】
例えば、車両において、制御および／または分析システムは、車両操縦を制御するため、および／または、車両に含まれる１つまたは複数の機器（モータ、ギアなど）の状態、摩耗、および／または寿命に関連する表示を提供するために、外れ値検出の予測および結果を受け取り、および／または必要な修正保守アクションを受け取り得る。
【０１１１】
制御および／または分析システム３０は、入力を受信し、データ分析を実行し、アプリケーション固有のアクションに関する決定を行う、制御および／または分析システム３０で実行されるプログラムクライアント３２を含み得る。例えば、それは、観測されるエンティティ（例えば、機器またはシステムの一部）の保守に関して、および／または、観測されるエンティティ（例えば、機器またはシステムの一部）の制御に関して行われる。
【０１１２】
本技術の特定の例は、バイオ医薬品製造プロセスの分析および／または制御システムへの入力材料の特徴付けに関する。そのような製造プロセスの所望の出力品質を確保するために、プロセスの制御パラメータは、入力材料の特性に従って調整され得る。さらに、例えば、センサ・温度・湿度など、調整器、栄養溶液、細胞培養物などの洗浄または交換で、修正保守操作が、決定および／または開始され得る。
【０１１３】
データソースの異種の組合せを使用することで、構造化データと非構造化データの両方を含む入力材料を特徴付けることができる。データソースの例は、イベントレポート、画像、クロマトグラム、分光データ、化学分析などのテキストを含み得る。深層学習は、構造化データと非構造化データの両方から特定の出力への有用なマッピングを見つけることができるため、このような異種のデータの組合せを分析するのに適している。入力データが深層学習モデルのトレーニングに使用されたデータと一致しない場合の出力品質の低下や致命的な障害を回避するには、モデルのトレーニング後に外れ値を検出することが重要になり得る。入力データが外れ値として識別された場合、出力品質が保証されないため、入力データを製造プロセスへの入力として使用できない場合がある。
【０１１４】
本技術の別の特定の例は、人間のコントローラによってプログラムされるのではなく、深層強化学習を使用してデータから学習された制御および監視システム（予知保全システムなど）にある。バイオ医薬品の製造プロセスでは、可能な制御パラメータが多数存在する可能性があり、高度に複雑なため、システムに存在するすべての相互作用とフィードバック・ループを見つけるのが難しい場合がある。代わりに、深層強化学習を使用して、データとシミュレーションから制御ポリシを学習できる。プロセスがモデルトレーニング中に遭遇した状態とは異なる状態に入るタイミングを検出するには、外れ値の検出が重要になり得る。そのような状態が外れ値として識別された場合、深層学習に基づく制御システムは、ユーザに警告し（例えば、ユーザに通知を送信することによって）、および／または出力品質の低下や致命的な障害を回避するために安全ルーチンを実行し得る。深層強化学習の使用例は、当技術分野に見出すことができる（例えば、Ｌｉ，Ｙ．、Ｗｅｎ，Ｙ．、Ｇｕａｎ，Ｋ．およびＴａｏ，Ｄ．による（２０１７年）「Ｔｒａｎｓｆｏｒｍｉｎｇ  Ｃｏｏｌｉｎｇ  Ｏｐｔｉｍｉｚａｔｉｏｎ  ｆｏｒ  Ｇｒｅｅｎ  Ｄａｔａ  Ｃｅｎｔｅｒ  ｖｉａ  Ｄｅｅｐ  Ｒｅｉｎｆｏｒｃｅｍｅｎｔ  Ｌｅａｒｎｉｎｇ」、アーカイヴ・プレプリント、アーカイヴ１７０９．０５０７７、Ｎｇｕｙｅｎ，Ｐ．およびＴａｋａｓｈｉ，Ｅ．による（２０１８年）「Ａｕｔｏｍａｔｉｎｇ  Ｗａｔｅｒ  Ｐｕｒｉｆｉｃａｔｉｏｎ  Ｐｌａｎｔ  Ｏｐｅｒａｔｉｏｎｓ  Ｕｓｉｎｇ  Ｄｅｅｐ  Ｄｅｔｅｒｍｉｎｉｓｔｉｃ  Ｐｏｌｉｃｙ  Ｇｒａｄｉｅｎｔ」、ワークショップの講演論文集（エンジニアリングシステムにおける安全上重要な深層学習のためのＩＣＭＬワークショップで公開））。
【０１１５】
深層学習モデルにおける外れ値検出のための従来技術の方法とは異なり、本方法は、モデルがどのように設計および／またはトレーニングされるかを制約せず、これらの方法を稼働中のモデルに追加することを可能にする。さらに、本技術はモデルトレーニングの後に使用されるので、本技術は、ライブアプリケーションに実装された、リアルタイムアプリケーションおよび／またはモデルで、使用できる。異常検出のアプリケーションは非常に高速であり得る。つまり、予測モデルは、高周波数で観測値を受信する。例えば、回転タービンの監視は１０ｋＨｚで測定し得る。同様に、コンピュータネットワークまたは銀行システムを監視するシステムは、通常、そのようなシステムには非常に多くの同時アクタが存在するため、高頻度で観測値を受信し得る。対照的に、予測ごとに複数のフォワードパス／推論を使用する従来方法（例えば、予測が平均として使用され、標準偏差またはエントロピーが不確実性の尺度として使用される場合）は、待ち時間の増加につながる可能性があり、リアルタイムアプリケーションにとっては、問題となる。さらに、提案された技術は、アーキテクチャに依存せず、トレーニングに依存せず、タスクにも依存しない。
【０１１６】
サードパーティシステム４０は、コンピュータによって実装され得、サードパーティアプリケーション４２を含み得る。サードパーティシステム４０は、コンピューティングシステム１が属するエンティティとは異なるエンティティに属し得る。サードパーティアプリケーション４２は、コンピューティングシステム１で実行された外れ値検出の予測および結果を使用し得る。サードパーティアプリケーション４２の特定の例は、ＤＮＮ予測およびＤＮＮ予測プロバイダから購入した外れ値検出の結果に依存するソフトウェアであり得る。
【０１１７】
コンピューティングシステム１は、インターネットなどのネットワークを介して、ユーザクライアント２０、制御システム３０、およびサードパーティシステム４０に接続され得る。いくつかの例では、ユーザクライアント２０、制御システム３０、およびサードパーティシステム４０のうちの１つまたは複数は、イントラネットを介してコンピューティングシステム１に接続され得る。
【０１１８】
部分最小二乗回帰を使用した予測−時間外れ値の検出
上記のように、図１に示されるコンピューティングシステム１の外れ値検出モジュール１０４は、深層ニューラルネットワーク１００のトレーニングに使用されるトレーニングデータセットに関して、入力観測値（例えば、入力画像）が外れ値であるかどうかを判断するために、深層ニューラルネットワーク１００（例えば、図２の最大プール層ＭＰ１またはＭＰ２）の複数の隠れ層の少なくとも１つから出力される中間出力値を使用して、潜在変数モデルを構築または適合させるように構成され得る。中間出力値は、例えば、深層ニューラルネットワーク１００の複数の隠れ層のうちの少なくとも１つからのそれぞれの入力画像の活性化であり得る。任意選択で、活性化が特徴マップからのものである場合、グローバルプーリング（例えば、グローバル平均プーリング）を各特徴マップ全体に適用し得る。
【０１１９】
以下は、部分最小二乗回帰を使用する外れ値検出のための例示的な技術を提供し、これは、外れ値検出モジュール１０４がどのように外れ値を検出できるかについての理解を容易にし得る。
【０１２０】
モデルの不確実性の概念は、予測時間の外れ値の検出の概念に関する。どちらの場合も、主な目的は、モデルがトレーニングされた観測値に対応しない観測値を見つけることであり得る。予測モデルは、製造プロセス監視における予測中に、分布外の観測値を検出するために長い間使用されてきた。この分野では、部分最小二乗（ＰＬＳ）回帰などの線形潜在変数モデルが広く使用されている（例えば、Ｐ．ＧｅｌａｄｉおよびＢ．Ｒ．Ｋｏｗａｌｓｋｉによる「Ｐａｒｔｉａｌ  ｌｅａｓｔ−ｓｑｕａｒｅｓ  ｒｅｇｒｅｓｓｉｏｎ：ａ  ｔｕｔｏｒｉａｌ」、アナリティカ・ケミカ・アクタ、第１８５号、補足Ｃ、第１〜１７頁、１９８６年１月）。ＰＬＳモデルは、主成分分析（ＰＣＡ）に類似するトレーニングデータの部分空間近似で見つけることができ（Ｓ．Ｗｏｌｄ、Ｋ．Ｅｓｂｅｎｓｅｎ、およびＰ．Ｇｅｌａｄｉによる、「Ｐｒｉｎｃｉｐａｌ  ｃｏｍｐｏｎｅｎｔ  ａｎａｌｙｓｉｓ」、ケモメトリクスと知的実験システム、第２巻、第１号、第３７〜５２頁、１９８７年８月）、これは予測に使用される。次に、ＰＬＳモデルにより見つけられた部分空間に、新しい観測値を射影できる。したがって、部分空間内の距離と部分空間からの距離の両方を使用して、予測時間中に外れ値を見つけることができる。
【０１２１】
予測時間とは、モデルが適合され、モデルがアプリケーションでの予測に使用された後の時間を指す（モデルが生成されるときのモデルの適合／トレーニングの時間は含まれない）。
【０１２２】
単純で効果的ではあるが、上記のＰＬＳモデルの原則を、深層学習システムに直接適用できない場合があることに注意すべきである。具体的には、ＰＬＳの予測の基礎は入力データ空間の部分空間であるため、新しい観測値の部分空間近似をトレーニングに使用されたものと簡単に比較できる。一方、深層学習モデルは通常、非線形変換の複数のレイヤに依存し、各変換が最終出力に寄与する。これは、表面上は異なる観測値が、空間のシーケンスを介して変換され、出力にマップされることを意味することがある。入力から出力への有用な変換を見つけるこの機能は、深層学習モデルが非構造化データに対して、うまく機能する理由であり得る。ただし、これらの変換の結果、この変換が、新しい観測値のモデルがトレーニングされたのと同じデータ分布に属しているかどうかを判断することを困難にする場合がある。深層学習モデルの知識の限界を判断するための明確な比較ポイントがない場合や、新しい観測値がそれらの限界内にあるかどうかを判断するための明確な方法がない場合がある。
【０１２３】
ＰＬＳ回帰は、製造プロセスの監視などで広く使用されている回帰モデルである。観測値のｎ行と特徴のｐ列を含むトレーニングデータ行列（Ｘ＝［ｘ１...ｘｎ］Ｔで表記される）、応答のｑ列を含む対応するターゲット行列（Ｙで表記される）が与えられると、ＰＬＳモデルは両方のデータ行列を要約し得る。ＰＣＡと同様に、ＰＬＳは、ＸおよびＹを近似する「潜在変数空間」と呼ばれる、等しい次元ｋのフルランクの部分空間を見つけ得る。ＰＣＡとは対照的に、ＰＬＳは、単一の部分空間の分散を最大化する代わりに、検出された部分空間間の共分散を最大化し得る。つまり、ＰＬＳは入力データを次のように近似し得る。
Ｘ＝ＴＰＴ＋Ｅ    （１）
【０１２４】
ここで、Ｔ＝［ｔ１，... ，ｔｋ］は、Ｘの列・空間のフルランク部分空間にまたがりＹとの共分散を最大化するｎ×ｋの潜在変数行列であり、Ｐは、ＰＬＳ負荷のｐ×ｋ行列であり、Ｅは、近似残差のｎ×ｐ行列であり得る。負荷には、ＴからＸを近似するために使用される線形結合の重みで含み得る。Ｙの応答行列は、同様の方法で近似し得る。ＰＬＳモデルを計算して回帰に使用する方法の詳細については、以下で見つけられる。Ｓ．Ｗｏｌｄ、Ｍ．ＳｊｏｓｔｒｏｍおよびＬ．Ｅｒｉｋｓｓｏｎらによる「ＰＬＳ−ｒｅｇｒｅｓｓｉｏｎ：ａ  ｂａｓｉｃ  ｔｏｏｌ  ｏｆ  ｃｈｅｍｏｍｅｔｒｉｃｓ」、Ｃｈｅｍｏｍ．Ｉｎｔｅｌｌ．Ｌａｂ．Ｓｙｓｔ．、第５８巻、第２号、第１０９〜１３０頁、２００１年１０月。
【０１２５】
ＰＬＳによって提供される入力データの近似値を使用して、予測中に遭遇した外れ値を検出できる。モデルの適合後に、次の方法でＰＬＳを使用して検出された部分空間に新しい観測値を射影し得る。
Ｔｎｅｗ＝ＸｎｅｗＰ    （２）
これにより、新しい観測値を次のように近似できる場合がある。
【数５】
2022500745.tif 000008
【０１２６】
部分空間射影Ｔｎｅｗおよび近似の両方を使用して、適切な距離指標に基づいて、外れ値を検出し得る。予測時間中に外れ値を検出するために使用される２つの例示的な尺度は、潜在変数空間のマハラノビス距離と入力列空間の近似残差である。他の尺度は、複合距離、局所アウトライン因子（ＬＯＦ）などである。
【０１２７】
ＰＬＳを使用する場合、予測時間中に外れ値を検出する１つの方法は、マハラノビス距離を使用することである。マハラノビス距離は、多変量確率分布の原点から観測値までの標準偏差が、どの程度離れているかを測定する既知の統計距離である。直感的には、マハラノビス距離が大きい観測値は、与えられた確率分布の下では、可能性が低いということであり得る。潜在変数の確率分布は、潜在変数の平均がゼロであると仮定して、Ｔにおける潜在変数の共分散行列ＣＴを使用して、パラメータ化し得る。次に、潜在変数空間の射影値ｔｉを備える観測値ｘｉのマハラノビス距離ｄｉは、次のように計算し得る。
【数６】
2022500745.tif 000009
【０１２８】
マハラノビス距離は、観測値が特定の分布の下にある可能性がどれほど低いかを測定できるが、マハラノビス距離は、観測値がその分布に属しているかどうかについての情報を提供しない場合がある。対照的に、近似残差は、新しい観測値が分布からどれだけ離れているかを簡単に測定できる。適合されたＰＬＳモデルが与えられると、観測値ｘｉは、
2022500745.tif 000010
として近似し得る。二乗近似残差は、次の式で簡単に求め得る。
【数７】
2022500745.tif 000011
【０１２９】
ここで、ｘｉ，ｊは、観測値ベクトルのｊ番目の要素であり得る。直感的には、トレーニング分布以外の別の分布からの観測値の近似が失敗し、近似残差が大きくなるということであり得る。
【０１３０】
深層ニューラルネットワークの予測時間外れ値検出
外れ値検出モジュール１０４は、深層ニューラルネットワーク１００が説明できない可能性がある観測値を見つけるために、例えば、上記のように製造プロセス監視における予測時間外れ値の原理に基づいて、アドオン方法を実行し得る。深層ニューラルネットワーク１００は、任意の種類のニューラルネットワーク、例えば、畳み込みニューラルネットワーク（ＣＮＮ）、リカレントニューラルネットワーク、リカーシブニューラルネットワーク、トランスフォーマニューラルネットワークなどであり得る。
【０１３１】
深層学習システムにおいて予測時間の外れ値を検出するために外れ値検出モジュール１０４によって実行される方法は、ニューラルネットワークが入力データを変換することによって機能し得るという事実に基づき得る。入力データが深層ニューラルネットワークを介して供給される場合、データの複数の中間表現が存在する可能性があり、（例えば、深層ニューラルネットワークが分類問題を解決するように構成されている場合に、入力データが分類されるグループの）予測に、中間表現が使用され得る。これらの中間表現の１つまたは複数は、予測中に外れ値を検出するため、および予測を実行するため、に使用され得る。
【０１３２】
ＰＬＳと同様の方法で、予測中に外れ値を検出する可能性を提供するために、深層ニューラルネットワーク（例えば、フィードフォワードニューラルネットワーク）を、一連の非線形変換と見なすことができる。言い換えると、特定のネットワークのレイヤｉ（＝１、２、３、４、．．．．）からの観測値ｘ（入力データ）の活性化ベクトルａｉは、ネストされた一連の変換によって次のように与えられる。
【数８】
2022500745.tif 000012
【０１３３】
ここで、ｆｋ（ｋ＝１、２、．．．、ｉ）は活性化関数であり得、Ｗｋ（ｋ＝１、２、．．．、ｉ）は重み行列であり得る。観測値ｘの活性化ベクトルａｉは、所与のネットワークのレイヤｉからの中間出力と見なすことができ、観測値ｘが所与のネットワークに入力されるときのレイヤｉのそれぞれのノードからの出力に対応する要素値を含み得る。これらの活性化ａｋのそれぞれは、入力データの特徴表現を提供し得る。重み行列は、通常、バックプロパゲーションによる教師ありトレーニングによって取得し得るが、活性化は、入力データの変換された、または前処理された表現を提供するだけであり得る。
【０１３４】
変換をより詳細に説明するために、観測値ｘは、ｎ次元の行ベクトルｘ＝［ｘ１ｘ２...ｘｎ］であり得、ここで、ｎは、アプリケーションに依存する。ｘが単一チャネル画像の場合、ｎは、ピクセル単位の画像の長さにピクセル単位の画像の幅を掛けたものであり得、値ｘ１，ｘ２，...，ｘｎは画像のピクセル値である。第１のレイヤでは、ｘは、行列に第１の重み行列Ｗ１を掛けたものであり、ｎ１次元の線形射影
2022500745.tif 000013
を形成する。Ｗ１の次元は、ｎ×ｎ１である。線形射影の後、活性化関数ｆ１が、
2022500745.tif 000014
に適用されて、活性化ａ１が形成される。活性化関数ｆ１は非線形関数であり得る。活性化関数の一般的な選択肢には、とりわけ、正規化線形関数ｆ（ｘ）＝ｍａｘ（０，ｘ）、シグモイド関数ｆ（ｘ）＝（１＋ｅ−ｘ）−１、ソフトマックス関数
2022500745.tif 000015
が含まれる。次に、活性化ａ１は、行列に重み行列Ｗ２を掛けたものであり、結果の線形射影
2022500745.tif 000016
は、活性化関数を使用して変換される。重み行列を用いた行列乗算と活性化関数を使用した変換手順は、レイヤｉの活性化ａｉが得られるまで、ｉ回繰り返される。
【０１３５】
これらの中間表現を使用して、任意の深層ニューラルネットワーク（例えば、任意のフィードフォワードニューラルネットワーク）の外れ値を検出するためのプラグ・アンド・プレイ方式を提供し得る。トレーニングされたネットワークが与えられた場合、トレーニングデータは、レイヤｉからの活性化行列Ａｉ＝［ａ１，ｉ... ａｎ，ｉ］Ｔを使用して表すことができ、ここで、ｎは観測値の数である。Ａｉは、フルランクではない場合があるため、近似Ａｉとして使用できるフルランクの部分空間を見つけることが望ましい場合がある。いくつかの例では、ＰＣＡを使用して、データを低次元の部分空間にマッピングするために、線形射影を使用して部分空間を取得し得る。他のいくつかの例では、オートエンコーダ、ランダム射影、スパース主成分分析、および／または自己組織化マップなどの他の方法を使用して、データを低次元の部分空間にマッピングし得る。
【０１３６】
ＰＣＡの使用例では、以下を取得するために、トレーニングデータの活性化の次元をｍ次の次元に減らすことができる。
ＴＡ，ＰＡ＝ＰＣＡ（Ａｉ）    （７）
【０１３７】
ＰＬＳと同様に、ＴＡは、トレーニングセットの活性化の部分空間にまたがる潜在変数行列を示し得、ＰＡは、ＰＣＡ負荷を示し得る。例えば、行列形式のＰＣＡは、次の最小二乗モデルを提供し得る。
【数９】
2022500745.tif 000017
【０１３８】
これは、上記の式（１）に類似していると見なし得る。
【０１３９】
ＰＬＳと同じように、潜在変数の共分散行列と負荷行列を使用して、マハラノビス距離、近似残差、複合計量距離、局所アウトライン因子（ＬＯＦ）などの適切な距離指標に基づいて、予測時間の外れ値を検出し得る。
【０１４０】
トレーニングされたニューラルネットワークを使用して新しい観測値が予測されると、活性化Ａｉ，ｎｅｗも抽出し得る。新しい活性化は、ＰＬＳを使用する場合と同じ方法で、トレーニングデータの活性化から見つかった部分空間に射影し得る。
ＴＡ，ｎｅｗ＝Ａｉ，ｎｅｗＰＡ    （９）
【０１４１】
そして、新しい観測値の距離、例えばマハラノビス距離は、式（４）に従って計算し得る。
【０１４２】
新しい活性化は、ＰＣＡ負荷を使用して、次のように近似し得る。
【数１０】
2022500745.tif 000018
【０１４３】
次の式（１１）（式（５）に類似）に従って計算された近似残差を使用しても、ＰＬＳを使用する場合と同じ方法で、外れ値を検出し得る。
【数１１】
2022500745.tif 000019
【０１４４】
ここで、ｐは、レイヤｉ内のノードの数を示し得る。
【０１４５】
決定された距離はまた、記述された距離の２つまたは複数を組み合わせることによって形成される複合距離指標であり得る。１つの例は、ユークリッドノルムを次のように使用して、残差平方和の平方根によって与えられるマハラノビス距離および残差距離を組み合わせる方法である。
【数１２】
2022500745.tif 000020
【０１４６】
上記は複合距離指標の一例にすぎず、他の多くの組合せも可能である。
【０１４７】
上記の式、すなわち式（７）から（１２）は、深層ニューラルネットワークからの活性化を適用するために、本明細書で提供されるような新しい方法で適合されている。
【０１４８】
システム設定のプロセス
図３の左側の部分は、コンピューティングシステム１を設定するための例示的なプロセスのフローチャートを示す。図３に示される例示的なプロセスは、コンピューティングシステム１のアプリケーション１０によって実行され得る。
【０１４９】
ステップＳ１０で、アプリケーション１０は、データ記憶装置１２からデータを入手し得る。データは、深層ニューラルネットワーク１００をトレーニングするためのトレーニングデータセットの少なくとも一部であり得る。トレーニングデータセットは、深層ニューラルネットワーク１００への可能な観測値入力を含み得る。トレーニングセットを構成する観測値は、センサデータ、コンピュータネットワークトラフィックデータ、金融取引データ、または観測された機器やシステムを特徴付けるその他の履歴データであり得る。例えば、深層ニューラルネットワーク１００が図２に示されるようなＣＮＮである場合、トレーニングデータセットは、可能性のある観測値として、ＣＮＮへの可能な入力画像を含み得る。
【０１５０】
ステップＳ１２で、アプリケーション１０は、深層ニューラルネットワーク１００がすでにトレーニングされているかどうかを判断し得る。ステップＳ１２は、ステップＳ１０の前、後、または並行して実行し得る。
【０１５１】
深層ニューラルネットワーク１００がまだトレーニングされていないと判断された場合（ステップＳ１２で、いいえ）、プロセスはステップＳ１４に進み得る。深層ニューラルネットワーク１００がすでにトレーニングされていると決定された場合（ステップＳ１２ではい）、プロセスはステップＳ１６に進み得る。あるいは、ステップＳ１６に進む前に、深層ニューラルネットワーク１００を微調整し得る。
【０１５２】
ステップＳ１４で、アプリケーション１０は、ステップＳ１０で入手されたデータを使用して、深層ニューラルネットワーク１００をトレーニングし得る。
【０１５３】
ステップＳ１６で、アプリケーション１０は、深層ニューラルネットワーク１００を使用してデータを変換し得る。ステップＳ１７で、アプリケーション１０は、深層ニューラルネットワーク１００の複数の隠れ層のうちの少なくとも１つから出力される中間出力値（中間出力値の第１のセット）を取得し得る。具体的には、例えば、アプリケーション１０は、トレーニングデータセット内の可能な入力画像の、上記の式（６）に従って、深層ニューラルネットワーク１００の少なくとも１つのレイヤから活性化ベクトルを取得し得る。活性化とは、式（６）で説明されているように、観測値による活性化関数を使用した行列乗算と変換のシーケンスの結果を指す。任意選択で、活性化が特徴マップからのものである場合、各特徴マップ全体のグローバルプーリング、例えば平均プーリングを適用し得る。
【０１５４】
ステップＳ１８で、アプリケーション１０は、例えば（任意選択でプールされた）トレーニングセットの活性化において、中間出力値に潜在変数モデルを適合させ得る。言い換えれば、アプリケーション１０は、潜在変数モデルを構築し得る。例えば、アプリケーション１０は、上記のようにＰＣＡを使用して、潜在変数行列ＴＡおよびＰＣＡ負荷ＰＡを取得し得る（例えば、式（７）および（８）を参照）。あるいは、アプリケーションは、（任意選択でプールされた）活性化ベクトルを入力として使用してオートエンコーダをトレーニングし得る。
【０１５５】
ステップＳ２０で、アプリケーション１０は、潜在変数モデルを使用して活性化を射影し得る。例えば、アプリケーション１０は、ステップＳ１７で得られた活性化ベクトルから、潜在変数モデルを構築／適合させることによって見出された部分空間における射影値の対応するセット（例えば、Ｔ）を取得し得る。
【０１５６】
ステップＳ２２で、アプリケーション１０は、潜在変数モデルを使用して、トレーニングセット画像の１つまたは複数の距離のセットを計算し得る。例えば、アプリケーションは、データの活性化の距離を計算し得る。任意の適切な距離指標を使用し得る。例えば、アプリケーション１０は、上記の式（４）に従って、ステップＳ１８で構築された潜在変数モデルに関して、ステップＳ１７で取得された活性化ベクトルのそれぞれについてマハラノビス距離を計算し得る。追加的または代替的に、例えば、アプリケーション１０は、上記の式（１１）に従って、ステップＳ１７で取得された各活性化ベクトルの二乗近似残差を計算し得る。
【０１５７】
ステップＳ２４で、アプリケーション１０は、距離の閾値を決定し得る。追加的または代替的に、二乗近似残差の閾値を決定し得る。閾値は、後で、新しい観測値（例えば、入力画像）がトレーニングデータセットに関して外れ値であるかどうかを判断するために使用し得る。閾値を取得するために、ステップＳ２２で計算された距離および／または二乗近似残差を使用し得る。例えば、閾値は、ステップＳ２２で計算された距離（または二乗近似残差）のパーセンタイル、例えば９５パーセンタイルで、あり得る。「９５パーセンタイル」は単なる例であり、９５より大きいまたは小さい値を、閾値を決定するためのパーセンタイルとして使用し得ることに注意すべきである。
【０１５８】
システム設定のプロセスは、ステップＳ２４の後に終了し得る。
【０１５９】
外れ値検出のプロセス
図３の右側は、外れ値を検出するためにコンピューティングシステム１によって実行される例示的なプロセスを示している。
【０１６０】
このプロセスは、深層ニューラルネットワークを導入することから始まり得る。例えば、深層ニューラルネットワークは、観測値を処理するために使用されるソフトウェアに組み込み得る。これは、監視対象の機器またはシステム自体の内部にある場合もあれば、例えば、サーバまたはクラウドサービスとして実現される分析用の独立型ソフトウェアモジュールとしての場合もある。
【０１６１】
ステップＳ３０で、アプリケーション１０は、新しい観測値を受信し得る。例えば、深層ニューラルネットワーク１００が図２に示すようにＣＮＮである場合、ＣＮＮに入力される画像を、新たな観測値として受信し得る。ただし、観測値は画像に限定されず、観測される機器またはシステムを特徴付ける任意のデータであり得る。例えば、観測値は、１つまたは複数のセンサによって取得された特定の測定データであり得る。
【０１６２】
ステップＳ３２で、アプリケーション１０は、深層ニューラルネットワークを使用して新しい観測値を変換し得る。変換には、例えば、新しい観測値の深層ニューラルネットワーク予測を計算することを含み得る。
【０１６３】
その後、アプリケーションは、新しい観測値が外れ値であるかどうかを判断し得る。これは、次の方法で実行し得る。
ステップＳ３３で、アプリケーション１０は、深層ニューラルネットワーク１００の複数の隠れ層のうちの少なくとも１つから出力される中間出力値（中間出力値の第２のセット）を取得し得る。例えば、アプリケーション１０は、新しい観測値の、上記の式（６）に従って、深層ニューラルネットワーク１００の少なくとも１つのレイヤから活性化ベクトルを取得し得る。
【０１６４】
ステップＳ３４で、アプリケーション１０は、上記のようにステップＳ１８で構築／適合された潜在変数モデルを使用して、決定された中間値（中間値の第２のセット）を射影し得る。例えば、アプリケーション１０は、ステップＳ３２で得られた活性化ベクトルから、潜在変数モデルを構築／適合させることによって見出された部分空間における対応する射影値のセット（例えば、ＴＡ，ｎｅｗ）を取得し得る（式（９）を参照）。
【０１６５】
ステップＳ３６で、アプリケーション１０は、上記のようにステップＳ１８の潜在変数モデルを使用して、新しい観測値の距離を計算し得る。例えば、アプリケーション１０は、上記の式（４）に従って、ステップＳ１８で構築された潜在変数モデルに関して、ステップＳ３２で取得された新しい観測値の活性化ベクトルのマハラノビス距離を計算し得る。追加的または代替的に、例えば、アプリケーション１０は、上記の式（１１）に従って、ステップＳ３２で取得された新しい観測値の活性化ベクトルの二乗近似残差を計算し得る。上記のように、マハラノビス距離と二乗近似残差の代わりに、他の適切な距離指標を使用し得る。
【０１６６】
ステップＳ３８において、アプリケーション１０は、ステップＳ３６で計算された距離が、ステップＳ２４で決定された閾値よりも大きいかどうかを判断し得る。
【０１６７】
ステップＳ３８で「はい」の場合、プロセスはステップＳ４０に進むことができ、アプリケーション１０は、新しい観測値が外れ値であると判断し得る。この場合、新しい観測値が外れ値であると判断されるため、システムはモデル予測を信頼できない予測として報告し得る。したがって、異常検出結果には、予測が新しい種類の異常に関連している、および／または信頼性の低い予測である、というデータを含み得る。プロセスは、ステップＳ４０の後に終了し得る。あるいは、他のアプリケーション固有のアクションを実行し得る。例えば、深層ニューラルネットワークの予測は無視され、外れ値の観測値は破棄され得る。新しい種類の異常が検出されたという警告を生成し、任意選択で、外れ値の観測値および／または予測を保存して、さらに分析することもできる。
【０１６８】
ステップＳ３８でいいえの場合、プロセスはステップＳ４２に進むことができ、アプリケーション１０は、新しい観測値のために深層ニューラルネットワーク１００によって行われた予測が信頼できると判断し得る。この場合、新しい観測値は外れ値ではないと判断されるため、システムはモデル予測を信頼できる予測として報告し得る。次に、予測は異常検出結果として出力し得る。プロセスは、ステップＳ４２の後に終了し得る。あるいは、さらにアプリケーション固有のアクションを実行し得る。
【０１６９】
予知保全の場合、アプリケーション固有のアクションは、有利には、実質的なエラーが実際に発生する前に、実行する必要のある修正保守アクションの種類を判断することに関し得る。判断された修正保守アクションに関する情報は、適切なユーザインターフェース（例えば、表示装置）を使用して、ユーザに伝達され得る。判断された修正保守アクションを、自動的にスケジュールおよび／または開始することも可能である。
【０１７０】
サイバーセキュリティアプリケーションの場合、さらなるアプリケーション固有のアクションは、セキュリティ違反の種類を判断すること、または、特定のユーザ、コンピュータ、サーバ、ネットワークなどが信頼できないと見なされることなどであり得る。それぞれの情報は、適切なユーザインターフェース（例えば、表示装置）を使用して、ユーザに伝達され得る。さらに、例えば、特定のユーザ、コンピュータ、サーバなどへのアクセスを拒否するなどの修正処置は、自動的にスケジュールおよび／または開始し得る。
【０１７１】
銀行業務において、さらなるアプリケーション固有のアクションは、電子取引、または、特定の参加者との電子取引が不正であると判断することに関連し得、さらに、適切なユーザインターフェース（例えば、表示装置）を使用して判断された情報をユーザに伝達することを含み得る。さらに、例えば、特定のユーザ、コンピュータ、サーバなどへのアクセスを拒否するなどの修正処置は、自動的にスケジュールおよび／または開始し得る。
【０１７２】
本出願の実施形態および例では、深層ニューラルネットワークを使用する深層学習モデルが、それが何であれ、観測されるシステムを特徴付ける履歴データを使用してトレーニングされる。その後、深層学習モデルを使用して入力データ（新しい観測値）を処理し、正常な動作と既知の種類の異常を区別する。既知のアプローチとは対照的に、深層ニューラルネットワークを採用した深層学習モデルは、未知の種類の異常を識別することもできる。
【０１７３】
実験
このセクションでは、例示的なコンピューティングシステム１によって実行された外れ値検出のための実験の結果が説明される。以下の実験では、深層ニューラルネットワーク１００は、例えば、異常検出、特に予知保全のために、画像分類タスクを解決するように指示されている。
【０１７４】
実施例１：ターボファンエンジンの予知保全
いくつかの実装形態では、ＣＮＮは、画像分析のための深層ニューラルネットワーク１００として使用することができる。しかしながら、例示的なコンピューティングシステム１は、画像以外の種類のデータを分析する際に、外れ値検出を実行することもできる。例えば、例示的なコンピューティングシステム１による外れ値検出は、保守がいつ実行されるべきかを予測するために、稼働中の機器の状況を判断する予知保全タスクに対して実行され得る。このセクションでは、ターボファンエンジンの予知保全のための外れ値検出の実験結果を提供する。
【０１７５】
この実験では、ＮＡＳＡエイムズのＰｒｏｇｎｏｓｔｉｃｓ  Ｃｅｎｔｅｒ  ｏｆ  Ｅｘｃｅｌｌｅｎｃｅによって提供されたターボファンエンジン劣化データセット（Ｓａｘｅｎａ，Ａ．、Ｇｏｅｂｅｌ，Ｋ．による「Ｔｕｒｂｏｆａｎ  Ｅｎｇｉｎｅ  Ｄｅｇｒａｄａｔｉｏｎ  Ｓｉｍｕｌａｔｉｏｎ  Ｄａｔａ  Ｓｅｔ」、ＮＡＳＡエイムズ予後診断データ・リポジトリ（ｈｔｔｐ：／／ｔｉ．ａｒｃ．ｎａｓａ．ｇｏｖ／ｐｒｏｊｅｃｔ／ｐｒｏｇｎｏｓｔｉｃ−ｄａｔａ−ｒｅｐｏｓｉｔｏｒｙ）、２００８年、ＮＡＳＡエイムズ研究センタ、モフェット・フィールド、カリフォルニア州）が使用された。データセットは、様々な動作条件と障害モードで、障害が発生するまで実行される模擬的なターボファンエンジンで構成されている。エンジンは、２１個のセンサを使用して、経時的に監視された。使用されたセンサには、温度センサ、圧力センサ、ファンおよびコア速度センサ、冷却液漏れの測定値、および燃焼器の燃料・空気の比率の測定値が含まれていた。データセットの詳細は、例えば、Ｓａｘｅｎａ，Ａ．、Ｇｏｅｂｅｌ，Ｋ．、Ｓｉｍｏｎ，Ｄ．およびＥｋｌｕｎｄ，Ｎ．による、「Ｄａｍａｇｅ  ｐｒｏｐａｇａｔｉｏｎ  ｍｏｄｅｌｉｎｇ  ｆｏｒ  ａｉｒｃｒａｆｔ  ｅｎｇｉｎｅ  ｒｕｎ−ｔｏ−ｆａｉｌｕｒｅ  ｓｉｍｕｌａｔｉｏｎ」、予後および健全性管理、２００８年、ＰＨＭ２００８、ＩＥＥＥ国際会議、第１〜９頁、２００８年１０月で、見つけることができる。さらに、トレーニングデータセットの１００個のエンジン、およびテストデータセットの１００個のエンジンに対しての、３つの制御設定が記録されていた。課題は、致命的な障害を回避するために、障害が発生する１５センサ・サイクル前に障害を予測することである。
【０１７６】
障害を予測するために、長・短期記憶（ＬＳＴＭ）ブロック（Ｈｏｃｈｒｅｉｔｅｒ、ＳｅｐｐおよびＪｕｒｇｅｎ  Ｓｃｈｍｉｄｈｕｂｅｒによる「Ｌｏｎｇ  Ｓｈｏｒｔ−Ｔｅｒｍ  Ｍｅｍｏｒｙ」、ニューロコンピューティング９、第８号、１９９７年、第１７３５〜１７８０頁、Ｇｅｒｓ、Ｆｅｌｉｘ  Ａ．、Ｊｕｒｇｅｎ  ＳｃｈｍｉｄｈｕｂｅｒおよびＦｒｅｄ  Ｃｕｍｍｉｎｓによる「Ｌｅａｒｎｉｎｇ  ｔｏ  Ｆｏｒｇｅｔ：Ｃｏｎｔｉｎｕａｌ  Ｐｒｅｄｉｃｔｉｏｎ  ｗｉｔｈ  ＬＳＴＭ」、ニューロコンピューティング１２、１９９９年、第２４５１〜２４７１頁）に基づいて、ニューラルネットワークモデルがトレーニングされた。ＬＳＴＭブロックは、リカレントニューラルネットワークのユニットとして理解でき、セル、入力ゲート、出力ゲート、および忘却ゲートで構成され得る。セルは、任意の時間間隔で値を「記憶する」ことができ、例えば、内部の「メモリ」を実装することができる。入力ゲート、出力ゲート、および忘却ゲートのそれぞれは、活性化関数を使用して加重和の活性化を計算する、ニューラルネットワークのノードと見なし得る。入力、出力、および忘却ゲートはセルに接続でき、ＬＳＴＭブロックの接続を通過する値の流れの調整器と見なし得る。この実験では、ＬＳＴＭモデルをコンピューティングシステム１の深層ニューラルネットワーク１００として使用した。
【０１７７】
図４は、この実験でターボファンエンジン劣化データセットを使用して障害を予測するためにトレーニングされたＬＳＴＭモデル（深層ニューラルネットワーク１００の例）の構成例を示す。図４に示すＬＳＴＭモデルは、３つのＬＳＴＭ層Ｌ１、Ｌ２、Ｌ３と、活性化関数としてシグモイド関数を持つ出力層で構成されている。ＬＳＴＭ層Ｌ１とＬ２はそれぞれ６４個のＬＳＴＭブロックで構成され、ＬＳＴＭ層Ｌ３は５０個のＬＳＴＭブロックで構成される。ＬＳＴＭ層Ｌ１、Ｌ２、Ｌ３は、深層ニューラルネットワーク１００の隠れ層と見なし得る。図４に示すＬＳＴＭモデルをトレーニングするために、５０サイクルの長さのスライディングウィンドウが入力として使用され、バイナリ応答がスライディングウィンドウの最後のサイクルが障害から１５サイクル以内にあるかどうかを示した。２１個のセンサ出力、３個の制御設定、および最初からの現在のサイクルが、故障予測の変数として使用された。すべての変数は０から１の範囲にスケーリングされ、トレーニングデータのスケーリングパラメータは、テストデータのスケーリングに使用された。
【０１７８】
トレーニングの進行状況を監視するために、トレーニングデータセットの１０％が検証に使用された。ＬＳＴＭモデルは、Ａｄａｍオプティマイザ（Ｋｉｎｇｍａ、Ｄｉｅｄｅｒｉｋ  Ｐ．およびＪｉｍｍｙ  Ｂａ．による、「Ａｄａｍ：Ａ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｓｔｏｃｈａｓｔｉｃ  Ｏｐｔｉｍｉｚａｔｉｏｎ」、アーカイヴ１４１２．６９８０［Ｃｓ］、２０１４年１２月２２日、ｈｔｔｐ：／／ａｒｘｉｖ．ｏｒｇ／ａｂｓ／１４１２．６９８０で入手可能［アクセス日：２０１８年７月２５日］）を使用して、検証セットのバイナリ・クロス・エントロピーの増加が停止するまで（８エポック）、トレーニングされた。結果として得られたモデルは、スライディングウィンドウ分類で、テストセットＦ１値が９４．１％を達成した。予知保全モデルのテストセットの性能を次の表１に要約する。
【０１７９】
【表１】
2022500745.tif 000021
【０１８０】
センサが機能しなくなる予測時間の外れ値を模擬実験するために、テストセット・エンジンの半分が外れ値として機能するようにランダムに選択された。これらのエンジンのそれぞれについて、センサがランダムに選択され、その出力はフルタイムシーケンスの途中からゼロに設定された。これらの外れ値を検出するための潜在変数モデルを提供するために、予知保全モデルのＬＳＴＭ層Ｌ１、Ｌ２、Ｌ３から、特徴（例えば、中間出力）が抽出された（図４を参照）。最初の２つのＬＳＴＭ層Ｌ１、Ｌ２では、各ＬＳＴＭノードの時間全体の平均を使用して、各スライディングウィンドウを要約した。最後のＬＳＴＭ層Ｌ３では、タイムシーケンスの最後のサイクルが使用された。次に、３つのＬＳＴＭ層Ｌ１、Ｌ２、Ｌ３からの出力が、連結されて単一行列となった。
【０１８１】
外れ値検出モジュールは、ＰＣＡに基づいて設定され、１００成分のＰＣＡモデルがすべてのトレーニングデータのＬＳＴＭに適合した。近似残差平方和は、すべてのトレーニングセットのスライディングウィンドウについて計算され、トレーニング残差平方和の９９．９パーセンタイルが外れ値のカットオフとして設定された。次に、外れ値と残りのテストセットＬＳＴＭ特徴がＰＣＡモデルに射影され、図５からわかるように、すべてのスライディングウィンドウの近似残差平方和が計算された。したがって、外れ値の検出および管理を処理するために、予知保全モデルに加えて、本明細書に記載の方法およびシステムを使用し得る。予知保全モデルは、トレーニングされたタスクでは正確であるが、このモデルは、センサの破損（エンジンの破損ではない）などの予期しないイベントを処理できない。
【０１８２】
図５は、予知保全のためのテストセットシーケンスでの外れ値検出の結果を示す。図５の左側は、センサ破損時と整合している１つのランダムなセンサ破損のシーケンスを示し（センサが破損したときを示す垂直の破線）、図５の右側は、中間時点で整合しているセンサ破損がないテストセットを示す。図５の上段の図は、外れ値検出の残差平方和を示す。水平の破線は、トレーニングセットの距離に基づく９９．９パーセンタイルを示す。図５の中段の図は、タービンが１５サイクル以内に破損する場合のモデル予測を示す。ここで、１は、エンジンが故障すると予測されることを意味する。図５の下段の図は、タービンが１５サイクル以内に破損するかどうかを示すラベルを示す。ここで、１は、エンジンが故障することを意味する。外れ値は通常の変動とうまく区別された（この実験では適合率＝再現率＝１）。センサ破損に続いて、ＬＳＴＭモデルは、エンジンの多くが破損することを予測するが、残差平方和は同時に増加する。テストセットの場合、モデルはエンジンの故障を正しく予測する一方で、残差平方和は増加しない。これは、現在の方法を使用することにより、信頼すべきでない予測と信頼すべき予測との区別することが可能であることを示している。また、本手法がフィードフォワードネットワークだけでなくリカレントネットワークにも適用可能であることも示している。
【０１８３】
さらに、成分の数と残差平方和が、結果にどのように影響するかを調査した。図６からわかるように、成分の数は１から１５０まで変化し、外れ値検出の適合率および再現率は、トレーニングセットの残差平方和の９５、９９、および９９．９パーセンタイルを、カットオフとして使用して報告された。図６は、ＰＣＡ成分の数とカットオフパーセンタイルに応じた、予知保全のための外れ値検出性能の評価を示す。興味深いことに、すべてのカットオフで適合率および再現率は１が達成されたが、カットオフがより厳密になると、そのために必要な成分の数は増加する。すべてのカットオフについて、高い適合率と再現率を達成するには、説明された変動が非常に小さい成分が必要である（３６成分のみで９９．９９％の累積Ｒ２に到達）。これは、外れ値と通常のテストセットシーケンスとの間で異なる変動が、小さく微妙な差異であり、非常に小さなＰＣＡ成分を補足する必要があることを示している。すべてのカットオフで、成分の数が多くなりすぎると、適合率が低下して過剰適合が観測された。ただし、より厳密なカットオフでは、過剰適合が発生する前に、より多くの成分が許容される。この実験では、トレーニングＬＳＴＭ特徴の変動の９９．９９９％を説明するＰＣＡモデルが、９９パーセンタイルカットオフおよび９９．９パーセンタイルカットオフの両方で、適合率および再現率が１であり外れ値を検出するための優れた基盤を提供する。
【０１８４】
実施例２：サイバーセキュリティの分野での異常検出
予知保全の分野において、本発明の他の特に効果的な使用例は、サイバーセキュリティの分野における使用である。サイバーセキュリティで深層学習を使用する１つの方法は、難読化されたパワーシェルスクリプト（Ｈｅｎｄｌｅｒ  Ｄ、Ｋｅｌｓ  Ｓ、Ｒｕｂｉｎ  Ａによる、「Ｄｅｔｅｃｔｉｎｇ  Ｍａｌｉｃｉｏｕｓ  ＰｏｗｅｒＳｈｅｌｌ  Ｃｏｍｍａｎｄｓ  Ｕｓｉｎｇ  Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ」、コンピュータと通信セキュリティのアジア学会２０１８の講演論文集［インターネット］、ニューヨーク市、ニューヨーク州、ＵＳＡ：ＡＣＭ、２０１８年［２０１９年８月２９日引用］、第１８７〜１９７頁、（ＡＳＩＡＣＣＳ’１８）；ｈｔｔｐ：／／ｄｏｉ．ａｃｍ．ｏｒｇ／１０．１１４５／３１９６４９４．３１９６５１１から入手可能）を、検出することある。
【０１８５】
マイクロソフトのパワーシェルは、デフォルトでウインドウズコンピュータにインストールされるコマンドラインツールおよびプログラミング言語であり、システム管理者が、様々な操作タスクのために一般的に使用される。シマンテック社は、最近、サイバ犯罪者が、パワーシェルを攻撃の標的として使用することが増加していると報告した（「ＰｏｗｅｒＳｈｅｌｌ  Ｔｈｒｅａｔｓ  Ｇｒｏｗ  Ｆｕｒｔｈｅｒ  ａｎｄ  Ｏｐｅｒａｔｅ  ｉｎ  Ｐｌａｉｎ  Ｓｉｇｈｔ」［インターネット］［２０１９年８月２９日引用］ｈｔｔｐｓ：／／ｗｗｗ．ｓｙｍａｎｔｅｃ．ｃｏｍ／ｂｌｏｇｓ／ｔｈｒｅａｔ−ｉｎｔｅｌｌｉｇｅｎｃｅ／ｐｏｗｅｒｓｈｅｌｌ−ｔｈｒｅａｔｓ−ｇｒｏｗ−ｆｕｒｔｈｅｒ−ａｎｄ−ｏｐｅｒａｔｅ−ｐｌａｉｎ−ｓｉｇｈｔから入手可能）。サイバ犯罪者が検出を回避するために使用できる方法の１つは、いわゆる難読化である。難読化とは、攻撃者のコードは、意図を自動的に検出するのが困難になるように書き直されるが、意図したとおりに実行されることを、意味する。つまり、サイバ攻撃を防ぐための多くの方法の内の１つは、難読化されたパワーシェルスクリプトを検出して削除することである。これは、難読化されたスクリプトの意図は検出できず、信頼できないからである。
【０１８６】
本発明による外れ値検出が、既存の種類でのみトレーニングされた場合に、以前には見られなかった種類の難読化をどのように検出できるかを、小規模な実験におけるこの状況のシミュレーションが示している。
【０１８７】
この目的のために、双方向ＬＳＴＭに基づくバイナリ分類子を単一文字のシーケンスでトレーニングして、パワーシェルコーパス（Ｄａｎｉｅｌ  Ｂｏｈａｎｎｏｎの難読化無効の調査用に集められた、ｈｔｔｐｓ：／／ｇｉｔｈｕｂ．ｃｏｍ／ｄａｎｉｅｌｂｏｈａｎｎｏｎ／Ｒｅｖｏｋｅ−Ｏｂｆｕｓｃａｔｉｏｎ）からの約４０万のパワーシェルスクリプトを、難読化されているかどうかを分類できる。例示的なネットワークアーキテクチャを図７に示す。難読化されたスクリプトを構成するには、Ｄａｎｉｅｌ  ＢｏｈａｎｎｏｎのＩｎｖｏｋｅ−Ｏｂｆｕｓｃａｔｉｏｎ  ｖ１．８（ｈｔｔｐｓ：／／ｇｉｔｈｕｂ．ｃｏｍ／ｄａｎｉｅｌｂｏｈａｎｎｏｎ／Ｉｎｖｏｋｅ−Ｏｂｆｕｓｃａｔｉｏｎ）プログラム・ストリング／１、または、その他の（手動または自動、ランダムまたは疑似ランダムまたは決定論的）難読化技術が、通常のスクリプトで使用され、難読化されたスクリプトの新しいセットを作成することができる（以下、難読化１と呼ぶ）。デモンストレーションの目的で、モデルは、Ａｄａｍオプティマイザ（Ｋｉｎｇｍａ  ＤＰ、Ｂａ  Ｊ．Ａｄａｍによる「Ａ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｓｔｏｃｈａｓｔｉｃ  Ｏｐｔｉｍｉｚａｔｉｏｎ」、アーカイヴ１４１２６９８０Ｃｓ［インターネット］、２０１４年１２月２２日［２０１８年７月３日引用］、ｈｔｔｐ：／／ａｒｘｉｖ．ｏｒｇ／ａｂｓ／１４１２．６９８０から入手可能）、を使用して、５エポックでトレーニングされ、学習率は、最初の３つのエポックで１０−２、第４番目で１０−３、第５番目で１０−４であり、バイナリ・クロス・エントロピー損失を最小化して、９０．４％のテストセット正解率であった。
【０１８８】
検査すると、難読化１は非常に穏やかな形式の難読化であることがわかる。つまり、結果として得られる難読化されたスクリプトは、通常のスクリプトと区別するのが難しい場合が多く、モデルが外れ値の検出に使用する有益な特徴を学習したことを示すのに、達成されたテストセット正解率が合理的であり充分であるとの結果になる。
【０１８９】
深層学習に基づく外れ値検出モデルを使用して新しい種類の難読化を検出する方法を説明するために、本発明による方法によって達成された結果を、ＭＣドロップアウトによって達成された結果と比較する。外れ値を構成するために、難読化１スクリプトは、難読化実施圧縮プログラムを実行され、難読化されたスクリプトの別のセット（以下、難読化２と呼ぶ）を作成した。外れ値を検出するために、最初の双方向ＬＳＴＭ層から特徴が収集され、シーケンス全体で平均化され（図７参照）、元のパワーシェルスクリプトの変動の９９％を補足するＰＣＡモデルが適合された。通常のパワーシェルスクリプトからの任意の逸脱が検索されることがわかっているため、モデルトレーニング中に使用されるすべてのデータではなく、通常のスクリプトのみが使用される。次に、通常のスクリプト、難読化１、および難読化２、の残差平方和（図８Ａに示す、Ｙ軸の対数スケールに注意）が、それぞれ計算される。ＲＳＳの分布は、通常のスクリプトと難読化１スクリプトとの間で、明確に異なることに注意すべきである。つまり、教師ありの方法でトレーニングされたモデルに対して本発明の方法を使用すると、既知と未知の両方の種類の難読化されたスクリプトを確実に検出できる。
【０１９０】
比較のために、１０個のモンテカルロサンプルを使用したＭＣドロップアウトを実行し、予測の標準偏差を外れ値距離として報告する。これにより、通常のスクリプトと難読化されたスクリプトとを強力に分離する（図８Ｂを参照）。本発明による方法論とＭＣドロップアウトとの間の大きな違いは、推論時間である。この例では、ＭＣドロップアウトは、未知の外れ値のより強力な識別力を示しているが、本発明による方法は、予測時間に最小限のオーバー・ヘッドを追加する。この例では、本発明による方法は、予測がＧＰＵで加速されている場合でも、予測に必要な実測時間の約１／３０を追加するが、外れ値の検出ではそうではない。対照的に、ＭＣドロップアウトは、モンテカルロサンプルごとに１つの完全な予測を必要とする。つまり、この例では、ＭＣドロップアウトは、本発明の方法と比較して３００倍長くかかる。バッチ処理を使用して複数のモンテカルロサンプルを並行実行できるが、これにより、推論の実時間と予測に必要なハードウェアメモリとの間に、トレードオフが生じる。
【０１９１】
さらなる例
異常検出および／または予知保全のためのデータ分析のための別の例示的な方法は、以下のステップを含む。
Ｓ１０１：データセット（観測値）（例えば、既知の障害または残存寿命を持つ機器のセンサデータの履歴）が提供される。提供された観測値は、トレーニングセットを構成する。
【０１９２】
Ｓ１０２：深層ニューラルネットワークをトレーニングするか、事前にトレーニングされたニューラルネットワークを微調整する。深層ニューラルネットワークは、畳み込みニューラルネットワーク、リカレントニューラルネットワーク、リカーシブニューラルネットワーク、トランスフォーマニューラルネットワーク、またはその他の適切な種類のネットワークであり得る。
【０１９３】
Ｓ１０３：深層ニューラルネットワークの１つまたは複数のレイヤを選択し、そのレイヤからトレーニングセットの観測値の活性化を計算する。
【０１９４】
Ｓ１０３ａ：任意選択で、活性化が特徴マップからのものである場合（例えば、ニューラルネットワークが畳み込みニューラルネットワークの場合）、各特徴マップ全体にグローバルプーリング（例えば、グローバル平均プーリング）を適用する。
【０１９５】
Ｓ１０４：（任意選択でプールされた）トレーニングセットの活性化に潜在変数モデルを適合する。
【０１９６】
Ｓ１０５：潜在変数モデルを使用して、トレーニングセットの観測値の１つ以上の距離のセットを計算する。
【０１９７】
Ｓ１０６：トレーニングセットの観測値の距離、例えば、トレーニングセットの距離の９５パーセンタイル（つまり、トレーニングセットの観測値に対して取得された距離）に基づいて、閾値を選択する。
【０１９８】
Ｓ１０７：深層ニューラルネットワークを導入する。言い換えると、異常を検出したり、障害や残存寿命を予測したりするために使用されるソフトウェアに深層ニューラルネットワークを組み込む。ソフトウェアは、監視対象の機器自体の内部、オンプレミスまたはクラウド環境に導入できる中央サーバ（例えば、中央予測サーバまたは異常検出サーバ）、および／または、コンピュータネットワーク上に、独立型ソフトウェアとして実装し得る。
【０１９９】
Ｓ１０８：新しい観測値に対する深層ニューラルネットワーク予測を計算する。
【０２００】
Ｓ１０９：次の手順を実行して、特定の新しい観測値が外れ値の観測値であるかどうかを判断する。
Ｓ１０９ａ：Ｓ１０５で潜在変数モデルを適合するために使用されるレイヤの活性化を計算する。任意選択で、グローバルプーリングを適用し得る。
Ｓ１０９ｂ：Ｓ１０９ａからの活性化およびＳ１０５の潜在変数モデルを使用して、モデルまでの距離を計算する。
Ｓ１０９ｃ：Ｓ１０９ｂからの距離を、Ｓ１０６からの閾値距離と比較する。
（ｉ）Ｓ１０９ｃの距離がＳ１０６の閾値よりも大きい場合、新しい観測値は外れ値と見なされる。その後、アプリケーション固有のアクションが実行される。例えば、エンドユーザに、続行する前に外れ値を手動で分析するように警告し得る。Ｓ１０８からの深層ニューラルネットワーク予測は無視され、外れ値の観測値は破棄し得る。
【０２０１】
（ｉｉ）Ｓ１０９ｃの距離がＳ１０６の閾値より大きくない場合、新しい観測値は外れ値とは見なされず、Ｓ１０８からの予測が受け入れられる。
【０２０２】
例示的な予知保全システムは、以下のコンポーネントを含み得る。
予知保全システムは、少なくとも１つの機器などの対象のエンティティの状態を測定するためのデータ収集センサを含み得る。センサは、例えば、温度、圧力、電流、磁束などを測定する物理的センサを含み得る。センサは、物理的測定に基づいて機器の状態が間接的に計算される、いわゆるソフトセンサとも呼ばれ得る。例えば、ソフトセンサには、カルマンフィルタや速度推定器が含まれる。センサは、音声または画像の形式で構造化データまたは非構造化データを収集する場合もあり得る。
【０２０３】
予知保全システムは、データ通信ネットワーク、および、例えばデータストアおよび／または他のユニットへの、センサからのデータ転送を可能にするそれぞれのデータ通信ユニットを、さらに備え得る。いくつかの例では、データ転送はリアルタイムで行われ得る。いくつかの例では、データ転送は無線転送を含み得る。
【０２０４】
予知保全システムは、センサから収集されたデータ、および任意選択で他のデータが蓄積、処理、および／または分析される、データストア（例えば、データベース）をさらに含み得る。データストアは、オンプレミスサーバ、遠隔サーバ、または分散型クラウドサービスとして実装し得る。
【０２０５】
予知保全システムは、本明細書に記載の方法を実行するように構成された予測分析コンポーネント（予測分析ユニット）をさらに含み得る。予測分析コンポーネントは、図１に示される制御および／または分析システム３０を構成するか、またはその一部であり得る。特に、予測分析コンポーネントは、収集されたデータを集約およびモデル化して、保守が必要な時期、差し迫ったセキュリティ違反、不正なトランザクションまたはユーザなど、を予測するように構成し得る。予測分析コンポーネントは、観測される機器またはシステムで直接実行でき、いわゆるエッジ分析を構成し得る。予測分析コンポーネントは、サーバ上で実行することも、クラウドサービスとして実行し得る。
【０２０６】
予知保全システムは、例えば、オペレータが機器の状態および／または起動に関する見識を得るために使用することができる、ユーザインターフェースをさらに任意選択で備え得る。ユーザインターフェースは、例えば、グラフィカルユーザインターフェースであり得る。
【０２０７】
バリエーション
上記の例のいくつかでは、畳み込みニューラルネットワーク（ＣＮＮ）が使用された。しかしながら、深層ニューラルネットワーク１００は、畳み込みニューラルネットワークに限定されず、任意の種類のニューラルネットワーク、例えば、リカレントニューラルネットワーク、リカーシブニューラルネットワーク、トランスフォーマニューラルネットワークなどであり得る。
【０２０８】
上記の例のいくつかでは、単一の隠れ層からの活性化が外れ値の検出を実行するために使用される。
【０２０９】
他のいくつかの例では、２つまたは複数の隠れ層からの活性化を使用して外れ値の検出を実行し得る。例えば、外れ値の検出に使用するレイヤを選択する際の困難を回避するために、すべての（非表示の）レイヤからの測定値を、外れ値の検出に使用されているガウス・カーネル密度推定を使用して組み合わせることができる（例えば、Ｌ．Ｊ．Ｌａｔｅｃｋｉ、Ａ．ＬａｚａｒｅｖｉｃおよびＤ．Ｐｏｋｒａｊａｃによる、「Ｏｕｔｌｉｅｒ  Ｄｅｔｅｃｔｉｏｎ  ｗｉｔｈ  Ｋｅｒｎｅｌ  Ｄｅｎｓｉｔｙ  Ｆｕｎｃｔｉｏｎｓ」、パターン認識における機械学習とデータマイニング、２００７年、第６１〜７５頁、Ｅ．Ｓｃｈｕｂｅｒｔ、Ａ．ＺｉｍｅｋおよびＨ．Ｋｒｉｅｇｅｌによる、「Ｇｅｎｅｒａｌｉｚｅｄ  Ｏｕｔｌｉｅｒ  Ｄｅｔｅｃｔｉｏｎ  ｗｉｔｈ  Ｆｌｅｘｉｂｌｅ  Ｋｅｒｎｅｌ  Ｄｅｎｓｉｔｙ  Ｅｓｔｉｍａｔｅｓ」、データマイニングの２０１４ＳＩＡＭ国際会議の講演論文集、第０巻、産業および応用数学のための学会、２０１４年、第５４２〜５５０頁）。カーネル密度推定は、トレーニングセットのマハラノビス距離と残差平方和に対して個別に計算できるが、すべてのレイヤを組み合わせる。各観測値の確率は、モンテカルロ積分を使用して、結果のカーネル密度関数で近似できる。外れ値の検出性能は、上記の実験と同じ方法で評価できる。
【０２１０】
さらなる例では、複数の埋め込み（例えば、複数のレイヤからの活性化）を統合する場合、バギング・アプローチ（例えば、Ａ．ＬａｚａｒｅｖｉｃおよびＶ．Ｋｕｍａｒによる「Ｆｅａｔｕｒｅ  Ｂａｇｇｉｎｇ  ｆｏｒ  Ｏｕｔｌｉｅｒ  Ｄｅｔｅｃｔｉｏｎ」、第１１回ＡＣＭ  ＳＩＧＫＤＤデータマイニングにおける知識発見国際会議の講演論文集、ニューヨーク市、ニューヨーク州、ＵＳＡ、２００５年、第１５７〜１６６頁を参照）を、直接カーネル密度の代わりに、使用し得る。
【０２１１】
さらに、学習された表現、ＧＭＭワンクラスＳＭＶ、クラスタリングなどで他の方法論を使用できる場合がある。
【０２１２】
さらに、本明細書に記載の様々な実施形態および例では、マハラノビス距離などの単純な測定値を使用する代わりに、局所外れ値因子またはＬＯＦなどのより局所的な測定値（例えば、Ｍ．Ｍ．Ｂｒｅｕｎｉｇ、Ｈ．−Ｐ．Ｋｒｉｅｇｅｌ、Ｒ．Ｔ．ＮｇおよびＪ．Ｓａｎｄｅｒによる「ＬＯＦ：Ｉｄｅｎｔｉｆｙｉｎｇ  Ｄｅｎｓｉｔｙ−ｂａｓｅｄ  Ｌｏｃａｌ  Ｏｕｔｌｉｅｒｓ」、２０００ＡＣＭ  ＳＩＧＭＯＤデータ会議の国際会議の講演論文集、ニューヨーク市、ニューヨーク州、ＵＳＡ、２０００年、第９３〜１０４頁）は、ＰＣＡ空間に直接適用され得る。原則として、複合指標のモデル化された埋め込みまでの距離、平方和、局所外れ値因子など、任意の適切な距離指標、または距離指標の組合せ、が使用され得る。
【０２１３】
上記の例のいくつかでは、特定の画像が観測値として（トレーニングセットの一部として、および予測が取得される新しい観測値として）、使用される。上記のように、故障、劣化、完全性またはセキュリティの違反、または観測されるエンティティの正常な状態または操作からの任意の他の逸脱（すなわち、異常）が判断さ得ることに基づいて、これらの画像の代わりに、例えば機器、機械部品の画像など任意の他の画像が使用され得る。
【０２１４】
例えば、特定の特徴の存在、画像の破損のレベル、取得された画像の色の変化などの取得された画像の特性に基づいて、画像化されたオブジェクトおよび／または画像システムの異常を、判断し得る。画像化されたオブジェクトの異常には、例えば、障害（例えば、亀裂）、画像化されたオブジェクトの摩耗または劣化が含まれ得る。さらに、画像の欠陥または画像の破損の存在は、画像化システムの欠陥、不整合などを示し得る。例えば、画像は、画像書き込み中の書き込みプロセスの中断、画像キャプチャデバイスの集束システムの障害のために、少なくとも部分的に破損する可能性があり、そのような異常を検出すると、ユーザは個々に通知されるか、および／または、修正保守アクションが開始され得る。
【０２１５】
さらに、画像の代わりに、他の種類の入力データ、例えば、１つまたは複数のセンサの測定に基づいて得られたデータ、コンピュータネットワークトラフィックデータ、トランザクションデータ（例えば、金融取引に関連する）などが、使用され得る。原則として、観測される機器またはシステムを特徴付ける任意の種類のデータが、処理され得る。次に、本明細書に記載の様々な実施形態および例による方法を使用して、正常な動作と既知の種類の異常とを区別するだけでなく、未知の種類の異常にもフラグを立てることができる。
【０２１６】
さらに、本明細書に記載されるような方法およびシステムの様々な用途があり得る。可能な用途の１つは、位相差顕微鏡で得られた画像の異常を検出することである。位相コントラスト画像から核を識別する作業は困難であり、通常、核の位置を強調する追加の画像チャネルを提供するために、核に結合する蛍光マーカに依存する。深層ＣＮＮを適用することにより、細胞からバックグラウンドをセグメント化し、蛍光ラベルを使用せずに位相差画像から細胞の核を識別するモデルが、生成およびトレーニングされ得る。ＣＮＮが複数の細胞種類からの位相差画像でトレーニングされている場合、ＣＮＮは、異常と見なされる可能性のある、これまでに見たことがない新しい細胞種類も識別し得る。これまで見たことがない細胞種類が、ＣＮＮトレーニングに使用されるセル種類と大きく異なる場合を判断するために、予測時間外れ値検出が、適用され得る。新しい細胞種類からの位相差顕微鏡画像が外れ値として検出された場合、異常が検出された、および／またはＣＮＮの細胞とバックグラウンドの分離、および核の検出が信頼できない、という警告を、ユーザが受信し得る。この場合、提供されるＣＮＮシステムは、細胞をバックグラウンドから確実に分離し、新しい細胞種類の位相差画像から核を識別するために、ＣＮＮモデルを再トレーニングする必要があるという信号を送信し得る。
【０２１７】
さらなる用途は、機械部品、機械、産業プラント、発電所などの様々な種類の技術システムでの異常検出である。
【０２１８】
例えば、予知保全機器では、通常、物理センサを使用してリアルタイムで測定できる。次に、予測深層学習モデルを使用して、エラーが発生する前に、エラーを検出および分類できる。本明細書に記載の方法およびシステムは、既知のエラーに加えて、未知の種類のエラーを検出する可能性を提供し、未知の種類のエラーは、外れ値として確実に特定される。その結果に基づいて、機器の破損を防ぐために保守が必要な時期が、自動的に判断され得る。したがって、予知保全システムは、これまで未知であった障害種類が発生した場合でも、定義された動作を行い得る。したがって、大幅なコスト削減を達成でき、機器が予想よりも早く故障して、致命的な障害やプロセスの停止につながる可能性があるリスクを減らし得る。
【０２１９】
もう１つの例は、サイバーセキュリティの技術分野であり、例えば、ネットワークへの侵入を検出する。例えば、深層学習を使用してネットワークトラフィック、つまりネットワーク上の異なるコンピュータ間で転送されるデータパッケージのログをモデル化することにより、ネットワーク内の悪意のある攻撃者を示すトラフィックパターンの微妙な変化が検出され、侵入として分類し得る。提案された方法とシステムを使用することにより、以前に見られなかったパターンがある場合にも、使用された深層学習モードは警告することができる。そのようなパターンは外れ値として確実に識別されるからである。
【０２２０】
別の例は、金融取引（例えば、銀行）の分野である。金融コンピュータネットワークでは、経済取引は、例えば、いつ／どこで／どのくらいの金額がアクタ間で転送されるかによって、特徴付け得る。履歴データを使用して、深層学習に基づく分類器をトレーニングして、トランザクションまたはアクタを不正として分類し得る。本発明を使用して、新しい種類の不正なトランザクションが発生したとき、またはアクタが以前には見られなかった方法で行動したときに、深層学習モデルは、警告することができる。したがって、金融コンピュータネットワークのセキュリティを改善し得る。
【０２２１】
上記の例では、履歴データを使用して、調査対象のシステムの特性を明らかにし、深層学習ニューラルネットワーク（深層学習モデル）をトレーニングし得る。次に、深層学習モデルを使用して、正常な動作と既知の種類の異常を区別し得る。さらに、提案された方法とシステムは、未知の種類の異常を識別する可能性が増える。
【０２２２】
ハードウェア構成
図９は、コンピューティングシステム１の少なくとも一部を実装するために、および／または、上記の方法を実行するために使用され得るコンピュータの例示的なハードウェア構成を示す。例えば、コンピュータは、上記の予測分析コンポーネントを実装し得る。図９に示されるコンピュータ７は、中央処理装置（ＣＰＵ）７０、グラフィックス処理装置（ＧＰＵ）８８、システムメモリ７２、ネットワークインターフェース７４、ハードディスクドライブ（ＨＤＤ）インターフェース７６、外部ディスクドライブインターフェース７８および入力／出力（Ｉ／Ｏ）インターフェース８０を含む。コンピュータのこれらのコンポーネントは、システムバス８２を介して互いに結合されている。ＣＰＵ７０は、システムメモリ７２にアクセスすることによって、算術、論理、および／または制御操作を実行し得る。ＧＰＵ８８は、深層学習に必要なグラフィック画像および／または行列演算に関する処理を実行し得る。ＧＰＵ８８は、並列処理を実行し得る複数のプロセッサ（例えば、コア）を備えることができ、これは、コンピューティングシステム１のより高い性能になり得る。ＣＰＵ７０および／またはＧＰＵ８８は、上記の例示的なデバイスおよび／またはシステムのプロセッサを実装し得る。しかしながら、いくつかの例では、コンピュータ７は必ずしもＧＰＵ８８を備えているとは限らない。システムメモリ７２は、ＣＰＵ７０と組み合わせて使用するための情報および／または命令を格納し得る。システムメモリ７２は、ランダムアクセスメモリ（ＲＡＭ）７２０および読み取り専用メモリ（ＲＯＭ）７２２などの揮発性および不揮発性メモリを含み得る。起動時など、コンピュータ７内の要素間で情報を転送するのに役立つ基本ルーチンを含む基本入出力システム（ＢＩＯＳ）は、ＲＯＭ７２２に格納され得る。システムバス８２は、メモリバスまたはメモリコントローラ、周辺バス、および様々なバスアーキテクチャのいずれかを使用するローカルバスを含む、いくつかの種類のバス構造のいずれかであり得る。ＣＰＵ７０は、１つまたは複数の対応するインターフェース（図示せず）およびバス８２を介して、１つまたは複数のセンサ（図示せず）にさらに接続し得る。センサは、温度、ｐＨ、圧力などを含むが、これらに限定されない、物理的状況または状態を測定し得る。さらに、センサは、画像化デバイス、マイクロフォン、スペクトル・センサなどを含むが、これらに限定されない、他の種類の測定または検出デバイスを含み得る。コントローラは、温度、磁束、攪拌などを含むが、これらに限定されない、物理的状況または状態を制御し得る。
【０２２３】
コンピュータは、ネットワークを介して他のコンピュータおよび／またはデバイスと通信するためのネットワークインターフェース７４を含み得る。
【０２２４】
さらに、コンピュータは、ハードディスク（図示せず）からの読み取りおよび書き込みのためのハードディスクドライブ（ＨＤＤ）８４（図示せず）、および、リムーバブル・ディスク（図示せず）への読み取りまたは書き込みのための外部ディスクドライブ８６を含み得る。リムーバブルディスクは、磁気ディスクドライブ用の磁気ディスク、または光ディスクドライブ用のＣＤ−ＲＯＭなどの光ディスクであり得る。ＨＤＤ８４および外部ディスクドライブ８６は、それぞれ、ＨＤＤインターフェース７６および外部ディスクドライブインターフェース７８によってシステムバス８２に接続されている。ドライブとそれに関連するコンピュータ可読媒体は、汎用コンピュータ用のコンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータの不揮発性記憶を提供する。データ構造は、本明細書に記載されるように、例示的な方法およびその変形の実施に関連するデータを含み得る。関連するデータは、データベース、例えばリレーショナルデータベースまたはオブジェクトデータベースに編成し得る。
【０２２５】
本明細書に記載の例示的な環境は、ハードディスク（図示せず）および外部ディスク（図示せず）を使用するが、コンピュータによってアクセス可能なデータを格納できる他の種類のコンピュータ可読媒体、磁気カセット、フラッシュ・メモリカード、デジタル・ビデオ・ディスク、ランダムアクセスメモリ、読み取り専用メモリなどのようなものも、例示的な動作環境で使用することができることは、当業者によって理解されるべきである。
【０２２６】
いくつかのプログラムモジュールが、ハードディスク、外部ディスク、ＲＯＭ７２２またはＲＡＭ７２０に格納され得る。そこには、オペレーティングシステム（図示せず）、１つまたは複数のアプリケーションプログラム７２０２、他のプログラムモジュール（図示せず）、およびプログラムデータ７２０４を含む。アプリケーションプログラムは、上記記載のような機能の少なくとも一部を含み得る。
【０２２７】
コンピュータ７は、対応するＩ／Ｏインターフェース８０ａおよび８０ｂならびにシステムバス８２を介して、マウスおよび／またはキーボードなどの入力装置９２および液晶ディスプレイなどの表示装置９４が、接続され得る。コンピュータ７がタブレットコンピュータとして実装される場合、例えば、情報を表示し、入力を受信するタッチパネルは、対応するＩ／Ｏインターフェースおよびシステムバス８２を介して、コンピュータ７に接続され得る。さらに、いくつかの例では、図９には示されていないが、コンピュータ７は、対応するＩ／Ｏインターフェースおよびシステムバス８２を介して、プリンタおよび／またはカメラなどの画像化デバイスにさらに接続され得る。
【０２２８】
図９に示されるようなコンピュータ７を使用する実装に加えて、またはその代替として、本明細書に記載の例示的な実施形態の機能の一部またはすべては、１つまたは複数のハードウェア回路として実装され得る。このようなハードウェア回路の例には、大規模集積回路（ＬＳＩ）、縮小命令セット回路（ＲＩＳＣ）、特定用途向け集積回路（ＡＳＩＣ）、およびフィールドプログラマブルゲートアレイ（ＦＰＧＡ）が含まれるが、これらに限定されない。
【符号の説明】
【０２２９】
ＡＳＩＣ  特定用途向け集積回路
ＢＩＯＳ  基本入出力システム
ＣＤ  ＲＯＭ  コンパクトディスク読み取り専用メモリ
ＣＮＮ  畳み込みニューラルネットワーク
ＣＰＵ  中央処理装置
ＤＮＮ  深層ニューラルネットワーク
ＧＰＵ  グラフィックス処理装置
ＦＰＧＡ  フィールドプログラマブルゲートアレイ
ＨＤＤ  ハードディスクドライブ
ＨＴＴＰ  ハイパーテキスト転送プロトコル
Ｉ／Ｏ入力／出力
ＬＳＩ  大規模集積回路
ＬＯＦ  局所外れ値因子
ＭＣドロップアウト  モンテカルロドロップアウト
ＭＮＩＳＴ  修正されたアメリカ国立標準技術研究所
ＰＣＡ  主成分分析
ＲＡＭ  ランダムアクセスメモリ
ＲｅＬｕ／Ｒｅｌｕ  正規化線形ユニット
ＲＩＳＣ  縮小命令セット回路
ＲＯＣ−ＡＵＣ  受信者操作特性、曲線下面積
ＲＯＭ  読み取り専用メモリ
ＲＳＳ  残差平方和
ＳＳＨ  セキュアシェル
【図１】
2022500745.tif 000022
【図２】
2022500745.tif 000023
【図３】
2022500745.tif 000024
【図４】
2022500745.tif 000025
【図５】
2022500745.tif 000026
【図６】
2022500745.tif 000027
【図７】
2022500745.tif 000028
【図８】
2022500745.tif 000029
【図９】
2022500745.tif 000030
【国際調査報告】
2022500745.tif 000031
2022500745.tif 000032