[AAAI '21] Graph Neural Network-Based Anomaly Detection in Multivariate Time Series

minha·2022년 4월 6일
0

Time series

목록 보기
4/4

1. Introduction

  • Multivariate 시계열 데이터의 센서 간 상관관계를 잘 모델링 하기 위해 GNN 활용 가능
  • BUT,
    1) 센서별로 특징이 너무 다르기 때문에 그래도 node feature로 사용하는 건 별로임
    \rightarrow Sensor Embedding을 도입하고, 각 센서 임베딩을 initial node feature로 사용
    2) 센서 간 연관성, 즉 graph connectivity는 애초에 알 수 없음
    \rightarrow End-to-end training 말고, 학습을 두 단계로 나눔
    \rightarrow 1차 학습) 센서 임베딩과 함께 graph connectivity를 학습
    \rightarrow 2차 학습) 학습이 완료된 그래프를 바탕으로 attention을 도입하여 node feature representation 학습

2. Method

  • 1차 학습) Sensor Embedding & Graph Structure Learning
    \rightarrow 각 센서 데이터 값은 d차원의 임베딩 벡터로 학습됨 \rightarrow NN sensors ×\times dd dimension
    \rightarrow 다변량 시계열은 directed graph 형태로 표현되고, edge, 즉 connectivity와 센서 임베딩이 학습됨
    \rightarrow 1. Connectivity prior info 없는 경우: Candidate sensors = {all} 중 센서 임베딩 벡터 간 코사인 유사도가 큰 top-K개의 센서가 연결되었다고 봄
    \rightarrow 2. Connectivity prior info 있는 경우: Candidate sensors = {prior} 이하 동일

  • 2차 학습) Graph Attention-Based Forecasting
    \rightarrow Input: sliding window size = w라고 할 때, t-w 부터 t-1 time step까지의 센서 데이터 NN ×\times ww
    \rightarrow Output: time step t에서의 예측된 센서 데이터 NN
    \rightarrow Attention score 기반으로 neighborhood aggregation을 진행하여 각 노드(센서)의 aggregated representation을 얻음 (attention score 계산시 센서 임베딩 함께 사용)
    \rightarrow Fully connected layer을 통과시켜 time step t에서의 센서 데이터를 예측함 (예측시에도 센서 임베딩 함께 사용)
    \rightarrow Loss: MSE

  • Graph Deviation Scoring
    \rightarrow Individual anomalousness
    \rightarrow Overall anomalousness: Deviation 값의 스케일이 센서별로 매우 다를 수 있으므로 normalization 해서 max 값 취함
    \rightarrow Threshold: (Fixed) Maximum anomaly score over the validation dataset


Experiment

  • Dataset: SWaT, WADI
  • Evaluation Metrics: Precision, Recall, F1-Score (Unbalanced 데이터셋이므로)

사담(타인의 의견이므로 사실여부는 모름....)

K 말로는 GDN은 end-to-end로 학습되며 학습시에는 오직 정상 데이터만을 사용한다고 한다.
논문에서는 forecasting이라는 용어를 썼는데 사실상 input graph를 reconstruction하여 output graph와 input graph의 deviation을 통해 이상치를 탐지한다고 한다 (실제 구현상에서는). 학습 과정에서 매 update마다 graph connectivity는 계속 바뀐다. 업데이트된 노드 임베딩에서 cosine similarity가 높은 top-K개의 센서들이 선택되는 것이겠지. 학습에 사용되는 모든 데이터는 정상으로 간주되며 학습 objective은 output과 input graph의 deviation을 적게끔, 즉 reconstruction이 잘 되도록 하는 것이다. Validation set으로 구한 graph deviation의 최댓값을 fixed threshold로 두고(그럼 validation set도 모두 정상으로 간주되어야 하겠지?), 추론시에 graph reconstruction을 통해 구한 deviation이 threshold를 넘으면 이상치로 탐지한다.

1개의 댓글

comment-user-thumbnail
2022년 4월 25일

안녕하세요. 해당 논문 읽다가 이해가 안가는 부분이 있어서 댓글 남깁니다..
"Sensor Embedding을 도입하고, 각 센서 임베딩을 initial node feature로 사용" 이 부분이 무슨 의미인가요?? 센서 임베딩의 의미를 모르겠어요 ㅠ

답글 달기