最終更新日:
【敵対的生成ネットワークによる異常検知】異常検知連載シリーズその3
こんにちは。スキルアップAIの岩永です。私は現在、ディープラーニングを用いた異常検知の研究をしています。
「【深層学習(ディープラーニング)による異常検知】異常検知連載シリーズその1」において、深層学習による異常検知は、大きく3つのアプローチに分けられるという話をしました。第3回となる本記事では、それらアプローチのうちの1つである、敵対的生成ネットワーク(Generative Adversarial Network; GAN)による異常検知に焦点を当て、その派生手法を紹介していきます。敵対的生成ネットワークによる異常検知の基本的な考え方については、第1回の記事をご参照ください。
深層学習(ディープラーニング)による異常検知に関する記事一覧
【入門】異常検知とは|意味や事例、メリット、代表的な手法、導入課題を解説
1.敵対的生成ネットワークによる異常検知
第1回の記事で、AnoGANによる異常検知の概要をご紹介しました。AnoGANでは、テスト画像1枚ごとに勾配法を実行する必要があるため、推論に時間がかかるという課題がありました。そのため、AnoGAN以降に発表された手法では、推論を高速に行うための工夫が取り入れられています。
近年の敵対的生成ネットワークによる異常検知の手法は主に4つあります。
- AnoGAN
- ADGAN
- EfficientGAN
- f-AnoGAN
次の章から、AnoGAN以外の3つの手法について解説していきます。
図1. 敵対的生成ネットワークによる異常検知における主な手法
2.ADGAN
図2にADGAN[1]による異常検知の模式図を示します。AnoGANでは推論時にノイズを勾配法によって更新しますが、ADGANではノイズだけでなく生成器のパラメータも推論時に更新します。生成器のパラメータも更新することによって、生成器が生成する画像をテスト画像により近づけることができます。これにより、少ない回数で最適なノイズを見つけることができるようになります。
図2. ADGANによる異常検知の模式図
3.Efficient-GAN
Efficient-GAN[2]では、画像からノイズを生成するエンコーダを導入したモデルであるBiGAN [3]を用いて異常検知を行います。図3にBiGANの構造を示します。BiGANでは、ノイズから画像を生成することを学習するのと同時に、画像からノイズを生成することを学習します。これが、双方向な学習であることから、BiGAN(Bidirectional Generative Adversarial Networks)と名付けられました。図3におけるEがエンコーダです。
図3 . BiGANの構造(参考文献[3]より引用)
図4にEfficient-GANの推論時の模式図を示します。Efficient-GANによる異常検知の手順は次の通りです。
- 正常画像でBiGANを学習
- テスト画像xをエンコーダに入力し、ノイズE(x)を生成
- 2で生成したノイズE(x)を生成器Gに入力し、画像G(E(x))を生成
※テスト画像xが異常画像の場合、正しく復元することができません。 - テスト画像xと生成画像G(E(x))の両方を識別器に入力して、異常度A(x)を算出
図4. Efficient-GANの推論時の模式図
4.f-AnoGAN
Efficient-GANでは、生成器や識別器の学習と同時に、エンコーダを学習しましたが、f-AnoGAN[4]では、生成器と識別器を学習させた後、別にエンコーダを学習させます。f-AnoGANでは、3つのアーキテクチャが提案されていますが、本記事では、一番性能が良いとされるimage-z-image-fast(izif)アーキテクチャについて解説します。
図5にizifアーキテクチャによる異常検知の模式図を示します。f-AnoGAN のizifアーキテクチャによる異常検知の手順は次の通りです。
- 正常画像で敵対的生成ネットワークを学習
- 生成器Gと識別器Dのパラメータを固定し、生成器Gが元の正常画像を復元できるように、エンコーダEを学習
- テスト画像xをエンコード・デコードし、画像G(E(x))を生成
※テスト画像xが異常画像の場合、正しく復元することができません。 - テスト画像xと生成画像G(E(x))を用いて、異常度AR(x)とAD(x)を算出
図5. f-AnoGAN(izifアーキテクチャ)による異常検知の模式図
(参考文献[4]より引用)
5.もっと詳しく学びたい方へ
本記事では敵対的生成ネットワークによる異常検知について、概括的に解説しました。スキルアップAIの現場で使える異常検知基礎講座では、機械学習による異常検知について、実務で使える知識を学ぶことができます。是非ともご検討ください。また、深層学習について詳しく学びたい方は、現場で使えるディープラーニング基礎講座もご検討ください。
第2回:【自己符号化器による異常検知】異常検知連載シリーズその2
第4回:【ハイブリッドモデルによる異常検知】異常検知連載シリーズその4
深層学習(ディープラーニング)による異常検知の記事一覧
また、スキルアップAIでは毎週水曜日に実践的AI勉強会「スキルアップAIキャンプ」を開催しています。勉強会では、様々な実践的テーマを取り上げ、データ分析・AI開発の実務力アップにつながるヒントをご提供します。講師が参加者の皆さんからの質問や悩みに答えるコーナーもあります。
興味がある方はぜひ参加してみてください!
6.参考文献
[2] H. Zenati, C. S. Foo, B. Lecouat, G. Manek, and V. R. Chandrasekhar: Efficient gan-based anomaly detection, In International Conference on Learning Representations, (2018).
[3] J. Donahue, P. Krähenbühl, and T. Darrell: Adversarial feature learning. In International Conference on Learning Representations, (2017)
[4] T. Schlegl, P. Seebock, S. M. Waldstein, G. Langs, and U. Schmidt-Erfurth: f-anogan: Fast unsupervised anomaly detection with generative adversarial networks, Medical image analysis, vol. 54, pp. 30–44, (2019).
【監修】スキルアップAI 取締役CTO 小縣信也
AI指導実績は国内トップクラス。「太陽光発電発電量予測および異常検知」など、多数のAI開発案件を手掛けている。日本ディープラーニング協会主催2018E資格試験 優秀賞受賞、2019#1E資格試験優秀賞受賞。著書「徹底攻略ディープラーニングE資格エンジニア問題集」(インプレス)。
配信を希望される方はこちら
また、SNSでも様々なコンテンツをお届けしています。興味を持った方は是非チェックしてください♪
公開日: