상세 컨텐츠

본문 제목

[ML/DL] Orion을 통한 불안정한 시계열 이상 감지

Technology/Tech Insight

by kiikii 2021. 12. 7. 17:26

본문

Orion?

그 동안 이상 탐지 기술은 데이터 과학에서 널리, 꾸준히 사용되어 왔다.

그리고 현재, 이상 탐지 기술은 시계열 데이터의 급격한 증가와 함께 시계열 데이터 상의 이상을 탐지하는 기술에 대한 연구가 급증하는 추세에 있다.

최근 MIT의 연구원 그룹은 딥러닝 기반 접근 방식과 GAN 접근 방식을 결합한, TadGAN(Time Series Anomaly Detection using Generative Adversarial Networks) 알고리즘을 사용한 시계열 이상 탐지에 대한 아이디어를 내놓았으며 시계열 이상 탐지를 위한 벤치마킹 시스템을 개발했다.

이 벤치마킹 시스템은 Orion이라고 불리며, 불안정한 시계열 이상 감지(UTSAD)를 위해 구축된 기계학습 파이썬 기반 라이브러리이다.

불안정한 시계열 이상 감지(UTSAD)?

시계열 이상은 시스템이 비정상적으로 동작하는 시점 또는 기간으로 정의되며, 대체로 두 가지 유형의 이상 현상이 있다.

 
  1. Point Anomaly: 비정상적인 값에 도달한 단일 데이터 포인트
  2. Collective Anomaly: 개별 데이터 포인트가 비정상적이지 않더라도, 전체적으로 비정상적으로 간주되는 데이터 포인트의  연속적인 시퀀스 

시계열 이상 감지는 시계열 내에서 다양한 길이의 이상 하위 시퀀스를 분리하는 것을 목표로 한다. 가장 간단한 감지 기술 중 하나로 임계값(Threshold)가 있지만, 일반적으로 많은 이상 현상들은 임계값의 경계를 초과하지 않는다는 한계점이 존재한다.

 

 

불안정한 시계열 이상 감지(UTSAD)를 위한 기계학습

다양한 변칙 유형, 데이터 유형 및 애플리케이션 시나리오는 지난 몇 년 동안 다양한 이상 탐지 접근 방식에 박차를 가했다. 그 중 가장 간단한 방법은 값이 특정 임계값을 초과하는 영역에 플래그를 지정하는 방식(out of limit)이었는데, 해당 방법은 직관적이지만 융통성이 없고 상황에 따른 이상을 감지할 수 없다는 한계를 가지고 있다.

아래의 내용은 한계를 극복하기 위해 제안된 방법들이다.

  • 근접 기반: 거리 측정을 사용하여 객체 간의 유사성을 수치화하고, 수치화된 객체의 거리값이 동떨어져있는 객체를 이상 현상으로 간주한다. 
  • 예측 기반: 주어진 시계열 데이터에 맞는 예측 모델을 학습한 다음, 해당 모델을 사용하여 미래값을 예측한다. 데이터 포인트는 예측 입력되 원래 입력 간의 차이가 특정 임계값을 초과하는 경우 이상으로 간주한다.
  • 재구성 기반: 원래 신호를 낮은 차원으로 매핑한 후, 다시 높은 차원으로 매핑하여 합성 신호를 생성하는 모델을 학습한다. 이 방법은 이상 현상이 저차원 공간에 매핑될 때, 정보가 손실되어 효과적으로 재구성될 수 없다고 가정한다. 따라서 높은 재구성 오류는 이상이 될 가능성이 높음을 시사한다고 볼 수 있다.
TadGAN?

TadGAN은 4개의 신경망으로 구성되어 있으며, 구조는 아래와 같다.

원본 데이터 X를 잠재 하위 차원에 매핑하는 인코더
인코더의 결과를 원본 X에 다시 한번 매핑함으로써 원본 신호와 같은 차원으로 재구성하는 생성기
원본과 재구성된 신호를 비교, 구분하는 2개의 판별기
 

위의 한계 극복을 위한 방법들 중, Orion 라이브러리의 TadGAN 모델을 사용하여 원본 데이터를 예측, 재구성하는 것이 가능하며, 원본 데이터와 재구성된 데이터의 차이를 사용해 손실을 구함으로써 이상을 탐지할 수 있게 된다.

 

원본 시퀀스와 재구성된 시퀀스

TadGAN 모델의 훈련을 통하여 위의 이미지와 같이 실제 데이터를 거의 재구성할 수 있음을 확인할 수 있다. 이후의 과정에서 원본과 생성 데이터 간의 오차를 계산해야 하는데, TadGAN에는 오류 계산을 위한 세 가지 방법이 존재한다.

  • Area: 실제 및 재구성된 신호의 일반적인 형태를 가지고 비교를 진행 
  • Point: 원본 신호와 재구성된 신호 사이의 각 포인트를 비교
  • DTW(Dynamic Time Warping): 동적 시간 왜곡
동적 시간 왜곡(Dynamic Time Warping)?

속도가 다른 2개의 값이 들어올 때, 유사성을 측정하는 알고리즘. 거리값의 계산을 통해 유사도를 확인한다.


일반적으로 거리값의 계산에는 유클리드 거리 계산법을 이용하는데, 유클리드 거리 계산 방식은 같은 시점의 거리를 계산하기 때문에 속도가 반영되지 않는다. 동일인의 목소리 혹은 걸음거리라고 할지라도 속도가 다르거나, 시작점이 다르면 다르게 인식한다는 말이 된다. 이를 보완한 것이 동적 시간 왜곡 방식이며, 유클리드 방식과는 다르게 거리가 가장 짧은 시점(유사도가 높은 시점)을 찾아 매핑하게 된다.

위의 방법 중 DTW 방식을 이용하여 원본 시퀀스와 재구성된 시퀀스 간의 오류를 계산하고, 플로팅하여 시각화된 원본과 재구성된 시퀀스의 오류의 정도를 이미지를 통해 확인할 수 있다.

원본과 재구성된 시퀀스의 오류 시퀀스

만약 앞의 동일한 과정의 반복을 통하여 만들어진, 정상과 이상을 분류해 낼 수 있는 임계값이 존재한다면, 그 임계값과 새로운 시퀀스를 재구성하는 과정에서 나타난 오류 간의 비교를 통하여 변칙점으로 분류하고 이상을 탐지하는 것이 가능할 것이다.

TadGAN과 Orion 라이브러리의 사용에서 보았듯이, 시퀀스 데이터를 차원 축소 후 재구성하는 과정에서 생기는 오차의 유의미함을 확인할 수 있었다. 패턴과 특징이 뚜렷하지 않아 정상과 이상간의 오류를 찾을 수 없는 무작위의 시계열 데이터의 경우, 시계열 데이터의 재구성을 통하여 복원 오차를 추출하고 이상을 탐지할 수 있는 방식으로써 유용하게 사용될 수 있을 것이라 생각된다.

 

 

Reference