본 게시물에서는 "A deep convolutional neural network with new training methods for bearing fault diagnosis under noisy environment and different working load" (Zhang et al, 2018) 논문을 리뷰하도록 하겠습니다. 이 논문에서는 잡음이 많은(noisy) 환경이나 하중이 달라지는(load shift) 상황에 잘 대응하기 위해 매우 깊은 Convolutional Neural Network 모델을 사용했습니다.
Introduction
실제 작업 환경에서는 진동 신호에 잡음이 많이 포함되어 있고 베어링에 가해지는 하중이 변화하기 때문에 딥러닝 모델을 그대로 적용하기 어렵습니다. 이 논문에서는 CNN을 이용해서 두 상황에 잘 대응하는 bearing fault detection 모델을 만들었습니다. 또한 raw signal을 직접 모델의 input으로 넣음으로써, 복잡한 feature 추출 과정이나 noise를 제거하는 과정을 생략했습니다.
Model Architecture of TICNN
모델 구조를 자세히 살펴 보겠습니다. 1D CNN 구조를 사용하고 있는데, 이는 저자 Zhang의 이전 논문 (A new deep learning model for fault diagnosis with good anti-noise and domain adaptation ability on raw vibration signals, 2017)에서 사용한 방식입니다. 이 논문에서는 anti-noise와 domain adaptation ability 능력을 향상시키기 위해 1D CNN 구조에 두 가지 트릭을 적용했습니다. 첫 번째 layer kerner에 dropout을 적용하는 것이고, 매우 작은 batch size로 학습하는 것입니다. 또한 마지막에는 모델의 안정성을 높이기 위해 ensemble learning을 적용했습니다. 모델의 전체적인 구조는 아래 그림과 같습니다.
먼저 normalized temporal signal이 모델의 인풋으로 들어갑니다. 첫 번째 convolutional layer는 STFT같은 transform 과정을 거치지 않고 raw signal에서 feature를 뽑습니다. 그림을 보시면 첫 번째 layer의 convolution kernel 크기는 64로 굉장히 넓은 데 반해, 이어지는 layer의 kernel은 비교적 작은 것을 알 수 있습니다. 넓은 kernel을 사용함으로써 높은 주파수의 noise를 잘 억제할 수 있다고 합니다. 마지막에는 output node가 10개인 softmax layer의 결과로 베어링의 고장 상태를 판별합니다.
Kernel with Changing Dropout Rate
Small Mini-Batch Training
Ensemble Learning Based on Voting
Experiments
실험에는 CWRU Dataset을 사용했습니다. fault condition은 총 10가지입니다. noisy environment, different load domain 두 케이스에 대해 각각 실험했고 이 논문에서 제안한 TICNN 모델이 가장 좋은 성능을 보였습니다.
Data Description
Case Study I: Performance under Noisy Environment
Case Study II: Performance across Different Load Domain