Paper review/Anomaly Detection

Unsupervised Model Selection for Time-Series Anomaly Detection (ICLR'23)

언킴 2023. 5. 10. 11:33
반응형

Contents

    Introduction

    본 논문은 아마존 연구진들이 작성한 논문으로, 시계열 데이터에서 이상치 탐지를 할 때 어떤 비지도 학습 모델을 선택하여야 하는 지에 대한 내용을 다루고 있다. 이상치 탐지에서 이상치는 데이터가 매우 희박하고, 이상치 데이터를 얻기 위해서는 시간적, 비용적인 문제에 직면하게 된다. 따라서, 정상 데이터만으로 모델을 학습하고 이 후에 이상치가 들어올 때, 정상 데이터 간의 차이를 바탕으로 이상치를 탐지하는 비지도 학습(Upsupervised Learning) 모델이 주로 사용된다. 

     

    이처럼 비지도 학습 모델은 학습 단계에서 정상 데이터만을 바탕으로 Reconstruction Loss 혹은 Forcasting 을 바탕으로 학습하게 되는데, 이때의 Loss가 낮게 나온다고 하더라도 실제 이상치를 잘 분류하는 지는 명확하지 않다. 따라서, 실제 학습 단계에서 다양한 기준을 바탕으로 모델을 평가하여 실제 이상치 탐지에도 우수한 성능을 발휘하는 모델을 선정하기 위해 본 논문에서는 Prediction Error, Synthetic Anomaly Injection, Model Centrality 를 도입한 방법을 소개한다. 

     

    Surrogate Metrics of Model Performance

    Surrogate Metric은 Prediction Error, Synthetic Anomaly Injection, Model Centrality 로 구성되어 있으며, 먼저 Prediction Error부터 살펴보자.

     

    Prediction Error

    Prediction Error는 실제 시계열 데이터 $\{x_t \}^T_{t=1}$가 주어졌을 때 모델이 예측한 값 $\{\hat{x}_t \}^T_{t=1}$ 간의 차이를 계산하는 $MSE = \frac{1}{T} \sum^T_{t=1} ( x_t - \hat{x}_t)^2 $를 주로 사용한다. 이 때 $T$는 시계열 윈도우 크기를 의미하고, $t$는 윈도우 내 각 시점을 의미한다. 모델은 정상 시계열 데이터를 입력으로 받고, 이를 복원하거나 예측하고, 복원하는 경우 입력 값과 예측 값 간의 Reconstruction Loss를 바탕으로 학습한다. 반면에, 예측의 경우 입력 값의 마지막 시점 $t$에 대해서 $t+1$ 혹은 그 이상의 지점을 예측하고, 원본 시계열 데이터에서 그 해당 값 간의 차이를 바탕으로 학습한다. 

     

    Synthetic Anomaly Injection 

    좋은 이상 탐지 모델은 실제 이상치가 들어왔을 때 이를 잘 구분할 것이다. 이를 기반으로 본 연구에서는 Spikes, Contextual, Flip, Speedup, Noise, Cutoff, Scale, Wander, Average Anomaly를 주입하여 모델을 학습한다. 이때 이상치에는 (pseudo-)positive label을 부여하고, 나머지 값에는 (pseudo-)negative label을 부여하고 F1-Score를 측정한다. 그러나, 이와 같은 방식은 두 가지 문제점이 존재한다. 첫 번째, 실제 이상치가 들어올 때 9개의 Synthetic Anomaly 유형과 다른 유형이 들어올 수 있다. 두 번째, Synthetic Anomaly로 생성한 데이터와 같은 유형의 데이터가 이미 정상 데이터 내에 존재해서 Negtive label이 부여될 수 있기 때문에 이런 경우 성능이 저하될 수 있다. 

     

    Model Centrality

    Model Centrality에서는 오직 하나의 Ground Truth (GT) 만 존재한다. 다시 말해, 중심에 가장 가까운 모델이 가장 좋은 모델이라고 할 수 있다. 그러나 대부분의 Centrality-based metric은 Threshold를 바탕으로 이상치를 탐지한다. 본 연구에서는 시계열 데이터에 활용하기 위해 아래와 같은 Ranking 방식을 사용한다. 

    \[ d_{\tau} (\sigma_k, \sigma_l) = \sum_{i < j} \mathbb{I} \{ ( \sigma_k(i) - \sigma_k (j) ) ( \sigma_l (i) - \sigma_l (j)) < 0 \} \]

    이때 $\sigma_k(i)$는 모델 $k$의 Anomaly Score에 따른 time point $i$ 시점의 랭킹을 의미한다. 이때 거리 함수는 켄달 타우 거리를 사용하였으며, 모델 $A_k, Al$ 간의 차이를 계산한다. 그런 다음, K nearset neighbors를 바탕으로 모델의 중심성을 측ㅈ겅하고, 이때 K는 이웃의 수를 나타내는 파라미터를 의미한다. 

     

     

    Robust Rank Aggregation

    Prediction Error, Synthetic Anomaly Injection, Model Centrality 를 통한 Rank가 도출되면, 이를 바탕으로 Robust Rank Aggregation (RRA)를 수행한다. 해당 단계는 각 평가 지표에서 도출된 Rank를 토대로 최종적으로 어떤 모델이 가장 우수한 모델인지 평가하는 단계다. 

     

    \[ \text{EI}(\sigma_i, \mathcal{S}) = f(\mathcal{S}) - f(\mathcal{S} \ \sigma_i), \quad \text{where} f(\mathcal{A}) = \frac{1}{|\mathcal{A}|} \sum^{|\mathcal{A}|}_{i=1} d_{\tau} (\text{Borda}(\mathcal{A}), \sigma_i ) \]

    $\text{Borda}$는 1784년 제안된 기법으로, 각각의 평가 지표에 대해 순위 정보를 받고, 순위를 내림차순으로 정렬한 후 랭킹에 대한 가중치를 계산한다. 예를 들어, 총 N개의 모델 중에서 r 번째 순위를 할당 받는다면, (N-r)의 값을 할당하는 것이다. $\text{EI}$는 Empirical Influence Function을 의미한다. 

     

    Evaluation Results 

     

    Datasets

    데이터셋은 UCR Anomaly Archive (UCR) 데이터와 Server Machine Dataset (SMD)으로 구성되어 있으며, UCR 데이터는 (1) Acceleration (2) Air Temperature (3) Arterial Blood Pressure (ABP) (4) Electrical Penetration Graph (EPG) (5) Electrocardiogram (ECG) (6) Gait (7) NASA (8) Power Demand (9) Respiration (RESP) 로 구성되어 있다. 

     

     

    Experimental Setup

    본 연구에서는 Adjusted bset F1 Score를 사용하였으며, 베이스 라인으로는 "Supervised Selection" (SS) 즉, 임의로 라벨을 부여하고 예측하는 (Synthetic Data) 방식을 채택하였다. 

     

    Results and Discussion

    본 논문에서는 실험 결과를 다양한 측면으로 기술하였다. (1) No single best surrogate metric (2) Minimum Influence Metric perform on par with Supervised Selection (3) Robust variation of Borda outperform Borda (4) Robust variation of Borda minimizes losses to Oracle (5) Synthetic anomaly injection metrics outperform other classes of metrics (6) Prior knowledge of anomalies might help identify good anomaly injection metrics.

     

    먼저, 첫 번째 실험 결과는 Figure 3과 같이 어느 하나의 평가 지표가 월등히 우수한 성능을 보이는 것이 없다. 라는 것을 의미한다. 만약, MSE 평가 지표가 모든 경우에 대해서 가장 우수한 모델을 선정한다면, 시계열 데이터를 다루는 모델 중 가장 좋은 모델을 선정할 때 MSE 만을 사용하면 된다. 그러나, 실험 결과에서 확인할 수 있듯, MSE가 가장 우수한 모델을 찾는 경우도 있고, 아닌 경우도 있기 때문에 적절한 방법을 통해서 선정하는 것이 옳다라는 본 연구의 주장을 뒷받침한다. 두 번째 실험 결과는 Minimum Influence Metric (MIM) 도 베이스라인 (SS) 보다 그렇게 나쁘지 않은 결과를 보이고 있으며, Temperature 데이터에서는 오히려 좋은 성능을 보인다는 것을 확인한 실험이다 이때 MIM는 RRA에서 소개한 Robust Borda와 Borda 중 낮은 스코어만 선택하는 방식을 의미한다. 세 번째 실험 결과는 Robust Borda의 영향에 대한 실험 결과를 나타낸다. 네 번째 실험 결과는 Oracle 보다 Robust Borda의 Loss가 더 낮다는 것을 기술한다 (Table 2). 다섯 번째 실험 결과는 Synthetic anomaly injection metrics가 Prediction Error, Centrality metrics와 같은  다른 평가 지표보다 우수하다는 것을 보인다는 것이다. 여섯 번째 실험 결과는 시계열 데이터 특성에 맞는 Synthetic 데이터를 주입했을 때 좋은 성능을 도출할 수 있다는 해석이다. 예를 들어, 속도가 빨라지거나 느려지는 등의 데이터를 입력한 경우 호흡과 관련된 데이터에서 더 좋은 성능을 발휘할 것이다.