異常検知と変化検知技術

機械学習技術 人工知能技術 デジタルトランスフォーメーション技術. センサーデータ&IOT ストリームデータの処理と機械学習 確率的生成モデル 関係データ学習 サポートベクトルマシン スパースモデリング 本ブログのナビ

機械学習による異常検知と変化検知の概要

機械学習による異常検知は、通常の状況から大きく異なる状況を検出することを目的とした技術で、例えば製造ラインの故障、ネットワークの攻撃、金融取引の不正など、あらゆる種類の異常な振る舞いを検出する目的に利用される。

一方、機械学習による変化検知は、ある状況から別の状況に変化が生じたことを検出することを目的とした技術であり、例えばセンサーデータや画像データなどの時間的な変化を検出することを目的に利用される。

異常検知と変化検知は、いずれも機械学習を用いてデータのパターンを学習し、異常な状況や変化を検出するものであり、主に以下の3つの手法が用いられる。

    • 教師なし学習による異常/変化検知: 教師なし学習による異常/変化検知は、定常的なデータパターンの特徴を学習し、それと異なるデータパターンを検知する手法となる。主成分分析やカーネル密度推定などが主に利用される。
    • 教師あり学習による異常/変化検知: 教師あり学習による異常/変化検知は、定常的なデータと、それと異なるデータの両方を用意し、定常のデータの特徴から、それ以外のデータを検知する手法となる。主に分類アルゴリズムや回帰分析などが利用される。
    • 半教師あり学習による異常/変化検知: 半教師あり学習による異常/変化検知は、定常的なデータのみで学習を行い、異常/変化検知には定常的なデータに似た異常/変化データを利用する手法となる。深層学習による検知に使われることが多い。

しかしながら、異常検知と変化検知では以下のポイントが異なる。

    • 異常検知では正常のデータとは異なる異常データを検知することが目的であるのに対して、変化検知では、検知したい変化データは必ずしも異常データではない。
    • 異常検知では、正常データを取得し教師なし学習を用いて(異常データが少ないため)異常データを検知するのが一般的なのに対して、変化検知では対象となるデータを定期的に取得し、教師あり/教師なし学習のどちらかを使って変化を検知する手法が用いられるのが一般的である。
    • 異常検知では、監視システムや品質管理、セキュリティなどの分野で広く使用されてい流のに対して、変化検知では、IoTデバイス、ビジネスアプリケーション、自然環境の監視などの分野で使用されることが多い。
    • 異常検知は、異常なデータを検知することが目的であり、高い精度が求められるのに対して、変化検知は、正常データと異なる変化を検知することが目的であり、検知の精度については、監視対象の状態変化の度合いや、検知の目的に応じて、要求される精度が異なる。

ここで機械学習による異常検知においては、以下のような課題があると考えられている。

    • データの品質: 機械学習による異常検知は、データに依存するため、データの品質が異常検知の精度に影響する。異常データが少ない、ノイズが多い、欠損があるなどの問題があると、検知精度が低下する。
    • データの量: 異常データは、正常データに比べて非常に少ない場合が多く、異常検知に必要なデータ量が不足する。異常データを集めることが困難な場合もあるため、効率的なデータ収集方法が必要となる。
    • アルゴリズムの選択: 異常検知には、様々なアルゴリズムがあり、どのアルゴリズムを選択するかによって、異常検知の精度が大きく異なる。しかし、どのアルゴリズムが最適かは、データやシステムの性質によって異なるため、適切なアルゴリズムを選択することが重要となる。
    • しきい値の設定: 異常検知において、判定するためのしきい値を設定する必要があるが、しきい値の設定は難しい問題であり、高い検知率と低い誤検知率のバランスをとる為のノウハウがアルゴリズムの選択と合わせて必要となる。
    • 時間的な変化: 異常検知は、時間的な変化に対してもロバストである必要があるが、システムの状態が変化することもあり、異常検知のアルゴリズムがそれに追従できない場合がある。

また変化検知に関しては、以下のような課題があるものと考えられている。

    • データの欠損や異常値: 変化検知に使用するデータに欠損や異常値が含まれている場合、機械学習アルゴリズムが適切な予測を行えなくなる可能性がある。このため、データの前処理が重要になる。
    • モデルの選択: 変化検知には様々な機械学習アルゴリズムが利用されるが、どのアルゴリズムが最適であるかは問題によって異なる。ここでは適切なモデルの選択が必要となる。
    • ラベル不足: 変化検知においては、ラベル付きデータが必要となる。しかし、ラベル付きデータが不足している場合、機械学習アルゴリズムが正確な予測を行えなくなる可能性がある。このため、ラベル不足の問題を解決する方法が必要となる。
    • モデルの適応性: 変化検知には、変化が生じる頻度やタイミングが異なる場合がある。機械学習モデルが柔軟に対応できるようにするために、適応性を高める工夫が必要となる。
    • パラメータの最適化: 機械学習には多数のパラメータが存在し、それらを適切に設定することが重要となる。変化検知においても、パラメータの最適化が必要だが、パラメータの最適化には時間とコストがかかるため、効率的な方法を模索する必要がある。

異常検知と変化検知技術とは

機械学習プロフェッショナルシリーズ「異常検知と変化検知」より。

あらゆるビジネスの現場で、変化あるいは異常の兆候を捉えることは非常に重要な課題となる。例えば売り上げの変化を捉えることでいち早く次の一手を打ったり、稼働中の化学プラントの異常の兆候を見つけることで、重大な事故を未然に防いだり、現場の職人芸に頼らず、客観的にこれらの行うことはデジタルトランスフォーメーション人工知能のタスクを考える上で非常に意義があるものとなる。

これらに対して伝統的なアプローチは、例えば、”IF(気温≥28℃) AND (湿度75%) THEN 不快”のように過去の事例を「ルール」という形で捉えることで対処されてきた。取得できるデータがあまり多くなく、データの性質について十分な知識がある場合は、このように手作業的にルールを作ることで十分ではあるが、人間が明示的に認識できるルールの数は、実世界の多様性に比べて桁違いに少なく、このような「誰がルールを作ってくれるのか」という問題は人工知能研究の歴史の中で知識獲得のボトルネック(knowledge acquistion bottleneck)と呼ばれ大きな課題となっている。

この問題に対して近年、統計的機械学習の技術を使うことで、実用に耐えうる異常検知・変化検知の仕組みが構築できるようになってきた。これは観測値をxとすると、その取りうる値についての確率分布p(x)を使って数式で異常や変化の条件を記述するもので、汎用的な手法となる。

ここで、異常検知や変化検知の具体的な問題について述べる。まず代表的なアプローチはあるデータの中から典型的な異常パターンを見つける外れ値検出(outlier detection)と呼ばれるもので下図の赤で示すようなものとなる。

また、値がずれているというよりは、下図の赤の部分に示すように観測値の振る舞いが変化するタイプの問題もあり、この問題は変化検出(change detection)または変化点検出(change-point detection)と呼ばれる。

上記以外の、異常検知、変化検知としては、スパムメールの判定等の離散的なデータでの問題もある。

ここでこれらを解析するためには、データの性質に応じて確率分布を学習し、その分布と異常ないし変化の度合いをどのように結びつけるかがポイントとなる。

本ブログではこれらの異常検知・変化検知に関して以下の項目について述べる。

実装

異常検知技術(Anomaly Detection)は、データセットやシステムの中で異常な振る舞いやパターンを検出するための手法となる。異常検知では、通常のデータの振る舞いやパターンをモデリングし、それとの乖離を評価して異常を検出するしくみで、異常とは、予期しないデータの出現や異常な振る舞いを指し、正常データとの差異や外れ値として捉えるものとなる。異常検知は、教師あり学習や教師なし学習双方の手法で行われる。

ここでは異常検知技術の概要と適用事例および、統計的異常検知、教師あり異常検知、教師無し異常検知、深層学習ベースの異常検知についての実装について述べている。

変化検知技術(Change Detection)は、データやシステムの状態における変化や異常を検出するための手法となる。変化検知では、データやシステムの状態が変化したことを検出するため、学習期間(過去のデータ)と、テスト期間(現在のデータ)という2つの状態の比較を行う。しくみとしては、学習期間のデータを使用して正常な状態やパターンをモデリングし、テスト期間のデータと比較して異常や変化を検出するものとなる。

ここではこの変化検知技術の概要と適用事例、更に基準モデル、統計的変化検知、機械学習ベースの変化検知、シーケンスベースの変化検知での具体的な実装について述べる。

類似性(similarity)は、二つ以上のオブジェクトや事物が共通の特徴や性質を持ち、互いに似ていると見なされる程度を表す概念であり、比較や関連性の観点からオブジェクトを評価したり、分類やグループ化を行ったりする際に重要な役割を果たしている。ここでは、様々なケースでの類似度の概念と一般的な計算方法について述べている。

自己教師あり学習(Self-Supervised Learning)は、機械学習の一種であり、教師あり学習の一種と考えることができる。教師あり学習では、ラベル付きのデータを使用してモデルを訓練するのに対して、自己教師あり学習では、ラベルの代わりにデータ自体を利用してモデルを訓練する手法となる。ここではこの自己教師あり学習に対して、様々なアルゴリズムと適用事例、実装例について述べている。

ロバスト主成分分析(Robust Principal Component Analysis、RPCA)は、データの中から基底を見つけ出すための手法であり、外れ値やノイズが含まれているようなデータに対しても頑健(ロバスト)に動作することを特徴としている。ここでは、このRPCAに関して様々な適用事例とpyhtonによる具体的な実装について述べている。

オンライン学習(Online Learning)は、データが逐次的に到着する状況下で、モデルを逐次的に更新して学習する手法であり、通常の機械学習で行われるバッチ学習とは異なり、新しいデータが到着するたびにモデルが更新されるアルゴリズムであることが特徴となる。ここでは、このオンラン学習に関して様々なアルゴリズムと適用事例およびpythonによる実装例について述べている。

構造学習(Structural Learning)は、機械学習の一分野であり、データの構造や関係性を学習する手法を指し、通常、教師なし学習や半教師あり学習の枠組みで使用されるものとなる。構造学習は、データの中に存在するパターン、関係性、または構造を特定し、それをモデル化し、データの背後にある隠れた構造を明らかにすることを目的としている。構造学習は、グラフ構造、木構造、ネットワーク構造など、さまざまなタイプのデータ構造を対象としている。

ここでは、この構造学習に関して様々な適用事例と具体的な実装例について述べている。

RNN(Recurrent Neural Network)は、時系列データやシーケンスデータをモデル化するためのニューラルネットワークの一種であり、過去の情報を保持し、新しい情報と組み合わせることができるため、音声認識、自然言語処理、動画解析、時系列予測など、さまざまなタスクで広く使用されているアプローチとなる。

LSTM(Long Short-Term Memory)は、再帰型ニューラルネットワーク(RNN)の一種であり、主に時系列データや自然言語処理(NLP)のタスクにおいて非常に効果的な深層学習モデルとなる。LSTMは、過去の情報を保持し、長期的な依存関係をモデル化することができるので、短期的な情報だけでなく、長期的な情報を学習するのに適した手法となる。

  • GRU(Gated Recurrent Unit)について

GRU(Gated Recurrent Unit)は、”RNNの概要とアルゴリズム及び実装例について“でも述べている再帰型ニューラルネットワーク(RNN)の一種で、特に時系列データやシーケンスデータの処理に広く使用される深層学習モデルとなる。GRUはLSTMの概要とアルゴリズム及び実装例について“で述べているLSTM(Long Short-Term Memory)と同様に長期的な依存関係をモデル化するために設計されているが、LSTMよりも計算コストが低いことが特徴となる。

  • Bidirectional RNN(BRNN)について

Bidirectional Recurrent Neural Network(BRNN)は、再帰型ニューラルネットワーク(RNN)の一種で、過去と未来の情報を同時に考慮することができるモデルとなる。BRNNは、特にシーケンスデータを処理する際に有用で、自然言語処理や音声認識などのタスクで広く使用されている。

  • Deep RNNについて

Deep RNN(Deep Recurrent Neural Network)は、再帰型ニューラルネットワーク(RNN)の一種で、複数のRNN層を積み重ねたモデルとなる。Deep RNNは、シーケンスデータの複雑な関係をモデル化し、より高度な特徴表現を抽出するのに役立ち、通常、Deep RNNは時間方向に多層で積み重ねられたRNNレイヤーから構成されている。

  • Stacked RNNについて

Stacked RNN(スタックされた再帰型ニューラルネットワーク)は、再帰型ニューラルネットワーク(RNN)の一種で、複数のRNN層を積み重ねて使用するアーキテクチャであり、より複雑なシーケンスデータのモデリングが可能になり、長期依存性を効果的にキャプチャできるようになる手法となる。

  • Echo State Network (ESN)について

Echo State Network(ESN)は、リザーバーコンピューティングの一種で、時系列データやシーケンスデータの予測、分析、パターン認識などに使用されるリカレントニューラルネットワーク(RNN)の一種となる。ESNは、非常に効率的で簡単に訓練でき、さまざまなタスクで良好な性能を発揮することがある。

  • DBSCAN(Density-Based Spatial Clustering of Applications with Noise)の概要と適用事例および実装例について

DBSCANは、データマイニングや機械学習における人気のあるクラスタリングアルゴリズムであり、クラスタの形状を仮定するのではなく、データポイントの空間密度に基づいてクラスタを発見することを目的としたアルゴリズムとなる。ここでは、このDBSCANの概要とアルゴリズム、様々な適用事例とpythonによる具体的な実装について述べている。

Elasticsearchは、検索、分析、およびデータ可視化のためのオープンソースの分散型検索エンジンであり、機械学習(Machine Learning, ML)技術も統合されており、データ駆動型のインサイトや予測を実現するために活用することができるプラットフォームとなっている。ここではこのElasticsearchでの機械学習技術の様々な活用と具体的な実装について述べている。

Elasticsearchは、オープンソースの分散型検索エンジンであり、高速なテキスト検索やデータ分析を可能にするための多くの機能を提供している。また、Elasticsearchの機能を拡張するための様々なプラグインも利用できる。ここではこのプラグインと具体的な実装について述べている。

異常検知・変化検知の理論と応用

異常検知・変化検知の問題に対しては、統計的機械学習の技術を使うことで、実用に耐えうる異常検知・変化検知の仕組みが構築できるようになってきている。これは観測値をxとすると、その取りうる値についての確率分布p(x)を使って数式で異常や変化の条件を記述するもので、汎用的な手法となる。

異常検知や変化検知の具体的な問題としては、(1)あるデータの中から典型的な異常パターンを見つける外れ値検出(outlier detection)と呼ばれるもの、(2)値がずれているというよりは、観測値の振る舞いが変化するタイプのもの等がある。

これらを解析するためには、データの性質に応じて確率分布を学習し、その分布と異常ないし変化の度合いをどのように結びつけるかがポイントとなる。一般的な枠組みとしては(1)異常判定モデルを構築するためのデータとして、M次元ベクトルxに加えて、異常か正常か(または変化点かそうでないか)を示すラベルyを同時に観測しているケース、(2)確率モデルを規定して非常に少数の異常状態を抽出するものがある。

異常検知とは、システムを代表するいくつかの選択された特徴量について、与えられた値の集合が、通常観測される特徴量の値と予想外に異なっているかどうかを判断する機械学習手法となる。異常検知の応用例としては、製造業における構造的・操作的欠陥の検出、ネットワーク侵入検知システム、システム監視、医療診断などがある。異常検知は機械学習問題の応用形態で二値分類の拡張版となる。

異常検知のアプローチとして、学習データから構築される確率分布モデルを用いて異常を検知することが考えられる。異常を検出するために使用できるもう一つの方法は、近接ベースのアプローチとなる。このアプローチでは、サンプルデータ中の残りの値に対する観測値のセットの近接性、つまり近さを決定するものとなる。

また、与えられた観測値の集合が異常であるかどうかは、その周辺のデータの密度に基づいて判断することもできる。このアプローチは、密度ベースの異常検出アプローチと呼ばれる。与えられた入力値の集合は、与えられた値の周辺のデータが低い場合、異常として分類される。

M次元のN個の観測値からなるデータD={x(1),x(2),…,x(N)}を考える。ホテリングT2法では、このデータが、異常標本を含まないか、含んでいたとしても圧倒的に少数であるという前提のもと、各標本が独立に次の確率密度関数に従うと仮定する。

観測データx’が、どれだけ標本平均𝜇̃ から離れているかを表すもので、しばしば「距離」という側面を強調して、マハラノビス距離(Mahalanobis distance)(の2乗)と呼ばれているというものを利用する。

この距離が正常か異常かの判定を行うための閾値をきめるために、異常度aが従う確率分布を、多変量正規分布の仮定に基づいて明示的に導く。これは「正常時には5%未満でしか起こらないくらいまれな値だから、きっと正常ではないのだろう」というような仮説となる。

ここで異常度aは、データの物理的単位や数値によらず、普遍的に、自由度M、スケール因子のカイ二乗分布に従う。

異常検知の問題を難しくする要因の一つに、「変数がたくさんあって手に負えない」というものがあり、単純ベイズ(naive Bayes)法はその問題を、変数ごと(変数の次元)ごとに問題を切り分ける、という単純な考え方で解決する手法となる。

単純ベイズのベイズという名前の由来は、変数同士を独立と見なすという上記の単純な想定に、ベイズ決定則と、ネイマンピアソン決定則を関係させたもので、「各変数が独立だと見なすモデリング手法を異常度に適用したもの」となる。

本稿では、さらに単純ベイズのアルゴリズムについても述べる。

前述したホテリングのT2法が実用上有効なのは、観測値がほぼ一定値の周りに集中している状況に限られる。今回は、そのような制約がなく、しかも簡易な手法である近傍法について述べる。近傍法においては、データ間の距離をどう決めるかが本質的な課題となり、それらに対して距離のリーマン軽量を最適化することで近傍法を改良する計量学習という手法を導入し、実用上有効な手段の一つであるマージン最大化近傍法について述べる。

前述までに正規分布と多項分布を用いた異常検知手法について述べた。今回は経験分布(empiracal distribution)と呼ばれる特別な分布を用いた異常検知の手法について述べる。経験分布という言葉の意味はデルタ関数の性質から分かる通り、Dの中で「経験」された値のところでのみ値を持ち、その他の点では0になるという事実に由来する。標本位置以外では確率密度が0というのはあまりに融通がきかないので、任意の位置xでの確率密度p(x’)を経験分布から求めることを考える。

空調設備など、複数の動作モードからなる系は実用上多くある。ここではその場合の自然な定式化法である混合正規分布による異常検知の手法について述べる。混合分布モデルにはモデルのパラメータの最尤解が解析的に求まらないという課題があるが、EM法という技術を使ってパラメータ推定のための反復公式を求める事ができる。それに加えて、時事刻々変わる系に対応するため、時間に依存する重みを持つ重み付き最尤推定の方法を解説する。混合正規分布による逐次更新型異常検知は、実用上最も広く使われている異常検知手法の一つとなる。

重み付き対数尤度を最大化することでパラメータを求める際、問題は「対数の中に和がある」という点になる。この困難に対処するためのツールとしてイエンセンの不等式(Jensen’s inequality)がある。

古典的手法であるホテリングのT2法では、全データが単一の正規分布に従うと仮定して異常検知モデルを作っていた。一方混合分布モデルやベイズ推定を用いたアプローチでは、単一の分布を使うのを諦め、着目点の周りの局所的なデータの散らばりに着目して異常検知モデルを作っていた。ここでは、発想をホテリングのT2法の世界に引き戻し、しかしその代わりに「カーネルトリック」という技術を使って、分布の濃淡を間接的に表現するというアプローチについて述べる。

実問題を解く上では、観測値の規格化・標準化はほとんど常に行われる。たとえば1ページの文書と、100ページの文書を比べるために、単語の頻度ベクトルを規格化して眺めたくなる場合、正規分布による扱いは数学的にも実用的にも妥当ではない。今回は、方向データ、すなわち、長さが揃ったベクトルからの異常検知という問題について述べる。方向データの世界では、フォンミーゼス・フィッシャー分布が中心的な役割を担う。

長さが揃ったベクトルを表現するために最も自然な分布は、フォンミーゼス・フィッシャー分布(von-Mieses-Fisher distribution)となる。この分布は、平均方向(mean distance)と集中度(concentration parameter)という2つのパラメータを持つ。

入力と出力の対が観測できる系に関する異常検知技術について述べる。この場合、入力と出力の関係を、応答曲面(ないし回帰曲線)という形でモデル化し、それからの外れという形で異常を検知する。実用上、しばしば入力と出力の関係は非線形となる。今回は、非線形回帰技術のうちで工学的に応用範囲の広いガウス過程回帰の手法について述べる。

入力と出力の双方が観測されている場合、最も自然な異常検知の方法は、与えられた入力に対して出力を眺めて、それが通常の振る舞いにより期待される値から大幅にずれているかどうかを見る、というものになる。この意味でこの問題を応答異常(response anomaly)検知問題と呼ぶこともできる。

時系列データを念頭に変化検知問題について述べる。単一の標本の異常度を計算するだけでは変化検知はできない。ここではまず複数の異常度ないし標本を束ねるための基本技術として、累積和とスライド窓という考え方について述べ、それに基づき、変化検知を、逐次密度推定問題として抽象的に定式化する。その最も簡単な具体例として、特異スペクトル変換法という変化検知の手法について述べる。特異スペクトル変換法はその汎用性、ノイズに対する頑健性から実用上最も重要な変化検知法の一つとなる。

まず変化検知の古典技術である累積和法について述べる。例として、ある化学プラントの反応機の中での特定の化学物質の濃度を、時事刻々監視しているとする。化学物質は流体として出入りがあるので、たまたま局所的に濃度が濃くかったり高かったりするのは避けられず、この場合は、ホテリングのT2法のような「観測1回ごとにひとつひとつ異常度を計算する」タイプの監視技術は不適切となる。この場合やりたいことは、単発で突発的に異常値が得られたというよりは、継続して何かの異常事態が発生しているかどうかを検知すること、すなわち変化検知となる。

多変量の変数で表される系の監視業務などでは、個々の異常現象に対する各変数の寄与度を知ることが重要になる。単純ベイズ法のようなある意味極端な方法を除き、それを行うための手段は多くない。ここでは、変数同士の依存関係の崩れを異常と結びつけるという考え方に基づき、個々の変数の異常度を計算する手段について述べる。変数同士の依存関係を学習するにあたっては、本質的な依存関係を効率よく抽出できるように算法を工夫する。それにより、見かけ状の次元が高くても、系に内在するモジュール構造を自動的に抽出することが可能となる。

今回は「正常であるとわかっているデータをもとに、異常標本が含まれるかもしれないデータの中から異常標本を見つけ出す」という問題について述べる。これは基本的には外れ値検出の問題となるが、異常度を計算する標本をバラバラに扱うのではなく、あえてデータ集合全体の確率分布を考え、それに対する確率密度比の推定問題として定式化する。この定式化の主な利点は、異常検知モデルに含まれるパラメータの系統的な決定方法が得られること、個々の標本に乗るノイズの悪影響をある程度抑制することで検出精度の向上が見込めることにある。

今回は、恣意的な分布の仮定を行わずに、密度比の直接推定により変化検知を行う手法について述べる。変化検知は分布全体の変化の有無をマクロ的に調べる問題だが、それに加えて、ミクロ的に変数同士の個々の依存関係の変化を見るという問題も同じ枠組みで扱う事ができる。構造変化検知という問題設定は、複雑な系の監視のための有力な手段として近年注目されている。

変化検知問題における確率分布の役割を強調して、特に分布変化検知(distributional cahnge detection)の問題と呼ぶ事がある。いわゆる検定論の枠内に落とし込まないことを除けば、統計学における2標本検定(two-sample test)と問題設定は同様になる。

変化度の定義は、分布同士の相違度をカルバック・ライブラー・ダイバージェンスで測るのと厳密に同じとなる。カルバック・ライブラー・ダイバージェンスは、2つの分布の相違度を測る尺度となる。

関係性にスパース性を導入したグラフィカルlasso(ガウス型グラフィカルモデルの疎構造学習)とその活用として異常検知への適用(ホテリングT2スコアの拡張)について述べる。

FMEAは故障モード解析(Failure Mode and Effect Analysis)の略で、故障不具合の防止を目的とした潜在的な故障の体系的な分析手法となる。

同様の故障解析手法としてはFTA(Fault Tree Analysis)があるが、FTAは製品の好ましくない事象を初めに仮定し、それについて考えられる故障・事故に至った道すじを、発生確率とともに木構造に記述していくトップダウンの手法であるのに対して、FMEAは故障そのもの(機能)ではなく、故障をもたらす不具合事象を記述していくボトムアップ的な解析手法となる。具体的には、準備として、システムの情報の整理(構造・機能・構成部品等)を行なった後、故障モードの列挙とその影響、想定される故障モード等を整理したFMEAシートを作成する。

HAZIDはHazard Identification Studyの略で、プラントやシステムにおける安全性評価手法の一つであり、潜在的なリスク(ハザード)項目の洗い出しと、そのリスクの大きさの評価を行うものとなる。Hazard の同定作業は、What-if 法やその改良版である構造化What-if 法(Structured What-If Technique:SWIFT)等を用いて行われる。これは構造化されたワークシートを用いて,”What-if”,”How could”,”It is possible” といった質問をもとにブレインストーミングを実施するもので、様々なトラブルを事前に想定する為に行われる。

ここではFMEA、HAZIDの紹介の後にそれらとオントロジーを組み合わせた具体的な事例について紹介している。

RNNの性能と汎化力を向上させる高度な手法について述べる。ここでは気温を予測する問題を例に、建物の屋上に取り付けられたセンサーから送られてくる気温、気圧、湿度といった時系列データにアクセスする。それらのデータをもちに、最後のデータ点から24時間後の気温を予測するという難易度の高い問題を解き、時系列データを扱う時に直面する課題について述べる。

具体的にはリカレントドロップアウト、リカレント層のスタック等のテクニックを用いて最適化し、GRU(Gated Recurrent Unit)層を利用するアプローチについて述べる。

今回は、ノンパラメトリックベイズモデルの応用として時系列データの構造変化推定について述べる。時系列データを解析する際の一つの問題設定として、データ構造変化推定が考えられる。データの性質の変化を分析する問題は変化点検出として幅広く研究されている重要なテーマとなる。ここでは、ディリクレ過程等の統計モデルを用いた方法について述べる。

基本的なアイデアとしては各データがある確率を持って複数のモデルから生成されていると仮定し、時系列的な生成過程の変化を推定することで、データの構造的な変化を推定する。

予期せぬシステム故障の影響を最小限に抑えるためには,故障診断の効率を向上させる必要がある。古典的な診断技術を考えた場合,予期せぬ事態は局所的な視点,すなわち機器レベルで検出される.しかし,複雑なシステムを考えた場合,システム全体が監視されていない可能性があり,機器と環境の間の相互作用によって性能が変動するため,古典的な手法は役に立たない。

保守担当者は、機械的,電気的,電子的,またはソフトウェア的な性質を持つ複数の技術に基づいて構築された部品の劣化メカニズムに関する知識を使って、症状の発生に基づいて,故障や性能の異常が発生する原因についての仮説を立てる。

それらに対するオントロジーのアプローチを船舶のケースについて述べる

オートエンコーダーを用いた画像の中の異常検知のpythonでの実装を紹介したページ。簡単な例としてMNISTデータでの検知を提示している。

AnoGAN(Anomaly Detection with Generative Adversarial Networks)、ADGAN、EfficientGAN、f-ANOGANを用いた画像情報からの異常検知

AnoGANとはAnomaly Detection with Generative Adversarial Networksの略で英訳の通り、GANを用いて異常検知をするという意味となっています。最初の異常検知の試みとしてAnoGANは認知されているのです。

AnoGANのメカニズムは非常にシンプルで、GANには正常な画像だけ絞って十分に学習を行わせます。これによって識別ネットワークは「正常な画像」が判断できるようになり、「正常な画像ではないもの」=「正常ではない画像」という識別も可能になります。また、異常がある画像を与えられることで、正常か異常かを高度に識別できるようになるため、異常検知が実現されます。

その結果、従来の精密でリアルな画像を作り出すことが主流と考えられていたGANの役割から、画像が異常なのかどうかの判別ができるようになるAnoGANというGANによる異常検知をはじめて提案したとされています。

この背景には、医療現場などが関わっています。例えば特例の病理など、正常な画像はあっても異常な画像のデータセットが少ないパターンが存在しています。最適な学習を行おうと思ってもパターンがなければ検知はできません。そのため正常な画像を学習することで、異常があれば検知するという逆転の発想が生まれたといえるでしょう。

Stan を使うことで、時系列データの変化点を検出することができる。R に組み込まれた時系列データセットの中に、ナイル川の流量データ(Nile)というものがあり、1898 年と 1899 年の間に急に変化したことが知られている。このページではナイル川の流量データを利用して、変化点を検出する方法を示す。

安定してデータを取れているような状況での異常検知の手法として、マハラノビス距離があります。データの次元が大きくなるほど感度が小さくなっていくという特徴があるので、微妙な値の変化を捉えるのは向いていないかもしれませんが、安定したデータにめちゃくちゃな値が入ってくるような状況では力を発揮します。

多変量時系列(MTS)の異常検知を目的として、階層的時間記憶(HTM)とベイジアンネットワーク(BN)に基づくMTSのリアルタイム異常検知アルゴリズム、RADMを提案する。まず、MTSの各一変量時系列(UTS)のリアルタイム異常をHTMモデルで評価する。次に、ナイーブベイズに基づくMTSの異常状態検出モデルを設計し、上記MTSの妥当性を分析する。最後に、クラウドプラットフォームにおける端末ノードのシステム状態のリアルタイム監視事例を考慮し、CPU使用率、ネットワーク速度、メモリ占有率の3元時系列をデータサンプルとして利用し、実験シミュレーションを通じて、本論文で提案するRADMがMTSにおける特定の関連性を利用し、より効果的にシステム異常の判定を行うことを確認する。

本論文では,Fuzzy AdaBoostとDynamic Naive Bayesian Classifierを用いた新しい異常検出手法を提案する.動的ナイーブベイズ分類器は隠れマルコフモデル(HMM)を拡張したものであり、ここではモニタリングプロセスに関連する複数のセンサから生成される多変量観測シーケンスのモデル化に使用されている。ファジーエイダブースト(FAB)法は、複数のDNBCをアンサンブルして、あるインスタンスを異常として分類するために使用される。FABでは、誤判定誤差を算出し、ブースト処理に必要なデータサンプルの重みを更新するために、不確実性の足跡(FOU)を必要とする。本論文では、正規分布に属するデータの統計的資産を用いてFOUの間隔を初期化する手法を紹介する。提案手法の有効性を、油井掘削時に発生するスタックパイプ問題に対するケーススタディを通じて実証する。

T1、T2、P1、F1、Powerは、動作が正常なときに特定の範囲を持つ変数であるとする。システムに異常が発生した場合、これらのパラメータは異常な振る舞いをする。つまり、簡単に言えば、この隠れた異常な挙動をデータから見つけることが、「異常な挙動を見つける」こととなる。

コメント

  1. […] デジタルトランスフォーメーション(DX)に活用される人工知能技術(AI)の一つである異常検知・変化検知技術に対する参考書ある機械学習プロフェッショナルシリーズ「異常検知と変化検知」より。読書メモを記す。 […]

  2. […] デジタルトランスフォーメーション(DX)に活用される人工知能技術(AI)の一つである異常検知・変化検知技術に対する参考書ある機械学習プロフェッショナルシリーズ「異常検知と変化検知」より。前回は異常検知、変化検知のイントロダクションについて述べた。今回はホテリングのT2法による異常検知について述べる。 […]

  3. […] デジタルトランスフォーメーション(DX)に活用される人工知能技術(AI)の一つである異常検知・変化検知技術に対する参考書ある機械学習プロフェッショナルシリーズ「異常検知と変化検知」より。前回はホテリングのT2法による異常検知について述べた。今回は単純ベイズ法による異常検知について述べる。 […]

  4. […] 確率的生成モデルであるベイズ推定での機械学習の概要 近傍法による異常検知-多峰分布への対応とリーマン計量 異常検知と変化検知について […]

  5. […] デジタルトランスフォーメーション(DX)に活用される人工知能技術(AI)の一つである異常検知・変化検知技術に対する参考書ある機械学習プロフェッショナルシリーズ「異常検知と変化検知」より。前回は単純ベイズ法による異常検知について述べた。今回は近傍法による異常検知について述べる。 […]

  6. […] デジタルトランスフォーメーション(DX)に活用される人工知能技術(AI)の一つである異常検知・変化検知技術に対する参考書ある機械学習プロフェッショナルシリーズ「異常検知と変化検知」より。前回は混合分布モデルによる逐次更新型異常検知について述べた。今回はサポートベクトルデータ記述法による異常検知について述べる。 […]

  7. […] デジタルトランスフォーメーション(DX)に活用される人工知能技術(AI)の一つである異常検知・変化検知技術に対する参考書ある機械学習プロフェッショナルシリーズ「異常検知と変化検知」より。前回はサポートベクトルデータ記述法による異常検知について述べた。今回は方向データの異常検知について述べる。 […]

  8. […] デジタルトランスフォーメーション(DX)に活用される人工知能技術(AI)の一つである異常検知・変化検知技術に対する参考書ある機械学習プロフェッショナルシリーズ「異常検知と変化検知」より。前回は方向データの異常検知について述べた。今回はガウス過程回帰による異常検知について述べる。 […]

  9. […] デジタルトランスフォーメーション(DX)に活用される人工知能技術(AI)の一つである異常検知・変化検知技術に対する参考書ある機械学習プロフェッショナルシリーズ「異常検知と変化検知」より。前回はガウス過程回帰による異常検知について述べた。今回は部分空間法による変化検知について述べる。 […]

  10. […] デジタルトランスフォーメーション(DX)に活用される人工知能技術(AI)の一つである異常検知・変化検知技術に対する参考書ある機械学習プロフェッショナルシリーズ「異常検知と変化検知」より。前回は部分空間法による変化検知について述べた。今回は疎構造学習による異常検知について述べる。 […]

  11. […] デジタルトランスフォーメーション(DX)に活用される人工知能技術(AI)の一つである異常検知・変化検知技術に対する参考書ある機械学習プロフェッショナルシリーズ「異常検知と変化検知」より。前回は疎構造学習による異常検知について述べた。今回は密度比推定による異常検知について述べる。 […]

  12. […] デジタルトランスフォーメーション(DX)に活用される人工知能技術(AI)の一つである異常検知・変化検知技術に対する参考書ある機械学習プロフェッショナルシリーズ「異常検知と変化検知」より。前回は密度比推定による異常検知について述べた。今回は密度比推定による変化検知について述べる。 […]

  13. […] 機械学習技術サマリー スパース性を用いた機械学習サマリー 異常検知技術サマリー  説明できる機械学習サマリー […]

  14. […] 機械学習技術サマリー 人工知能技術サマリー デジタルトランスフォーメーション技術サマリー   自然言語処理サマリー 異常・変化検知サマリー オンライン学習サマリー オントロジー技術サマリー 画像情報処理サマリー […]

  15. […] <異常検知と変化検知> […]

  16. […]  ワークフロー&サービス   異常検知と変化検知技術  オントロジー技術  […]

  17. […] 異常検知・変化検知のための様々な機械学習技術に対する概要解説 | Deus Ex Machina より: […]

  18. […] 機械学習技術 確率的生成モデル サポートベクトルマシン スパースモデリング 人工知能技術 異常検知・変化検知技術  関係データ学習  デジタルトランスフォーメーション技術 […]

  19. […] 機械学習技術 確率的生成モデル サポートベクトルマシン スパースモデリング 人工知能技術 異常検知・変化検知技術  関係データ学習  時系列データ解析  デジタルトランスフォーメーション技術 […]

  20. […] 機械学習技術 確率的生成モデル サポートベクトルマシン スパースモデリング 人工知能技術 異常検知・変化検知技術  関係データ学習  時系列データ解析 Rと機械学習  デジタルトランスフォーメーション技術 […]

  21. […] 機械学習技術 確率的生成モデル サポートベクトルマシン スパースモデリング 人工知能技術 異常検知・変化検知技術  関係データ学習  時系列データ解析 シミュレーションと機械学習 デジタルトランスフォーメーション技術 […]

  22. […] 機械学習技術 確率的生成モデル サポートベクトルマシン スパースモデリング 人工知能技術 異常検知・変化検知技術  関係データ学習  時系列データ解析  デジタルトランスフォーメーション技術 […]

  23. […] 機械学習技術 確率的生成モデル サポートベクトルマシン スパースモデリング 人工知能技術 異常検知・変化検知技術  関係データ学習  時系列データ解析 シミュレーションと機械学習 デジタルトランスフォーメーション技術 […]

  24. […] 機械学習技術 確率的生成モデル サポートベクトルマシン スパースモデリング 人工知能技術 異常検知・変化検知技術  関係データ学習  時系列データ解析  デジタルトランスフォーメーション技術 […]

  25. […] 機械学習技術 確率的生成モデル サポートベクトルマシン スパースモデリング 人工知能技術 異常検知・変化検知技術  関係データ学習  時系列データ解析  デジタルトランスフォーメーション技術 […]

  26. […] 機械学習技術 確率的生成モデル サポートベクトルマシン スパースモデリング 人工知能技術 異常検知・変化検知技術  関係データ学習  時系列データ解析 シミュレーションと機械学習 デジタルトランスフォーメーション技術 […]

  27. […] 機械学習技術 確率的生成モデル サポートベクトルマシン スパースモデリング 人工知能技術 異常検知・変化検知技術  関係データ学習  時系列データ解析 Rと機械学習  デジタルトランスフォーメーション技術 […]

  28. […] 機械学習技術 確率的生成モデル サポートベクトルマシン スパースモデリング 人工知能技術 異常検知・変化検知技術  関係データ学習  時系列データ解析 Rと機械学習  デジタルトランスフォーメーション技術 […]

  29. […] 上記以外の様々な異常検知技術に関しては”異常検知と変化検知技術“に述べているそちらも参照のこと。また、参考図書としては”機械学習プロフェッショナルシリーズ「異 […]

  30. […] 人工知能技術 デジタルトランスフォーメーション技術 自然言語処理 異常・変化検知 オンライン学習 オントロジー技術 画像情報処理 […]

  31. […] 関係データ学習 サポートベクトルマシン スパースモデリング 異常検知・変化検知技術 時系列データ解析 経済とビジネス […]

  32. […] 関係データ学習 サポートベクトルマシン スパースモデリング 異常検知・変化検知技術 時系列データ解析 経済とビジネス […]

  33. […] セントロイドとデータポイントの距離を計算し、異常なデータポイントを検出するのに利用することができる。異常検知全般に関しては”異常検知と変化検知技術“を参照のこと。 […]

  34. […] 統計的な仮説検定(Statistical Hypothesis Testing)は、統計学の中で、ある仮説が真であるかどうかを確率的に評価する手法であり、統計手法の評価に用いられるだけではなく、機械学習においても、予測の信頼性評価やモデルの選択と評価に用いられたり、”説明できる機械学習“でも述べているような特徴選択の評価に用いられたり、”異常検知と変化検知技術“で述べている様な正常と異常の判別性能の検証などで用いられるなど、基本的な技術となっている。ここでは、この統計的な仮説検定に関して、様々な手法とそれらの具体的な実装例について述べている。 […]

  35. […] 異常検知技術の詳細に関しては”異常検知と変化検知技術“を参照のこと。 […]

  36. […] 統計的な仮説検定(Statistical Hypothesis Testing)は、統計学の中で、ある仮説が真であるかどうかを確率的に評価する手法であり、統計手法の評価に用いられるだけではなく、機械学習においても、予測の信頼性評価やモデルの選択と評価に用いられたり、”説明できる機械学習“でも述べているような特徴選択の評価に用いられたり、”異常検知と変化検知技術“で述べている様な正常と異常の判別性能の検証などで用いられるなど、基本的な技術となっている。ここでは、この統計的な仮説検定に関して、様々な手法とそれらの具体的な実装例について述べている。 […]

  37. […] これは例えば、外れ値検出や欠損値補完の手法を適用することで、不正確なデータを修正するようなものがある(異常検知技術の詳細は”異常検知と変化検知技術“を参照のこと)。 […]

  38. […] 知識情報処理 グラフデータアルゴリズム 関係データ学習 推薦技術 異常検知・変化検知技術 時系列データ解析 python […]

  39. […] 一般的な機械学習とデータ分析 Clojure 異常検知・変化検知技術 関係データ学習 時系列データ解析 […]

  40. […] 関係データ学習 サポートベクトルマシン スパースモデリング 異常検知・変化検知技術 時系列データ解析 […]

  41. […] 関係データ学習 サポートベクトルマシン スパースモデリング 異常検知・変化検知技術 時系列データ解析 […]

  42. […] 知識情報処理 グラフデータアルゴリズム 関係データ学習 推薦技術 異常検知・変化検知技術 時系列データ解析 python […]

  43. […] 統計的な仮説検定(Statistical Hypothesis Testing)は、統計学の中で、ある仮説が真であるかどうかを確率的に評価する手法であり、統計手法の評価に用いられるだけではなく、機械学習においても、予測の信頼性評価やモデルの選択と評価に用いられたり、”説明できる機械学習“でも述べているような特徴選択の評価に用いられたり、”異常検知と変化検知技術“で述べている様な正常と異常の判別性能の検証などで用いられるなど、基本的な技術となっている。ここでは、この統計的な仮説検定に関して、様々な手法とそれらの具体的な実装例について述べている。 […]

  44. […] 深層学習技術 ノンパラメトリックベイズとガウス過程 異常検知と変化検知技術 時系列データ解析 Python R言語  Java Clojure […]

タイトルとURLをコピーしました