- 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
내용 요약
세 가지 다른 상황에서 적용 가능한 Anomaly Detection 방법론을 제안합니다. 가장 기본적인 방법으로 Contrastive Learning과 Clustering, 그리고 Mahalanobis Distance Scoring을 사용합니다. 추가로 Few Shot AD와 Label을 사용할 수 있는 방법을 제안합니다.
1. 들어가며
이번 글에서는 2021년 ICLR에서 발표된 SSD: A UNIFIED FRAMEWORK FOR SELFSUPERVISED OUTLIER DETECTION 논문을 리뷰합니다. 이 논문은 SSD라고 불리며, 이번 글에서도 SSD라고 지칭하겠습니다. Anomaly Detection에 관한 기본적인 내용은 Anomaly Detection에 관한 모든 것 글을 참고해주세요.
2. 제안 방법
바로 제안 방법을 살펴보겠습니다. 저자들은 총 세 가지 형태의 방법을 제안하고 있습니다. 하나씩 살펴보겠습니다.
2-1. Unsupervised Outlier Detection (SSD)
첫 번째 방식은 일반적인 anomaly detection 조건인 unsupervised learning 방식입니다. 즉 train 데이터로 타깃 클래스의 normal 데이터만 사용할 수 있는 경우입니다. 방식은 다음과 같습니다.
2-1-1. Contrastive Self Supervised Learning
먼저 학습 방법입니다. 학습은 contrastive self supervised loss로 학습합니다.
이는 label을 사용하지 않고도 representation learning을 극대화합니다.
2-1-2. K-means Clustering
다음은 학습이 완료된 모델로 테스트하는 상황을 살펴보겠습니다. N개의 train normal feature를 먼저 k개의 클러스터로 구분합니다. 이때 k-means clustering 알고리즘을 사용합니다.
2-1-3. Anomaly Score
최종적으로 test data의 anomaly score는 클러스터별 feature의 mahalanobis distance로 측정합니다. 한 개의 데이터당 k개의 mahalanobis distance가 나올 것이고, 이 중 최소 거리를 해당 데이터의 anomaly score로 사용합니다.
2-2. Few Shot OOD Detection (SSDk)
다음 상황은 몇 개의 anomal sample을 학습 때 사용할 수 있는 조건인 few shot learning입니다.
2-2-1. Anomaly Score
이때 anomaly score는 마찬가지로 mahalanobis distance로 측정합니다. Normal sample distribution에서 멀어질수록, anomal sample distribution에서는 가까울수록 anomaly score를 높게 측정합니다. 이를 식으로 표현하면 다음과 같습니다.
2-2-2. Challenge
위의 식을 바로 사용하려면 문제가 있습니다. Few anomal sample만을 사용하기에 anomal sample의 covariance를 정확하게 측정하기 어렵다는 것입니다. 따라서 covariance를 신뢰할 수 없으니 mahalanobis distance를 사용할 수 없습니다.
2-2-3. Shrunk Covariance Estimators And Data Augmentation
이에 대한 해결책으로 두 가지 방법을 제시합니다.
한 가지는 covariance 대신 shrunk covariance를 사용하는 것입니다.
두 번째는 data augmentation을 통해 few shot의 anomal sample을 많이 만들어내는 것입니다.
이렇게 확장시킨 anomal data distribution U에 대해 anomaly score를 측정하면 다음과 같습니다.
2-3. Using Data Labels (SSD+)
이제 마지막으로 in-distribution의 data label을 사용할 수 있는 상황에서의 적용 방법입니다.
2-3-1. Conventional Approach
기존의 접근 방식은 supervised learning + self supervised learning을 사용했습니다.
2-3-2. SSD+ Approach
SSD+ 에서는 이 대신 supervised learning과 self supervised learning의 장점을 결합한 supervised contrastive learning을 사용합니다.
3. 실험 결과
다음은 이렇게 제안한 방법의 실험 결과를 살펴보겠습니다.
3-1. Unsupervised Learning Setting
먼저 일반적인 SSD 방식의 세팅에서의 실험 결과입니다.
비교 방법론들은 다음과 같습니다.
- Autoencoder : Outlier detection using replicator neural networks. In International Conference on Data Warehousing and Knowledge Discovery, pp. 170–180. Springer, 2002.
- VAE : Auto-encoding variational bayes. In Yoshua Bengio and Yann LeCun (eds.), 2nd International Conference on Learning Representations, ICLR 2014
- PixelCNN++ : Pixelcnn++: Improving the pixelcnn with discretized logistic mixture likelihood and other modifications. In International Conference on Learning Representations, 2017.
- Deep-SVDD : [ICML 2018] Deep one-class classification.
- Rotation-loss : [ICLR 2018] UNSUPERVISED REPRESENTATION LEARNING BY PREDICTING IMAGE ROTATIONS
- CSI : [NIPS 2020] Csi: Novelty detection via contrastive learning on distributionally shifted instances.
3-2. Few Shot Setting
다음으로 few shot setting에서의 실험 결과입니다.
결과를 보면 supervised 방식보다 좋은 결과를 보이는 경우도 있습니다.
3-3. Using Data Labels Setting
다음은 data label을 사용할 수 있을 때의 실험 결과입니다.
비교 방법론들은 다음과 같습니다.
- Softmax-probs : A baseline for detecting misclassified and out-of-distribution examples in neural networks. In International Conference on Learning Representations, 2017.
- ODIN : Enhancing the reliability of out-of-distribution image
- detection in neural networks. In International Conference on Learning Representations, 2018.
- Mahalanobis : A simple unified framework for detecting out-of-distribution samples and adversarial attacks. In Advances in Neural Information Processing Systems, pp. 7167–7177, 2018b.
- Residual Flows : Deep residual flow for novelty detection. arXiv preprint arXiv:2001.05419, 2020.
- Gram Matrix : Detecting out-of-distribution examples with indistribution examples and gram matrices. arXiv preprint arXiv:1912.12510, 2019.
- Outlier exposure : Deep anomaly detection with outlier exposure. In International Conference on Learning Representations, 2019a.
- Rotation-loss + supervised : [NIPS 2019] Using Self-Supervised Learning Can Improve Model Robustness and Uncertainty
- Contrastive + supervised : Contrastive training for improved out-of-distribution detection. arXiv preprint arXiv:2007.05566, 2020.
- CSI : [NIPS 2020] Csi: Novelty detection via contrastive learning on distributionally shifted instances.
- SSDk+ : SSDk + SSD+