Smart Factory 서비스를 위한 진동/압력/온도 센서의 Anomaly Detection 개발 - 연구과정(2)

주주 21.08.29
559 5 0

SKT AI Fellowship 과제로 진행하고 있는 Smart Factory 서비스를 위한 진동/압력/온도 센서의 Anomaly Detection 개발에 대한 연구 과제에 대한 2차 활동 기록 공유입니다.

저희 연구 과제 진행상황에 대해 많은 관심과 피드백 부탁드립니다.

 

연구 진행 과정

■ 연구 배경 및 목적

Smart Factory(Data기반 지능형 공장)의 핵심 Task는 예지 정비(Predictive Maintenance) 솔루션/서비스입니다.

여기서 예지 정비란 이상치를 탐지하여 설비의 고장 (Failure) 이전에 정비를 하는 것입니다.

예지 정비 사후 보전 보다 경제적으로 큰 효과를 가집니다.

그 이유는 공장 내에서 설비의 고장으로 인해 설비가 멈추게 되면 Machine downtime이 발생하고, 이는 기업에게 막대한 손해로 이어지기 때문입니다.

따라서 많은 기업들이 공장 내 설비 Data를 기반으로 통계 분석, AI 분석을 통해 예지 정비를 시행하고 있으며, 이러한 분석을 이상치 탐지(Anomaly Detection)라고 합니다.

모터는 전기에너지를 기계에너지로 변환하는 기계로 응용 범위가 매우 다양하며 시장 규모는 매년 성장하고 있습니다.

공정에서 모터 고장의 약 60% 가 베어링의 고장 이며 제조 기업들은 스마트 팩토리를 도입하기 위해서는 이 베어링 고장을 잘 탐지해야 합니다.

 

 

 

Smart Factory 에서는 예지 정비 (pdM; Predictive Maintenance) 를 위한 공장 내의 설비 데이터 모터 펌프 등 를 지속적으로 수집하고 있고

SKT 그랜드뷰 서비스는 베어링의 진동 센서로 수집된 데이터를 분석하여 기계의 이상을 조기에 진단해주는 이상 탐지 서비스를 제공하고 있습니다.

 

따라서, 본 연구는 SKT GrandView 서비스에 탑재할 수 있는 이상치 탐지 모델의 개발을 주목적으로 합니다.

저희는 연구 기간 동안 총 7가지의 Task를 핵심으로 선정하였고 지난 SKT AI Fellowship 중간 발표(8/18)까지 3가지 Task를 완료하였습니다.

실제 제조 현장과 유사한 데이터 셋 선정 3 가지 구체적인 기준 확립

진동 도메인에 적합한 전처리 방법 도입

조기 이상탐지를 위한 Anomaly Gap Maximization (AGM) Framework 제안

실제 제조환경을 고려한 Noise, 결측치에 강건한 모델 구축

 포락선 분석 을 통한 False Alarm 검출

기존 metric 의 단점을 보완한 새로운 anomaly score 도입

Time series anomaly detection 에 대한 최신 평가 지표 도입

저희가 중간발표까지 진행했던 Task에 대한 자세한 내용은 아래에 있습니다.

 

 

중간발표 내용

■ 데이터 소개 및 전처리

실제 제조 현장과 유사한 베어링 데이터 셋을 선정하기 위해서 3가지 구체적인 기준을 통해서 최종적으로 PHM Challenge 2012 Dataset 를 선정하였습니다.

 

후속 모델의 성능을 높이기 위해 다양한 주파수 변환 기법들(FFT, SFST, HT 등)을 검토하였습니다. STFT(Short-time Fourier Transform)은 시간 축이 사라지는 FFT의 단점을 보완하기 위해서 시간(Time Window length)에 따라 주파수 분해를 진행하는 방법이지만 

시간을 길게하면 (Time Window length가 크면) 주파수 해상도는 상승하지만 시간 해상도가 하락하고
시간을 짧게하면 (Time Window length가 작으면) 주파수 해상도는 감소하지만 시간 해상도가 상승하여

시간 분해능력과 주파수 분해능력이 Trade-off 관계를 갖게 됩니다.   

 

따라서 저희는 고주파 영역에서는 시간 분해능이 높고 저주파 영역에서는 주파수 분해능이 높은 DWT(discrete wavelet transform) 를 활용하기로 결정하였습니다. 위의 특징이 중요한 이유는 급격하게 변화하는(고주파)는 시간 분해능(변화 시점의 위치)이 더 중요하고 완만하게 변화하는 신호(저주파) 에서는 주파수 분해능(변화하는 주기)가 중요하기 때문입니다. 

 

DWT는 변환에 사용 가능한 다양한 기저함수들이(Wavelet Families)를 존재하는데 저희의 실험에서는 시계열 데이터에서 우수한 성능을 보이는 'db1' wavelet family 를 기저함수로 활용하고 모델마다분해 level를 최적화하여 전처리를 진행하였습니다. 

위의 방법으로 PHM 2012 bearing dataset 3개에 테스트한 결과 3개의 모델에 대해서 성능 개선을 확인하였습니다. 

 

■ 모델링 아이디어

1. Unsupervised time series anomaly detection

제안 아이디어를 설명하기 앞서, unsupervised anomaly detection 알고리즘은 어떻게 동작하는지 살펴보겠습니다. 본 수행 과제의 경우 다양한 종류의 탐지 알고리즘 중, 오토 인코더(Autoencoder, AE)와 적대적 생성 신경망(Generative Adversarial Networks, GANs) 기반의 모델을 사용하고 있는데요, 이 중 오토 인코더 기반의 이상 탐지 예시를 통해 대략적인 과정을 알아보겠습니다.

오토 인코더를 활용한 anomaly detection은 데이터를 압축&복원하는 과정에서 발생하는 복원 오차(reconstruction error)를 사용하여 이상 탐지를 수행합니다. 먼저 학습 단계에서는 정상 데이터만을 활용하여 오토 인코더를 학습하게 됩니다. 학습 과정에서 정상 데이터만을 사용하기 때문에 탐지 단계에서 정상 데이터가 입력으로 들어올 경우 작은 복원 오차를 갖지만, 학습 데이터에 포함되지 않은 비정상 데이터가 들어올 경우 큰 복원 오차를 갖게 될 것입니다.

 

이 때 발생한 복원 오차를 anomaly score로 사용하는데, anomaly score란 입력 데이터 point 각각이 이상치에 얼마나 가까운지를 나타내는 score를 뜻합니다. 이후 도출된 anomaly score를 바탕으로 최적의 threshold를 선정하는 과정을 거쳐 threshold 이상의 score를 지닌 point는 이상치로 판단하게 됩니다. 여기서 threshold는 ISO-10816의 진동의 결함 주파수 기준 수치와 현장의 이상, 고장 경험치를 고려하여 선정합니다. 적대적 생성 신경망을 활용한 anomaly detection도 이와 크게 다르지 않으나 generator의 복원 오차와 함께 판별자(discriminator)의 출력 결과를 함께 사용하여 anomaly score를 구하는 차이점이 있습니다.

 

2. 제안 학습 Framework 소개

본 SKT AI Fellowship을 통해 해결하고자 하는 문제는 조기 이상탐지입니다. 시계열 데이터에서 이상을 조기에 탐지하기 위해서는 시계열의 특징이 미세하게 변할 때 이를 즉각적으로 탐지할 수 있어야 합니다. 즉, 다음 그림에서 육안으로도 확연한 (B) 구간을 잘 탐지하는 것이 아닌, 정상과 비정상이 혼재되어 있는 (A) 구간을 잘 탐지하는 모델을 구축할 필요가 있습니다.

 

그러나 앞에서 unsupervised anomaly detection 용어를 통해 짐작할 수 있듯 label이 존재하지 않기 때문에 정상과 비정상이 혼재된 구간을 특정할 수 없다는 문제가 발생합니다. 실제 현업에서 생성되는 sensor 데이터 또한 마찬가지 입니다. 

 

저희는 이를 해결하고자 epoch별 anomaly 검출의 일관성(epoch consistency)을 활용하여 혼재 구간을 스스로 특정하고 이를 재학습하는 framework를 제시하고자 합니다. 즉 학습을 한번에 하는 것이 아닌 two-phase training을 진행하는 것이지요.

먼저 epoch consistency를 활용하여 혼재 구간을 특정하는 과정은 다음과 같습니다.

  • 만약 정상과 비정상이 혼재된 (A) 구간이라면 사용자가 설정한 threshold를 기준으로 epoch별 정상과 비정상 검출이 반복될 것
  • 반면 확연한 비정상 구간인 (B)구간은 epoch별로 일관되게 비정상으로 검출될 것

 

다음은 혼재구간을 특정 후 재학습에 관한 내용입니다.

  • 혼재 구간에 존재하면서 정상으로 추정되는 time point → 복원 오차를 최소화하도록 재학습
  • 혼재 구간에 존재하면서 비정상으로 추정되는 time point → 복원 오차를 최대화하도록 재학습

 

앞에서와 마찬가지로 정상 및 비정상 추정에 사용되는 probability 값은 hyper-parameter에 해당됩니다.

 

■ 모델링 평가 결과

 

실험에 사용한 모델은 총 3개로 DAGMM, USAD (AE 기반)와 GANomaly (GANs 기반)을 사용하였고 PHM Challenge datasets 내 3개의 bearing에 성능 측정을 진행한 결과는 다음과 같습니다.

 

위 성능 표의 열은 모델별 기본 성능(Baseline)과 제안 framework로 학습한 모델(IDEA)을 나타내며 행은 데이터별 성능 측정 지표를 나타냅니다.

  • Time point: 해당 데이터의 이상이 발생한 시점, 예: Bearing 1 - 826 point 부터 이상 발생
  • False Alarm: 실제 정상임에도 이상치로 판단한 point의 개수
  • Score: |예측 시점 – 실제 시점| + False Alarm

결과를 살펴보면 Bearing 1에 대해서는 모든 모델에서 제안 아이디어의 성능이 향상되었으나 타 데이터의 경우 그렇지 않은 경우가 존재하였습니다. 현재 중간 발표까지의 결과이기 때문에 추후 일반화 성능 개선을 목표로 연구를 진행할 예정입니다.

 

앞으로의 계획

■ 전처리 고도화 전략

 

베어링 데이터에 적합한 Wavelet family (기저 함수)를 개발하겠습니다.

외부 충격 & Nan 이 포함된 데이터 생성하고 포락선 분석을 통해 처리하여 실제 제조 환경에 Robust 한 방향으로 전처리를 고도화하겠습니다.

 

■ 모델링 고도화 전략

앞에서 설명한 학습 framework 실험 결과 재학습 과정에서 문제점을 발견할 수 있었습니다. 바로 비정상으로 추정되는 time point에 대해서 복원 오차를 키우게 되면 신경망의 가중치가 쉽게 망가지게 되는 것인데요. 이에 특정 데이터의 경우 이상 시점을 한참 뒤늦게 탐지하는 등의 문제가 존재하였습니다.

따라서 스스로 혼재 구간을 특정하고 재학습하는 전체적인 구조는 유지한 채, anomaly score를 추정하는 network를 별도로 두어 학습을 진행하는 방향으로 개선할 예정입니다. 즉 two-phase training에서 복원 오차를 줄이는 모델(AE or GANs)은 그대로 유지한 채, 특정된 혼재 구간 내 비정상으로 추정되는 sample의 경우 anomaly score 값이 1이 출력되도록, 정상으로 추정되는 sample의 경우 score 값이 0에 가깝게 출력 되도록 학습하는 모델을 새롭게 구축할 예정입니다.

최종 발표 때까지 실제로 구현을 완료하여 보다 높은 성능을 기록하도록 하겠습니다.

감사합니다.wink

주주 님의 최신 블로그

더보기

관련 블로그