본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Miscellaneous

[2025 -2] 박제우Deep Anomaly Detection with Deviation Networks

by jw2463 2025. 4. 6.

 

Deep Anomaly Detection with Deviation Networks

Although deep learning has been applied to successfully address many data mining problems, relatively limited work has been done on deep learning for anomaly detection. Existing deep anomaly detection methods, which focus on learning new feature representations to enable downstream anomaly detection...

arxiv.org

  1. Abstract

본 논문은 이상치 탐지를 효과적으로 수행할 수 있는 DevNet 모델을 제안하고 있다. DevNet모델은 이상 데이터와 정상 데이터에 각각 Anomaly Score(이상 점수)를 부여한다. 이 점수는 표준편차를 따르는데 여기서 이상치의 Anomaly Score는 큰 값을 부여해서 Deviation Loss 함수에 넣는다. 이렇게 산출된 값은 Z-score를 따르기 때문에 보다 해석력 또한 높다고 한다.

 

기존의 이상치 탐지 모델은 기본적으로 데이터 특징의 표현을 먼저 학습한 후 이상 점수를 계산한다. 또한 기존의 모델은 전적으로 비지도학습에 의존하는 경우가 많기 떄문에 소수의 레이블된 데이터가 있어도 이를 활용하지 못하는 문제가 있었다. 따라서 이러한 문제를 해결하기 위해 DevNet모델은 End to End 모델의 성질을 활용해 처음부터 모델이 이상 점수를 계산하도록 최적화했고 소수의 레이블된 데이터를 활용해 훨씬 높은 성능을 기록했다.


2. Introduction

 

구체적으로 본 연구에서는 기존의 논문들의 한계로 두 가지를 제시했다.

1) 대규모로 레이블 된 데이터의 부족

2) 이상 데이터의 다양성 문제

또한 기존 연구는 이상치 탐지를 특징 표현(Feature Representation) 학습, 이상 점수 계산의 두 단계로 진행했다. 특징 표현 학습의 단계에서는 Autoencoder나 GAN등의 모델을 통해 데이터 새로운 표현 공간으로 전환한 후 이상 점수를 계산하는 방식이다. Autoencoder의 경우에는 복원 정도. GAN은 거리 기반으로 이 점수를 산출한다. 이러한 방식은 제대로 된 특징 학습이 이루어지지 않을 경우 낮은 성능을 야기하고, 전적으로 비지도학습에 의존하기 때문에 소량의 레이블을 이용하지 못한다.

다음 표를 보면 다른 모델의 이상치 탐지 방식과 DevNet모델의 방식을 보다 직관적으로 이해할 수 있다. 기타 모델은 feature learner를 거치지만 DevNet은 End to End 모델이 바로 Anomaly Score를 계산한다.

 


3. 선행 연구

  • 전통적인 이상치 탐지는 KNN, iForest, Local Outlier Factor 등 거리 기반, 밀도 기반 또는 비지도 학습 방식이 있다. 그러나 이러한 방식은 고차원 데이터에서 성능 저하가 심각하다.
  • 딥러닝 기반 이상치 탐지 방식으로 Autoencoder, GAN기반의 학습은 물론 REPEN, Deep SVDD 등의 방식 또한 제안되었다. REPEN과 Deep SVDD의 경우에는 표현학습을 개선하는데에서 큰 성과가 있었지만 여전히 이상 점수의 최적화가 특징 학습에 의존하고 있다는 한계가 있었다. 논문에서는 이를 간접적인 방식이라고 지적하고 있다.
  • 완전한 비지도학습 외에 제한된 레이블 데이터를 통해 학습하는 방식 역시 선행되었다. few-shots 분류와 PU learning이 대표적인 사례이다. 먼저 few shots은 클래스가 정해진 분류 문제에서 잘 작동한다. 그러나 이상치 탐지의 경우에는 클래스를 정확히 정의할 수 없는 경우도 있기 때문에 적절하지 않다. PU learning은 Positive 데이터를 통해 Unlabled Data를 학습하는 모델이다. 그러나 PU learning은 상대적으로 많은 양의 양성 데이터가 필요하므로 본 목적과 다르다.

3. End to End Anomaly Score Learning

반복해서 언급하듯이 DevNet은 소량의 레이블된 데이터를 통해 Anomaly Score를 계산한다. 입력 데이터 X는 N개의 미확인(Unlabled) 데이터와 K개의 비정상 데이터로 구성된다. (N >> K) 여기서의 목표는 이상 점수를 계산하는 함수 ϕ를 구하는 것이다. 함수 ϕ는 이상치에 훨씬 더 높은 Anomaly Score를 부여한다.

 

이를 위해서는 NN(Neural Network)과 사전 확률, 그리고 손실함수가 필요하다.

위 그림을 보면 DevNet모델은 크게 두 부분으로 구성됨을 볼 수 있다. 먼저 모든 데이터에 대해 Anomaly Score를 분석하는 부분과 Reference Score(참조 점수)를 계산하는 부분이다. 참조 점수는 정상 데이터 N 중 일부를 샘플링해 구한다. 이 후 이 두 점수를 손실 함수에 입력해 이상치를 판별한다. 자세한 내용은 이후에 나온다.

 

여기서 정상 데이터는 레이블되지 않은 데이터와 통계적으로 유의미한 차이가 없다고 했다.

 

기존 모델이 갖는 간접 최적화 방식의 문제를 DevNet은 Deviation Loss 함수를 이용해서 이상치는 통계적으로 유의미하게 멀리 떨어진 값을 갖게 함으로써 해결한다. 앞서 계산한 참조 데이터는 정규분포를 따르는 F에 모이게 된다. 그러나 이상치는 이에서 멀리 떨어지게 된다. 또한 이상치 유형의 다양성을 DevNet은 특정한 feature에서 이상치가 발생하는 것을 탐지하는 것이 아닌 정상 데이터의 일반적인 행동을 학습해 이와 다른 부분을 탐지한다는 점에서 차별점이 있다.


4. DEVIATION NETWORKS

 

지속적으로 언급하는 본 모델의 장점인 feature representation 없이 이상 점수를 계산할 수 있는 함수 ϕ는 가우시안 사전 확률과 Z-scores로 구성된다.

 

이는 크게 입력 데이터를 중간 표현 공간 Q로 나타내는 부분 a와 변환된 데이터를 바탕으로 이상 점수를 계산하는 부분 b로 구성된다.

 

먼저 a는 H의 hidden layer와 W의 가중치를 갖는 신경망이다. 신경망은 데이터의 종류에 따라 MLP, CNN, RNN 등 다양한 모델이 쓰일 수 있다.

여기서 q가 중간 표현된 결과이다. (그리스 문자를 입력 못해서 a로 대체...)

다음은 이상치를 구하는 함수 b이다. (마찬가지로 그리스문자를 몰라서,,)

따라서 함수 ϕ는 다음과 같이 정의할 수 있다.

지금까지 나온 결과는 ϕ함수에서 도출된 Anomaly Score를 얻었고, 이젠 Unlabled Data 중 일부를 샘플링해서 얻은 Reference Score(참조 점수)를 얻어야 한다. 참조 점수를 구하는 방법에는 데이터 기반, prior 기반 두 가지가 있다. 여기서는 보다 비용 효율적인 prior driven 방식을 선택했다. 즉 정규분포를 따르는 샘플 자료들에서 참조 점수를 구한다는 것이다.

 

다음과 같이 정규분포를 따르는 조건 하에서 해당 샘플들의 평균을 구한 것이 참조점수가 된다.

 

이렇게 모델링에서 핵심적으로 쓰이는 두 가지 점수를 모두 구할 수 있다. 이렇게 구한 값을 본 연구에서 새롭게 정의한 손실함수에 대입한다.

여기서 부모는 앞서 참조점수를 구할 때 썼던 표준편차이다.

다음 수식을 살펴보면 이상치일 경우 y=1, 이상치가 아닐경우 y=0이 된다. 또한 a는 이상 점수 데이터의 Z-score 기준점이다. 즉 이상치라고 판별하려면 최소한 참조 점수보다 a만큼은 커야한다는 뜻이다. 본 연구에서는 5로 정했다. 이상치가 아닐 경우에는 anomaly score가 참조 점수에 근사하게 되므로 dev(x)가 0에 가까워진다. 따라서 손실함수의 출력 역시 0으로 수렴한다. 반면 anomaly score가 참조 점수로부터 a이상 멀어진다면 a-dev(x)가 음수가 되고 마찬가지로 0으로 출력하게 된다. 반면 anomaly로 판단했지만 dev(x)가 충분히 크지 않다면 손실이 발생하게 된다.

 

여기서 주목할 부분이 있다. 본 연구는 데이터셋의 일부만 Anomaly로 Labled되어있고 나머지는 Unlabled상태이다. 그러나 어떻게 그 나머지를 판단했는가?

쉽게 말하면 나머지는 그냥 다 정상 데이터로 간주했다. SGD기반 최적화 방식에서는 이상 데이터가 차지하는 비중이 크지도 않을 뿐더러 이상 데이터는 일반적으로 생각할 수 있는것보다 훨씬 희소하기 때문에 문제없이 진행할 수 있다. 이러한 특징은 DevNet이 노이즈에 강하다고도 볼 수 있다.


다음은 DevNet의 수도 코드이다.

 

특히 해석 가능성에 관련해서 DevNet은 Z-Score기반의 a값을 통해 기준을 제시하기 때문에 타 모델보다 해석 가능성이 높다고 볼 수 있다.


5. Experiments

fraud detection, malicious URL detection, disease detection 등 서로 다른 도메인에서 의 총 9개의 데이터셋을 통해 실험이 진행되었다. 비교 대상은 앞서 언급되었던 REPEN, Deep SVDD, FSNet, iForest 등의 모델이다. 참고로 공정한 실험 진행을 위해 각 모델에 적절한 변형이 가해졌다. 평가 방식은 AUROC와 AUC-PR 방식을 사용했다. 결과는 다음과 같다. 또한 Wilcoxon Signed Rank Test를 이용해 아래 수치가 통계적으로 유의미함을 보였다.

 

예상대로 9개의 데이터셋 중 8개에서 DevNet이 가장 높은 성능을 보였다. DSVDD모델이 가장 높은 성능을 보인 데이터셋에서도 유의미한 차이가 나지 않은 것으로 보아 DevNet의 성능을 확인할 수 있었다.

 

본 실험에서 DevNet은 MLP를 사용했고 1개의 은닉층을 가진 모델과 3개의 은닉층을 가진 모델 두 가지를 비교했다. 단순한 모델에서는 20개의 뉴런, 복잡합 모델에서는 1000개, 250개, 20개의 뉴런이 있고 ReLU 활성화함수, L2규제를 사용했다. 두 모델 중에서는 단순한 모델이 더 높은 성능을 보였다.

다음은 데이터 효율성에 관한 실험이다. 데이터 효율성이란 얼마나 적은 레이블 된 데이터셋에서도 좋은 성능을 발휘하는지에 대한 문제인데 여기서 레이블 된 데이터셋의 이상치 비율은 2%로 고정시켜놓고 실험을 진행했다. 실험결과 역시 DevNet이 가장 놓은 성능을 발휘했다.

Robustness에 관한 결과 역시 마찬가지였다.


본 연구는 두 가지의 이상치 탐지 딥러닝 모델의 큰 문제를 해결했다는 점에서 의의가 있다. 첫 번째는 라벨 데이터의 부족이다. 일반적으로 실생활에서 얻게 되는 데이터에 이상치 여부가 라벨링 되기는 쉽지 않다. 이런 상황에서 DevNet은 극소수의 라벨 데이터만을 가지고도 높은 성능을 발휘할 수 있었다. 또한 기존의 다른 이상치 탐지 딥러닝 모델은 feature representation과 이상치 계산이 따로 이루어지는 문제가 있었는데 이를 한 번에 실행시켜줌으로써 end to end 모델의 성질을 가질 수 있게 되었다.