Intro
- 이번 포스팅은 3개의 논문을 참조하여 작성하였고 논문의 Anomaly Detection 모델, 알고리즘과 같은 방법론적 내용소개를 제외하고 Anomaly Detection의 유형, 여러 domain에서의 적용사례를 소개합니다.
What are anomalies?
-
Anomaly detection이란 대부분의 데이터와 크게달라 문제가 될 수 있는 rare items, events or observations를 구별하는 문제를 의미하며 anomalies는 데이터마이닝, 통계학 문야에서 abnormalities, deviants, or outliers등으로 불리기도 한다.
-
Anomalies는 data의 error에 의해서 발생하기도 하지만 새롭고 이전에 알려지지 않은 프로세스를 나태내기도 한다. 다시말해 다른 메커니즘에의해 발생된것마냥 다른 관측치와는 매우 다른 관측치를 말한다.
- 위 그림에서 N1과 N2 구역은 normal data로 고려할 수 있지만 O3 구역과 O1, O2 point는 bulk of data points(N1,N2)에서 멀리 떨어져 있기에 anomalies라고 고려할 수 있다.
What are novelties?
- Novelty detection은 error에 의한 것이 아닌 데이터에서 이전에 관찰되지 않은 새로운 패턴을 식별하는 것을 말한다.
- 위 그림처럼 일정 decision threshold로 결정된 바운더리 밖의 말, 표범과 같은 data를 anomalies라고 할 수 있지만 흰사자 같은 경우 바운더리 안에 포함되지만 이전에 보지 못한 새로운 패턴을 보이는 data를 novelties라고 할 수 있다.
Type of Anomaly
- Anomalies는 아래 그림처럼 point anomalies, contextual anomalies, collective anomalies 3개의 타입으로 크게 분류 할 수 있다.
1. Point Anomalies
-
Point Anomalies는 불규칙적으로 랜덤하게 발생하는 individual data point를 나타내며 위에서 보았던 2-dimensional data 그림에서 O1과 O2가 이에 해당한다.
-
이러한 예시로는 illegal transaction in fraud detection, an image of a damaged product in manufacturing등 이 있다. (밑에서 더 살펴볼 예정)
2. Contextual Anomaly Detection
-
Contextual Anomaly Detection은 시간, 공간 혹은 그래프의 연결과 같은 특정 상황에서의 비정상적인 data instance를 말한다.
-
시간적 context의 예시로는 아래 그림에서 (a)가 나타내는 Temperature data의 anomalies, (b)가 나타내는 System logs anomaliy가 있다.
Collective or Group Anomaly Detection
-
Collective or group anomalies는 각각 data point는 정상적으로 보일수 있지만 이것들이 그룹으로 관측되어 비정상으로 간주되는 이상치를 말한다. (맨 위 그림에서 O3)
-
아래의 그림에서 신용카드 거래 내역중 $75로 나타난 group of transactions을 이러한 collective or group anomaly 로 간주될 수 있다.
ANOMALOUS INSTANCE DETECTION IN DEEP LEARNING - A SURVEY
- 위 논문에서는 아래의 그림처럼 novel and out-of-distribution examples을 포함하는 Unintentional Anomalies 와 adversarial examples를 나타내는 Intentional Anomalies 로 Anomaly Detection 유형을 나누었다.
Applications of Deep Anomaly Detection
- 몇가지 application domain에서의 anomaly detection 예시들을 살펴보자.
-
Intrusion Detection(침입 탐지)
-
Intrusion Detection system(IDS)는 컴퓨터 시스템 혹은 네트워크 트래픽에서 의심스러운 활동이 있는지 모니터링하여 해당 활동이 발견되면 경고를 발생시키는 시스템이다.
-
IDS는 host내에서 발생하는 system call log, RAM, file system 등의 sequence를 모니터링하며, 네트웍상에서 패킷을 모니터링하여 anomalies를 감지한다.
-
Fraud Detection(사기 탐지)
- Fraud detection은 은행, 보험, 법률 집행 등과 같은 많은 전자 상거래 영역에서 발생하는 부정 행위 혹은 범법 행위를 감지하는 것을 말한다.
- Malware Detection (악성코드 탐지)
-
Medical Anomaly Detection
- Medical Anomaly Detection은 의료 영상, 임상 뇌파기록 등의 의학 데이터에서 이상치를 감지하는 것으로 imbalanced data에 대한 분석이 주된 과제이다.
- 이러한 Medical Anomaly Detection은 높은 정확도를 요구하며 주로 X-ray, CT, MRI, PET 등의 의학 장비로부터 나오는 이미지 혹은 signal을 다루게된다.
-
Social Networks Anomaly Detection
- SNS상의 불규칙적이며 스팸 발송, 성희롱, 온라인 사기, 가짜 사용자 등 불법적인 이상치를 감지한다.
-
Log Anomaly Detection
- Log file의 text data를 가지고 pattern matching(정규표현식)을 사용하여 시스템 실패를 불러오는 문자열을 감지하는 것이 목적이다.
-
IoT Big-Data Anomaly Detection
- IoT에서 사용하는 센서들로부터 이상치를 감지하는 것. 보통 센서와 장치들이 복잡하게 상호연결되어있기에 어려운 과제이다.
-
Industrial Anomaly Detection
- 산업 속 제조업 데이터에 대한 이상치를 감지하는 것으로 외관상에 발생하는 결함과, 장비의 고장 등의 비정상적인 sample이 굉장히 적은 수로 발생하지만 정확하게 예측하지 못하면 큰 손실을 유발한다.
-
Video Surveillance
- 비디오 영상에서 이상한 행동이 발생하는 것을 모니터링하는 것으로 로 CCTV를 이용한 사례가 주를 이룬다.
Outro...
-
위 내용 외에도 논문에서는 여러 관점에서의 Anomaly Detection 방법론을 소개한다.
- 딥러닝기반 Anomaly Detection은 여러 측면으로 분류할 수 있으며 이에따른 분석방법이 다르게 적용된다.
- 또한 label의 유뮤에 따라 Supervised, Semi-supervised (One-Class), Unsupervised Anomaly Detection 학습 방법이 나누어질 수 있다.
-
이렇게 여러 분류로 나누어질수 있는 Anomaly Detection task들과 그에맞는 model들 그리고 딥러닝 이전의 svm, PCA와 같은 model들에 대한 소개는 추후에 포스팅하려합니다.
References