Anamoly Detection and Deep Learning Review Paper

Anamoly Detection and Deep Learning Review Paper

February 2, 2025
Review, writing
Anomaly, Detection

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를 탐지하는 경우도 있습니다. bank_fraud

그래프 1

그래프 2

그래프를 보면 한 사람이 여러 개의 뱅크 계좌 여러 개의 이메일을 갖는 경우는 룰 위반은 아닌 듯한데, 휴대폰과 이메일 사는 집 주소를 다른 사람과 공유하는 케이스가 있습니다. 이상하죠. 이런 그래프를 탐지해내고 이걸 이상치라고 정의할 수 있을까요? 이런 방식으로 사기를 탐지해 낼 수 있을까요? 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) 기반 이상 탐지 #

민감한 데이터를 직접 공유할 수 없는 경우(예: 금융, 의료 분야), 연합 학습을 활용하여 분산 환경에서 이상 탐지 모델을 학습하는 연구가 필요.

ß