Deep Learning for Anomaly Detection in Time-Series Data: Review, Analysis, and Guidelines(IEEE 2021)
0. Abstract
- 산업이 자동화되고, 연결 기술이 발전함에 따라 다양한 시스템에서 방대한 양의 데이터가 생성
- 방대한 데이터에서 전체 시스템의 상태를 나타내는 주요 지표를 추출하기 위해 많은 접근 방식이 제안
- 이러한 지표를 사용하여 이상 징후를 제 시간에 탐지하면, 잠재적인 사고와 경제적 손실을 방지
- 다변량 시계열 데이터에서의 `Anomaly Detection`은 시간적 종속성과 변수 간의 관계를 동시에 고려해야하기 때문에 특히 어려운 과제
- 최근 딥러닝 기반 연구들이 이 분야에서 인상적인 진전을 이룸
- 이들은 대규모 시퀀스의 representation을 비지도 방식으로 학습하고, 이상 징후를 식별하는 데 매우 능숙
- 그러나 대부분의 경우 특정 활용 사례에 매우 특화되어 있으므로 적절한 활용을 위해선 도메인 지식이 필요
- 이 리뷰에서는 시계열 데이터의 Anomaly Detection에 대한 배경 지식을 제공하고, 실제 사용되는 최신 적용 사례를 검토
- 또한 여러 벤치마크 데이터셋을 통해 시계열에 대한 SOTA deep-anomaly-detection 모델을 비교 및 분석
- 마지막으로 딥러닝 기반 시계열 Anomaly Detection을 위한 적절한 모델 선택과 학습 전략에 대한 가이드라인을 제시
- INDEX TERMS : `Anomaly detection`, `deep learning`, `fault diagnosis`, `industry applications`, `Internet-of-Things(IOT)`, `time series analysis`
1. Introduction
- industry 4.0의 도래와 함께 산업계에서는 수많은 센서를 집중적으로 활용하여 시설과 시스템을 동시에 모니터링함으로써 효울성, 안전, 보안을 강화하기 시작
- 다양한 데이터 유형 중 시계열 데이터는 의학, 기상학, 경제학 등의 학계에서 오랫동안 연구되어 왔으며, 현재 대부분의 실무 응용 분야에서 필수적인 분석 대상
- 시계열 분석은 시간순으로 정렬된 데이터에서 의미 있는 정보를 추출하는 것을 목표로 하는 다양한 작업
- 추출된 정보는 과거의 행동을 진단할 뿐만 아니라 미래를 예측하는 데에도 사용
- 알려진 시계열 분석의 예는 `classification`, `clustering`, `forecasting`, `anomaly detection`
- 데이터에서 예기치 않은 항목이나 사건을 식별하는 프로세스인 `Anomaly Detection`은 많은 연구자와 실무자의 관심 분야이며, 데이터마이닝 및 품질 보증의 주요 작업
- `linear model` 기반 방법론, `distance` 기반 방법론, `density` 기반 방법론, `support vector machine` 등의 고전적인 방법은 여전히 유용한 알고리즘
- 그러나 target 시스템이 점점 더 커지고 복잡해짐에따라 이러한 방법은 다차원 데이터를 다룰 수 없거나, 라벨링된 이상치가 부족하다는 한계에 직면
- 최근에는 이러한 문제점을 개선시키는 다양한 방법들에 대해 연구 중
- 딥러닝 방법은 데이터의 복잡한 역학을 학습하는 동시에 데이터 내의 기본 패턴에 대한 가정을 하지 않음
- 이러한 특성으로 인해 최근 시계열 분석에 가장 매력적인 선택지
- 이 연구의 목표는 시계열 데이터에 대한 최신 딥러닝 기반 이상치 탐지 기법을 검토하는 것
- 본 논문에서는 방법론에 따라 모델을 분류하는 것 외에도 변수 간의 상호 관계를 정의하고, 시간적 맥락을 학습하며, 다변량 시계열에서 이상 징후를 식별하는 방법을 자세히 분석
- 또한 여러 벤치마크 데이터셋을 사용한 비교 실험 분석을 바탕으로 실무자에게 가이드라인을 제공
2. Background
A. Anomalies in Time-series Data
- 시계열 데이터의 이상치는 이전 시간 단계와 크게 다른 예기치 않은 행동을 보이는 시간 단계의 데이터 포인트로 설명 가능
- 시계열 데이터와 관련된 이상치의 유형을 다음과 같이 분류
(1) Point Anomaly
- `Point anomaly`는 데이터 포인트 또는 시퀀스가 갑자기 정상에서 벗어나는 것(Fig 1(a))
- 이러한 이상치는 일시적인 노이즈로 보일 수 있으며, 센서 오류 또는 비정상적인 시스템 작동으로 인해 발생하는 경우가 많음
- 탐지를 위해 일반적으로 이전 데이터를 기반으로 각각 상한과 하한의 `control limit`을 설정하는데, 이를 일반적으로 `UCL`과 `LCL`이라고 함
- 이러한 한계를 벗어나는 값은 Point anomalies로 간주
(2) Contextual Anomaly
- point anomaly와 유사하게, `contextual anomaly`는 짧은 시간 동안 관찰된 데이터 포인트 또는 시퀀스를 나타내지만, 사전 정의된 UCL 및 LCL로 구분되는 정상 범위를 벗어나진 않음(Fig 1(b))
- 비정상적인 패턴이 포함되어 있어 context를 고려할 때 해당 데이터 포인트가 예상되는 패턴이나 모양에서 벗어남
- 따라서 이상치 탐지가 굉장히 어려움
(3) Collective Anomaly
- `Collective Anomaly`는 시간이 지남에 따라 점차 정상 데이터와 다른 패턴을 보여 이상치로 간주해야하는 데이터 포인트 집합(Fig 1(c))
- 개별적으로는 정상 범주에 포함하지만, 해당 집합을 종합적으로 보면 이상치로 의심되는 경우
- 한 번에 쉽게 알아볼 수 없기 때문에 장기간에 걸친 관찰이 필요
(4) Other Anomaly Types
- 이상치는 정상 상태를 벗어난 것이기 때문에 무엇이 비정상적인지는 우리가 정상이라고 정의하는 것에 따라 변화
- 일반적으로 이상치는 앞의 3가지 유형 중 하나로 분류할 수 있지만, 다른 관점에 따라 이상치를 더 구체적인 범주로 세분화도 가능
- 다음은 이상치 패턴의 분류와 예시
💡 세분화한 이상치 패턴의 분류와 예시
`Normal(assumption)` : 진폭과 주파수는 time step에 걸쳐 안정적이며, 시간 값은 대칭적이다.
`Missing` : 데이터의 대부분/전부가 누락되고, 시간/주파수 응답이 0이 된다.
`Minor` : 일반 센서 데이터에 비해 진동 진폭이 매우 작다.
`Outlier` : 시간 값에 하나 이상의 outlier가 나타난다.
`Square` : 시간 값은 square wave처럼 제한 범위 내에서 진동한다.
`Trend` : 데이터는 명백하게 non-stationary하고, 단조로운 추세가 있는 경우이다.
`Drift` : 진동 값은 무작위 드리프트와 함께 non-stationary하다.
- 요약하면, 이상치는 이전에 극히 드물게 발생했거나 논리적으로 불가능한 데이터 포인트
- 다변량 시계열 데이터에서는 앞의 예에서와 같이 이상치를 분류하는 것이 유효하지 않을 수 있음
- 다변량 시계열 데이터는 시간 축과 함께 변수 간의 관계에 대한 추가적인 고려가 필요
- 변수의 수가 증가할수록 더 다양한 패턴이 발생하여 비정상적인 패턴이 불규칙할 수 있고, 정상과 비정상 상태의 차이가 모호해질 수 있음
- 개별 단변량 시계열 데이터를 스캔하고, 이를 집계하여 이상치를 식별하는 방식은 소수의 이상치 지점이 다른 정상 변수에 의해 가려져 전체 대상 시스템에 큰 영향을 미칠 수 있기 때문에 탐지 결과의 정확성을 보장할 수 없음
- 명확한 변수나 feature를 추출하여 차원을 줄이거나, 다양한 패턴을 탐지할 수 있을만큼 복잡한 모델을 사용하면 이러한 문제를 해결 가능
B. Properties of Time-series Data
- 시계열 데이터의 특성을 잘 이해하면 `contextual information`을 활용하여 이상치를 효과적으로 탐지 가능
- `시간성(temporality)`, `차원성(dimensionality)`, `비정상성(nonstationarity)`, `노이즈(noise)`에 대해 설명
1) Temporality
- 시계열은 일반적으로 시간 순서로 인덱싱된 관측 자료의 모음으로 간주
- 데이터는 동일한 간격으로 수집되며, 시계열의 각 후속 데이터 포인트는 과거 값에 따라 달라짐
- 따라서 연속된 각 관측치 사이에는 `시간적 상관관계(temporal correlation)` 혹은 `의존성(dependence)`이 존재
- 관측값의 공동 분포는 `chaining product rule`을 사용하여 식(1)로 표현
- $x^t$ : 시간 t에 관측된 데이터 포인트
- 조건부 확률 $p(·|·)$ : current state와 이전 state 간의 `temporal dependence`
$$ p(x^1, x^2, ... , x^T) = p(x^1)\prod_{t=2}^{T}p(x^t|x^1, x^2, ... , x^{t-1}) $$
2) Dimensionality
- `차원성(Dimensionality)`은 각 관측에서 개별 데이터 속성의 수를 의미
- 차원에 따라 시계열 데이터는 크게 `단변량(univariate)`과 `다변량(multivariate)` 유형으로 나뉨
- 특정 시점에 수집된 데이터가 한 개의 attribute을 가지면 단변량 데이터, 복수 개의 attribute을 가지면 다변량 데이터
- 시계열 데이터의 차원성은 계산 비용과 분석 방법 선택에 영향을 미침
- 단변량 시계열에 대한 이상치 탐지는 `current state`와 `previous state` 사이의 관계, 즉 `temporal dependence`만 고려
- 다변량 시계열에 대한 이상치 탐지는 `temporal dependence`와 `temporal corrlation` 모두 고려
- 이러한 까다로움에도 불구하고 다변량 시계열 데이터는 여러 변수의 조합에 의해 생성되는 다양한 행동을 분석하는 일반적인 데이터 유형이 됨
3) Nonstationarity
- 시계열의 통계적 특성이 시간에 따라 변하지 않는 경우 시계열은 `stationary`하다고 함
- 좀 더 명시적으로 $\tau$에 대해 연속 확률 과정 $x$에 대해 다음을 만족하면 strongly stationary
- $F_x$ : the joint distribution function
$$ F_x(x^{1+\tau}, ... , x^{t+\tau}) = F_x(x^1, ... , x^t) $$
- 모델링에 stationary 시계열을 사용하는 것이 좋지만, 실제 상황에서는 원하는 속성 중 많은 부분이 충족 x
- `seasonality`, `concept drift`, `change points` 등 변동성이 있는 특성으로 인해 시계열 데이터는 non-stationary
- `seasonality` : 날씨, 공휴일, 마케팅 프로모션, 경제 주체들의 행동 등의 요인으로 인해 주기적으로 반복되는 패턴
- 제한된 시간 범위에 걸쳐 주기적으로 변동
- `concept drift` : 많은 실제 환경의 `nonstationarity`로 인해 시간이 지남에 따라 데이터 흐름의 기본 통계 분포가 변경되는 것
- 과거 데이터에서 학습한 모델의 성능을 저하시킬 수 있기 때문에 핵심적인 문제
- `change point` : 제조 산업에서는 여러 가지 이유로 장비의 정상 상태가 변경됨
- 예를 들어, 작업을 중지했다가 다른 설정으로 다시 시작하면 공정 조건이 변경
- `seasonality` : 날씨, 공휴일, 마케팅 프로모션, 경제 주체들의 행동 등의 요인으로 인해 주기적으로 반복되는 패턴
- 대부분의 시계열 데이터는 `nonstationary`하기 때문에 특정 time stamp에서 발생한 이상치가 더 큰 규모에서는 실제 이상치가 아닐 수 있음
- 따라서 장기적으로 이를 적용하기 위해서는 데이터 구조의 변화에 적응할 수 있는 탐지 방법이 필요
4) Noise
- 데이터 처리에서 노이즈는 데이터의 수집, 저장, 전송, 처리, 변환 중에 발생하는 원치 않는 데이터 변화를 통칭하는 용어
- 노이즈는 실제 시스템에서 가장 중요한 문제로 간주
- 대부분의 경우 노이즈는 셈서 감도의 미세한 변동으로 인해 발생하며, 전체 데이터 구조에는 본질적으로 영향을 미치지 않음
- 그러나 노이즈가 많은 시스템에서 노이즈와 이상치를 분리하기 어려운 경우 노이즈는 탐지 모델의 성능에 심각한 영향을 미침
- 전처리 단계에서 노이즈의 특성을 이해하고 노이즈를 감소시키는 것이 중요
3. Industrial applications
- 다양한 산업 분야에서 최신 디지털 기술을 활용해 변화하는 환경에 적응하며 경쟁력을 높임
- `cloud computing`, `big data`, `mobile devices`, `IoT`, `artificial intelligence(AI)`는 산업 현장의 `초연결성(hyper-connectivity)`와 `초지능화(super-intelligence)`를 이끔
- 디지털 구성 요소와 물리적 세계 현상을 결합하면 운영 비용을 절감하고, 비즈니스 대응력과 유연성을 높이며 새로운 수익 모델을 창출
- 이러한 기술을 사용한 이상치 탐지는 제조 분야의 결함 감지, 가스-화학 공정의 누출 감지, 사이버 침입 감지, 인프라의 구조적 상태 모니터링과 같은 분야에서 필수적이기 때문에 특히 산업 현장에서 필수적
A. Smart Manufacturing
- `Smart factory`는 `자동화(automation)`와 `self-optimization`을 통해 생산성과 품질을 향상시킬 수 있는 고도로 디지털화되고 연결된 시설과 장비의 조합
- 자동화된 제조 공정에서 장비 상태는 품질 및 생산성과 가장 밀접한 관련
- 안정적인 운영은 품질 향상으로 이어지고, 효율적인 운영은 제조 시간 단축과 생산성 향상으로 이어짐
- 따라서 장비의 고장을 즉시 감지하거나 이상징후를 예측하는 것이 중요
- 스마트 팩토리에는 생산 장비, 인프라 설비, 물류 자동화 장비 등의 장비를 적용
- 생산 장비는 품질을 유지하면서 효율적으로 제품을 제조
- 인프라 설비는 제조 공정에 전력, 수도, 가스, 약품 등을 공급하고 폐수 및 화학 폐기물을 정화
- 물류 자동화 장비는 제품을 한 장소에서 다른 장소로 운반
- 이러한 유형의 산업 장비에서 손상, 결함 및 이상을 감지하기 위해 딥러닝 모델이 큰 가능성을 보임
1) Production Equipment
- 데이터 기반 모델은 광범위한 도메인 지식 없이도 발생할 수 있는 고장을 탐지할 수 있기 때문에 대규모 제조 공장의 장비 운영에 도움
- 장비의 정상 상태를 학습하고 생산 장비 구성 요소에서 발생하는 다변량 환경에서의 이상치를 탐지하기 위해 `LSTM` 기반의 `AutoEncoder(AE)`를 도입
- LSTM 기반의 AE에는 인코더와 디코더가 포함되며, 각 인코더는 `RNN`의 변형인 `LSTM` 네트워크로 구성
- 대부분의 제조 작업 영역에서 `컴퓨터 수치 제어(Computer Numerical Control(CNC))`는 cutting, boring, grinding, shearing 또는 기타 변형을 통해 금속 및 기타 단단한 재료를 가공하는 데 활용
- `Stacked AutoEncoder(SAE)`를 사용하여 장기간 작동하는 동안 대규모 진동 데이터에서 민감한 결함 특징을 발견
- `코사인 유사도 함수(cosine similarity function)`을 예측 유지보수를 위한 성능 지표로 활용
- `Convolution Neural Networks(CNN)`가 컴퓨터 비전 분야에 혁명을 일으킨 후 시계열 데이터 분석에도 CNN을 적용
- CNN 기반 결함 탐지 및 진단 모델은 반도체 제조 공정에서 수집한 다변량 시계열 데이터를 처리하는 데 탁월한 능력을 보임
2) Infrastructure Facilities
- 펌프, 냉각기, 스크러버는 환경 조건(온도, 정화, 압력 등)을 유지하기 위한 대표적인 인프라 설비
- 특히 산업용 펌프는 장비나 배관의 진공 상태를 유지하거나, 가스 및 오폐물을 배출하는 등 다양한 용도로 사용
- 펌프는 일반적으로 병렬로 구동되어 한 펌프가 비정상적으로 작동하더라도 다른 펌프가 이를 대체할 수 있어 작업자가 알아차리지 못함
- 이는 이상치에 대한 허용 오차를 제공하지만, 부하가 많은 펌프는 필연적으로 더 빨리 마모
- 제조 공정의 안정성을 높이려면 이상치를 정확하게 탐지하고 예측하는 것이 필요
- `Discrete Wavelet Transform(DWT)`과 `LSTM-AE`를 사용하여 여러 펌프에서 이상을 감지
- `CNN`을 사용하여 펌프의 진동 신호에서 변환된 이미지로 고장을 인식
- `Heating, Vantilating, Air Conditioning(HVAC)`은 온도 제어, 산소 보충, 습기 및 오염 물질 제거 등을 통해 실내 환경의 쾌적성을 제공하는 대표적인 시스템
- 최근 이 시스템에 대한 딥러닝 기반의 이상 탐지 및 진단 모델이 제안
- 화학 공정 중 급격한 공기 공급이나 오염 수준의 변화는 제품 품질에 큰 손상을 줄 수 있어 수년에 걸쳐 여러 가지 이상 감지 연구가 수행
- CNN 모델 중 하나인 사전 훈련된 `AlexNet`을 사용하여 데이터에서 일반적인 특징을 추출하고, `joint maximum mena discrepancy`를 사용하여 전이 학습을 수행
- chemical-looping 시스템에서 입자 마모를 통한 결함의 조기 탐지를 위해 `LSTM`을 사용
- `LSTM`을 활용하여 `WasteWater Treatment(WWT)`의 결함을 모니터링하고 감지
3) Logistics Automation System
- 최근 제조 업계에서 고도로 유연한 생산 시스템에 대한 관심이 높아진 것은 개별화된 제품에 대한 수요 증가와 관련
- 이러한 상황에서는 생산 유연성이 필요하며, 이는 제조 공정 중에 제품 구성 요소를 작업 영역 간에 운반하는 `Autonomous Guided Vehicles(AGV)`을 통해 향상
- AGV는 사람의 개입 비용을 줄이고, 제품 유형에 대한 `on-demand` 변경을 가능하게 함
4. Challenges of Classical Approaches
- 딥러닝이 대중화되기 전부터 사람들은 시계열 데이터를 분석하기 위해 다양한 수학적, 통계적 모델을 개발하여 다양한 분야에 폭넓게 적용
A. Classical Approaches
1) Time/Frequency Domain Analysis
- 시계열 데이터는 임계값의 폭과 높이를 사용하여 time domain에서 분석할 수 있음
- 또 다른 간단하면서도 효율적인 방법은 `푸리에 분석(Fourier analysis)`를 적용하여 주파수 영역으로 표현된 데이터를 조사하는 것
- 푸리에 정리에 따르면 모든 주기 함수는 아무리 복잡하더라도 사인 또는 코사인의 합과 같은 주기 성분의 조합으로 표현 가능
- 푸리에 분석은 이러한 구성 요소로부터 함수를 복원하는 프로세스
- `Discrete Fourier transform(DFT)`는 널리 사용되는 방법 중 하나이며, 다음과 같은 형태를 취함
- $X_k$ : 주어진 입력 데이터 $x_t$에서 변환된 k번째 주파수 값
- 다음과 같이 시계열을 주파수 스펙트럼으로 변환하고 계수별로 정렬하면 가장 높은 주파수를 반전하여 계절별 기간을 얻을 수 있음
- 실제로는 `DFT`의 속도 향상 버전인 `Fast Fourier Transform(FFT)`이 선호됨
$$ X_k = \sum_{t=0}^{T-1}x_te^{-i2\pi kt/T} $$
2) Statistical Model
- 시계열 데이터를 수학적으로 분석하기 위해 평균, 분산, 중앙값, 사분위수, 첨도, 기울기 등과 같은 통계적 측정값을 계산하여 통계 모델을 생성
- 생성된 모델을 통해 새로 추가되는 시계열 데이터를 검사하여 `normal boundary`에 속하는지 여부를 확인
3) Distance-Based Model
- 많은 알고리즘은 두개의 `temporal sequence` 사이의 `explicit-distance`를 사용하여 둘 사이의 `유사도(similarity)`를 측정
- `similarity metric`에 기반하여 새롭게 얻은 시퀀스의 distance가 정상 범주를 넘어갈 경우, 이를 이상치로 간주
- 거리를 측정하는 가장 흔한 방법은 `Euclidean distance`로, 두 점을 연결하는 선분의 길이로 거리를 계산
$$ D(x,y) = \sqrt{ \sum_{t=1}^{T}(x_i - y_i)^2} \qquad (4) $$
- `Dynamic Time Warping(DTW)`은 nonlinear alignments를 허용하는 널리 사용되는 거리 측정법으로, $X$와 $Y$는 시퀀스이며, $M$과 $N$은 각 시퀀스의 길이
- (1) `dynamic programming algorithm`을 사용해 `cost matrix` $C$를 생성
- $i$ : X의 데이터 포인트
- $j$ : Y의 데이터 포인트
- $D(i,j)$ : $i$와 $j$의 거리
- $C(i,kj)$ : minimum warp distances of two sequences
$$ C(i,j) = D(i,j) + min\left\{\begin{matrix} C(i-1, j-1) \\ C(i-1, j) \\ C(i, j-1) \end{matrix}\right. \qquad (5) $$
- (2) `warping path` $W(w_1, w_2, ... , w_L)$를 얻기 위해 $C_{M,N}$부터 $C_{1,1}$까지 가장 낮은 누적 거리를 가진 이전 points를 선택하며 역추적
- (3) $W$를 이용해 `final distance`를 계산
$$ Dist(W) = \sum_{k=1}^{k=L}w_k \qquad (6) $$
4) Predictive Model
- `predictive models`은 과거와 현재 states를 통해 미래의 states를 예측하기 위해 사용
- 에측된 값과 실제 값의 불일치 정도에 따라 이상치를 추론
- `AutoRegressive Integrated Moving Average(ARIMA)` 모델은 시계열 예측을 위해 자주 사용되는 모델
- `Auto-Regressive(AR)` 모델은 `lagged values`의 가중합으로 구성되어 time step $t$에서의 random variable $X$를 모델링
- $\left\{\phi \right\}^p_{i=1}$ : auto-correlation coefficients
- $\epsilon$ : white noise
- $p$ : the order of AR model
- $AR(p) : X_t = \phi_1X_{t-1} + \phi_2X_{t-2} + ... + \phi_pX_{t-p} + \epsilon_t \qquad (7)$
- `Moving-Average(MA)` 모델은 `lagged prediction errors`의 가중합
- $\left\{\theta \right\}^1_{i=1}$ : moving-average coefficients
- $\epsilon_t$: model prediction error at time step $t$
- $q$ : the order of MA model
- $MA(q) : X_t = \epsilon_t - \theta_1\epsilon_{t-1} - \theta_2\epsilon_{t-2} - ... - \theta_q\epsilon_{t-q} \qquad (8)$
- `Integrated(I)`는 `차분(differences)`을 사용한 시계열을 나타냄
- time step $t$에서의 데이터 포인트는 $\hat{X} = X_t - X_{t-1}$
- $d$ : the order of differencing(d=1)
- `Auto-Regressive(AR)` 모델은 `lagged values`의 가중합으로 구성되어 time step $t$에서의 random variable $X$를 모델링
- `order-parameters`로 구성된 `ARIMA` 모델의 식은 다음과 같음
- $\mu$ : 상수
- $y_t$ = $Y_t - Y_{t-1}$
- $d$ = 1
$$ \hat{y_t} = \mu + \underbrace{\phi_1X_{t-1} + \phi_2X_{t-2} + ... + \phi_pX_{t-p}}_{AR(p)}\quad \underbrace{-\theta_1\epsilon_{t-1} - \theta_2\epsilon_{t-2} - ... - \theta_q\epsilon_{t-q}}_{MA(q)}\qquad (9) $$
- 특정 time step의 값들은 이전의 관측치와 예측 오류에게 영향을 받기 때문에, ARIMA는 시계열의 `temporality`를 모델링
- `differencing process`는 시계열을 `stationary`하게 만들어 ARIMA가 `non-stationary` 시계열에 효과적이게 함
- 만약 시계열 데이터가 계절성 혹은 주기성을 갖는다면 `Seansonal ARIMA(SARIMA)`를 사용
- 이 경우 계절성을 다루는 추가적인 $P$, $D$, $Q$ 파라미터를 추가
- 기본적으로 ARIMA는 다변량 데이터를 모델링할 수 없어 그 대신 `AutoRegressive Integrated Moving Average Exogenous(ARIMAX)`를 사용
5) Clustering Model
- `unsupervised` 환경에서 데이터를 그룹화하고, 이상치를 탐지하는 `clustering` 기반 모델은 간단하고 효과적인 선택
- 한번 시계열 데이터를 다차원 공간에 매핑하면 클러스터링 알고리즘은 그들의 유사도를 기반으로 각 클러스터의 centroid로 그룹화
- 모델은 기존에 정의된 클러스터와 거리가 멀거나, 어떠한 클러스터에도 속할 가능서이 낮을 경우 새로운 데이터를 이상치로 간주
- 유명한 데이터 클러스터링 방법에는 `k-means algorithm`, `One-Class Support Vector Machine(OCSVM)`, `Gaussian Mixture Model(GMM)`, `Density-Based Spatial Clustering of Applications with Noise(DBSCAN)`이 있음
- 이러한 방법은 데이터셋 수치형과 범주형 값들이 같이 존재하는 등의 혼합된 속성을 가지고 있을 경우 적용하기 어려움
- 해당 문제를 해결하기 위해 간단하게 `k-means`와 `k-modes` 알고리즘을 결합한 `k-prototypes algorithm`이 제시
- `mixed-type objects` $X$와 $Y$ 간의 `dissimilarity`를 측정
- $X$와 $Y$는 각각 $A^r_1, A^r_2, ... , A^r_p, A^c_p, A^c_{p+1}, ... , A^c_{m}$로 표현
- 첫 번째 부분은 numeric attributes 사이의 `Euclidean distance`
- 두 번째 부분은 categorical attributes 사이의 simple matching dissimilarity
$$ d_2(X,Y) = \underbrace{\sum_{j=1}^{p}(x_j - y_j)^2}_{numeric attributes} + \underbrace{\gamma \sum_{j=p+1}^{m}\delta (x_j, y_j)}_{categorical attributes} \qquad (10) $$
- 이러한 클러스터링 방식은 여전히 대표적인 벤치마크이지만, 점점 구식이 되어가고 있음
- 데이터의 크기가 매우 거대해짐에 따라 이를 다룰 수 있는 클러스터링 알고리즘이 요구되어 이에 대한 두 가지 접근법이 존재
- 데이터의 크기를 줄여 계산 속도를 높이는 것
- 데이터를 작은 덩어리로 분할하여 병렬로 처리하는 것
B. Challenging Issues
- 전통적인 접근법들이 시계열 데이터의 이상치 탐지 분야에서 많은 발전을 이루었지만, 다음과 같은 근본적인 문제점들이 존재
1) Lack of Labels
- 대부분의 산업 환경에서 `failure modes`는 극히 드물기 때문에 이들을 labeled training data로 사용하기에는 불충분하며, labeled training data를 충분히 확보하는 데 많은 시간과 리소스가 필요
- labeled data를 모아도, 정상과 비정상 데이터 사이의 `class imbalance`는 모델의 훈련을 방해
2) Complexity of Data
- 단변량 시계열 데이터를 분석하는 것은 `edge computig`과 같은 경우에는 여전히 중요한 주제
- 그러나 산업 현장이 자동화되고 제어 시스템의 복잡성이 증가함에 따라 단변량 시게열 데이터를 각각 모니터링하는 것은 비현실적
- 차원의 수가 많으면 전통적인 접근법들은 일반적으로 `curse of dimensionality`로 인해 성능 저하가 발생
- 단변량 시계열 분석으로는 추론할 수 없는 변수 간의 상관관계도 이상치를 나타내는 데 사용할 수 있음
5. Deep Learning for Anomaly Detection
- 위에서 언급된 문제점들을 극복하는데 사용된 최근 이상치 탐지 모델에 집중
- 본 논문은 다음과 같은 가정 하에 진행
- `Semi-supervised Learning` : 모든 데이터는 normal class에 속하는 것으로 간주
- `Unsupervised Learning` : normal과 abnormal classes 사이에 명시적 구분이 없음
- 두 학습 방법 모두 labeled data의 부족을 극복하기 위해 데이터 구조를 학습
- `Multivariate Data` : 모델은 반드시 다변량 데이터에 대한 정보를 추출하고, 이용할 수 있어야 함
- `Deep Learning` : 복잡하고 거대한 데이터를 다루기 위한 딥러닝 방법론
- 최근 발표된 시계열 데이터의 이상치 탐지 방법론들로, 해당 방법론들의 아키텍처에 대한 선택에 따라 분류하였으며 어떻게 `anomaly score`를 계산하는지 표시
- 이번 장에서는 3가지 관점을 통해 이러한 방법론들을 분석
- 변수들 사이의 `inter-correlation`을 어떻게 정의했는지
- `temporal context information`을 어떻게 모델링했는지
- `anomaly scores` 혹은 `thresholds`를 어떻게 정의했는지
A. Inter-correlation Between Variables
- 대부분의 다변량 시계열 데이터에 대한 딥러닝 모델들은 모든 time step마다 여러 변수들에 대한 관계를 설립
- 이러한 시공간적 정보는 `temporal context`뿐만 아니라 변수 간의 `correlation` 또한 고려
1) Dimensional Reduction
- `dimensional reduction`을 통해 주요한 features를 추출해 총 계산량을 감소
- 일반적으로 `principal component analysis`, `singular value decomposition`과 같은 linear algebra-based 방법들 혹은 `AE`, `VAE`와 같은 심층 신경망 기반의 모델 사용
- 그러나 dimension reduction은 이상치의 원인을 찾는 것이 어렵다는 단점이 존재
2) 2D Matrix
- `2D matrix`는 개별 변수 간의 `morphological similarity`와 `relative scale`를 직접 확인
- 또한 다변량 변수를 함께 고려하기 때문에 특정 시점의 변동에 robust
- 두 개의 대표적인 2D matrix에 대한 정의는 다음과 같음
- $X = {x^1,x^2, ... , x^T}$ : n개의 변수와 길이 T(데이터의 개수)를 가진 다변량 시계열 데이터
- $x^t = (x^t_1,x^t_2,...,x^t_n)$ : 한 시점에서의 $n$-dimensional vector
$$ m^t_{ij} = \frac{1}{w}\sum_{\delta =0}^{w}x^{t-\delta}_ix^{t-\delta}_j\qquad (11) $$
$$ m^t_{ij} = \frac{1}{w}\sum_{\delta=0}^{w}\left\|x^{t-\delta}_i - x^{t-\delta}_j \right\|\qquad (12) $$
- 특정 시점에 전체 변수의 `phase`가 갑자기 상승하거나 하락하는 경우 $(11)$은 이상치를 찾을 수 있음
- 전체 `phase`가 `concept drift`혹은 `change point` 등에 의해 변화하면 $(12)$는 이를 감지
3) Graph
- `graph`는 명시적 `topological structure`를 정의하고, 개별 변수 간의 `causal relationship`을 학습 가능
- attention 메커니즘을 `GNN`에 적용하여 각 변수들의 성질과 변수 간의 관계를 표현할 수 있는 representations을 얻음
- $y_i$ : feature representation of node $i$
- $\sigma$ : sigmoid activation function
- $\alpha_{ij}$ : node $i$의 node $j$로의 영향력을 측정한 attention score
- $j$는 $i$의 adjacent nodes $L$ 중 하나
- $v_j$ : feature vector of node $j$
- $e_{ij}$ : edge from node $i$ to $j$
- $\bigoplus$ : concatenates two node features
- $w$ : learnable parameters
$$ y_i = \sigma \left ( \sum_{j=1}^{L}\alpha_{ij}\nu_j \right )\qquad (13) $$
$$ e_{ij} = LeakyReLU(w^T \cdot (v_i \bigoplus v_j)) \qquad (14) $$
$$ \alpha_{ij} = \frac{exp(e_ij)}{\sum_{l=1}^{L}exp(e_il)} \qquad (15) $$
B. Modeling Temporal Context
- 과거 시퀀스는 해당 시퀀스의 행동에 대한 정보가 포함되어 있고 `future shifts`를 제안
- 시계열 데이터를 다룰 때, 정상 상태를 모델링하기 위해선 반드시 `temporal context`를 고려해야 함
1) RNN
- 이상치 탐지에서 `RNN`은 두 가지 방법을 통해 사용
- 미래 값을 예측하고, 사전에 정의된 thresholds 혹은 관측 값과 비교
- `AE` 혹은 `VAE`를 통해 관측 값을 재구축하는 방법을 학습하여 재구축한 값과 관측 값을 비교하여 새로운 데이터가 올바르게 재구축되는지를 확인
2) CNN
- 시계열 데이터를 모델링하는 데 RNN이 주요 옵션이지만, `short-term data`를 활용하는 경우 `CNN`이 종종 더 좋은 성능을 보임
- convolutional layers를 쌓음으로써, 각 layer는 pixels부터 objects까지 더 높은 수준의 특징을 학습
- pooling layers는 CNN에 non-linearity를 도입하여 시퀀스의 복잡한 특징을 확인하게 함
- `temporal context`를 파악하는 것 대신, CNN 모델들은 `segmented time series`의 패턴을 학습
- 그러나, 장기간에 걸쳐 발생한 행동들을 이해하기 쉽지 않다는 단점이 존재
- 이러한 문제점에 대한 대안으로 `Temporal Convolutional Networks(TCN)`이 제안
- 모델의 convolutions이 `causal`하여 미래에서 과거로의 정보 유출이 없다는 것을 의미, 즉 미래 정보를 활용하지 않고 convolution 연산을 수행
- RNN과 마찬가지로 어떠한 길이의 시퀀스도 활용 가능
- `deep networks`와 `dilated convolutions`의 조합을 활용하여 미래를 예측하기 위해 꽤 먼 과거 정보 활용 가능
3) Hybrid
- `sliding window`를 활용하여 시계열 데이터를 확인할 때, anomaly pattern은 `window size`에 따라 다양
- 30 센서 데이터에 대해 3가지의 다양한 window size를 활용하며, 각 window마다 `covariance matrix`를 정의한다 가정
- 데이터의 shape은 시점 $t$에서 이미지와 같은 (30,30,3) 형태
- 만약 covariance matrices를 $t-4$ 시점부터 $t$ 시점까지 stack한다면, 데이터의 shape은 비디오와 같은 (5,30,30,3) 형태
- `spatial information`과 `temporal dependencies`를 반드시 동시에 고려해야 함
- 30 센서 데이터에 대해 3가지의 다양한 window size를 활용하며, 각 window마다 `covariance matrix`를 정의한다 가정
- `ConvLSTM` 모델은 처음으로 `spatiotemporal sequence-forecasting` 문제점을 해결하기 위해 제안
- LSTM cell의 dot products를 convolution operators로 대체
- cell의 states는 3D 텐서 형태로 reshape되어 spatiotemporal information을 확인
- 모델은 더 적은 파라미터로 `state transitions`을 학습
- 이후 모델들은 전체적인 아키텍처는 AE, GAN 등에 기초
- 인코더는 ConvLSTMs으로 구성되어 이전 time steps에 걸쳐 feature map의 spatiotemporal context를 학습
- `temporal attention` 메커니즘은 이전 feature map의 `contribution`을 조정하여 현재 feature map을 업데이트
4) Attention
- output에 더 많이 기여한 `input weight`에 집중하여 attention-based 모델들은 매우 긴 long-range dependence를 학습 가능
- NLP에서의 눈에 띄는 성취는 시계열 이상치 탐지 도메인으로 이어져 최근에는 `Transformer`를 활요한 연구가 많아짐
5) Others
- `Hierarchical Temporal Memory(HTM)`은 미래 가장 유망한 딥러닝 알고리즘으로 간주됨
- 신피질의 피라미드형 뉴런의 구조와 상호 작용을 구현하도록 설계
- 트리 모양으로 쌓인 cells로 구성되며, cell의 columns은 input과 connected neighbors의 이전 states를 통해 활성화
- HTM은 시퀀스 패턴을 학습하고 예측할 수 있기 때문에 시계열 데이터의 이상치 탐지에 유리
- HTM을 더욱 unique하게 만드는 것은 이것이 연속적으로 streaming data의 `temporal patterns`을 backpropagation 없이 학습할 수 있다는 것
- 따라서 HTM은 사람의 개입을 최소화하여 unsupervised 방식으로 훈련이 가능
C. Anomaly Criteria
- 위에 설명된 모델들은 unsupervised 혹은 semi-supervised 환경에서 정의된 `objective(loss) function`을 최소화하는 방향으로 representation을 학습
- objective function은 모델 아키텍처에 따라 다르며, 일반적으로 `abnormality`에 대한 `decision criteria`에 연관
- 학습된 모델을 통한 diagnostic results는 상태를 설명하는 수치인 `anomaly score`로 표현
- anomaly score가 클수록, 해당 데이터는 이상치일 가능성이 높음
- 만약 score가 특정한 `threshold`를 넘길 경우, 해당 데이터 포인트는 이상치로 판정
- 과거에는 이러한 threshold를 도메인 전문가가 결정했지만, 최근에는 모델의 훈련 결과를 통해 결정
- 몇몇 모델에서는 `adaptive threshold`를 도입하여 데이터가 시간에 따라 변화함에 맞춰 지속적으로 조정
- anomaly score는 reconstruction error, prediction error, dissimilarity 3가지로 분류 가능
1) Reconstrucition Error
- AE, VAE, GAN, Transformers는 모두 `reconstruction errors`를 anomaly scores로 활용
- AE-based models : input data의 특징을 추출해 이를 reconstruct
- VAE-based models : 데이터 분포를 추정하고 input data와 매우 유사한 샘플을 생성
- GAN-based models : generator를 통해 input data와 가능한 비슷한 샘플을 직접적으로 생성
- attention 메커니즘으로만 구성된 인코더-디코더 구조를 쌓는 Transformer는 최근 여러 연구에서 사용
- prediction errors와 reconstruction errors를 함께 사용하는 모델도 등장
- 이러한 모델들은 각기 다른 학습 방법과 objective functions을 사용하지만, anomaly scores는 비슷한 방식으로 계산
- input data와 유사한 데이터를 reconstruct 혹은 generate한 후 input data와 generated data의 `residual`을 측정
2) Prediction Error
- prediction model에서 anomaly scores를 도출해내는 두 가지 방법
- 확률에 기반하여 데이터 포인트를 normal로 분류할지, 안할지에 대한 `binary label`를 적용
- prediction error는 `expected label`과 실제가 일치하는지를 나타냄
- 다음 time step에 대한 `expected value`를 예측
- prediction error는 expected value와 observation의 `residual`
- 확률에 기반하여 데이터 포인트를 normal로 분류할지, 안할지에 대한 `binary label`를 적용
- 실제로는 labels이 불충분하기 때문에, 두 번째 방법이 첫 번째 방법보다 더 실용적
3) Dissimilarity
- 모델에서 도출된 값이 accumulated data의 분포 혹은 cluster에서 얼마나 거리가 먼지를 측정
- `Euclidean distance`, `Minkowski distance`, `cosine similarity`, `Mahalanobis distance` 등을 통해 similarity 측정
- `Temporal Hierarchical One-Class(THOC)` 네크워크와 `TCN-Gaussian Mixture Mode(GMM)`에서는 시계열 특징이 `dilated RNN`과 `TCN`을 통해 각각 추출
- 이후 `similar deep support vector data description`을 사용하여 클러스터링하거나, GMM을 사용하여 분포를 추정
- THOC는 cosine distance를, TCN-GMM은 Mahalanobis distance를 통해 similarity를 측정
- `multi-stage TCN`은 `multivariate Gaussian distribution`을 통해 학습 데이터의 특징이 아닌 prediction errors의 분포를 추정
- anomaly score는 현재의 prediction error와 pre-estimated error의 분포에 대한 Mahalanobis distance를 통해 측정
6. Comparative Reviews
- 시계열 이상치 탐지에 사용되는 다양한 방법론들을 실제 데이터셋을 통해 성능을 비교
A. Experimental Setup
- `Secure Water Treatment(SWaT)`, `Water Distribution(WADI)`, `Mars Science Laboratory Rover(MSL)` 세가지의 시계열 데이터셋을 사용하여 방법론들의 성능을 비교
- `Precision`, `Recall`, `F1-score`를 통해 성능 평가
- Precision보다 Recall과 F1-score에 더 집중
- Threshold가 다르면 metric scores가 달라질 수 있으므로 공정한 비교를 위해 모든 데이터셋에 대해 각 모델의 최고 결과를 확인
$$ Precision = \frac{TP}{TP+FP} \qquad (16) $$
$$ Recall = \frac{TP}{TP+FN} \qquad (17) $$
$$ F1-score = 2 \times \frac{Precision \times Recall}{Precision + Recall} \qquad (18) $$
- 시계열 데이터의 이상치 탐지 모델은 최선의 성능을 위해 다양한 하이퍼파라미터 튜닝이 필요
- 하이퍼파라미터의 최적값이 각 방법론마다 다르기 때문에 다음과 같은 값을 활용
- 대부분의 경우 실험 전에 시계열 데이터는 다운샘플링을 하여 고정된 모델 용량으로 더 긴 time frames을 모델링
- `downsampling`이 데이터의 크기를 감소시켜 학습 속도를 높이고, denoising 효과도 있다고 알려짐
- 각 시계열 데이터를 고정된 길이의 window를 통해 나누는 것은 자주 활용하는 방법
- `Point adjustment`는 탐지 모델의 recall 값을 향상시켜주는 기법
- 데이터셋의 일반적인 이상치는 시간적으로 adjacent한 경향이 있음
- 모델이 모든 time step에 대한 결정을 내릴 때 segment 내의 이상치를 성공적으로 탐지하면, 평가 프로세스는 인접한 전체 이상치 segment가 탐지되었다고 간주
B. Results and Analysis
- 다변량 시계열 이상치 탐지에서 넓은 범위의 SOTA모델을 비교
- AE → DAGMN, MSCRED, OmniAnomaly
- VAE → LSTM-VAE, USAD
- GAN → MAD-GAN
- RNN → THOC
- Transformer → GTA
- GNN → GTA, GDN
- 특별한 경우를 제외하고, 최대한 동일한 실험 환경을 통해 성능 비교하며, 만약 동일한 환경이 불가능할 경우 original paper의 세팅을 활용
1) Modeling Temporal Dependencies
- RNN 기반 모델들
- `LSTM-VAE`는 VAE의 feed-forward network를 LSTM으로 대체한 모델
- `MSCRED`는 CNN-based AE로, 관측값의 집계된 정보와 변수 간 inter-correlation을 포함하는 feature map을 고정된 sliding window를 통해 reconstruct하는 모델
- 인코더와 디코더 사이에 `ConvLSTMs`을 사용하여 이전 time steps에 걸쳐 feature maps의 spatiotemporal dependencies를 학습
- `MAD-GAN` : generator와 discriminator 모두에 `LSTM-RNN`을 사용하여 generative adversarial training 과정에서 temporal context를 학습하고, original time series를 직접적으로 생성
- `THOC` : multi-layers의 `dilated RNNs`을 사용하여 넓은 범위의 길이를 통해 temporal dependencies를 모델링
- `OmniAnomaly` : 인코더와 디코더 중간에 있는 확률적 latent variables를 linear Gaussian state-space 모델과 연결하여 내재적 확률성을 가진 temporal dependencies를 모델링
- `temporal information` 없이 다변량 시계열 데이터를 다루는 `DAGMM`과 비교했을 때 RNN-based 모델들이 우세
- RNN 기반 모델들의 SWaT와 MSL 데이터셋에 대한 평균적인 F1-scores는 DAGMM에 비해 각각 1.87%, 14.90% 높음
- long sequences를 input으로 입력할 수 있고, temporal dependencies를 학습 가능하기 때문
- 그러나 LSTM-VAE의 MSL에 대한 성능은 DAGMM보다 낮은데, 이는 LSTM-VAE이 시퀀스 모델링을 위해 LSTM을 사용하지만, latent variables 간의 temporal dependencies를 무시하기 때문으로 추측
- 결론적으로, temporal dependency를 모델링하지 않는 접근법은 시계열 이상치 탐지에 적합하지 않음을 확인
2) Parallel Processing for Long Sequences
- 시퀀스 모델링 능력의 강점에도 불구하고, RNN은 output을 순차적으로 계산하기 때문에 `parallelization`에 대한 단점을 가짐
- Transformer는 시퀀스를 한 번에 활용하기 때문에 parallel processing이 가능하며, self-attention을 통해 모든 시점의 `contributions`를 계산할 수 있어 `contextual information`도 반영이 가능
- 더 긴 시퀀스가 더 많은 정보를 줄 수 있기 때문에 시퀀스 모델링에 중요
- Transformer를 적용한 `GTA`는 DAGMM과 비교하여 SWaT와 MSL 데이터셋 각각 6.98%, 30.01% 높은 F1-score
- RNN 기반 모델들의 전체적인 평균 수치보다도 SWaT와 MSL 데이터셋 각각 5.11%, 10.64% 높은 성능
3) Dimension of the Datasets
- SWaT, MSL과 비교했을 때 GNN-based 방법론을 제외하고 WADI 데이터셋에서 모든 모델들이 전체적으로 낮은 best F1-score를 보임
- 이는 WADI 데이터셋의 차원은 112로, SWaT와 MSL의 2배이기 때문
- 변수 간의 상관관계를 정의하는 covariance matrix와 같은 2D feature maps을 deep-neural network-based 모델들에 입력하면, feature expression과 computation의 총합이 SWaT와 MSL에 비해 4배가 넘음
- 특히 deep layers reconstruction-based 모델들에서는 각 layer다 계산량이 과부화
- 이러한 이유로 WADI의 저조한 성적은 예상된 결과
4) Inter-correlations Between Attributes
- `dimensionality reduction`을 수행한 모델과 하지 않은 모델의 WADI 데이터셋에서의 성능 차이가 크게 나지 않음
- 중요한 features가 dimensionality reduction 과정에서 유실되었을 가능성
- `GTA`와 `GDN`과 같은 GNN 기반 모델들은 WADI 데이터셋에서 상대적으로 높은 F1-score를 보임
- GTA는 Transformer의 시퀀스 모델링 능력에서 이점이 있음
- GDN은 temporal dependencies를 고려하지 않지만, 변수 간의 관계에 대한 그래프 구조를 단순하게 학습하여 눈에 띄는 성능을 보임
- 결과적으로, attention 메커니즘을 통한 그래프 구조 학습이 요소들이 강하게 연결되어있는 데이터셋에서 더 효과적
7. Guidelines for Practitioners
- 최근 이상치 탐지 방법론들은 특정 사용 사레에 매우 특화되어 있으며, 모든 경우에 적합한 접근 방식은 존재 x
- 각 경우의 목적과 환경에 따라 모델을 선택하는 가이드라인을 제시
A. Detection Strategies
1) Real-Time vs Early Warning
- `early warning`은 이상치에 대한 잠재적 요인을 사전에 제거할 수 있으며, `real-time detection`은 실제 이상치만 처리하기 때문에 유용
Real-Time
- online business, finance, 공정 설비 모니터링 등의 상황에선 사건에 빠르게 대응해야하므로 real-time 이상치 탐지가 필요
- 일반적으로 reconstruction errors를 사용하는 GRU 기반, CNN 기반 모델들이 real-time 이상치 탐지 역량을 갖춤
- 각 모델의 추론 시간은 계산 복잡성 및 컴퓨팅 리소스에 따라 달라질 수 있음
- 높은 계산 복잡도를 가진 모델은 결정을 하는데 오랜 시간이 걸림
- RNN의 종류 중 하나인 GRU은 순차적으로 관측치를 처리하여 GRU를 사용하는 reconstruction 기반 모델들의 추론 시간은 data parallelism이 지원되지 않는 한 계산 리소스에 상관없이 일정
- CNN 기반 reconstruction 모델들은 데이터를 한 번에 활용기 때문에 충분한 계산 리소스를 통해 더 많은 features와 더 긴 시퀀스를 처리할 수 있음
Early Warning
- 제조 공정의 유지보수 비용은 전체 생산 비용의 상당 부분을 차지하기 때문에, 한 번 실패하면 막대한 양의 시간과 비용이 발생
- 이를 위해 `condition-driven preventive maintenance(PdM)`이 제안됨
- PdM을 성공적으로 수행하려면 미래의 고장을 예측할 수 있는 향상된 시계열 이상치 탐지 알고리즘이 필요
- 모델에 과거 정보를 축적하는 Autoregressive 알고리즘은 가능한 `faults`를 예측 가능
- LSTM 기반 모델들과 HTM 기반 모델들이 시계열 데이터에서 faults를 예측하기 위해 널리 사용됨
- `anomaly predicton`의 가장 주요한 과제는 `false alarms`과 `missed anomalies`
- 따라서 이상치 탐지를 위한 적절한 threshold를 지정하는 것이 매우 중요
- 높은 threshold는 false alarms을 억제하며, 실제 이상치를 놓칠 수 있음
- 낮은 threshold는 더 많은 이상치를 발견하지만, 더 많은 false alarms이 발생
2) Sliding Window vs Incremential Update
- 시계열 데이터의 context를 추론하는 데 두 가지의 방법 존재
- 시계열 모델이 모든 과거 데이터 포인트를 처리하거나, 새로운 항목에 대한 outputs를 점진적으로 업데이트
Sliding Window
- 몇몇 모델들은 오로지 고정된 사이즈의 데이터만을 feed-forward 할 수 있음
- TCN 기반, 그리고 CNN 기반의 방법론들이 여기에 해당
- `window size`는 neural network에 의해 모델링되는 temporal dependency의 길이에 영향을 끼침
- 따라서 모델의 사용자는 데이터셋을 잘 고려하여 적당한 window size를 신중하게 선택해야 함
- window size가 너무 크면 이상치를 지나쳐버릴 수 있고, window size가 충분하지 않으면 모델이 long-term dependencies를 확인할 수 없음
Incremental Update
- `Incremental` 모델은 `marginal computations`을 통해 새로운 데이터에 대한 예측을 업데이트
- 데이터 항목이 하나씩 제공되는 streaming 환경에서 유용
- sliding windows를 기반으로 하는 방법은 추가적인 처리를 위해 전체 데이터의 흐름을 메모리에 유지해야 하므로 각 timestep마다 더 큰 계산을 수행
- 이에 비해 Incremental update는 계산상의 이점이 존재
- GRUs 그리고 LSTMs과 같은 autoregressive 모델들도 과거 데이터의 압축된 요약을 hidden states에 유지하므로 내재적으로 incremental 모델
- 그러나 많은 방법들은 AE 혹은 기타 networks를 사용한 사전 혹은 사후 처리를 위해 과거 데이터를 참조해야하기 때문에 incremental feaures는 재한적
B. Training and Preprocessing Techniques
1) Loss function
- 시계열 이상치 탐지 모델들은 데이터의 `normality`를 어떻게 모델링하냐에 따라 다양한 종류의 loss functions을 사용하여 훈련
Adversarial Loss
- `discriminator`는 주로 생성 구성 요소의 도우미 역할을 하며, training 이후에는 anomaly score를 생성하는 데에도 사용
- 일반적인 adversarial formulation은 다음과 같음
- $D$와 $G$는 각각 discriminator와 generator 모듈
$$ \underset{G}{min}\underset{D}{max}V(D,G) = E_{x~p_{data}(X)}\left [ logD(x) \right ] + E_{z~p_z(Z)}\left [ log(1-D(G(z))) \right ] $$
- 가장 어려운 문제는 두 개의 competing 모델들을 동시에 dynamic training을 하는 것이 본질적으로 불안정하다는 것
- 전형적인 실패 유형은 `model collapsing`으로, generator가 항상 여러 inputs에 대해 같은 outputs을 생성하는 것
Reconstruction Loss
- normal training data로 학습된 AE가 normal data를 잘 reconstruct한다는 전제 하에, 이상치 탐지를 위해 AE는 선호되는 선택지
- AE는 training 과정에서 `reconstruction loss`를 사용
- $S_t$ : time step $t$에서 관측된 데이터 포인트
- $S'_t$ : time step $t$에서의 reconstructed 데이터 포인트
$$ L(S_t, S'_t) = \left\|S_t - S'_t \right\|\qquad (20) $$
Prediction Loss
- 예측 기반 방법론들은 예측 값과 실제 관측값을 비교하여 이상치를 탐지
- 예측 모델들은 `prediction loss`를 사용하여 훈련되기 때문에 과거 데이터 혹은 feature 사이의 관계 등을 이용하여 정확한 prediction을 생성하도록 함
- prediction loss는 reconstruction loss와 유사한데, $S'_t$만 실제 관측값 $S_t$에 대한 예측 값으로 변경
- 이러한 훈련 방식은 추론에도 그대로 적용되어 early warning 시스템에 유용
Negative Log-Likelihood
- input data에 대한 `log-likelihood`를 추정할 수 있는 generative 모델들은 `negative log-likelihood(NLL)`을 training loss로 활용
- NLL을 최소화하는 것은 데이터셋의 추정된 likelihood를 최대화하여 모델이 데이터셋에 존재하는 `normality` 개념을 학습
- GMMs generative model은 NLL을 loss functions으로 사용
- `TCN-GMM`은 `expectation-maximization` 알고리즘을 사용하여 log-likelihood를 최대화
- $\theta$ : GMM 파라미터($\left\{\sum_k, \mu_k, w_k \right\}^K_{k=1}$)
- $D$ : feature vectors의 차원의 수
$$ J(\theta) = \sum_{k=1}^{K}w_k\frac{1}{(2\phi)^{D/2}\left|\sum _k \right|^{1/2}}e^{-\frac{1}{2}(x-\mu_k)^T\sum_k^{-1}(x-\mu_k)} \qquad (21) $$
- 또 다른 generative 모델인 `VAE`는 `evidence lower bound(ELBO)`를 통해 훈련
- log-likelihood의 `lower bound`
- 단순히 input과 유사한 데이터 인스턴스를 생성하는 것이 아닌 학습 데이터를 사용하여 알려지지 않은 사전 분포를 근사
$$ J(\theta) = E_q\left [ logp(x,z)) \right ] - E_q\left [ logq(z) \right ] \qquad (22) $$
2) Batch Learning vs Online update
- 시계열 데이터의 주요한 과제는 데이터의 `nonstationary`
- 데이터 분포의 변화에 따라, 그에 따라 모델을 업데이트하는 두 가지 유형의 접근 방식 제안
Batch Learning
- 딥러닝은 일반적으로 데이터의 stationary distribution을 가정하며, 심층 신경망 모델은 테스트 분포와 동일한 분포에서 샘플링된 large batch의 데이터를 사용하여 학습
- 따라서 대부분의 딥러닝 기반 방법들은 모델을 fine-tune하기 위해 새로운 훈련 데이터 배치를 제공해야 함
- 이 훈련 방식은 시스템 관리자가 각 데이터 업데이트 후에 데이터를 다시 수집할 수 없는 경우 문제가 될 수 있음
Online Update
- 모델이 `online update`를 지원할 경우 위의 문제점은 완화됨
- online update는 새롭게 추가된 데이터에 대해 처음부터 모델을 재학습시킬 필요 없이 fine-tuning이 가능하게 함
- HTM 기반 방법들은 online update가 가능하지만 딥러닝 모델에서는 데이터 분포에 대한 nonstationary 가정이 다소 파격적이기 때문에 online update를 찾기 힘듬
- online updates에 대한 대안으로 `continual learning`을 고려
- continual learning은 `plasticity-stabillity` 어려움을 겪음
- 신경망은 forward-transfer에 잘 작동하는 것으로 알려져 있으므로 새로운 task를 학습하려면 매개변수가 plasti해야하며, 동시에 중요한 features를 잊지 않도록 stable해야 함
- 그러나 새로운 task에 fine-tuning하면 파라미터가 이전에 학습한 내용을 빠르게 잊어버리게 되며, 이를 `catastrophic forgetting`이라고 함
- catastrophic forgetting을 완화하기 위한 일반적인 방법에는 `regularization`, `dynamic network architectures`, `memory replay-based methods`가 있음
3) Denoising
- 시계열 데이터의 `Noise`는 센서로부터 발생하는 불가피한 요소
- 이상치와 쉽게 구별할 수 없는 noise는 이상치 탐지 모델의 성능을 저하시킴
- 따라서 노이즈를 미리 제거하여 데이터의 normality를 모델이 효과적으로 학습하는 방법들이 연구됨
Smoothing
- `exponentially weighted moving average`는 현재 관측값에 가중치를 가장 많이 부여하고, 과거로 갈수록 가중치가 기하급수적으로 감소하는 방식을 수행하는 recursive smoothing filter
- 이는 매우 효과적인 방법이지만, denoising의 level을 설정해주어야한다는 단점이 있음
Transformation
- 신호는 시간과 주파수 영역 모두에서 표현
- Wavelet 변환과 고속 Fourier 변환은 신호를 여러 해상도로 분해하여 주파수 특성을 추출
- 변환된 데이터와 원본 데이터의 차이는 노이즈로 간주
Estimation
- Kalman filter는 noise를 state-space 모델로 표현하고, 확률적 추정을 적용하여 제거
Deep Learning
- 모델 용량에 비해 훈련 데이터셋의 크기가 작으면 딥러닝 모델이 데이터셋을 암기하고 노이즈를 학습할 수 있지만, 이 경우 노이즈와 이상치를 구분하기 어려움
- `denoising autoencoder`는 이 문제를 해결하는 일반적인 딥러닝 기반 방법
- denoising autoencoder는 random noise를 추가하여 original input을 복원하도록 AE를 훈련
- input을 그대로 reconstruct하는 것이 아니라 feature의 representation을 강력하게 robust하게 학습하여 과적합을 방지
8. Conclusion
- 수년 동안 전세계 커뮤니티에 더 나은 제품과 서비스를 제공하기 위해 기업과 업계 전반에서 데이터 기반 의사결정이 이루어짐
- 다양한 소스에서 수집된 대량의 데이터에서 유익한 정보를 추출하는 분석 기술은 많은 기회를 제공
- 시게열 데이터에서 예기치 않은 사건을 식별하고, 문제를 해결하면 사고와 금전적 손실을 예방
- 딥러닝 기반 접근 방식은 이러한 문제를 해결할 수 있는 놀라운 능력으로 인해 상당한 주목을 받음
- 이 논문에서는 시계열 데이터의 특성과 그 안에서 감지되는 이상 징후에 대해 설명
- 제조, 에너지 관리, 클라우드 인프라, 구조물 상태 모니터링 등 여러 산업에서 anomaly detection을 다양하게 적용하는 방법 또한 설명
- 시계열 데이터의 anomaly detection에 대한 관심은 오래 전부터 있었기 때문에, 몇 가지 전통적인 접근 방식을 간략하게 소개하교, 이 주제와 관련된 어려운 문제를 설명
- 시스템의 복잡성은 증가하는 반면 분석을 위한 정제된 데이터와 레이블은 여전히 부족하기 때문에 비지도 딥러닝 기반 시계열 anomaly detection에 대한 수요는 계속 증가
- 이에 시계열 데이터에 대한 최신 딥러닝 기반 anomaly detection 방법을 여러 관점에서 살펴봄
- 3가지 실제 벤치마크 데이터셋에 대한 평과 결과를 보고
- 마지막으로 모델 선택 및 학습 기법에 대한 가이드라인을 제시