KDD23에 accept된 Deep weakly supervised anomaly detection 논문을 리뷰하려고 한다. Real-world에서는 기존에 많이 연구되는 normal만으로 training하는 setting보다 labeled anomaly도 일부 존재하는 상황이 있을 수 있다. 하지만 일부의 labeled anomaly이 전체 anomaly를 잘 대표하는 값들로 샘플링되지 않을 확률이 높다. 해당 논문은 seen anomaly가 전체 anomaly를 대표하지 못하는 경우를 가정한다. 상황도 납득이 가고 data pair를 3가지 조합으로 만들어 학습의 다양성을 높이고 조합에 따라 점수를 다르게 주어 학습한다는 점이 신박하고 쉬워서 재밌게 읽었다.
Introduction
이상 탐지(Anomaly Detection, AD)는 정상 데이터에서 벗어난 예외적인 데이터를 식별하는 것을 목표로 하며, 사이버 범죄 방지(예: 네트워크 침입), 사용자 이상 행동 탐지(예: 사기 계정/리뷰), 웹 광고 남용 탐지, 약물 부작용 감지 등 다양한 분야에서 중요한 역할을 한다. 기존 이상 탐지 방법은 대부분 비지도 학습 기반으로, 라벨링 비용을 절감할 수 있는 장점이 있지만, 이상 데이터의 특성을 학습하지 못해 탐지 오류가 높아지는 한계를 가진다. 반면, 최근 연구된 반지도 학습 기반 방법들은 소수의 라벨이 있는 이상 샘플을 활용해 탐지 성능을 향상시키려 하지만, 훈련 데이터에 포함되지 않은 새로운 유형의 이상(unseen anomalies)에 대한 일반화가 어렵다는 문제가 있다. 이를 해결하기 위해, 본 연구에서는 약지도(weakly-supervised) 이상 탐지, 또는 오픈셋 (supervised open-set) 이상 탐지 문제를 다루며, 보았던 이상과 보지 못한 이상을 모두 탐지할 수 있는 PReNet (Pairwise Relation prediction Network)을 제안한다.
Related work
Toward supervised anomaly detection
관련 연구로 기존 semi-supervised AD기법들이 있다. 가장 연관성 있는 연구인 DeepSAD, DevNet은 좋은 성능을 보였으나 이상샘플이 훈련중 제한적이고 overfitting 위험이 존재하는 한계가 있다. 이를 해결하기 위해 weakly-supervised, supervised open-set 연구들이 등장하고 있고 해당 연구들은 보지 못한 이상샘플까지 탐지하도록 설계되었으며 본 연구도 이러한 방향을 따른다. 또한 본 연구는 few-shot learning 및 Positive and Unlabeled data, PU learning과도 관련이 있다. 하지만 few-shot, PU learning은 소수의 레이블이 있는 샘플이 동일한 클래스 구조를 공유한다고 가정하는 반면, 우리는 새롭게 발견된 이상샘플이 서로 완전히 다른 클래스 구조를 가질 수 있다는 점에서 차이가 있다.
Deep anomaly detection
Deep learning기반 이상탐지는 비선형관계를 효과적으로 포착한다. 하지만 여전히 주로 표현 학습(feature representation learning)에 초점을 맞추고 있으며, 직접적인 이상 탐지 점수를 최적화하는 방식은 아니다. 이에 반해, 본 연구는 표현 학습과 이상 점수 최적화를 통합한(end-to-end) 새로운 방식을 제안한다.
기존 방법들은 대부분 비지도(unsupervised) 또는 준지도(semi-supervised) 방식으로 학습하여 레이블이 없는 데이터(unlabeled data) 또는 정상 데이터(normal data)만을 활용하지만, 이는 실제 환경에서 존재하는 레이블이 있는 이상 데이터(labeled anomaly data)를 활용하지 못하는 단점이 있다. 이를 해결하기 위해, 일부 연구에서는 이상 점수를 직접 최적화하는 방법을 제안했으며, 대표적으로 DevNet은 Deviation Loss를 통해 이상 점수를 학습했다. 본 연구에서는 새로운 쌍(pairwise) 관계 예측(pairwise relation prediction) 기반 학습 기법을 제안하며, DevNet보다 우수한 성능을 보였다.
Proposed approach
1. Overview
Problem statement
Unlabeled dataset (순수 normal일 수도 있고 anomaly contaminated 되었을 수도..)뿐 아니라 소수의 labeled anomaly가 있다는 가정을 한다. anomaly score를 결과로 내는 모델을 학습하게 되는데 anomaly의 score가 normal의 score보다 크게 나와야한다.
Anomaly-informed pairwise prediction
PReNet은 "Pair"기반의 학습을 하게 된다. 다음 세가지 유형의 데이터 pair를 구분하는 방식으로 학습된다.
- {u, u}: unlabeled-unlabeled
- {u, a}: unlabeled-anomaly
- {a, a}: anomaly-anomaly
특정 이상 샘플만 학습하면, labeling된 anomaly sample은 매우 적기 때문에 새로운 이상 샘플에 대한 탐지 성능이 떨어질 수 있다. 반면 pair 관계를 학습하면 훨씬 더 많은 학습데이터를 만들 수 있어 이상 패턴의 generalization이 가능하다. 구체적인 접근방법 아래와 같이, 가장 normal에 가까울 것이라 예상되는 unlabeled-unlabeled가 제일 낮은 점수를 anomaly-anomaly가 제일 높은 점수를 갖도록 학습을 한다.
2. The instantiated model
Anomaly informed random instance pairing
먼저 supervision을 만드는 과정을 소개한다. Labeled anomaly의 label 부족 문제를 해결하기 위해, unlabeled, labeled에서 무작위로 2샘플을 샘플링하여 pair를 만든다. 그리고 pair를 앞서 정의한 세 가지 쌍 중 어디에 속하는지에 따라 class label을 정한다.
Pairwise relation-based anomaly score learning
그다음으로 labeling된 pair를 학습시키는 과정이다. Pair에서 각 샘플은 2-stream으로 각각 feature learner를 통과한다.
그리고 anomaly score learner에서 intermediate representation pair z_i, z_j를 concatenation한다. 그 연산은 아래와 같다.
전체 network를 통과한 output이 앞서 pair를 정할 때 붙여준 label과 MSE가 작아지도록 학습한다. loss는 아래와 같다.
unlabeled-unlabeled pair가 다른 pair에 비해 압도적으로 많기 때문에, unlabeled-anomaly와 anomaly-anomaly 두가지 pair를 oversampling하여 비율을 조정한다.
3. Anomaly detection using PReNet
Training
전체 training flow는 다음과 같다.
Inference
test sample이 들어오면 PReNet은 일단 random하게 labeled anomaly set A와 unlabeled set U에서 각각 샘플링하여 pair를 만들어준다. 그리고 아래와 같은 anomaly score function을 계산한다. 이때 한샘플씩만 하는 것이 아닌 E개의 샘플을 앙상블하는 방식을 활용한다.
4. Theoretical analysis
Pairwise relation feature learning
Random instance를 각각으로 보지 않고 pair를 만들게 되면 본래 가진 샘플 수보다 더 많은 조합이 생기기 때문에 더 generalized된 성능을 얻을 수 있다고 한다.
Robust anomaly score learning
Unlabeled data가 거의 정상이라고 생각하지만 일부 이상샘플에 의해 contamination될 수도 있다. 이상샘플이 포함된 비율에 따른 확률을 분석해서 작은 확률로 contamination되었을 때는 모델이 크게 영향을 받지 않음을 증명했다. (증명 관련해서는 논문의 appendix A를 확인해보자..)
Experiments
Main results
기존 semi-supervised learning (DevNet)보다 우수한 성능을 보였고, 일반적으로 라벨이 있는 이상 샘플 수가 증가할수록 성능이 향상된다. 이상 클래스의 특성이 다양하기 때문에, 단순히 이상 샘플이 많다고 항상 성능이 좋아지는 것은 아니지만 PReNet은 매우 안정적인 성능 향상 추세를 보인다. PReNet은 다른 최신 모델보다 훨씬 적은 이상 샘플(50%~75% 적음)으로도 더 높은 성능을 달성했다. 특히 unseen 이상 샘플도 탐지가 가능함을 보였다.
- Seen anomaly detection: real-world dataset에서 abnormal중 일부를 sampling하여 labeling
- Unseen anomaly detection: fraud detection dataset중 4가지 침입 타입중 seen/unseen을 나눠 set구성
Further analysis of PReNet
Robustness w.r.t. anomaly contamination
Unlabeled dataset U의 이상 샘플 오염률을 {0%, 2%, 5%, 10%}로 변경하며 실험하였다. contamination ratio가 10% 미만일 경우, 대부분의 데이터셋에서 PReNet의 성능이 안정적으로 유지됨을 확인했다.
Ablation study
PReNet의 기본 구조(Three-way relation modeling + Pairwise feature learning + 1 hidden layer)가 가장 효과적임.
- TRM (Two-way relation modeling): normal-abnormal, normal-normal 관계만 학습
- iPReNet: iPreNet은 개별 샘플(feature-based)만을 학습
- LDM (Linear Direct Mapping):숨겨진 계층(hidden layers)을 제거하고, 원본 데이터에서 직접 이상 점수로 매핑
- A2H: 2개의 Hidden layer를 add
- NPR (Non-linear pairwise relation learning): 관계 특징을 이상 점수로 변환하기 전에 추가적인 비선형 계층을 추가
Conclusions
PReNet은 three pair learning을 통해 seen abnormal에 overfitting되는 문제를 해결하고자 했고 실제로 Unseen anomaly detection에서 큰 성능향상을 보였다.