728x90

오토인코더(Autoencoder) 기반의 이상 탐지란? 

원문 : https://www.makinarocks.ai/ko/blog/view/750

정상 데이터를 오토인코더를 통하여 원래의 데이터보다 작은 차원의 잠재 공간(latent space)로 압축 후에 다시 복원하고, 복원된 데이터와 원본 데이터의 차이를 비교함으로써 이상 탐지를 수행하는 방법입니다. 이때 정상 데이터를 저차원으로 압축(encoding)하는 부분을 인코더라고 하며, 압축된 샘플을 다시 원래의 차원으로 복원(decoding)하는 부분은 디코더라고 합니다. 그리고 인코더에 의해 데이터가 압축되어 나타나는 잠재 공간에서의 데이터의 표현형을 잠재 변수(latent variable)라고 합니다. 오토인코더는 원본 데이터와 복원된 데이터의 차이를 최소화하는 과정을 통해 학습하며, 그 과정에서 학습 데이터의 특징이 자연스럽게 추출되어 잠재 공간이 구성됩니다.

더보기

오토인코더 기반 이상 탐지의 수행 과정 

 

오토인코더의 입력과 출력의 차이를 비교하는 구체적인 방식에 따라서도 이상 탐지의 성능 및 특성이 달라집니다. 가장 기본적인 방식은 원본 데이터와 복원 데이터를 n차원 좌표 공간 안의 점들로 간주하고, 그 두 점의 거리를 입출력 차이의 지표로 사용하는 방식입니다. 이 지표를 복원 오차(reconstruction error)라고 부릅니다. 이상 탐지에 사용되는 오토인코더는 정상 데이터를 잘 복원할 수 있도록 학습되기 때문에, 비정상 데이터가 입력될 경우에는 압축과 복원을 효과적으로 수행하지 못합니다. 따라서, 이상 데이터들은 큰 복원 오차를 가지게 됩니다.  

 

복원 오차는 주어진 데이터의 이상 정도를 나타내는 이상 점수(anomaly score)의 하나로 사용할 수 있으며, 이상 점수가 정해진 임계값(threshold)보다 큰 경우에는 데이터를 이상으로 간주하며, 작은 경우에는 정상으로 간주합니다. 임계값은 수행하고자 하는 이상 탐지의 세부적인 특징과 요구 조건에 따라 다르게 설정됩니다.  
 

예를 들면, 오탐을 줄이는 것이 목적인 경우가 있고, 정탐의 정확도를 높이는 것이 좀더 중요한 경우도 있는데, 각각의 경우에 따라 임계값의 설정 방법은 달라질 수 있습니다. 

 

<오토인코더 기반의 이상 탐지 수행 과정> 

  

 

차원 축소를 통해 특징을 추출한다는 점에서는 주성분 분석(principal component analysis, PCA)과 유사하지만 오토인코더는 데이터의 각 차원 사이의 비선형적 관계도 고려하여 이상 탐지를 수행할 수 있다는 장점이 있습니다. 

 

오토인코더의 종류 및 특징

  • Variational Autoencoders (VAE) 

VAE의 인코더는 입력 데이터를 직접 잠재 공간으로 압축하지 않고, Reparameterization trick을 활용해 잠재 변수의 잠재 공간에서의 분포(latent distribution)를 나타내는 확률 분포함수의 파라미터를 생성합니다. 잠재 변수의 분포를 정규 분포로 가정하고, 입력값의 조건부 분포로 나타내는 경우, 아래와 같은 목적 함수를 최소화하면 학습이 진행됩니다. 

 

 

  • Adversarial Autoencoders(AAE) 

AAE 역시 널리 쓰이는 오토인코더 모델 중 하나입니다. AAE는 latent distribution을 검사하는 판별기(discriminator)를 도입해, 원하는 형태의 latent distribution을 좀더 엄격하게 강제할 수 있습니다. 이러한 특성은 multimodal latent distribution등을 적용하고자 할 때 효과적입니다.

 

RaPP(Reconstruction along Projection Pathway) 기반의 이상 탐지 

마키나락스에서 고안한 RaPP(Reconstruction along Projection Pathway) 기반의 이상 탐지는 오토인코더에서의 복원 오차 기반의 이상 탐지를 확장한 것으로, 목적 함수(training objective)의 수정 없이 이상치 스코어(anomaly score metric)만을 개선해 성능을 대폭 향상시킨 접근 방법입니다. 

 

기존의 오토인코더 방식이 입력 데이터와 재구성된 데이터의 변화를 통해 이상 탐지를 수행하는데 비해, RaPP에서는 각 히든 레이어(hidden layer)에서의 변화까지 이상 탐지에 사용합니다. 먼저 입력 데이터를 오토인코더에 통과시켜서 히든 레이어에서의 출력값 및 재구성된 데이터를 계산합니다. 그리고, 재구성된 데이터를 다시 인코더에 통과시켜, 히든 레이어에서의 출력값을 추가로 얻어냅니다. 입력 데이터 및 재구성된 데이터의 비교뿐만이 아니라, 이렇게 얻어진 히든 레이어에서의 출력값들을 추가로 비교하는 것이 RaPP의 핵심입니다. 

 

중간 레이어 출력값의 비교를 위해 RaPP SAP (Simple Aggregation along Pathway)라는 방법과 RaPP의 NAP (Normalized Aggregation along Pathway)라는 두 가지 이상치 스코어 계산 방법을 제안했습니다. 두 가지 스코어 모두, 기존의 오토인코더에서 사용한 복원 오차를 일반화한 것으로 해석할 수 있습니다.

 

RaPP를 적용했을 때, AE, VAE 및 AAE의 모든 오토인코더에서 복원오차를 사용했을 때에 비해, 전부 성능이 개선되었고 우수한 성능을 보이는 것을 확인할 수 있었습니다. 

 

 

Autoencoder based Anomaly Detection

원문 : https://kh-kim.github.io/blog/2019/12/15/Autoencoder-based-anomaly-detection.html

 

 

Convolutional Variational Auto-Encoder를 사용한 비행 데이터의 비지도 이상 탐지

원문 : https://www.mdpi.com/2226-4310/7/8/115/htm

728x90
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기
반응형