Paper Review

[Paper Review] 딥러닝을 이용한 센서 패턴의 이상 탐지 성능 평가(김영섭) 논문리뷰 2

배써니 2024. 8. 26. 14:13

https://sunnybae1023.tistory.com/21

 

[Paper Review] 딥러닝을 이용한 센서 패턴의 이상 탐지 성능 평가(김영섭) 논문리뷰 1

00. 논문 정보제목: 딥러닝을 이용한 센서 패턴의 이상 탐지 성능 평가(Performance Evaluation of Seonsor Pattern Anomaly Detection Using Deep Learning)저자: 인천대학교 정보기술대학원 임베디드시스템전공 김영섭

sunnybae1023.tistory.com

이전 내용이 궁금하시다면 위의 링크를 참고해주시기 바랍니다.


제 3장   실 험   방 법

본 논문에서 진행하는 실험의 전체적인 flow는 아래와 같다.
:: 1) 정상 패턴만을 학습 >> 2) 예측 결과와 실제값 차이 확인 >> 3) 이상탐지 성능 평가 진행 ::

- 딥러닝 모델 : 순환 신경망의 구조를 가진 RNN, LSTM, GRU
- 진행 방식 : 파라미터 변동 (Unit Size, Window Size 순차적으로 증가)
- 평가지표 : F1-score, MSE(Mean Squared Error), RMSE(Root Mean Squared Error)
- 실험환경 : Python (Keras 라이브러리 사용)
- Input Data : 온도, ECG, 진동 센서 패턴

3.1. 학습 및 예측

<그림 3.1> 학습 및 예측 순서도

본 실험을 정확히 이해하기 위해서는, 주요 파라미터인 unit size와 window size에 대한 이해가 필요하다.
Unit Size는 순환 신경망 구조에서 각 타임스텝에서의 hidden state 벡터의 차원을 의미한다. 즉, 이 unit size의 조정을 통해 얼마나 복잡한 패턴을 학습할 수 있는지가 달라지는 것이다. 본 실험에서는 unit size의 값을 20, 60, 100의 값으로 조정하였다.
window size는 쉽게 말해 입력 data의 크기라고 볼 수 있다. 이는 현 시점(t)에서 다음 단계(t+1)를 예측하기 위해 구별하는 입력의 크기로, 본 실험에서는 1, 5, 10, 15, 20의 값으로 조정하였다.

3.2. 센서 패턴의 이상 탐지

<그림 3.5> 센서 패턴의 이상 탐지 순서도

3.2.1. F1 - Score

정밀도와 재현율의 값을 둘 다 반영한 다중분류 모델의 성능 평가 지표이다. 수식은 아래와 같다.

3.2.2. 임계치(Threshold) 설정

본 실험에서는 패턴의 이상 탐지에 대한 성능을 정확히 확인하기 위하여 임의의 숫자 10개를 설정하여 각각의 임계치 별로 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 계산을 통해 가장 높은 값을 선택하였다.

3.2.2. 95% Confidence Interval

이상 탐지의 성능 결과 값은 모델을 실행할 때마다 조금씩 차이가 있어 보다 정확한 실험을 위해 10 번 반복하여 평균을 계산한 후 95% 신뢰구간에서의 margin of error(오차 한계)를 표시하였다.


제 4 장    실 험 결 과   및   분 석

4.1. 온도 센서 패턴

- 정상 패턴 총 길이 : 1724 (Max: 21.94, Min: 19.92, Mean: 21)
- 데이터의 값이 크기 때문에 정규화해서 0~1 사이의 값으로 사용
- 70%의 학습 데이터 셋 + 30%의 테스트 데이터 셋(518 길이)으로 분리

<그림 4.1> 온도 센서의 정상 패턴

4.1.1. 온도 센서 패턴의 예측

온도 센서의 정상 패턴을 딥러닝 모델(RNN, LSTM, GRU)을 이용하여 예측한 결과(Window size=10, Unit size=60), GRU 모델이 가장 예측 오차 값이 적은 것으로 나타났다. 이때 예측한 패턴과 실제 값의 오차 값은 Root Mean Square Error(평균 제곱근 오차)를 사용하여 확인하였다.

<표 4.1> 온도 센서 예측 패턴의 모델별 RMSE 평균

4.1.2. 온도 센서 패턴의 이상 탐지

온도 센서 패턴의 이상 탐지 성능에 대한 실험을 위해 정상 패턴이 포함된 이상 패턴을 시뮬레이션을 통해 구성하였다. 온도 센서의 이상 패턴은 정상 패턴을 포함한 총 517 길이로 이루어져 있으며 그중에 정상 패턴의 범위를 벗어난 151 길이의 결함 패턴을 구성하였다.

(1) 딥러닝 모델 기준의 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 비교
온도 센서 패턴의 이상 탐지율을 딥러닝 모델을 기준으로 평균을 계산하여 비교 하였을 때 RNN<GNN<LSTM 순으로 F1-Score가 높았다. 

<표 4.3 > 온도 센서 패턴의 모델 별 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 평균

(2) Unit size 기준의 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 비교

<그림 4.4> 온도 센서 패턴의 Unit size 기준 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 평균

(3) Window size 기준의 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 비교

<그림 4.5> 온도 센서 패턴의 Window size 기준 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 평균

온도 센서 패턴의 경우에는, 딥러닝 모델의 평균으로는 LSTM 이 가장 성능이 좋 았으며, Unit size 기준으로는 크기에 변화에 따라 약간의 차이는 보였지만 최소 0.916 에서 최대 0.926 을 보였기 때문에, Unit size 는 이상 탐지율에 큰 영향을 주지 않다고 판단했다. Window size 의 평균을 보면 세 개의 모델이 공통적으로 1 부터 20까지 크기가 증가했을 때 𝐹1 − 𝑆𝑐𝑜𝑟𝑒의 평균도 같이 증가하는 것을 보여, 온도 센서 패턴의 경우에는 입력 데이터의 크기가 이상 탐지율의 변화에 큰 영향을 주는 것으 로 나타났다

4.2. ECG 센서 패턴

- 정상 패턴 총 길이 : 4200 (Max: 7.1, Min: 1.99, Mean: 5.122)
- 큰 변동폭을 가지고 있지만, 그 변동폭이 일정한 주기와 규칙적인 패턴을 가지고 있음.
- 데이터의 값이 크기 때문에 정규화해서 0~1 사이의 값으로 사용
- 70%의 학습 데이터 셋 + 30%의 테스트 데이터 셋으로 분리

<그림 4.6> ECG 센서의 정상 패턴

4.2.1. ECG 센서 패턴의 예측

예측한 패턴과 실제 값의 예측 오차의 평균을 확인 한 결과<표 4.4> RNN과 LSTM의 예측 오차는 큰 차이가 없었지만, GRU 모델은 평균 0.102로 나머지 두 개의 모델보다는 좋은 예측 성능을 나타냈다.

<표 4.4> ECG 센서 패턴의 모델별 RMSE 평균

4.2.2. 센서 패턴의 이상 탐지

ECG 센서 패턴의 이상 탐지 성능에 대한 실험을 위해 정상적인 주기와는 다른 이상 패턴을 시뮬레이션을 통해 구성하였다. ECG 센서의 결함 패턴은 정상 패턴을 포함한 총 1259 길이로 이루어져 있으며, 그중 정상적인 패턴의 주기를 가지지 않는 226 길이의 이상 패턴을 구성하였다.

<그림 4.8> ECG 센서의 이상 패턴

(1) 딥러닝 모델 기준의 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 비교
ECG 센서 패턴의 이상 탐지율을 딥러닝 모델을 기준으로 평균을 계산하였을 때 <표 4.6>, LSTM<GRU<RNN 순으로 F1 - Score가 높았다.

<표 4.6> ECG 센서 패턴의 모델 별 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 평균

(2) Unit size 기준의 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 비교

ECG 센서 패턴의 Unit size 기준 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 평균

 

(3) Window size 기준의 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 비교

<그림 4.10> ECG 센서 패턴의 Window size 기준 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 평균

Unit size 기준으로는 세 모델이 공통적으로 크기가 증가하면서 동시에 𝐹1 − 𝑆𝑐𝑜𝑟𝑒도 소폭 상승하는 것을 보이면서, 앞서 평가한 온도 센서 패턴과는 다르 게 Unit size 가 이상 탐지율의 향상에 큰 영향을 준 것을 확인하였다. Window size 의 기준으로는 공통적으로 1 에서 5 의 증가는 𝐹1 − 𝑆𝑐𝑜𝑟𝑒의 약 0.02 의 향상을 보였지만, 5 와 20 사이에서의 증가는 전체적으로 안정된 값을 보여 이상 탐지율의 변화에 큰 영향을 주지 않는 것으로 보였다.

4.3. 진동 센서 패턴

4.3.1. 진동 센서 패턴 예측

- 정상 패턴 총 길이 : 3000 (Max: 3.96, Min: 0.19, Mean: 1.676)
- 큰 변동폭을 가지고 있으며 그 변동폭이 일정하지도 않음. (불규칙한 주기)
- 데이터의 값이 작아서 정규화하지 x
- 2000 길이의 학습 데이터 셋 + 1000 길이의 테스트 데이터 셋으로 분리

4.3.2. 진동 센서 패턴의 이상 탐지

진동 센서의 결함 패턴은 정상 패턴을 포함한 총 1000 길이로 이루어져 있으며, 정상적인 패턴의 주기를 가지지 않는 200 길이의 결함 패턴을 구성하였다. (전체 중 20%가 이상치)

<표 4.7> 진동 센서 패턴의 RMSE, 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 (window size=10, unit size=60)

하지만 앞서 실험한 온도와 ECG 센서 패턴과는 다르게 예측 오차 값이 높았으며, 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 또한 30%대의 저조한 성능을 보인 것을 확인하였다. 이에 본 논문의 저자는 칼만 필터를 통해 패턴의 noise를 최소화하여 규칙성을 가지게 만들어 학습하는 방법을 제시하였다.

4.4. 칼만 필터(Kalman Filter)를 적용한 진동 센서 패턴

4.4.1. 칼만 필터(Kalman Filter) 이론

칼만 필터(Kalman Filter)는 Rodolf E. Kalman이 1960년에 처음 발표한 확률 모델 알고리즘으로서, 잡음(noise)이 포함되어 있는 선형의 상태를 추적하는 재귀 필터로 명확하게 관측되어 지지 않은 데이터를 예측 및 보정하는 모델 시스템에 활용되고 있다.
즉, 잡음(noise)이 포함된 측정값과 이전 45 상태에서 예측한 값의 차이가 최소화 되도록 재귀적으로 처리함으로써 정확한 결과를 도출한다. 

<그림 4.15> 칼만 필터 프로세스[16]

칼만필터는 앞으로 noise가 많은 데이터에 적용할 일이 많아보인다. 따라서 이에 대한 이론은 나중에 다른 게시글에서 제대로 다루어보도록 하겠다. 

4.4.2. 칼만 필터(Kalman Filter)를 적용한 진동 센서 패턴 예측

<그림 4.16> 칼만 필터 적용 전/후 비교 (unfiltered : blue, filtered : orange)

위의 그림은 진동 센서의 정상 패턴을 칼만 필터 적용 전과 후의 패턴을 비교한 그림이다. 비교 결과, 칼만 필터를 적용했을 때 하지 않았을 때보다 잡음(noise)가 줄어들고 시계열에 따라 일정한 주기를 가지는 패턴이 보이는 것을 확인하였다. 뿐만 아니라 칼만 필터를 적용하지 않았을 때와 비교하면 평균 값은 비슷하지만 최댓값은 작아지고 최솟값은 증가하여 격차가 줄어든 것을 확인할 수 있다.

4.4.3. 칼만 필터(Kalman Filter)를 적용한 진동 센서 패턴의 이상 탐지

(1) 딥러닝 모델 기준의 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 비교
칼만 필터를 적용한 진동 센서 패턴의 딥러닝 모델 별 평균 예측 오차를 확인한 결과<표 4.9> RNN < LSTM < GRU 순으로 예측 성능이 좋은 것으로 나타났다

<표 4.9> 진동 센서 예측 패턴의 모델별 RMSE 평균

(2) Unit size 기준의 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 비교

<그림 4.19> 진동 센서 패턴의 Unit size 기준 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 평균

 

(3) Window size 기준의 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 비교

<그림 4.20> 진동 센서 패턴의 Window size 기준 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 평균

진동 센서 패턴은 Unit size 가 60 까지 증가했을 때만 이상 탐지율의 변화에 영향을 주는 것으로 확인되었으며, Window size의 크기가 증가하면서 𝐹1 − 𝑆𝑐𝑜𝑟𝑒가 감소하는 모습을 보여 Window size 의 증가가 오히려 이상 탐지율이 저하되는 결과를 보였다.
이 같은 결과는 진동 센서 패턴은 온도 센서와 ECG 센서 패턴이 가지고 있는 일정 한 주기와 규칙을 가지고 있지 않기 때문이라고 판단했다.


제 5 장   결 론

본 논문에서는 딥러닝 모델(RNN, LSTM, GRU)을 활용하여 센서 패턴의 이상 탐지 성능을 평가하였다.
각 모델별 window size와 unit size 등의 파라미터에 따른 이상 탐지율이 어떻게 변화하는지 분석하였으며, 세 가지의 센서 패턴(온도, ECG, 진동 센서 데이터)을 사용하여 다양한 형태의 패턴 성능을 비교하였다. 이상탐지율은 F1-Score를 기반으로 계산되었으며, 정확한 측정을 위하여 10번 반복 실험의 평균값을 통해 95%의 신뢰구간을 도출해냈다. 

실험 결과, 각 센서 패턴의 특징에 따라 딥러닝을 이용한 이상 탐지 성능이 달라지는 것을 확인하였다. 이로 인해 딥러닝을 활용한 이상 탐지 시에는 패턴의 특성뿐만 아니라 환경 변화, noise 등 다양한 요소를 고려해야 한다는 점을 강조했다. 또한, 딥러닝 기술의 특성상 정확한 이상탐지를 위해서는 정상 상태가 보장되어야 하며, 이를 위해 불확실성을 해결할 수 있는 기술의 필요성을 제안하였다.


열심히 정리하고 요약해보았는데 아직은 많이 부족한 것 같네요.

그럼에도 읽어주셔서 고맙습니다.