[KDD 2020] USAD: UnSupervised Anomaly Detection on Multivariate Time Series

Paper url : https://dl.acm.org/doi/pdf/10.1145/3394486.3403392

Author and affiliation

Background

주어진 학습 데이터 셋에서 기존 관측과는 상이하여 다른 메커티즘에 의해 생성되었다고 판단할만한 관측값을 anomaly sample이라고 부르며, 이상치를 탐지하는 task를 anomaly detection (AD)이라고 부른다. Anomaly detection task는 abnormal에 대한 label의 유무에 따라 supervised setting과 unsupervised setting으로 나뉜다. 대부분의 real world에서는 label이 존재하지 않아 unsupervised setting에서의 높은 성능을 기록하는 알고리즘들이 각광을 받고 있다.

Unsupervised anomaly detection on multivariate time series (USAD)는 이름에서 알 수 있듯이 다변량 시계열에서 unsupervised setting으로 anomaly detection task를 진행하는 모델이다. 각 용어들의 의미를 살펴보자. 앞서 정의한 anomaly 말고 눈에 띄는 단어는 multivariate time series이다. Multivariate time series란 각 시간 단위마다 여러 개의 값을 가지는 시계열을 뜻한다. 그림으로 표현하면 Figure 02와 같다 [1].

다음으로 unsupervised anomaly detection은 크게 autoencoder (AE) 기반 알고리즘, variational autoenc-oder (VAE) 기반 알고리즘, generative adversarial networks (GANs) 기반 알고리즘이 존재한다. Unsuperv-ised anomaly detection 알고리즘은 AE -> VAE 혹은 AE -> GANs로 변하는 추세인데 그 이유에 대해서는 추후에 posting 하도록 하겠다. USAD의 작동 과정을 설명하기 전에 본 논문의 contribution을 이해하기 위해서 AE 기반 AD와 GANs 기반 AD의 장단점을 알아보자.

Autoencoder based anomaly detection

먼저 anomaly detection은 학습 단계(training phase)와 탐지 단계(detection phase)로 구분할 수 있다. AE 기반 모델의 학습 단계에서는 정상 데이터를 압축&복원 과정을 거치는데, 이 때 복원된 시계열과 원본 시계열 간의 차이인 reconstruction error를 minimize 하여 정상 데이터를 잘 복원하는 모델을 구축한다.

이처럼 정상 데이터만을 학습한 AE 모델은 비정상 데이터를 입력하였을 경우 큰 값의 reconstruction error를 갖는다. 학습에서 보지 못한 data기에 제대로 복원하지 못하는 것인데, 탐지 단계에서는 위 성질을 활용하여 정상과 이상 데이터가 혼재해 있는 데이터를 AE의 input으로 넣은 후 이를 복원하였을 때 발생한 reconstruction error를 사용하여 threshold를 넘기면 이상, 넘기지 않으면 정상으로 판단한다. 이 때 이상 탐지의 기준이 되는 reconstruction error를 anomaly score라고 부른다.

AE 기반의 anomaly detection 알고리즘의 경우 학습이 용이하다는 장점이 있지만 정상 데이터의 분포와 유사한 비정상 데이터가 들어올 경우 이를 잘 구별하지 못한다는 단점이 존재한다. 이는 AE의 압축 과정에서 복원에 불필요한 정보를 제거하기 때문인데 학습 단계에서 정상 데이터만을 사용한다는 특성과 맞물려 비정상을 탐지할 수 있는 abnormal information이 소거되는 특징이 있다. 다시 말하면 정상 데이터만을 학습한 AE의 경우 비정상 데이터가 들어오더라도 최대한 정상처럼 복원하는 성질이 존재하기에 미세한 차이의 anomaly sample을 검출하지 못한다는 단점이 존재한다.

Generative adversarial networks based anomaly detection

GANs는 가상 데이터(fake data)를 생성하는 generator와 실제(real)와 fake data를 구분하는 discriminator로 구성된다. GANs 기반 anomaly detection은 real data를 normal로, fake data를 abnormal로 판단하여 학습을 진행하며 전반적인 구조는 Figure 04와 같다 [2].

GANs 기반 방법의 경우 input sequence의 압축 및 복원을 generator가 담당한다. 이 때 generator의 목적은 discriminator를 속이는 것이기에 generator의 encoder, decoder가 real 정보 뿐 아니라 fake에 대한 정보를 포함하도록 강제된다. 즉 discriminator의 도입으로 압축과 복원을 담당하는 encoder, decoder가 보다 자세하게 비정상 데이터를 구분할 수 있게 되어 기존 AE기반 모델의 단점을 보완하는 특징이 있다. 다만 com-puter vision 등에서 발생하는 GANs의 일반적인 문제점과 마찬가지로 안정적인 학습이 어렵다는 단점이 존재한다.

USAD는 두 가지 방법의 장점을 모두 취하는 모델이다. 학습이 쉽고 안정적인 결과를 낼 수 있는 AE의 장점과 discriminator의 도입으로 abnormal information을 포함할 수 있는 GANs의 장점을 결합하였다. AE를 사용하되 adversarial training을 적용하여 보다 상세한 anomaly detection을 추구하였다.

Methods

USAD의 architecture는 Figure 05와 같다. Adversarial training을 적용하기 위해 2개의 decoder를 사용하였다는 점 외에는 기존의 AE 기반의 anomaly detection과 동일한 구조를 갖는다. Notation을 잠시 정리하면 두 개의 decoder는 각각 D1D_1D2D_2로 표기되며 이들은 동일한 encoder network E E를 사용한다. WW를 training data 안에 있는 sequence의 window라고 하였을 때 두 개의 Decoder에 따라 AE는 각각AE1=D1(E(W))AE_1=D_1(E(W)),AE2=D2(E(W))AE_2=D_2(E(W))와 같이 표기된다. 이제 USAD의 학습 단계와 탐지 단계에 대해서 알아보자.

Training process

USAD는 두 단계를 거쳐서 학습이 진행된다. 첫 번째 단계는 AE training 단계로 기존의 AE를 학습하는 것과 동일한 과정을 거친다. 이를 수식으로 표현하면 다음과 같다.

학습의 첫 번째 단계인 AE training 과정에서는 각각의 AE가 training data에 속해있는 input WW (real, normal)를 잘 복원하도록 학습을 진행한다. 다음으로 두 번째 단계인 adversarial training 과정을 알아보자.

Adversarial training 과정에서 각각의 autoencoder (AE1,AE2AE_1, AE_2)는 다음과 같은 목적을 지닌다.

  • TrainAE2AE_2to distinguish the real data from the data coming fromAE1AE_1, and trainAE1AE_1to foolAE2AE_2

AE2AE_2는 real data인WWAE1AE_1로 부터 복원된 fake data인AE1(W)AE_1(W)를 구분하도록 학습한다. 반면 AE1AE_1AE2AE_2의 real과 fake에 대한 판별 성능을 저하시키는 것을 목적으로 학습이 진행된다. 즉 AE1AE_1은 GANs에서 generator의 역할을, AE2AE_2는 discriminator의 역할을 수행한다. Adversarial training 단계에서의 목적함수는 다음과 같이 표기할 수 있다.

각각의 수식이 갖는 의미를 살펴보자. 먼저 generator 역할을 수행하는 첫 번째 autoencoder는 real data WW와 fake에 대한AE2AE_2의 output인AE2(AE1(W))AE_2(AE_1(W))간의 차이를 최소화 시켜야 discriminator를 속일 수 있다. 반대로 discriminator 역할을 수행하는 두 번째 autoencoder는 fake data가 input으로 들어 왔을 때 real data와의 차이를 최대화 시켜야(=large reconstruction error) real과 fake를 잘 구별하고 있다고 볼 수 있다. 따라서 AE1AE_1은 fake에 대한AE2AE_2의 reconstruction error를 줄이도록 학습하고, 반대로 AE2AE_2는 fake에 대한 reconstruction error를 키우도록 학습한다.

위의 두 가지 training phase를 하나의 loss function으로 표기하면 다음과 같다.

먼저 위 수식의 세부 term에 대해서 설명하면 다음과 같다. 각각의 loss에서 앞의 term은 real data에 대한 reconstruction error로써 원본 데이터를 잘 복원하는 AE training의 loss에 해당한다. AE training term을 통해서 원래의 input을 잘 복원하도록 학습이 진행된다. 다음으로 두 번째 term의 경우 adversarial training의 loss로 구성되어 있다. 앞에서 살펴본 minimize, maximize term이 부호로써 각각 +,-로 표기가 된 것을 확인할 수 있다. 마지막으로 두 term을 합할 때 곱해지는 분모의nn은 학습 중인 epoch을 뜻하여 학습 초반에는 real data에 대한 reconstruction error에 가중치를 주고 학습 후반에는 adversarial training에 가중치를 주는 역할을 한다.

이제 각각의 AE 관점에서 loss를 이해해보자.AE1AE_1에 적용되는 loss를 살펴보면 real data에 대한 reconstruction error와 fake data에 대한AE2AE_2의 reconstruction error가 모두 최소일 때 최소값을 갖는다. 이를 통해AE2AE_2가 fake data에 대한 판별력이 떨어지는 것을 목표로 하는 것을 확인할 수 있다. 반대로AE2AE_2에 적용되는 loss를 살펴보면 real data에 대한 reconstruction error가 최소이고, fake data에 대한AE2AE_2의 reconstruction error가 최대일 때 최소값을 갖는다. 즉 fake data가 들어왔을 때 anomaly가 들어왔다는 신호인 reconstruction error를 크게 내뱉도록 학습이 진행된다. GANs 기반 anomaly detection에서 real은 normal, fake은 abnormal로 사용하는 것을 감안하면 AE2AE_2는 결국 normal과 abnormal의 미세한 차이를 극대화시키는 역할을 하게 된다. 기존의 AE 기반 anomaly detection model과 비교하여 높은 성능을 보일 수 있는 이유가 여기에 있다.

Detection process

학습이 완료된 USAD를 사용하여 실제 anomaly detection을 수행하는 과정을 알아보겠다. 먼저 USAD의 anomaly score 산출 공식은 다음과 같다.

W^\hat{W}은 unseen data, 즉 train data에 존재하지 않은 새로운 sequence의 window를 뜻하며 normal과 abnor-mal이 혼재되어있다. USAD의 anomaly score는 input과AE1AE_1의 reconstruction error와 더불어 input과 fake에 대한AE2AE_2의 reconstruction error의 가중합으로 산출할 수 있다. USAD의 anomaly score는 뒷 term에 해당하는 fake에 대한AE2AE_2의 reconstruction error를 사용하여 정상과 매우 유사한 분포를 지닌 비정상 데이터가 들어오더라도 이를 탐지할 수 있게된다.

두 가지 term을 결합할 때 사용되는 hyper-parameter인 α\alphaβ\beta 합은 1로 설정이 되며 parameter setting에 따라 다음과 같은 결과를 얻을 수 있다.

β\beta가 커진다는 것은 정상 분포와 약간만 달라지더라도 큰 anomaly score를 발생시키기 때문에 detection의 횟수는 증가하고, 이에 따라 detection sensitivity가 높아지게 된다. 반대로 real data에 대한 reconstruction error를 더욱 크게 반영할 경우 미세한 anomaly detection은 불가하여 detection 수는 감소하고 detection sensitivity는 낮아지게 된다.

Experiments

USAD는 총 5가지 public datasets와 1가지 private dataset을 활용하여 성능을 검증하였다. 5가지 public datasets은 다음과 같다.

  • Secure water treatment (SWatT)

  • Water distribution (WADI)

  • Server machine dataset (SMD)

  • Soil moisture active passive (SMAP)

  • Mars science laboratory (MSL)

각각의 datasets에 대한 평가 지표는 precision, recall, F1 score, F1 star로 구성되며 F1 star의 경우 precision과 recall의 평균을 사용하여 도출된 값이다.

다음은 5가지 datasets에 대한 비교 모델과의 성능 비교표이다. 첫 번째 표의 without/with는 point-adjust 적용 여부를 뜻하며 point-adjust란 각각의 observation/time-point에 대해서 독립적으로 anomaly를 detecting 한것으로 이해하였다.

Point-adjust : detect each observation/time-point independently and assigns a label to single time-point

다음은 5가지 datasets에 대한 알고리즘별 average performance (standard deviation)을 기록한 표이다.

성능 비교 표를 정리하면 대부분의 경우에서 USAD가 좋은 성능을 보여주는 것을 확인할 수 있다. 특히 AE를 활용한 anomaly detection과 비교하면 월등한 성능을 보여준다. 다만 MAD-GAN, TadGAN을 비롯한 GANs 기반의 알고리즘과 비교시 좋은 성능을 보여줄 수 있을지는 미지수다. Adversarial training이 적용된 모델인 만큼 GANs 기반 anomaly detection과의 성능 비교도 있었으면 좋았을 것 같다.

다음은 SWaT data에 대한 hyper-parameter별 성능을 기록한 표이다. 앞서 말한대로 β\beta값이 커짐에 따라 detection의 수가 많아짐을 확인할 수 있다. 신기하게도β\beta를 1로 두어 adversarial term만을 반영했을 때가 F1 score 기준으로 가장 좋았던 것을 알 수 있다. 이는 SWaT data의 anomaly sample이 normal sample과의 차이가 크게 나지 않기 때문이 아닌가 추측해본다.

마지막으로 USAD에서 adversarial training의 효과를 확인하기 위한 ablation study 결과는 다음과 같다.

3가지 datasets에 대해서 순수 adversarial의 성능은 가장 낮으나 AE와 결합했을 때 가장 좋은 성능을 보인 것을 확인할 수 있었다. 앞에서 hyper-parameter별 모델 성능과는 다른 결과가 나온점이 의아하기 했다.

USAD는 기존의 AE 기반의 anomaly detection 알고리즘의 장점과 GANs 기반의 anomaly detection 알고리즘의 장점을 결합한 방법이다. 해당 방법의 성능 향상 효과는 실험을 통해서 AE 기반의 방법보다는 효율적임을 보였으나 GANs 기반의 방법과의 비교는 존재하지 않았다. 또한 도출된 anomaly score로부터 abno-rmal을 판단하는 thresholding에 대한 자세한 설명이 존재하지 않았다.

Reference

[1] https://link.springer.com/article/10.1007/s10994-019-05815-0?shared-article-renderer

[2] Akcay, S., Atapour-Abarghouei, A., & Breckon, T. P. (2018, December). Ganomaly: Semi-supervised anomaly detection via adversarial training. In Asian conference on computer vision (pp. 622-637). Springer, Cham.

\checkmark 논문의 concept 및 idea 위주로 정리하여 자세한 수식이나 내용에 오류가 있을 수 있습니다.

\checkmark 본 포스팅은 SKT AI Fellowship 3기, unsupervised time-series anomaly detection 알고리즘 개발에 활용한 모델을 설명하기 위해 작성하였습니다.

Last updated