異常検知連載シリーズその1

異常検知連載シリーズその1

深層学習(ディープラーニング)による異常検知

こんにちは。スキルアップAIでインターンをしている岩永です。大学院では、ディープラーニングを用いた異常検知の研究をしています。

近年の深層学習の発展は目覚ましく、多くの分野で活用が進んでいます。この動きは異常検知の分野でも同様で、異常検知に深層学習を用いた事例が増えています。そこで、本ブログでは、近年注目されている深層学習による異常検知について、今回から4回にわたって解説していきます。第1回目の本記事では、深層学習による異常検知について概括的に解説していきます。(深層学習による異常検知の記事一覧はこちら

1.機械学習による異常検知

異常検知とは、データに対して正常か異常かを判定することです。具体的には、図1に示すような、交通違反者の検出や病気の検出、マルウェアの検出、IoTでの外れ値の検出などが挙げられます。

図1. 異常検知の事例(参考文献[1]より引用)

従来の機械学習による異常検知では、まず、混合ガウスモデルなどによって、大量の正常データから正常データの分布をモデリングします。次に、観測したデータが得られた正常データの分布からどれだけ離れているかによって異常を判別します。混合ガウスモデルとは、データを複数の正規分布の重ね合わせで表現する手法です。

混合ガウスモデルを用いた異常検知のイメージを図2に示します。この例では、3つの正規分布の重ね合わせで正常データ(青色の点)の分布を表現し、その分布から外れたデータ(オレンジ色の点)を異常と判定しています。

図2. 混合ガウスモデルによる異常検知のイメージ

しかし、この混合ガウスモデルのような従来の方法では、画像や自然言語のような高次元のデータに対しては、その特徴をうまく捉えることができず、正常データの分布を適切に推定することができませんでした。

この課題を解決してくれるのが深層学習です。異常検知に深層学習を利用した手法はいくつも提案されていますが、それらの手法は大きく3つのアプローチに分けられます。図3に3つのアプローチを示し、それのアプローチに該当する具体的な手法名を図4に示します。

図3. 深層学習による異常検知の3つのアプローチ

図4. 各アプローチに該当する手法名

ここからは、図3の3つのアプローチについて解説していきます。

2.自己符号化器による異常検知

自己符号化器[2]は、2006年にHintonらによって発表されました。自己符号化器は、入力されたデータから特徴を抽出するエンコーダと抽出した特徴からデータを復元するデコーダで構成され、入力データと全く同じデータを復元するように学習されます。このときの、入力データと復元データの差分を復元誤差と言います。

自己符号化器による異常検知の模式図を図5に示します。自己符号化器による異常検知では、まず、正常データだけで自己符号化器を学習させます。次に、判定したいデータを学習済みの自己符号化器に入力し、復元誤差を算出します。このとき、学習済みの自己符号化器は、正常データで学習されているため、当然ながら正常の特徴は復元できます。しかし、異常のデータでは学習されていないため、異常の特徴は上手く復元できません。そのため、異常のデータに対しては復元誤差が大きくなります。

図5. 自己符号化器による異常検知

3.敵対的生成ネットワークによる異常検知

敵対的生成ネットワーク(generative adversarial networks:GAN)[3]は、2014年にGoodfellowらによって発表されました。敵対的生成ネットワークの仕組みについては、 以前の記事をご参照ください。

敵対的生成ネットワークによる異常検知のベースとなるアイデアは、自己符号化器による異常検知と似ていて、「正常データのみで学習させた敵対的生成ネットワークは異常データを表現できない」というものです。
敵対的生成ネットワークを異常検知に応用した手法の先駆けであるAnoGAN[4]では、判定したい画像に似た画像を生成するためのノイズを勾配法によって求めます。勾配法によって求めたノイズから画像を生成した後、テスト画像と生成画像の差分とどの程度識別器をだませているかによって異常度を算出します。図6にAnoGANによる異常検知の模式図を示します。

図6 . AnoGANによる異常検知の模式図

4.ハイブリッドモデルよる異常検知

画像や自然言語などのデータは次元が高すぎるため、上手く異常検知ができないという問題がありました。「次元が高すぎるのであれば、深層学習を用いて次元を減らせばいい」というのがハイブリッドモデルに共通する発想です。ハイブリッドモデルでは、その名称に表れているように、深層学習と従来の異常検知モデルを組み合わせて、異常検知を行います。
図7にハイブリッドモデルによる異常検知の模式図を示します。ハイブリッドモデルではまず、深層学習の何らかのモデルによって特徴を抽出(次元削減)します。取り出された特徴は、入力データの次元数よりも圧倒的に少ない次元数で表現されます。この抽出された特徴を混合ガウスモデルなどの従来の機械学習モデルに入力データとして渡します。ほとんどのハイブリッドモデルでは、この一連の流がエンドトゥエンド(end to end)で実装されます。

図7. ハイブリッドモデルによる異常検知

5.もっと詳しく学びたい方へ

本記事では、深層学習による異常検知について、概括的に解説しました。スキルアップAIの現場で使える異常検知基礎講座では、機械学習による異常検知について、実務ですぐに使える知識を学ぶことができます。是非ともご検討ください。また、深層学習について詳しく学びたい方は、現場で使えるディープラーニング基礎講座もご検討ください。

第2回はこちら
深層学習(ディープラーニング)による異常検知の記事一覧はこちら

6.参考文献

[1] Raghavendra Chalapathy, and Sanjay Chawla: DEEP LEARNING FOR ANOMALY DETECTION: A SURVEY, arXiv preprint arXiv:1901.03407(2019)

[2] G. E. Hinton and R. R. Salakhutdinov: Reducing the dimensionality of data with neural networks, science, vol. 313, no. 5786, pp. 504-507 (2006).

[3] I. J. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. WardeFarley, S. Ozair, A. Courville, and Y. Bengio: Generative adversarial nets, In Advances in Neural Information Processing Systems 27, pp. 2672–2680. (2014).

[4] T. Schlegl, P. Seeböck, S. M. Waldstein, U. Schmidt-Erfurth, and G. Langs: Unsupervised anomaly detection with generative adversarial networks to guide marker discovery, In International Conference on Information Processing in Medical Imaging, pp. 146–157. (2017).

関連する講座

Page Top