- Anomaly Detection 설명 – 정의, 특성, 활용 방안, 연구 흐름
- [One Class Classification 방식의 Anomaly Detection]
- [18′ ICML] Deep SVDD : Deep One-Class Classification
- [20′ ICLR] DEEP SEMI-SUPERVISED ANOMALY DETECTION (Deep SAD) 핵심 리뷰
- [20′ ACCV] Patch SVDD : Patch-level SVDD for Anomaly Detection and Segmentation
- [21′ ICLR] EXPLAINABLE DEEP ONE-CLASS CLASSIFICATION (FCDD) 핵심 리뷰
- [Reconstruction 방식의 Anomaly Detection]
- [17′ IPMI] AnoGAN : Unsupervised Anomaly Detection with Generative Adversarial Networks to Guide Marker Discovery
- [18′ ACCV] GANomaly : Semi-Supervised Anomaly Detection via Adversarial Training
- [20′ ECCV] Attention Guided Anomaly Localization in Images (CAVGA) 핵심 리뷰
- [21′ ICCV] Devide and Assemble : Learning Block-wise Memory for Unsupervised Anomaly Detection 핵심 리뷰
- [21′ ICCV] Learning Unsupervised Metaformer for Anomaly detection 핵심 리뷰
- [22′ CVPR] SSPCAB : Self-Supervised Predictive Convolutional Attentive Block for Anomaly Detection 핵심 리뷰
- [Pretrained Feature Matching 방식의 Anomaly Detection]
- [20′ Arxiv] SPADE : Sub-Image Anomaly Detection with Deep Pyramid Correspondences
- [20′ ICPR] Mahalanobis AD : Modeling the Distribution of Normal Data in Pre-Trained Deep Features for Anomaly Detection
- [21′ ICPR] PaDiM : a Patch Distribution Modeling Framework for Anomaly Detection and Localization
- [22′ CVPR] PatchCore : Towards Total Recall in Industrial Anomaly Detection
- [Normalizing Flow 방식의 Anomaly Detection]
- [20′ NIPS] Why Normalizing Flows Fail to Detect Out-of-Distribution Data 핵심 리뷰
- [21′ WACV] Same Same But DifferNet: Semi-Supervised Defect Detection with Normalizing Flows 핵심 리뷰
- [22′ WACV] CFLOW-AD: Real-Time Unsupervised Anomaly Detection with Localization via Conditional Normalizing Flows 핵심 리뷰
- [22′ WACV] Fully Convolutional Cross-Scale-Flows for Image-based Defect Detection (CS-Flow) 핵심 리뷰
- [21′ arxiv] FastFlow: Unsupervised Anomaly Detection and Localization via 2D Normalizing Flows 핵심 리뷰
- [Self Supervised Learning 방식의 Anomaly Detection]
- [18′ NIPS] Deep Anomaly Detection Using Geometric Transformations (GEOM) 핵심 리뷰
- [19′ NIPS] SSL-AD : Using Self-Supervised Learning Can Improve Model Robustness and Uncertainty 핵심 리뷰
- [20′ ICLR] CLASSIFICATION-BASED ANOMALY DETECTION FOR GENERAL DATA (GEOD) 핵심 리뷰
- [20′ NIPS] CSI: Novelty Detection via Contrastive Learning on Distributionally Shifted Instances
- [21′ ICLR] SSL-OCC : Learning and evaluating representations for deep one class classification 핵심 리뷰
- [21′ ICCV] Hierarchical Transformation AD : A Hierarchical Transformation-Discriminating Generative Model for Few Shot Anomaly Detection 핵심 리뷰
- [21′ ICLR] SSD: A UNIFIED FRAMEWORK FOR SELFSUPERVISED OUTLIER DETECTION 핵심 리뷰
- [Knowledge Distillation 방식의 Anomaly Detection]
- [20′ CVPR] Uninformed Students: Student–Teacher Anomaly Detection with Discriminative Latent Embeddings
- [21′ Arxiv] Student Teacher AD : Student-Teacher Feature Pyramid Matching for Unsupervised Anomaly Detection
- [21′ CVPR] Multiresolution Knowledge Distillation for Anomaly Detection
- [22′ CVPR] Reverse Distillation AD : Anomaly Detection via Reverse Distillation from One-Class Embedding
- [Synthetic Anomaly 방식의 Anomaly Detection]
- [21′ ICCV] DRAEM : A discriminatively trained reconstruction embedding for surface anomaly detection
- [21′ CVPR] CutPaste: Self-Supervised Learning for Anomaly Detection and Localization
내용 요약
One Class Deep SVDD를 Semi Supervised Learning 방식으로 확장한 Deep SAD 방법을 설명합니다.
1. 들어가며
이번 글에서는 2020년 ICLR에서 발표된 DEEP SEMI-SUPERVISED ANOMALY DETECTION 논문을 리뷰합니다. 이 논문은 Deep SAD라고 불리며, 이번 글에서도 Deep SAD라고 지칭하겠습니다. Anomaly Detection에 관한 기본적인 내용은 Anomaly Detection에 관한 모든 것 글을 참고해주세요.
2. 제안 방법
바로 제안 방법을 살펴보겠습니다.
2-1. Unsupervised deep SVDD
먼저 Deep SAD의 근간이 되는 One Class Deep SVDD 구조를 보겠습니다.
Deep SVDD는 Normal Data에 대해 Center c를 중심으로 하는 Hypersphere의 크기가 최소화되도록 학습합니다. 따라서 학습 Loss는 다음과 같습니다.
학습이 완료된 뒤 Test 단계에서 Anomaly Score는 Hypersphere Center c와의 거리로 측정합니다.
2-2. Deep SAD
이제 Deep SAD의 제안 방법을 살펴보겠습니다. Deep SAD는 OC-Deep SVDD를 semi-supervised 방식으로 확장시킨 방법인데요. 전제는 다음과 같습니다.
- 데이터는 unlabeled data와 약간의 labeled data가 존재
- unlabeled data의 대부분은 normal
Unlabeled sample들은 x, labeled sample들은 x~라고 하겠습니다. 이때의 normal data y~ = 1, unnormal data y~ = -1 일때 Deep SAD의 Loss Function은 다음과 같이 정의됩니다.
이를 해석하면 다음과 같습니다.
- unlabeled data는 center c로 모여라 (첫 번째 항)
- labeled normal data도 center c로 모여라 (두 번째 항)
- labeled unnormal data는 c에서 멀어져라 (두 번째 항)
3. 실험 결과
다음은 이렇게 제안한 방법의 실험 결과를 살펴보겠습니다.
3-1. MNIST, Fashion-MNIST, CIFAR10
먼저 MNIST, Fashion-MNIST, CIFAR10 데이터셋에 대한 anomaly detection 실험 결과를 보겠습니다. 실험은 크게 세 가지 시나리오로 구성되었습니다.
비교 방법론은 다음과 같습니다.
- OC-SVM : [Neural computation 2001] Estimating the Support of a High-Dimensional Distribution.
- Deep SVDD : [ICML 2018] Deep one-class classification.
- SSAD : [Journal of Artificial Intelligence Research 2013] Toward supervised anomaly detection.
- supervised
첫 번째 실험은 9개의 anomaly class 중 한 개 클래스만 골라서 anomal labeled data를 추가하며 실험입니다. 실험 결과는 다음과 같습니다.
1번 실험을 보면 deep SAD모델은 CIFAR10에서 엄청 잘하는 모습을 볼 수 있습니다.
두 번째 실험은 unlabeled data에 anomal data를 섞어가며 얼마나 robust 한 지를 알아보는 실험입니다. 실험 결과는 다음과 같습니다.
2번 실험 결과를 보면 다른 모델들은 Pollution에 민감하게 반응하는데 비해 Deep SAD는 비교적 robust 한 모습입니다. 반면 supervised 방식은 labeled 데이터 개수에 매우 민감하게 반응하는 모습입니다.
세 번째 실험은 1번 실험과 달리 9개의 anomaly class를 랜덤으로 anomal labeled data에 포함한 실험입니다. 실험 결과는 다음과 같습니다.
3번 실험 결과를 보면 labeled anomaly class가 다양할수록 더 좋은 성능을 보입니다.