![見出し画像](https://assets.st-note.com/production/uploads/images/53764654/rectangle_large_type_2_b8b1a471d3b0df485dd51c4ce082d32a.jpg?width=1200)
【敵対的生成ネットワークによる異常検知】異常検知連載シリーズその3
こんにちは。スキルアップAI編集部です。
第1回の記事において、深層学習による異常検知は、大きく3つのアプローチに分けられるという話をしました。第3回となる本記事では、それらアプローチのうちの1つである、敵対的生成ネットワーク(Generative Adversarial Network; GAN)による異常検知に焦点を当て、その派生手法を紹介していきます。敵対的生成ネットワークによる異常検知の基本的な考え方については、第1回の記事をご参照ください。
第2回はこちら
深層学習(ディープラーニング)による異常検知に関するブログ一覧はこちら
1.敵対的生成ネットワークによる異常検知
第1回の記事で、AnoGANによる異常検知をご紹介しました。AnoGANでは、テスト画像1枚ごとに勾配法を実行する必要があるため、推論に時間がかかるという課題がありました。そのため、AnoGAN以降に発表された手法では、推論を高速に行うための工夫が取り入れられています。
図1に近年の敵対的生成ネットワークによる異常検知における主な手法を示します。ここからは、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による異常検知の手順は次の通りです。
1.正常画像でBiGANを学習
2.テスト画像xをエンコーダに入力し、ノイズE(x)を生成
3.2で生成したノイズE(x)を生成器Gに入力し、画像G(E(x))を生成
※テスト画像xが異常画像の場合、正しく復元することができません。
4.テスト画像xと生成画像G(E(x))の両方を識別器に入力して、異常度A(x)を算出
図4. Efficient-GANの推論時の模式図
4.f-AnoGAN
Efficient-GANでは、生成器や識別器の学習と同時に、エンコーダを学習しましたが、f-AnoGAN[4]では、生成器と識別器を学習させた後、別にエンコーダを学習させます。f-AnoGANでは、3つのアーキテクチャが提案されていますが、本記事では、1番性能が良いとされるimage-z-image-fast(izif)アーキテクチャについて解説します。
図5にizifアーキテクチャによる異常検知の模式図を示します。f-AnoGAN のizifアーキテクチャによる異常検知の手順は次の通りです。
1.正常画像で敵対的生成ネットワークを学習
2.生成器Gと識別器Dのパラメータを固定し、生成器Gが元の正常画像を復元できるように、エンコーダEを学習
3.テスト画像xをエンコード・デコードし、画像G(E(x))を生成
※テスト画像xが異常画像の場合、正しく復元することができません。
4.テスト画像xと生成画像G(E(x))を用いて、異常度AR(x)とAD(x)を算出
図5. f-AnoGAN(izifアーキテクチャ)による異常検知の模式図
(参考文献[4]より引用)
5.もっと詳しく学びたい方へ
本記事では敵対的生成ネットワークによる異常検知について、概括的に解説しました。スキルアップAIの現場で使える異常検知基礎講座では、機械学習による異常検知について、実務で使える知識を学ぶことができます。是非ともご検討ください。また、深層学習について詳しく学びたい方は、現場で使えるディープラーニング基礎講座もご検討ください。
第4回はこちら
深層学習(ディープラーニング)による異常検知に関するブログ一覧はこちら
6.参考文献
[1] D. Lucas, V. A. Robert, R. Lukas, M. Stephan, and K. Marius: Image anomaly detection with generative adversarial networks, In European Conference on Machine Learning and Knowledge Discovery in Databases, (2018).
[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).