2024 딥러닝/Time-series 논문 리뷰

[Time-series 논문 리뷰] Large language models can be zero-shot anomaly detectors for time series? (DSAA 2024)

융딩2 2024. 11. 7. 15:43

 

 

본 논문에서는 LLM을 활용하여 시계열 데이터에서 이상 탐지하는 방법을 제안하는데, 이를 위해 SIGLLM이라는 프레임워크 개발함. SIGLLM은 시계열 데이터를 text형식으로 변환해 LLM에 입력하고, 이를 기반으로 2가지 접근법을 사용하여 이상을 탐지함. (PROMPTER, DETECTOR)

 

1. 시계열 데이터 변환 과정 (LLMTIME과 유사)

시계열 데이터를 LLM이 처리할 수 있도록 하기 위해 몇가지 전처리 과정을 거침.

1) 스케일링(Scaling)

- 데이터의 최솟값을 기준으로 값을 이동하여 비음수로 변환함.

- 예를 들어, $X=(x_1, x_2, ... , x_T)$가 주어지면, 각 데이터 포인트에 대해 $x_{t}^{'}=x_t-min(X)$로 변환해 음수를 제거하고 데이터의 범위 조절

 

2) 양자화(Quantization)

- LLM이 무한한 연속값을 처리하기 어려우므로, 소수 자릿수를 줄이고 정수로 변환함.

- 예를 들어, 0.2437, 0.3087을 각각 244, 309로 변환하여 텍스트로 표현할 때 필요한 토큰 수를 줄임

 

3) 롤링 윈도우(Rolling window)

- LLM의 입력 길이 제한 때문에, 전체 시계열 데이터를 작은 윈도우로 나눔

- 예를 들어, 윈도우 크기가 w이고, 스텝 크기가 s일때 ${x_{1:w}, x_{1+s:w+s},...}$와 같은 윈도우 세트 생성

 

4) 토큰화 (Tokenization)

- 숫자를 텍스트로 변환할때 각 자릿수를 개별적으로 분리해 LLM이 더 쉽게 학습할 수 있도록 함

- 예를 들어, 숫자 244는 "2 4 4"와 같은 형식으로 변환됨

 

 

2. 이상 탐지 방법

SIGLLM은 PROMPTER와 DETECTOR라는 2가지 탐지 방식을 통해 시계열 이상탐지 수행함.

1) PROMPTER 방식: 프롬프트 기반 이상 탐지

Text prompt 사용하여  LLM에 직접적으로 이상을 찾도록 요청함.

예를 들어, 아래와 같은 prompt 사용하여 시계열의 특정 값이 이상치인지 판단함.

"You are an intelligent assistant that detects anomalies in time series data. Sequence: {input sequence}"

 

PROMPTER 방식의 구체적인 과정: prompt 생성 -> 다중 샘플링 -> 필터링

- prompt 생성: 시계열 데이터를 prompt와 결합하여 LLM에 입력

- 다중 샘플링: 각 prompt에 대해 여러 번의 샘플을 생성하여 이상으로 예측된 인덱스를 모음

- 필터링: 특정 비율 이상으로 이상치로 예측된 인덱스만 최종 이상치로 간주함. 여기서 특정 비율은 하이퍼파라미터 $\alpha$와 $\beta$로 설정하여 성능 조정.

 

2) DETECTOR 방식: 예측 기반 이상탐지

LLM이 시계열 데이터를 예측하는 능력 활용하여 원본 데이터와 예측 데이터의 차이를 통해 이상감지.

 

DETECTOR 방식의 구체적인 과정: 예측 수행 -> 잔차계산 -> 후처리

- 예측 수행: 롤링 윈도우에 대해 LLM을 사용하여 각 구간의 예측값 생성. 예측된 시계열 데이터는 $\hat{X}=(\hat{x_1},\hat{x_2},...,\hat{x_T})$로 표기됨.

- 잔차 계산: 원본 시계열 $X=(x_1, x_2, ..., x_T)$과 예측 시계열 $\hat{X}$간의 차이인 잔차(residual) $e_t=|x_t-\hat{x_t}|$을 계산함. 이 값이 일정 임계값을 초과하면 이상으로 간주됨.

- 후처리: 잔차를 부드럽게 하기 위해 지수 이동 평균을 적용하여 민감도를 낮춤. 임계값을 설정할때 moving window를 사용하여 local 기준에서 이상 감지함. 

 

 

3. 평가 및 성능 비교

이 논문은 PROMPTER와 DETECTOR 방식을 단변량 데이터셋에 적용하여 성능 평가함.

1) PROMPTER의 단점

이 방식은 prompt에 민감하여 많은 경우에 거짓 양성(false positive)발생시킴.

이를 완화하기 위해 하이퍼파라미터 $\alpha$와 $\beta$를 조정했으나, 여전히 제한적인 성능

 

2) DETECTOR의 성능

DETECTOR방식은 전체적으로 PROMPTER보다 높은 성능을 보였고, 특히 예측 기반 잔차 계산 방식이 더 정밀한 이상 탐지에 효과적임.

그러나 일부 데이터셋에서는 trend를 정확히 반영하지 못하는 한계가 있음.


논문에서 말하고 싶은 결론 

(단변량 시계열 데이터셋에서..)

1) LLM prompt로 이상을 분리할수있다

2) pretrain된 LLM으로 시계열 예측 방식을 통해 이상탐지 수행할 수 있다

3) PROMPTER방식보단 DETECTOR방식이 성능 더 좋다