1 Anomaly Detection Intro
요즘 관심 있는 주제라서 anomaly detection과 deep learning review와 관련한 논문을 읽고 리뷰하려고 합니다.
1960년대부터 anomaly detection은 많은 연구가 이루어진 영역입니다. 여러 분야에서 다양한 용어들을 사용해서 그렇지만 이상치를 탐지하는 건 주요 주제 중 하나입니다. 예를 들어, intrusion detection라는 용어는 computer security 분야에서 안전 룰를 위반한 경우를 자동적으로 탐지하는 것을 뜻하기도 했습니다.(Anderson, 1980,Lunt, 1990,Heberlein, Dias, Levitt, Mukherjee, Wood & Wolber, 1990, Lane & Brodley, 1997)
Kumar (1995)는 “Anomaly detection attempts to quantify the usual or acceptable behavior and flags other irregular behavior as potentially intrusive.” 이라고 정의하기도 했습니다. 그런데 이렇게 정의하는 게 맞는 걸까? 문제는 이상치가 뭔지를 어떻게 정의하려는 게 제일 큰 문제입니다.
통계학에서는 일반적으로 standard deviation 이라는 개념을 활용합니다. standard 는 기준의 라는 뜻이고 deviation은 deviate 벗어나다 뜻으로 기준으로부터 벗어난 정도라는 의미이며 한국어로는 표준 편차라는 뜻입니다. x 값에서 평균을 빼고 제곱을 한 뒤 root를 씌웁니다. 제곱하지 않고 절대값을 활용하는 경우도 있는데 MAE처럼 말이죠. mean of absolute error. 보통은 제곱해서 평균으로부터 얼마나 ‘벗어나 있는지’ 를 탐지하려고 합니다. 여기에서 표준편차 플러스 마이너스 1~3부터를 기준으로 씁니다. 표준편차 1 이상이거나 -1 이하 합쳐 5% 확률로 일어나는 값을 뜻합니다. 표준편차 플러스 2 마이너스 2는 2.5% 였던 것 같은데… 아무튼 드문 케이스죠. 그런데 실제 환경에서 이상치가 뭐야 어떻게 찾아낼 거냐 하는 건 쉽지 않습니다. 잘 일어나지도 않고 예측 불가고 라벨링 하기에는 데이터 불균형이 너무 큽니다. 전체 데이터 중 1% 정도 일어나는 경우를 찾아내야 할 때도 있고요.
대표적으로는 사기 탐지를 어떻게 할 거냐 라는 질문에서 패턴을 찾아보는 방식이 도입되기도 합니다. 이렇게 지식 그래프를 활용해서 보험 fraud를 탐지하는 경우도 있습니다.


그래프를 보면 한 사람이 여러 개의 뱅크 계좌 여러 개의 이메일을 갖는 경우는 룰 위반은 아닌 듯한데, 휴대폰과 이메일 사는 집 주소를 다른 사람과 공유하는 케이스가 있습니다. 이상하죠. 이런 그래프를 탐지해내고 이걸 이상치라고 정의할 수 있을까요? 이런 방식으로 사기를 탐지해 낼 수 있을까요? anomaly 를 어떻게 정의하며, 실생활에 어떻게 적용해내고, 어떻게 탐지하면 좋을까요? 란 질문이 계속 떠오릅니다. 답은 모르겠는데… 여러 방식으로 찾아봐야 할 것 같습니다. 그래서 딥러닝 관련해서도 리뷰 논문을 한 편 봤던 것 같습니다. Deep Learning for Anomaly Detection: A Review 이 논문에서는 세 가지 방향으로 리뷰를 합니다 feature extraction, learning feature representation, end-to-end anomaly score learning…
2 Challenges
Anomaly detection 과 관련한 문제에 접근할 때 문제점입니다. 실생활에서는 일단 주요하게 데이터 불균형이 떠오르는데… 이 외에도 다른 문제들이 있습니다.
Unkonwnness
- 이상 데이터는 사전에 정의되지 않은 새로운 형태의 패턴을 가질 수 있으며, 데이터의 구조나 분포가 예측하기 어려움.
- 예: 새로운 유형의 사이버 공격, 금융 사기 패턴, 신종 질병 발생 등
Heterogeneous Anomaly Classes
- 이상 데이터는 서로 매우 다른 특성을 가질 수 있어, 하나의 이상 탐지 모델이 모든 유형의 이상을 효과적으로 탐지하기 어려움.
- 예: 영상 데이터에서 도난, 교통사고, 폭행 등의 이상 이벤트는 서로 다른 특징을 가짐.
Rarity and Class Imbalance
- 이상 데이터는 일반적으로 전체 데이터의 극히 일부(보통 1% 미만)를 차지하며, 정상 데이터에 비해 수집하기 어려움.
- 따라서, 지도 학습 방식의 모델 학습이 어렵고, 이상 데이터의 샘플이 부족한 경우가 많음.
Diverse types of anomalies
- 포인트 이상(Point Anomaly): 개별 데이터 포인트가 전체 데이터 패턴에서 벗어나는 경우 (예: 심박 수 급증)
- 조건부 이상(Conditional Anomaly): 특정 조건에서만 이상으로 판단되는 경우 (예: 밤중에 발생한 대량 신용카드 결제)
- 그룹 이상(Group Anomaly): 개별적으로는 정상처럼 보이지만, 그룹으로 묶였을 때 이상을 보이는 경우 (예: 네트워크 공격에서 다수의 계정이 동일한 패턴을 보일 때)
High-Dimensional and Dependent Data
- 고차원 데이터에서는 이상 데이터가 특정 차원에서만 이상 특성을 보일 수 있어 탐지가 어려움.
- 시계열 데이터, 그래프 데이터 등에서는 데이터 간의 시간적/공간적 관계를 고려해야 함.
3 Deep Anomaly Detection Methods
1 Feature Extraction
- 이 방법은 딥러닝 모델을 독립적인 특징 추출기로 사용하여 데이터를 저차원 공간으로 변환한 후, 기존의 이상 탐지 기법(예: k-NN, 군집 분석, 분포 기반 탐지 등)을 적용하는 방식이다.
- 특징 추출과 이상 탐지 과정이 완전히 분리되어 있어, 기존 이상 탐지 모델과 결합하여 사용할 수 있음.
- 예: CNN(AlexNet, VGG, ResNet) 기반 특징 추출 후, 기존 이상 탐지 모델 적용.
- 장점
✅ 고차원 데이터(예: 이미지, 영상)에서 의미 있는 특징을 추출 가능
✅ 사전 학습된 모델을 활용하여 적은 데이터로도 성능 향상 가능
- 단점
❌ 특징 추출 과정과 이상 탐지 과정이 별개로 이루어지므로 최적의 특징을 찾기 어려움
❌ 이상 데이터에 특화된 특징을 학습하지 않음
2 Learning Feature Representations of Normality
- 정상 데이터의 일반적인 패턴을 학습하여, 이상 데이터가 정상 패턴에서 벗어나면 탐지할 수 있도록 하는 방식.
- 특징 표현 학습을 위한 다양한 신경망 모델이 사용됨.
2.1 autoencoder
- 입력 데이터를 압축하고 다시 복원하는 과정에서, 정상 데이터는 잘 복원되지만 이상 데이터는 큰 오차를 보이도록 학습.
- 기본 개념: 입력 데이터 → 인코더(Encoder) → 저차원 표현 저차원 표현 → 디코더(Decoder) → 원래 데이터 복원 복원 오류(Reconstruction Error)가 크면 이상 데이터로 판단
- 변형된 오토인코더 기법:
- 변분 오토인코더(VAE, Variational Autoencoder): 잠재 공간에 확률 분포를 추가하여 더 강력한 표현 학습
- 희소 오토인코더(Sparse Autoencoder): 일부 뉴런만 활성화되도록 제한하여 더 일반적인 특징 학습
✅ 장점: 간단하고 직관적이며 다양한 데이터에 적용 가능
❌ 단점: 정상 데이터의 변동성이 큰 경우, 이상 탐지 성능이 저하될 수 있음
2.2 GAN
- GAN을 활용하여 정상 데이터의 분포를 학습하고, 이상 데이터는 해당 분포에서 벗어나도록 설계.
- 대표적 방법:
- AnoGAN: 이상 탐지 시, 정상 데이터와 가장 유사한 데이터를 생성하여 비교 (하지만 검색 시간이 오래 걸림)
- Fast AnoGAN: 탐색 과정을 생략하여 속도 개선
- ALAD: 추가적인 판별기를 활용하여 정확도 향상
✅ 장점: 다양한 데이터 유형(이미지, 시계열, 그래프)에서 적용 가능
❌ 단점: GAN 훈련이 어렵고, 모드 붕괴(Mode Collapse) 문제가 발생할 수 있음
2.3 Time Series
- 과거 데이터를 기반으로 미래 데이터를 예측하고, 예측값과 실제값의 차이가 클 경우 이상으로 간주.
- 활용 예:
- LSTM(Long Short-Term Memory) 네트워크를 활용하여 시계열 데이터(예: 금융 데이터, 기계 센서 데이터) 예측
- 영상 데이터에서 CNN-LSTM을 활용하여 비정상적인 움직임 탐지
✅ 장점: 시계열 이상 탐지에 효과적
❌ 단점: 정상 데이터의 변화 패턴이 복잡할 경우, 이상 탐지 성능 저하
2.4 자기지도 학습(Self-Supervised Learning) 기반 이상 탐지
- 데이터를 다양한 방식으로 변형한 후, 변형된 데이터를 분류하는 과정을 통해 정상 데이터의 특성을 학습.
- 예:
- 이미지 데이터를 회전, 반전 등으로 변형한 후 원래 상태를 예측하는 CNN 기반 모델
✅ 장점: 데이터 라벨이 필요 없고, 다양한 데이터 유형에서 사용 가능
❌ 단점: 변형 방식이 특정 데이터 유형에 종속될 가능성이 있음
2.5 거리 기반 학습 (Distance-Based Learning)
- 딥러닝을 사용하여 데이터의 표현을 학습한 후, k-NN 또는 클러스터링을 적용하여 이상 탐지 수행.
- 예: 데이터 표현을 학습한 후, k-최근접 이웃(k-NN) 거리 계산하여 이상 탐지.
✅ 장점: 기존 거리 기반 탐지 기법의 한계를 보완
❌ 단점: 고차원 데이터에서 거리 계산이 어려울 수 있음
2.6 원클래스 분류 (One-Class Classification)
- One-Class SVM, SVDD(서포트 벡터 데이터 설명) 등의 전통적인 방법을 딥러닝과 결합하여 이상 탐지 성능을 향상.
- 대표적 방법:
- Deep SVDD: 정상 데이터의 특징을 중심으로 데이터를 압축하여 이상 데이터와 분리
✅ 장점: 지도 학습 없이도 높은 성능 제공
❌ 단점: 고차원 데이터에서 훈련이 어려울 수 있음
3 End-to-End Anomaly Score Learning
- 이상 탐지를 위한 최적의 이상 점수(Anomaly Score)를 직접 학습하는 방식.
- 기존 방법과 달리, 특징 추출과 이상 탐지를 하나의 신경망에서 학습.
- 대표적 방법:
- Ranking Model: 정상 데이터와 이상 데이터를 비교하여 랭킹 학습 수행
- Deep One-Class Networks: 정상 데이터를 단일 클래스(One-Class)로 학습하여 이상 탐지
✅ 장점: 특징 학습과 이상 탐지를 동시에 최적화 가능
❌ 단점: 복잡한 학습 과정 및 높은 계산 비용
4 Details… how?
이 중 2,3번 learning feature representations 와 end-to-end 부분만 정리하겠습니다.
2 learning feature representations
- 이 방법은 정상 데이터의 일반적인 패턴을 학습하여, 이상 데이터가 정상 패턴에서 벗어나는 경우 이를 감지하는 방식
- 특징 학습(feature learning)과 이상 탐지(anomaly detection)를 완전히 분리하지 않고 결합하는 것이 특징이다.
2.1 오토인코더(Autoencoder) 기반 이상 탐지
- 오토인코더(AE)는 데이터를 압축(Encoding)한 후 복원(Decoding)하는 신경망이다.
- 정상 데이터는 잘 복원되지만, 이상 데이터는 복원 오차(Reconstruction Error)가 커지도록 학습. 복원 오차를 기반으로 이상 점수를 계산하여 탐지.
(1) 기본 오토인코더(AE)
- 입력 데이터를 저차원 특징 공간으로 압축한 후 복원하는 방식.
- 복원 오차가 큰 데이터 포인트는 이상 데이터로 간주.
(2) 변형된 오토인코더(Variants of Autoencoder)
- 변분 오토인코더(VAE, Variational Autoencoder): 확률적 분포를 사용하여 데이터의 잠재 표현(latent representation)을 학습.
- 희소 오토인코더(Sparse Autoencoder): 뉴런 활성화에 제한을 두어 일반적인 특징을 더 잘 학습하도록 설계.
- 컨볼루션 오토인코더(CNN-AE): 이미지 데이터에서 활용되는 CNN 기반 오토인코더.
✅ 장점
비지도 학습 가능: 정상 데이터만으로도 모델 학습이 가능.
다양한 변형 가능: 다양한 데이터 유형(영상, 시계열 등)에 적용 가능.
❌ 단점
이상 데이터의 복잡한 패턴을 학습하기 어려움: 데이터 변동성이 크면 성능이 저하될 수 있음.
2.2 생성적 적대 신경망(GAN) 기반 이상 탐지
GAN(Generative Adversarial Networks)은 두 개의 신경망(생성자, 판별자)을 사용하여 정상 데이터의 분포를 학습.
정상 데이터는 GAN을 통해 쉽게 생성할 수 있지만, 이상 데이터는 잘 생성되지 않음.
이상 데이터는 생성 모델에서 벗어나므로 탐지 가능.
대표적 GAN 기반 이상 탐지 모델
- AnoGAN: 정상 데이터를 학습한 후, 이상 데이터는 GAN에서 생성되지 않는다는 점을 활용하여 탐지.
- Fast AnoGAN: AnoGAN의 단점을 개선하여 이상 탐지 속도를 높인 모델.
- ALAD (Adversarially Learned Anomaly Detection): GAN을 개선하여 이상 탐지 성능을 높임.
✅ 장점
이미지 및 시계열 데이터에서 강력한 성능
이상 데이터의 패턴을 비지도 학습 가능
❌ 단점
훈련이 어려움: GAN의 훈련은 불안정할 수 있으며, 모드 붕괴(Mode Collapse) 현상이 발생할 수 있음.
계산 비용이 높음: 생성 모델과 판별 모델을 동시에 학습해야 함.
2.3 시계열 기반
과거 데이터를 기반으로 미래 데이터를 예측하고, 예측값과 실제값의 차이가 크면 이상으로 탐지. LSTM, GRU 등 순환신경망(RNN)을 활용하여 시계열 데이터 패턴을 학습. 예: 기계 센서 데이터에서 이상 감지, 금융 거래 패턴 이상 탐지 등.
✅ 장점
시계열 데이터에서 효과적
복잡한 패턴을 학습 가능
❌ 단점
비정상적인 정상 패턴이 있을 경우 성능 저하
긴 시계열 패턴 학습이 어려울 수 있음
3 end-to-end
- 기존 방식(특징 추출 + 이상 탐지 분리)과 달리, 이상 탐지를 위한 최적의 표현과 이상 점수를 동시에 학습.
- 신경망을 활용하여 특정 이상 탐지 목표 함수를 최적화하며, 주어진 데이터에 대해 최적의 이상 탐지 기준을 자동으로 학습.
- 이상 탐지를 최적화하는 방식에 따라 3가지 세부 방법으로 나뉜다.
3.1 Ranking-Based Models
- 데이터 샘플 간 **이상도(Anomalousness)**의 상대적인 순위를 학습하는 방식.
- 정상 데이터와 이상 데이터 사이의 점수 차이를 최대화하는 것이 목표.
✅ 장점
- 특정한 이상 탐지 기준을 사용하지 않고 데이터 간 상대적 비교를 통해 이상 탐지를 수행할 수 있음.
- 지도 학습이 가능하며, 일부 이상 데이터가 주어질 경우 성능이 크게 향상됨.
❌ 단점
- 정상 데이터와 이상 데이터 간의 비교 데이터셋이 필요하여, 완전한 비지도 학습(Unsupervised Learning)이 어려울 수 있음.
3.2 One-Class Neural Networks
- 원클래스 SVM(One-Class SVM) 또는 SVDD(Support Vector Data Description)를 딥러닝 모델에 통합하여 이상 탐지를 수행.
- 정상 데이터를 하나의 밀집된 공간에 매핑하고, 이 공간에서 벗어나는 데이터를 이상 데이터로 판단.
✅ 장점
- 지도 학습 없이 정상 데이터만으로도 모델을 훈련할 수 있음.
- 기존 원클래스 SVM보다 더 복잡한 데이터 패턴을 학습할 수 있음.
❌ 단점
- 정상 데이터의 분포가 매우 넓거나 다양할 경우 성능이 저하될 수 있음.
3.3 Direct Anomaly Score Learning
신경망이 직접 이상 점수를 계산하도록 훈련되는 방식. 손실 함수(Loss Function)를 설계하여, 정상 데이터와 이상 데이터의 점수 분포가 명확히 구분되도록 학습.
✅ 장점
이상 탐지 기준을 데이터에 맞게 자동으로 최적화 가능.
이상 탐지를 위한 최적의 특징을 자동으로 학습하여 성능이 향상됨.
❌ 단점
지도 학습이 필요할 수 있으며, 일부 기법은 이상 데이터의 레이블이 필요함.
5 Evaluation
- accuracy, Recall, F1-Score 등을 활용
6 Future Research
1 설명 가능성(Explainability) 향상
대부분의 딥러닝 모델은 블랙박스(Black-Box) 방식이므로, 이상 탐지 결과를 사람이 이해하고 신뢰할 수 있도록 설명해야 함.
2 노이즈 및 이상 데이터에 대한 강건성(Robustness to Noise and Anomalies) 강화
일부 모델은 노이즈 데이터나 이상 데이터가 훈련 데이터에 포함되었을 때 성능이 저하될 수 있음.
3 효율적인 이상 탐지 모델 개발
대부분의 딥러닝 기반 이상 탐지 모델은 계산 비용이 크므로, 경량화 및 최적화된 모델 개발이 필요함. 임베디드 환경(예: 드론, IoT 기기)에서 실시간 이상 탐지가 가능하도록 연구 필요.
4 다중 데이터 소스(Multimodal Data) 이상 탐지
현재 연구된 모델들은 단일 유형의 데이터(예: 텍스트, 영상, 그래프)만을 대상으로 하는 경우가 많음. 여러 유형의 데이터를 결합하여 더 강력한 이상 탐지 시스템을 개발하는 것이 필요.
5 연합 학습(Federated Learning) 기반 이상 탐지
민감한 데이터를 직접 공유할 수 없는 경우(예: 금융, 의료 분야), 연합 학습을 활용하여 분산 환경에서 이상 탐지 모델을 학습하는 연구가 필요.
ß