본문 바로가기
딥러닝 with Python

[딥러닝 with Python] Anomaly Detection이란? (이상 탐지)

by CodeCrafter 2024. 11. 22.
반응형

 

1. Anomaly Detection이란?

1) Anomaly Detection의 정의  

 - Anomaly Detection은 인공지능을 사용해 특정 시스템이나 데이터에서 예상되는 정상적인 패턴이나 규범에서 크게 벗어나는 데이터를 식별하는 기술을 말합니다.

 - 이러한 이상탐지는 주어진 시스템의 "정상" 행동이 무엇인지 학습한 후, 이와 맞지 않는 데이터 포인트나 행동을 이상으로 판단하여 경고를 하는 것을 말합니다.

 

2) Anomaly Detection의 필요성

 - 보안 위협, 시스템 오류, 또는 사기 탐지와 같이 중요한 응용 분야에서 널리 사용되며, 예를 들어 금융 기관에서는 이상탐지를 통해 사기 거래를 조기에 식별하고, 제조업에서는 장비의 이상 여부를 조기에 감지하여 유지보수를 진행합니다.

 

3) Anomaly Detection의 일반적인 방법

 - Anomlay Detection은 주로 다음과 같은 방식으로 그 기법이 분류 됩니다.

 

 3-a) Classification Approach : 정상과 비정상 데이터를 분류하는 방법으로 사전에 정상 또는 비정상으로 레이블링이 되어있는 데이터를 바탕으로 새롭게 들어온 데이터가 정상인지 혹은 비정상인지를 구분하는 방법입니다.

 * 정상 vs 비정상, 또는 정상 vs 결함(Defect) 등의 분류 문제로 접근하며, 데이터 불균형을 해결하기 위해 Undersampling 또는 Oversampling 기법을 사용하기도 합니다.

 

 3-b) Reconstruction based Approach : 정상 데이터만으로 모델을 훈련하여 비정상 데이터를 재구성하지 못하게 하는 방식을 말하며, 대표적으로 PCA, Auto Encoder, AnoGan 과 같은 기법을 활용합니다.

 * 모델이 정상데이터만으로 학습되었기에 정상 데이터의 경우 재구성이 꽤나 잘 되지만, 비정상데이터의 경우 제대로 재구성이 되지 않게 됩니다. 이에 따라 Reconstruction Error가 클수록 비정상 데이터일 가능성이 크다고 판단하는 것입니다.

 

 3-c) One-Class Learning : 정상 데이터만으로 모델을 학습하여 정상 데이터가 존재하는 영역을 설정한 후, 이 영역을 벗어나는 데이터를 이상치로 간주하는 방식을 말합니다.

 * 모델이 정상 데이터와 비정상 데이터를 구분할 수 있는 특정 경계를 설정해 경계를 벗어나는 경우 이상치로 판단하게 하며, 주요 기법으로는 One-Class SVM, SVDD, Isolation Forest와 같은 방법들이 있습니다.

Deep SVDD

 

Auto Encoder 기반 이상치 탐지

 

 

2. Anomaly Detection에서 활용되는 Open Dataset : MVTecAD

- Anomaly Detection에 활용되는 대표적인 Open Dataset은 MVTecAD입니다.

MVTec Anomaly Detection Dataset: MVTec Software

 

MVTec Anomaly Detection Dataset: MVTec Software

MVTec AD is a dataset for benchmarking anomaly detection methods with a focus on industrial inspection. It contains over 5000 high-resolution images divided into fifteen different object and texture categories. Each category comprises a set of defect-free

www.mvtec.com

* MVTect AD는 다양한 산업 분야에서 발생할 수 있는 결함을 학습하고 감지하는데 사용되며, 이 데이터셋은 실제 산업환경에서 발생할 수 있는 결함을 포함하고 있기에 현장에서 활용하기에 적합한 데이터입니다.

 

* 데이터 셋은 총 15개의 Sub dataset으로 구성되어 있으며, 제품군 단위로 구분되어 있습니다. Fabric, Wood, Bottle, 금속 부품 등 입니다.

 

* 이미지는 총 5,354장으로, 이중 1,725장은 테스트용으로 지정되어 있고, 각 Sub dataset은 정상 데이터만 포함된 학습 세트와 정상 및 이상 데이터가 포함된 테스트 세트로 나뉩니다. 

 

* 이미지의 크기는 256 x 256 또는 224 x 225로 정규화해서 일관성을 유지하고 처리 시간을 줄였습니다.

 

* 결함의 종류로는 Scratch, Crack, Deformation(변형), Foreign object(이물질) 등 시각적 결함이 다수 포함되어 있습니다.

 

* 해당 데이터셋의 한계점으로는 대부분의 데이터가 단일 배경에서 촬영되었기 때문에 실제 생산 환경에서는 배경이 복잡한 경우와는 다소 차이가 있을 수 있다는 것입니다. 이러한 부분이 이상치를 탐지하는데에 집중하는 것이 장점이긴 하지만 동시에 실제 현장에서 발생하는 배경의 간섭등에 대한 부분은 반영하지 못했기에 한계점으로도 작용합니다.

 

 

 

 

 

 

 

 

 

 

반응형

댓글