본문 바로가기

Data Science/Time series data

[논문읽기/시계열 데이터를 이미지화하기] TIME SERIES TO IMAGES: MONITORING THE CONDITION OF INDUSTRIAL ASSETS WITH DEEP LEARNING IMAGE PROCESSING ALGORITHMS

728x90
해당 글을 논문 [TIME SERIES TO IMAGES: MONITORING THE CONDITION OF INDUSTRIAL ASSETS WITH DEEP LEARNING IMAGE PROCESSING ALGORITHMS]의 내용을 바탕으로 요약한 글이다.

APA : Garcia, G. R., Michau, G., Ducoffe, M., Gupta, J. S., & Fink, O. (2020). Time series to images: Monitoring the condition of industrial assets with deep learning image processing algorithms.arXiv preprint arXiv:2005.07031

 

Abstract

시계열 데이터의 시간적 특성은 feature engineering을 어렵게 만드는 주 요소이며, 이로 인해 특별한 접근방법이 필요하다.

시계열에 아무런 transformation을 해주지 않은 raw 상태일 때는, 최신 state of the art의 anomaly detection 기법을 사용하기에 어려운 경우가 많다.

vision 분야에서의 딥러닝의 성공에 영감을 받아, 시계열을 이미지와 같은 표현(representation)으로 변환하는 연구들이 발표되었으며, 그 성과가 좋았다.

하지만, 대부분의 이전 연구들은 supervised classification에 관한 것이었으며, unsupervised anomaly detection에 적용한 연구들은 적었다.

 

따라서, 이 논문이 기여하는 바는 다음과 같다.

1)      시계열을 이미지화(image encoding)하는 기법 6개를 unsupervised anomaly detection분야에 적용했다

A.       Gramian Angular Field

B.        Markov Transition Field

C.       Recurrence Plot

D.       Grey Scale Encoding

E.        Spectrogram

F.        Scalogram

* SpectrogramScalogram은 신호 처리에 있어 흔하게 사용되는 방법

 

2)      빅데이터셋 적용 시에도 견고함(robust)을 보일 수 있도록 기존의 image encoding 기법들을 보완했다

3)      raw 시계열을 그대로 사용했을 때와 image encoding 기법을 사용했을 때(해당 논문에서 제시한 보완된 image encoding기법 적용 유무 포함), 성능에 대해 비교했다

 

 

 

I.       Introduction

  • 현재의 state-of-the-art 딥러닝 기법들은 충분한 양의 샘플이 주어진 supervised 상황에서는 좋은 성과를 보인다. 하지만, 이와 다른 anomaly detection 분야 (특히 실제 산업 현장에서 모든 고장 유형과 관련된 이상치(anomaly)를 확보하기 어려운) 경우에는, 똑같이 해당 방법들을 적용하기 어렵다. 따라서, 정상 데이터보다 데이터의 수가 현저히 적은 고장 데이터를 효과적으로 학습할 수 있도록 방법론을 수정해야 한다.
  • 산업 현장에서 기계는 거의 대부분 정상 상태 (healthy condition)로 작동하기 때문에(고장이 일어나지 않도록 지속적으로 유지보수를 진행하기 때문), 이러한 정상 상태일 때의 데이터(healthy operation data)를 주로 접하게 된다.
  • 따라서, anomaly detection은 이러한 정상 상태일 때의 데이터(healthy operation data)의 특징을 학습하여, 이와 다른 경우(deviation)를 포착하는 형태로 진행하는 것이 적절하다.
  • auto-encoder는 정상 데이터의 특징을 추출한 후, 추출된 특징의 차이(residual)를 비교해 이상치를 판별하는 기법이다.
  • 게다가, 시계열 데이터를 이미지화(image encoding)하는 방식은 raw 데이터 상태일 때는 시간에 따라 퍼져 있는 패턴을 강조(emphasize), 포착(capture), 함축(condense)하게 도와준다.
  • 따라서, 해당 논문에서는, 시계열 데이터를 6가지의 서로 다른 이미지화하는 기법들을 활용해 이미지화하고, 변환시킨 이미지를 CNN 기반의 autoencoder로 unsupervised 환경에서 anomaly detection을 진행해 각각의 성능을 비교했다.

 

II.               Framework for Anomaly Detection

1.       시계열 세분화 (time series splitting)

  • 원본 시계열 데이터(해당 논문에서 사용된 데이터)는 상대적으로 긴 시계열 데이터이기 때문에 다음의 2가지 문제가 발생했다.
    • autoencoder의 reconstruction 단계에서 residual은 global scale로 통합해 계산되기 때문에 local의 이상치는 구별되지 않을 수 있다 (since the monitored residual is an aggregated measure over the reconstruction, localised anomalies may be unnoticeable at the global scale)
    • inpute size에 따라 computational time과 size가 거듭 제곱으로 커짐
  • 2가지 문제점을 해결하기 위해, 시계열 데이터를 더 짧은 길이(l1)의 하위 시계열 데이터(sub-series)로 세분화했다

 

2.       시계열의 이미지화 (time series encoding)

  • 세분화된 l1 길이의 시계열들은 l2 x l2 크기의 이미지로 변환시킴
  • 다음 6가지 인코딩 기법을 사용

A.       Gramian Angular Field

B.        Markov Transition Field

C.       Recurrence Plot

D.       Grey Scale Encoding

E.        Spectrogram

F.        Scalogram

 

3.       Conv-Autoencoder(CAE)를 사용해 이미지화한 시계열의 특징을 추출하고 차이를 비교해 이상치를 가지고 있는 데이터(anomalous input reconstruction)를 탐지

* 해당 내용을 이해하기 위해서는 autoencoder의 기본 개념에 대한 사전 이해가 필요하다
  • autoencoder가 정상 데이터의 특징을 학습했다면, 해당 정상 데이터의 특징과는 차이가 있는 이상치를 가진 데이터의 복구(reconstruction)가 제대로 이루어지지 않을 것이다.
  • 이때, 복구 오류(reconstruction error)라고 할 수 있는 복구한 데이터의 차이를 threshold와 비교해 이상치를 탐지할 수 있다.
  • 정상 데이터의 특징을 학습해, 해당 정상 데이터의 특징을 추출하도록 CAE 신경망을 사용하는 것이기 때문에, 학습(training) 단계에서는 정상 상태의 데이터(healthy condition data)만을 사용한다
  • CAE 신경망을 통해 재건(reconstruct)된 이미지 데이터셋의 잔차값(residual)은 계산 및 집계된다
  • 해당 논문에서는 k번째 시계열의 잔차(residual)을 Res(k)라고 표현했다
  • Res(k)는 다음과 같이, original input x(or)과 이의 reconstruction version인 x(rc)의 차이값으로 정의했다

 

 

  • 시계열 데이터를 이미지화하지 않고 raw 데이터을 사용했을 때의 결과를 baseline으로 설정했다.
  • raw 데이터를 사용할 때는, 시계열 데이터를 이미지화하는 encoding 단계를 빼고, autoencoder에서 1D convolution을 사용한 것을 제외하고 똑같은 프레임워크로 진행했다. (이미지 인코딩한 Input에는 2D-CNN을 사용)

 

해당 논문에서 실제 진행한 방식

       시계열을 우선 traintest으로 나눔

       각 데이터셋을 512길이의 120개의 시계열로 분할 (N=120, L=512)

       분할한 120개의 시계열을 각각 64 x 64 크기의 이미지로 변환

       이미지로 변환시킨 데이터셋을 CAE에 학습시킴

       이미지 데이터의 reconstruction

       reconstruction된 데이터셋의 잔차(residual)를 계산

       잔차들의 최댓값(max)threshold(해당 논문에서 threshold는 모든 sub-series 잔차의 99th percentile로 설정했다)를 넘으면 이상치를 가지고 있는 데이터(anomalous data)로 판단

 

 

 

III.               Time Series to Image Encoding

1.      Gramian Angular Field (GAF)

* Gramian Angular Field (GAF)에 대한 개념 이해는 아래 글에서 확인

2021.07.14 - [Data Science/Time series data] - Gramian Angular Field(GAF) Imaging 개념이해

 

Gramian Angular Field(GAF) Imaging 개념이해

Gramian Angular Field (GAF) 개요 -       시계열 데이터를 비-데카르트 좌표계(non-Cartesian coordinates system)의 이미지로 표현한 것 -       데카르트 좌표계를 사용하지 않는 대신에, 각각의..

min23th.tistory.com

 

  • 해당 논문이 제시하는 GAF 개선점

: 샘플 간에 관계성을 유지하기 위해 training sampletraining dataset 전체에 기반해 scaling하도록 권고한다

따라서, min-max scaling을 사용할 때, training datasetmin, max를 사용하며, test dataset에 해당 min, max를 초과하는 값이 있는 경우에는 min, max 값으로 대치시켜주는 것이 좋다

 

 

 

IV.               Detection of Anomalous Conditions in Flight Test

1.      Helicopters accelerometers use case

-         해당 논문에서는 2018Airbus SAS의 실제 헬리콥터 비행 테스트에 사용된 진동 데이터셋을 사용했다

* 본 글에서는 논문에서 사용한 데이터셋에 대해서 자세히 설명하지는 않겠다

 

2.      Pre-processing and Hyperparameter Settings for the Time-series to Image Encodings

-         시계열을 우선 traintest으로 나눔 (각각 61440)

-         각 데이터셋을 512길이의 120개의 시계열로 분할 (N=120, L=512)

-         본 논문에서는 smoothing이나 normalization 등의 전처리는 하지 않았다

-         분할한 120개의 시계열을 각각 64 x 64 크기의 이미지로 변환

-         GAF, MTF, RP 인코딩 기법은 입력 시계열의 크기와 동일한 크기의 이미지를 가지기 때문에 average pooling을 사용해 64 x 64 크기로 downscaling하는 과정을 거쳤다.

 

-         각각 인코딩 기법에 따라 다음과 같이 하이퍼파라미터를 설정했다.

 

 

3.      Hyperparameters of the DL algorithm

-         논문에서 사용한 CNN-Autoencoder의 구조는 다음과 같다

 

논문에서 사용한 하이퍼 파라미터는 다음과 같다

optimizer : Adam optimizer

learning rate : 0.001

loss function : MSE

β1: 0.9

epoch: 10

batch size: 200

activation function: Leaky ReLU with alpha equal to 0.3

 

4.      Results

논문에 사용된 성능 비교 지표

A.       TPR (True Positive Rate)

B.        FPR (False Positive Rate)

C.       F1 score

D.       AUC (the Area Under the receiving operator Curve)

E.        encoding Time (time series to image)

 

scalogram이 가장 높은 성능을 보임

1)      F1 score 관점에서, 시계열을 이미지화하는 방식은 원본 시계열 그대로를 사용하는 것(baseline)보다 더 좋은 성능을 보였다.

  • Spectrogram과 Recurrence Plot은 원본 시계열을 그대로 사용하는 것보다 더 낮은 AUC score를 보였기 때문에, 설정을 어떻게 하느냐에 따라 성능이 보장되지 않을 수 있다는 것을 의미한다.
  • 모든 접근 방법들은 매우 낮은 FPR score를 보였으며, 즉, 정상 데이터에 대한 특징 추출과 학습이 잘 이루어졌다고 볼 수 있다.
  • 시계열 데이터를 이미지화하는 기법들의 가장 큰 차이점은 다른 종류의 이상치를 구별해내는 능력이다. 따라서, 특정 인코딩 방식이 특정 이상치를 탐지하기에 적합하기 때문에 성능의 차이가 나타난 것일 수 있다.

 

2)      본 논문에서 제안한 보완된(modified) 버전이 기존의 방법(original)보다 높은 성능을 보임

  • 본 논문에서 제시한 보완 방법들의 대부분이 트레이닝셋 일부를 기반으로 전처리나 변환을 하는 것(기존의 방식)이 아닌 전체 트레이닝셋을 기반으로 처리하는 것이었으며, 이의 효과를 증명하는 결과였다.

 

3)      계산 복잡도(computational complexity) 및 메모리 사용량(required memory) 측면

  • 위처럼, 시계열 데이터를 이미지화하는 것은 성능 및 일부 해석 가능성(interpretability) 측면에서도 장점이 있다고 할 수 있다.
  • 하지만, 계산 복잡도(computational complexity) 및 메모리 사용량(required memory)이 늘어난다는 단점이 있다.
  • 특히, SC와 MTF 같은 경우, 해당 논문에서 가장 높은 성능을 보이지만, 큰 시계열 데이터를 이미지화하기에 많은 시간이 소요된다.
  • 다만, MTF의 경우에는 원 논문의 수식을 사용했을 때에만 이러한 한계가 있으며, 이는 SAX-A 알고리즘을 사용하면 해결할 수 있다.

 

4)      특이사항

  • GS 인코딩 방식에서는 하이퍼 파라미터 P의 적절한 값을 찾는 것이 성능에 큰 영향을 끼쳤으며, conversion to integer를 사용하지 않는 것이 더 나은 성능을 보였다.

 

5.      Discussion

1)      Defining the transformation

  • 시계열 데이터를 이미지로 인코딩하는 기법들의 원 논문에서 제시된 방법을 사용했을 때는 낮은 성능을 보였다
  • input마다 transformation parameter를 정의하는 것은 이미지를 더 균일(uniform)하게 만드는 경향이 있으며, 이는 supervised 환경에서 여러 클래스의 특징을 학습할 때는 성능을 향상시키기에 도움이 될 수 있다.
  • 하지만, 하나의 정상 데이터의 특징을 학습해야 하는 unsupervised anomaly detection 문제에서는 좋은 접근이 아니며, 이 경우에는 논문에서 보완한 방식처럼 전체 데이터셋을 고려해 transformation 과정을 거치는 것이 좋다. (실제로 논문에서도 해당 경우에 높은 성능을 보였다)

2)      Threshold choice

  • 정상 데이터만 학습하는 경우에서 적절한 threshold를 찾는 것은 어려운 일이다
  • 본 논문에서는 99th percentile을 사용해 threshold를 지정했고, 성능지표를 보았을 때, threshold의 영향을 받지않는 AUC와 다른 성능 지표가 비슷하게 나타난 것을 보면 이 threshold 설정은 적절한 결정이었다 할 수 있다.
  • 하지만, 이 threshold가 다른 데이터셋과 다른 이상치 유형에도 적용될 것이라는 것은 보장할 수 없다

3)      Selection of time-series to image encoding

  • 본 논문에서 사용된 시계열을 이미지화하는 6개의 기법들은 모두 raw 시계열을 사용했을 때보다 좋은 성능을 보였지만, 각 기법마다 다양한 이상치 유형에 대해 다르게 작동하기 때문에 어떤 기법이 특정 문제 해결에 가장 최적이라고 단정짓기는 어렵다.

4)      Architecture of the CAE

  • 해당 논문의 목적은 서로 다른 인코딩 기법들을 비교하는 것이었기 때문에, 모두 같은 구조가 적용될 수 있는 것에 초점을 맞춰 비교적 간단한 CNN 구조를 사용했다
  • 따라서, CNN의 구조에 따라 성능이 또 어떻게 변화하는지도 이후 논문을 개선시킬 수 있는 방법일 것이다.

5)      Aggregation of residuals

  • 해당 논문에서는 residual값의 최댓값(max)를 사용해   threshold와 비교했다.
  • 하지만, 다른 mean, quantile과 같은 방식을 통해 residual을 요약할 수 있을 것이다.

6)      Interpretability of image encoding

  • 현장의 도메인 전문가가 이미지 인코딩 방식에 대한 이해를 갖추고 나면 원본 시계열 데이터를 이해하는 것보다 더욱 직관적으로 구분하기 쉬울 것이다.
  • 이로 인해, 실제로 신호 데이터를 사용하는 몇몇 현장에서는 이미 spectrogram이나 scalogram을 사용해 데이터를 직관적으로 표현하고 있다
  • 즉, 시계열을 이미지화하는 것의 장점은 성능도 있었지만, 직관적인 설명이 더 쉽다는 측면(intuitive interpretability)에서 raw 시계열 데이터보다 뛰어나다.
반응형