Abstract
- 연구 목표
- 생산 라인의 초기 단계에서 이상 탐지 정확도를 향상시켜, 잠재적인 생산 실패로 인한 비용과 시간의 낭비를 줄임
- LSTM기반 오토인코더 (unsupervised 실시간 이상탐지)
Introduction
- 도전적인 문제
- 공장 가공 라인의 제조 장비에 설치된 센서에서 수집된 다변량 시계열 데이터셋을 사용하여 이상 탐지 문제를 연구
- 이상 데이터 레코드가 제한적이고, 이상 패턴이 매우 불규칙하며, 탐지가 시간적으로 정확해야 하는 점 때문에 이상 탐지 문제가 어려움
- 전통적 한계 극복방안
- 자기회귀 통합 이동 평균과 같은 시계열 분석 모델 기반
- 동적 시간 왜곡
- KNN과 같은 분류 알고리즘
- 대부분의 분류기는 정확도를 극대화하려는 의도로 불균형 데이터셋에서 성능 떨어짐
- 제안 모델) LSTM-auto encoder 기반 ANN
- LSTM 셀: 다변량 센서 데이터에서 시간적 의존성을 포착
- 오토 인코더 네트워크: 레이블이 없는 데이터셋에서 정상적인 행동을 학습하기 위해 사용
- online 평가 데이터: 실시간 이상 탐지를 위해 슬라이딩 윈도우에 의해 일련의 시퀀스로 모델에 공급
- 경보발생: 시간 간격이 다수에 의해 이상 데이터 포인트로 투표될때
Background
A. Long Short-Term Memory(LSTM)
B. AutoEncoder
- 특징
- unsupervised learning의 대표 형태
- 원본 입력에 가까운 재구성을 학습하도록 훈련
- 오토인코더= 데이터의 특성을 충분히 설명하는 의미 있는 정보를 추출하는 방법을 학습
- 시간 의존성 있는 시퀀스에 대한 오토인코더
- Seq2Seq 모델 형태
- 인코더-디코더로 구성
- 기계번역에서 많이 사용
- 인코더
- input: sequence x → 각 time step마다 $hE$라는 hiddens state 계산 → 디코더로 생성된 hidden state 전달
- 디코더
- 이전 디코더 state 및 이전 재구성된 출력을 계산함
- Seq2Seq 모델 형태
Related Work
이상 탐지 task의 이전 연구 방법들 (모든 domain에서)
Rule-based approach
- 다양한 작업에 대한 경험에 따라 수동으로 구축
- 의료
- 질병 발생의 조기 탐지를 수행하기 위한 알고리즘
- 각 이상 패턴을 규칙으로 특징 짓는 규칙 기반 이상 탐지 알고리즘
Classification approach
- 시계열 데이터에서 패턴 인식 위해 사용됨
- 기존 방법
- 거리 기반 방법
- K-NN
- DTW (동적 시간 왜곡): 최상의 거리기반 측정법
- 최근 딥러닝 이후 방법
- 다중 채널 딥 컨볼루션 신경망(MC-DCNN)
- 각 채널에서 입력을 받아 개별적으로 특징을 학습하고, 나중에 latent feature를 MLP에 공급하여 분류
- 다중 채널 딥 컨볼루션 신경망(MC-DCNN)
Forecasting(Prediction-based) approach
- 주어진 입력 시퀀스에 대한 다음 값을 예측하도록
- 정상 데이터만 이용하여 학습
- 훈련된 후에는 센서에 의해 기록된 실제 값과 예측된 값을 비교하여 이상을 탐지
- 오차가 미리 정의된 임계값 초과 → 샘플을 이상으로 레이블링 가능
- 방법
- 1-클래스 SVM
- 장단기 메모리(LSTM) 셀을 예측 모델로 사용하는 딥 뉴럴 네트워크(DNN)
Problem Description
A. Objective and Challenges
- 제조에서의 중요 도전 과제
- 연속적인 센서 데이터에서 이상 패턴을 신뢰성 있게 탐지하는 것
- But 다변량 시계열 센서 데이터의 경우, 이 작업은 매우 어렵고 인간의 오류에 취약. 또한, 광범위한 도메인 지식 없이는 이를 수행하기 어려움
- 분류기를 훈련시키려면 균형 잡힌 클래스 분포를 가진 충분한 양의 레이블이 지정된 훈련 예시가 필요합니다. 이상 탐지 작업은 극도로 불균형한 데이터 분포를 특징으로 합니다. 즉, 정상 샘플은 사용할 수 있지만 이상 샘플의 수는 불충분합니다. 더욱이, 일반적으로 비정상적인 행동은 불규칙합니다. 패턴 인식과 분류를 통해 이상 행동을 탐지하는 것은 쉽지 않습니다. 훈련 데이터에 이러한 종류의 샘플이 없다면 보이지 않는 이상 행동을 탐지할 수 없습니다.
- 다변량 센서 데이터에서의 이상탐지의 도전 요약
- 도메인에 대한 충분한 지식 없음 → 해결) 딥러닝 (특정 도메인에서 알려지지 않은 기본 규칙에 기반하여 복잡한 행동을 모델링 가능)
- 여러 다른 센서로 구성된 다변량 데이터
- 시간적 의존성
- 극도로 불균형한 데이터 분포 → 해결) 존재 데이터: 정상 시퀀스 대부분 → 이상: 정상 시퀀스에서 벗어나거나 보지 못한 패턴의 데이터
- 불규칙한 이상 행동
- 다변량 센서 데이터에서의 이상탐지의 해결해야할 문제
- 센서 데이터의 이상: (기록된 데이터가 정상 시퀀스로만 구성될 것으로 예상되므로) 이전에 보지 못한 패턴으로 정의될 수 있음 (= 이상 탐지 알고리즘은 알려진 이상을 탐지할 수 있어야 하며 새롭고 알려지지 않은 이상에 대해서도 일반화할 수 있어야 함.)
- online 탐지 위해,, sliding window 접근방식 활용
- pretrain: 고정 길이 시퀀스인 정상 데이터로 훈련됨 → 각 time step에서 예측된 값을 실제 시퀀스와 비교하여 online 이상탐지
B. Use case scenario
- Fig4 해석 (생산 라인에 세 개의 챔버(A, B, C)가 있음)
- 제품은 순서대로 A→B→C로 이동
- 각 챔버에는 4개의 센서(W, X, Y, Z)가 내부에 있음
- 센서가 제품을 감지하면 신호 '1'을 출력하고, 그렇지 않으면 '0'을 출력
- 센서w가 신호 '1'을 출력하면 제품이 이미 챔버 안에 있다는 것을 나타냄.
- 제품은 센서x와 센서y 사이를 왕복하면서 공정이 완료될 때까지 이동. 그 후, 제품은 계속 이동하여 센서z가 신호를 출력하게 하며, 이는 해당 챔버에서의 공정이 끝났음을 의미.
- 세 챔버(A, B, C)의 행동은 유사합니다. 그러나 우리가 사용할 수 있는 데이터셋에서, 챔버B는 챔버A와 챔버C보다 훨씬 더 많은 이상을 보여줍니다.
- 따라서 우리의 평가도 챔버A의 데이터를 사용하여 정상 패턴을 위한 모델을 훈련한 후, 챔버B의 데이터로 모델을 평가하려고 합니다. 우리의 접근 방식은 제품이 전체 생산 라인을 통과하기 전에 어떤 챔버에서든 이상을 감지할 수 있으므로, 조기 실패 탐지가 달성
Methodology
A. Model Selection
- 이진 분류 모델 훈련 어려운 이유들
- 라벨링된 데이터 많이 없음
- 이상 샘플 너무 제한적
- 이상 패턴 불규칙 → 이상 행동 인식 어려움
- 오토인코더
- 인코더, 디코더 → 둘다 RNN
B. Data Preprocessing
- 자동 feature selection 하는 형태로 변환하는 전처리
C. Model Training & Evaluation
- Phase 1: Time-series Modeling
- 센서에서 수집된 과거 데이터를 사용하여 LSTM-autoencoder학습 → 생산 라인의 챔버에서 정상 패턴 인식 위함
- encoder : input에서 data sequence encoding → latent representation 추출
- latent representation: 입력을 대표하는 정보(특징)을 담고있는 특징 벡터
- decoder: 특징 벡터를 입력으로 받아 입력에 가장 가까운 매치 제공
- 주어진 입력의 재구성 오류를 나타냄
- loss term: MSE (재구성 오류)
- encoder : input에서 data sequence encoding → latent representation 추출
- test data로 online anomaly detection
- 오토인코더 학습에서의 정상패턴: 작은 재구성 오류
- 보지 못한 비정상패턴: 큰 재구성 오류
- 센서에서 수집된 과거 데이터를 사용하여 LSTM-autoencoder학습 → 생산 라인의 챔버에서 정상 패턴 인식 위함
- Phase 2: Anomaly Detection:
- 이상 탐지 단계에서는 모델에 의해 입력 시퀀스의 각 타임스탬프에 대한 재구성 오류를 얻음. 원본 입력과 예측 사이에 상당한 재구성 오류를 포착하면, 이 샘플이 이상 타임스탬프일 수 있음을 시사 가능. 정상과 비정상 샘플을 구분하기 위해 임계값ϵ을 사용. 샘플의 재구성 오류가 ϵ 보다 크면 테스트에서 이상으로 레이블링. ϵ의 설정은 훈련 데이터로부터 재구성 오류의 분포에 따라 결정.
- Phase 3: Alerting:
- 입력이 시퀀스이므로, 이 시퀀스의 각 타임스탬프는 예측된 레이블(정상/이상)을 결과로 가져옴. 윈도우 크기가 WS라고 가정하면, 각 타임스탬프는 WS번 커버되므로 WS개의 예측된 레이블을 받게 됨. 따라서 최종 결정을 내리기 위해 다수결 투표를 적용. 타임스탬프의 샘플이 이상으로서 절반 이상의 투표를 받으면, 주어진 타임스탬프에서 잠재적인 실패가 발생했음을 나타내는 경보가 발생.
Comments
전반적인 모델 구조가 젤 단순해서 이해하기 쉬움.