1. 서 론
딥 러닝을 이용한 고장 진단 모델을 현장에 적용할 때 발생하는 문제점은 현장의 외란과 고장 데이터의 부족이다 (1)-(2). 현장에서의 데이터 수집을 위해서는 외란에 강인한 계측 시스템이 필요하며, 고장 데이터의 부족은 정상 상태만을 이용해 학습 가능한 비지도 학습을
사용하는 것을 요구하게 된다.
데이터 수집 오류와 장치의 고장을 유발하는 현장에서 발생 가능한 노이즈는 계측된 신호에 영향을 주는 전기적 노이즈와 전동기 운전에 직접적인 영향을
주는 기계적인 노이즈가 있다. 실험실 연구용으로는 신호 수집 장치의 안정성과 수집된 신호의 안정성을 위해 PXI(PCI eXtensions for
Instrumentation)와 같은 고급 데이터 취득 장치를 사용하는 것이 일반적이지만, 고급 데이터 수집 장치는 산업 현장에 적용하기에 크기 및
비용면에서 효율적이지 않다. 따라서, 산업 현장에서 실용성을 갖는 동시에 비용 효율성을 확보하기 위한 IoT 기반의 데이터 수집 장치를 사용하는 것이
적절하며 (3), 이 시스템을 위해 현장에서 발생하는 전기 외란을 최소화시키는 필터를 사용하는 것이 일반적이다 (4). 다만, 필터에 의해 고장 신호의 특징이 왜곡될 수 있으므로 고장 진단에 적합한 차단 주파수 대역을 설정하는 것이 필요하다. 기존의 연구들은 차단
주파수를 고전적인 진단 이론을 통해 설정하지만, 현장 데이터를 활용한 딥 러닝 기반의 고장 진단에 적절한지 평가, 검토할 필요가 있다.
고장 진단에 주로 사용되는 알고리즘은 비지도 학습의 일종인 오토 인코더이다. 기존의 오토 인코더를 이용한 고장 진단 연구들도 대부분 실험실에서 인위적으로
발생시킨 고장 신호만을 이용해 성능을 증명했다 (5)-(6). 인위적인 고장 신호를 분류하는 오토 인코더는 실제 현장에서 사용하기에 신뢰성이 낮으며 신호 차이가 매우 적은 초기 고장 상태에 대한 대처 가능성을
보여주기 어렵다. 또한, 외부에서 인가되는 충격과 같은 기계적인 외란에 즉각 대응하는 방식은 잦은 오진을 일으킬 수 있으며 전동기의 고장 수준을 표현하기
어렵다. 마지막으로, 단일 임계값을 이용하는 기존 오토 인코더의 방식은 고장 예측을 위한 고장의 수준을 나타내기 어렵다. 상기 문제점들은 현장 데이터를
이용해야 하는 고장 진단의 성능을 감소시킬 수 있는 요소들이다.
본 논문에서는, 위에서 제기한 문제점들을 해결하기 위해 오토 인코더 기반의 현장 데이터를 적용하기 위한 전동기 고장 진단 방법이 제안된다. 첫 번째로,
전기적 외란을 최소화시키고 계측 시스템의 안정성을 확보하기 위한 방법으로서, 필터에 의한 고장 신호 왜곡 여부를 분석하기 위해 모델 출력에 따른 입력
데이터 특성을 확인하기 적합한 XAI 기반의 LRP 분석을 이용한다 (7). XAI는 학습된 모델이 도출한 결과를 이해 가능한 형태로 나타낼 수 있는 알고리즘이며, LRP는 XAI의 일종으로 모델의 신경망 내부에서 각 입력이
출력에 미치는 영향을 해석할 수 있다. LRP를 통해 설정된 차단 주파수로 필터링된 신호가 정상과 고장의 차이를 분명히 나타내는지 증명하기 위해 필터를
사용한 회로에서 정상과 초기 고장 데이터를 수집하고, CNN 알고리즘을 활용하여 고장 신호를 왜곡 없이 진단 가능한지 확인한다. 두 번째로, 현장
데이터 적용을 위한 이동 평균과 믹스업 알고리즘을 이용한 오토 인코더 기반 고장 진단 방법이 제안된다. 제안된 방법은 현장에서 현장에서 발생되는 일시적인
기계적 외란에 대처하기 위한 이동 평균 필터 기반의 후처리 기법과, 고장의 정도를 비지도 학습 방법을 통해 나타내기 위해 오토 인코더의 결정 임계값을
믹스업 알고리즘을 이용해 복수로 설정하는 방법이다. 제안된 방법은 현장에서 측정한 진동 데이터 및 실험실에서 취득된 정상 및 고장 데이터를 이용한
검증을 통해 그 타당성을 확인한다.
2. 이 론
딥 러닝의 학습 방법은 크게 지도 학습과 비지도 학습으로 나뉜다. 지도 학습을 이용한 고장 진단은 정상 데이터와 고장 데이터의 정확한 라벨을 기반으로
패턴을 학습하므로 고장 상태를 라벨을 기준으로 분류할 수 있다. 그러나 현장은 고장 데이터를 취득하기 어려우므로 지도 학습 기반의 고장 진단을 현장에
적용하는 것은 어려움이 있다.
고장 데이터 부족에 대응하기 위해 비지도 학습을 이용한 새로운 패턴 탐색이 가능한 클러스트링(Clustering) 알고리즘이 사용된다 (8). 클러스트링 알고리즘은 데이터의 유사한 특성을 가진 그룹으로 분류해 데이터의 숨겨진 패턴이나 구조를 발견한다. 비지도 학습은 라벨이 없는 데이터로
학습을 수행하므로 라벨을 준비하는 과정이 필요하지 않아 라벨링 작업에 시간과 비용이 필요하지 않다. 또한, 정상 데이터만으로 학습할 수 있으므로 고장
데이터가 필요하지 않다. 따라서 비지도 학습의 특징을 이용한 고장 진단은 현장에서 취득하기 어려운 고장 데이터의 문제를 해소하기에 적합하다. 비지도
학습은 라벨이 요구되지 않으므로 지도 학습에 비해 높은 데이터 품질이 요구되며, 이를 위한 신호 취득 시스템이 요구된다.
2.1 오토 인코더 알고리즘
비지도 학습은 데이터들의 특성을 고려한 구조 추론 및 패턴을 이용해 학습을 수행한다. 이를 통해 차원 축소, 군집화, 이상 탐지와 같은 다양한 작업이
가능하다. 그 중 오토 인코더 기반의 이상 탐지는 입력 데이터의 가장 중요한 패턴과 노이즈가 아닌 주요 특징에 대해서 학습을 수행한다 (9). 이러한 오토 인코더의 특성은 현장에서의 제한적인 고장 데이터를 해소하기에 적합하므로 현장의 고장 진단 가능성 평가를 위한 모델로 채택되었다.
오토 인코더는 입력층과 출력층의 구조가 동일하다. 입력층은 입력 데이터를 잠재 변수로 압축하는 인코딩 과정을 거쳐 입력 데이터와 최대한 가깝게 복원하는
디코딩 과정을 수행한다. 오토 인코더의 구성은 그림 1과 같다. 정상과 고장을 판단하는 지표는 재구성 오류(재구성률)를 기준으로 고장 여부를 판단한다. 이는 정상 데이터만으로 학습한 오토 인코더 모델에
고장 데이터가 시험 데이터로 주어질 때 모델이 재구성을 못 하는 점을 이용한다. 따라서 재구성한 결과와 원본과의 차이를 의미하는 재구성 오류 값을
설정한 임계값과 비교하여 입력된 데이터가 정상 데이터인지 고장 데이터인지 판단한다. 본 실험에서 사용된 이상치 판별 기준으로는 손실 함수인 MSE(Mean
Squared Error)로 지표를 사용한다. 그림 2는 현장에서 수집된 데이터를 사용해 오토 인코더 알고리즘을 이용하여 원본 데이터를 재구성한 결과를 보여준다.
그림. 1. 오토 인코더 도식화
Fig. 1. Auto-Encoder schematic diagram
그림. 2. 원본 데이터를 재구성한 데이터
Fig. 2. Data reconstructed from source data
2.2 현장 데이터 수집을 위한 안정성 확보
현장 데이터를 수집하기 위해 선정된 디바이스는 라즈베리 파이이다. 라즈베리 파이는 IoT와 특정 작업을 수행하기에 적합하며, 크기가 작고 비용이 저렴한
이점이 있으므로 고장 진단 데이터 취득에 적합하다. 하지만 라즈베리 파이는 고급 데이터 수집 장치와 비교하여 SOC(System on Chip)의
성능이 상대적으로 낮다. IoT 기반의 데이터 수집 장치를 이용한 데이터 수집 및 전처리는 딥 러닝 모델의 성능에 직접적인 영향을 미칠 수 있으므로
SOC의 소프트웨어적 성능이 보완되어야 한다. 딥 러닝을 이용한 고장 진단에 사용되는 학습 데이터는 FFT 이미지이며, 학습 데이터의 품질을 높이기
위해 정확한 샘플링 속도가 필요하다. 이를 해결하기 위해 IoT 기반의 데이터 수집 장치에서 메모리 접근에 이점을 갖는 동적 라이브러리를 호출하는
방법이 사용되었다 (10). 동적 라이브러리인 SO 파일은 기계어로 컴파일된 코드를 포함하고 있어 최적화된 데이터 처리 수행이 가능하므로 ADC를 위한 샘플링 속도를 보완할
수 있다. 이때, 학습에 사용될 주파수 대역을 고려해 에일리어싱 현상 (11)이 발생하지 않는 25 [kS/s]로 확인되었다.
그림. 3. 에일리어싱 현상
Fig. 3. Aliasing phenomenon
IoT 기반의 데이터 수집 장치는 아날로그 신호를 디지털로 변환하는 자체적인 기능이 없으므로 고장 진단 데이터를 수집하기 위해 ADC가 가능한 주변
회로가 구성되었다. 고장 진단이 적용되는 현장은 외부 잡음, 전기적 신호등과 같은 외란에 취약하므로 데이터 수집 장치 및 데이터 수집에 부정적인 영향을
미칠 가능성이 있다. 따라서 현장에서의 데이터 취득 과정에서 발생하는 외란에 대처 가능한 필터(Low-Pass Filter : LPF)를 사용하였다.
ADC를 수행하기 위한 필터를 사용한 주변 회로는
그림 4와 같다. 구성된 주변 회로의 주요 기능은 FFT 이미지를 학습 데이터로 사용하기 위해 ADC 수행이 가능한 MCP3208이 사용되었고, 진동 신호의
Off-Set 조절, 신호 처리기(Signal Conditioner)가 있다.
필터는 현장에서 발생하는 서지 전압 같은 외란을 최소화하여 데이터 취득 회로의 안정성 확보가 가능하다. 하지만 필터를 사용할 때는 고장의 특징이 되는
신호를 왜곡시킬 수 있으므로 고장 진단의 오진 가능성이 있다. 이를 해결하기 위해 필터를 사용한 회로에서 취득된 정상 데이터와 고장 데이터를 딥 러닝을
이용한 분류 성능을 확인해야 한다.
본 연구에서는 데이터 취득 회로에서의 안정성을 확보하고, 필터를 사용한 회로에서 고장 신호의 왜곡 가능성을 확인하고, 현장에서의 고장 진단 가능성을
오토 인코더를 사용해 확인한다.
그림. 4. 데이터 취득을 위한 주변 회로 블록도
Fig. 4. Peripheral circuit block diagram for data acquisition
3. 데이터 분류 실험
그림. 5. 데이터 취득을 위한 실험 환경 : (a) 다이나모미터, (b) 기어 박스, (c) 모터 (d) 데이터 수집 장치
Fig. 5. Experimental environment for data acquisition : (a) dynamometer, (b) gearbox,
(c) motor, (d) data acquisition devices
필터를 사용한 회로에서 고장 신호의 왜곡 가능성을 분석하기 위한 실험 환경은
그림 5와 같다. 실용적인 데이터 수집을 위해 IoT와 비용에 이점이 있는 라즈베리 파이를 기반으로 현장 및 실험실에서 구성된 주변 회로를 사용해 데이터
수집이 이루어진다. 라즈베리 파이는 별도의 ADC 기능이 없으므로 ADC가 가능한 주변 회로가 구성되었으며, 현장에서 발생할 수 있는 외란을 최소화하여
회로의 안정성을 확보하기 위한 필터로 구성되었다.
고장 신호의 왜곡 가능성을 확인하기 위한 비교군은 정상 기어 전동기와 초기 기어 고장 전동기가 사용되었다. 초기 기어 고장 전동기는 실험실에서 소형
연마기를 사용해 기어를 손상시켰다. 비교군으로 초기 기어 고장 전동기를 사용한 이유는 정상 전동기 신호와 매우 유사한 주파수 특성을 보이기 때문이다.
따라서 고장 신호의 왜곡 가능성을 확인하기 위해 필터를 사용한 회로에서 취득한 정상과 초기 고장 데이터의 분류 성능을 확인해야 한다. 초기 기어 고장의
부분은 그림 6과 같다.
그림. 6. 기어의 내부 구조
Fig. 6. The internal structure of a gear
3.1 LRP를 이용한 데이터 분석
딥 러닝을 이용한 고장 진단 모델은 진동 신호의 주파수 특성을 이용해 고장 진단이 이루어진다. 본 실험에서 사용된 고장은 기어 고장으로 맞물려있는
기어 사이의 물리적 충돌 때문에 발생하는 주파수 특성에 의해 정상과 고장으로 분류될 수도 있다. 실험에 사용된 전동기의 기어 맞물림 주파수(Gear-Mesh-
Frequency)는 248.28 [Hz] 로 (1) 을 통하여 계산할 수 있다(12).
$GMF = N_{out}\bullet\dfrac{RPM_{out"put" "\ge ar"}}{60}[Hz]$
$RPM_{output "\ge ar"}= RPM_{"\in put"}\bullet\dfrac{N_{"\in "}}{N_{out}}$
(
1) 과 (
2) 에서 $N_{out}$은 고장 기어의 치수를 나타내고, (
2) 에서 $N_{"\in "}$은 입력축 기어 치수를 의미한다. 따라서 (
1), (
2) 을 통하여 기어 맞물림 주파수를 구할 수 있지만, 실험에 사용된 전동기는 유도 전동기이기 때문에 (
3) 에서 $RPM_{in put"}$을 계산할 때 슬립을 고려해야 한다. (
3) 에서 $S$는 슬립, $P$는 극수, $f$는 구동 주파수를 의미한다.
고장 진단 모델은 주파수 특성을 분석하여 진단이 이루어지기 때문에 기어 고장의 특징이 기어 맞물림 주파수에서 나타날 수 있다. 하지만 딥 러닝은 복잡한
구조와 매개변수로 인하여 모델의 출력이 입력 데이터의 특성을 어떻게 분류했는지 알기 어렵다. 또한, 학습 데이터로 사용될 데이터의 주파수 대역이 증가하면
학습 속도가 증가하기 때문에 고장 진단이 가능한 적절한 주파수 대역을 확인하고, 이에 따른 차단 주파수 영역을 설정해야 한다.
딥 러닝 모델은 가중치, 편향, 활성화 함수 등으로 이루어져 있다. 딥 러닝 모델의 신경망은 수많은 뉴런과 레이어로 복잡하게 연결되어 있다. 이로
인해 모델의 출력은 입력의 특성으로 비선형적인 조합으로 결정되기 때문에, 입력 데이터의 특성이 모델의 출력에 어떻게 이바지하는지를 직관적으로 확인하기
어려우므로 일반적으로 블랙박스라고 표현한다. LRP는 딥 러닝 모델을 해석하는 방법의 하나로, 블랙박스가 분류한 이미지 결과를 역으로 추적하여 분해하고,
분해된 구성 요소가 원본 이미지에 미치는 상대적인 기여도를 확인함으로써 모델을 해석한다. LRP는 딥 러닝 모델을 해석하는 과정에서 역순으로 모델을
탐지한다. 이 과정에서 분해(Decomposition)기법을 사용하고, 모델의 입력 데이터 특성의 중요도를 확인하기 위해 타당성 전파(Relevance
Propagation)를 사용한다.
그림. 7. LRP를 이용한 학습 데이터 중요도
Fig. 7. Learning data importance using LRP
그림 7은 필터를 사용한 회로에서 고장 진단 가능한 주파수 대역을 확인하기 위해 LRP 분석을 활용하여 설정해야 할 차단 주파수와 고장 진단 가능한 주파수
대역을 제시한다. LRP의 결과는 양수의 경우 모델에 긍정적인 영향을 주지만 음수의 경우 모델에 부정적인 기여를 준다. 즉, LRP를 통해 얻은 중요도
점수는 입력 데이터 특성의 영향력을 수치화하여, 모델의 예측 결과를 해석할 수 있게 한다.
그림 7의 (a)와 (c)는 정상 신호와 초기 고장 신호의 데이터이며, 특징은 120[Hz] 부근에서 나타나는 것으로 보인다. 하지만 (b)와 (d)의 LRP
중요도에서는 120 [Hz] 부근에서 음수로 측정되므로 모델의 학습에 부정적인 영향을 준다. 또한, 실험에 사용된 전동기의 기어 맞물림 주파수인 248.28
[Hz]는 모델 학습에 긍정적인 영향이 적은 것으로 확인된다.
위 두 가지 영향을 고려할 때, 학습에 긍정적인 영향이 적은 248.28 [Hz]가 아닌 0~200 [Hz]로 설정 가능하다. 따라서 필터를 사용한
회로의 차단 주파수를 1k [Hz]로 설정함으로써 원신호와 고장 신호의 왜곡을 최소화할 수 있다. 더불어, 고전적인 고장 진단은 기어 맞물림 주파수를
고려하기 위해 넓은 주파수 대역을 설정했다. 하지만 LRP 분석을 활용하면 고장 진단 가능한 적절한 주파수 대역을 설정하여 데이터 길이를 축소함으로써
학습 속도를 감소시킬 수 있는 이점이 있다. 본 실험에서 사용한 데이터 길이는 200 [Hz]까지의 데이터만을 사용하여 고장 진단 모델의 성능을 평가한다.
3.2 CNN 알고리즘을 사용한 데이터 분류
산업 현장은 고장 데이터를 취득하기 어려운 점이 존재한다. 따라서, 고장의 특징이 되는 신호의 왜곡 가능성을 확인하기 위해 실험실에서 인위적으로 초기
고장을 생성하였다. 초기 고장 상태 데이터는 정상과 매우 유사한 신호를 가지고 있다. 초기 고장을 분류할 수 있다는 것은 딥 러닝 모델 관점에서도
필터 사용으로 인한 고장 신호의 왜곡이 없음을 나타낸다. 더불어 LRP 분석 결과를 토대로 설정된 차단 주파수의 적합함을 나타낸다. 필터를 사용한
회로에서 취득된 데이터는 고장 신호의 특징 왜곡 가능성을 확인하기 위해 CNN 알고리즘을 사용하여 평가된다 (13). CNN 알고리즘은 이미지 인식에 주로 사용되며, FFT 이미지를 학습 데이터로 사용하는 고장 진단에 적합하다.
그림. 8. 정상과 초기 고장 데이터
Fig. 8. Normal and initial fault data
표 1. 고장 신호의 왜곡 가능성 평가 결과
Table 1. Fault signal distortion level evaluation results
Control
group
|
Train data
|
Test data
|
MSE
|
Accuracy
|
Normal
Label (1)
|
2,000
|
1,000
|
0.8
|
99.6%
|
Fault
Label (0)
|
2,000
|
1,000
|
학습에 사용된 데이터는 필터를 사용한 회로에서 취득된 정상 데이터와 초기 고장 상태 데이터 각각 2,000개씩 사용되었다.
표 1은 해당 실험의 사용된 데이터와 라벨 학습 결과를 보여주며,
그림 8은 정상과 초기 고장 상태 데이터를 보여준다.
딥 러닝을 이용한 고장 진단의 성능은 학습에 사용된 데이터 수 및 모델의 파라미터에 따라서 달라진다. 필터를 사용한 회로에서 초기 고장 신호 왜곡
가능성을 확인하기 위해서는 현장의 데이터 부족을 고려하여 상대적으로 적은 데이터를 사용해야 한다. 다만, 적은 데이터로 학습이 진행된다면 모델의 일반화
능력이 떨어질 수 있고 취득된 학습 데이터의 품질과 데이터 전처리 및 모델 파라미터에 따라 모델의 성능이 크게 영향을 받는다. 특히, 모델 파라미터는
사용자 경험에 따라 성능이 크게 달라지기 때문에 과적합 또는 과소 적합이 발생할 수 있다. 이를 해결하기 위해 본 논문에서는 유전알고리즘을 사용해
고장 진단 모델의 최적화된 하이퍼 파라미터를 찾는다 (14). CNN을 이용한 고장 진단 모델의 최적화된 하이퍼 파라미터는 표 2와 같다.
표 2. 고장 진단 모델 하이퍼 파라미터
Table 2. Hyperparameters in fault diagnosis model
Learning rate
|
Momentum
|
Filter
size
|
Number of hidden layer neurons
|
Batch size
|
Number of filter
|
0.2008
|
0.4265
|
141
|
171
|
93
|
7
|
표 3. 분류된 데이터의 성능
Table 3. Performance of classified data
Types
|
Actual
Normal (1)
|
Actual
Fault (0)
|
Normal (1)
Predictions
|
True Normal
(TN)
|
False Normal
(FN)
|
Accuracy
|
99.5%
|
0.5%
|
Fault (0)
Predictions
|
False Fault
(FF)
|
True Fault
(TF)
|
Accuracy
|
0.3%
|
99.7%
|
CNN 알고리즘을 사용한 고장 진단 모델의 성능은 (
4) ~(
7)로 평가할 수 있다. TN은 True Normal, FT는 False Normal, TF는 True Fault, 그리고 FF는 False Fault를
의미한다. 이때, 정확도(Accuracy)는 전체 시험 데이터 중에서 정상을 정상으로 고장은 고장으로 분류한 것을 의미한다. 정밀도(Precision)는
고장 진단 모델이 True로 분류한 값 중에 실제로 True인 것의 비율이다. 재현율(Recall)은 실제 True인 데이터 중 고장 진단 모델이
True로 예측한 비율이다. F1-score는 Precision과 Recall의 조화평균으로 정의된다
(15).
표 3은 정상과 고장의 분류 성능을 보여준다.
$Accuracy =\dfrac{TN+TF}{TN+FF+FN+TF}$
$Precision =\dfrac{TN}{TN+FN}$
$Recall =\dfrac{TN}{TN+FF}$
$F1-score =2\bullet\dfrac{Precision\bullet Recall}{Precision+Recall}$
표 4. 성능 지표
Table 4. Performance
Types
|
Value
|
Accuracy
|
99.6%
|
Precision
|
99.5%
|
Recall
|
99.7%
|
F1-score
|
99.6%
|
표 1의 MSE 값인 0.8은 초기 고장 상태 전동기의 신호가 정상 신호와 매우 유사함을 보여주며, CNN을 활용한 고장 진단 모델의 전체 분류 성능은
표 4와 같다. Accuracy, Precision, Recall, F1-score가 모두 99.5% 이상으로 우수한 성능을 보였다. 이러한 결과는 필터를
사용한 회로에서 정상 신호와 매우 유사한 초기 고장 상태 전동기라도 고장 신호의 왜곡 없이 진단 가능함이 확인되었다.
3.3 오토 인코더를 사용한 현장 데이터 분류
현장에 적용되는 시스템의 전동기 신호 계측 환경은 구성 비용의 이점이 있는 IoT 기반의 데이터 수집 장치인 라즈베리 파이를 기반으로 구성되었다.
라즈베리 파이는 IoT에 강점을 갖지만 SOC에 ADC 기능이 없으며, 고급 데이터 수집 장치에 비해 성능이 떨어지는 단점이 있다. 이는 ADC를
위해 MCP 3208 IC와 동적 라이브러리를 호출하는 것으로 해결된다. 진동 신호 및 전류 신호의 샘플링 속도는 25,000 [Hz]로 설정해도
되는 것이 확인되었다. 아울러 고장 진단 가능 주파수 대역이 0~200 [Hz], 차단 주파수 1k [Hz]로 설정함에 따라 고장 신호의 왜곡이 발생하지
않는 것이 확인되었다. 그 이유는 XAI 기반의 LRP 분석을 통해 알 수 있다. 최종적으로 구성된 신호 계측 시스템은 그림 9와 같다.
그림. 9. 신호 계측 시스템
Fig. 9. Signal instrumentation system
진단 대상인 전동기에 진동 센서를 부착 후 구성된 주변 회로를 사용해 진동 신호를 ADC 과정을 수행한다. ADC된 신호는 고장 진단 모델로 구성된
라즈베리 파이로 정상과 고장을 분류하여 분류 결과 및 ADC 데이터를 FTP 통신을 통해 메인 서버로 전송된다. 메인 서버는 클라이언트에 진단 결과를
전송하여 LabVIEW 기반의 GUI 시스템으로 보여진다. 또한, 메인 서버에 고장 진단 모델의 성능을 높이기 위해 지속해서 쌓이는 데이터를 빅 데이터를
형성하여 재학습된다. 이를 통해 재학습된 모델은 FTP 통신을 통해 각 현장에 모델을 업데이트시킨다.
현장에서의 데이터 취득은 그림 9의 신호 계측 시스템으로 이루어졌다. 현장에서 사용 중인 전동기에 부착된 진동 센서의 모습은 그림 10과 같다.
취득된 데이터는 그림 4의 필터 기반의 회로에서 취득된 데이터와 필터가 사용되지 않은 회로에서 취득된 데이터이다. 그 이유는 현장은 고장 데이터를 취득하기 어려우므로 정상
신호와 매우 유사한 초기 고장 상태를 모방하기 위해서이다. 현장에서 취득된 데이터는 오토 인코더 알고리즘을 사용해 분류된다. 오토 인코더를 활용한
고장 진단 모델의 학습은 필터가 사용되지 않은 데이터로 학습되고, 그 성능은 필터를 사용한 데이터로 검증된다. 현장에서 취득된 데이터는 그림 11과 같다.
그림. 10. 진동 센서가 부착된 현장 전동기
Fig. 10. Field motor with vibration sensor
그림. 11. 현장에서 취득된 진동 데이터
Fig. 11. Vibration data acquired in the field
현장에서 취득된 데이터는 오토 인코더 알고리즘을 사용해 분류된다. 오토 인코더를 활용한 고장 진단 모델의 학습은 필터가 사용되지 않은 데이터로 학습되고,
그 성능은 필터를 사용한 데이터로 검증된다. 현장에서 취득된 데이터는
그림 11과 같다.
그림 11은 필터를 사용한 데이터와 필터를 사용하지 않은 데이터의 FFT 결과를 보여준다. 오토 인코더를 활용한 고장 진단 모델의 학습은 진동 신호의 FFT
이미지 패턴으로 학습된다. 이때, FFT 결과의 주파수를 학습에 사용하면 학습 시간이 증가되므로 주파수를 제외한 단일 스펙트럼이 학습에 사용되었다.
사용된 데이터의 수와 학습 결과는
표 5와 같다.
표 5. 오토 인코더 현장 데이터 분류 결과
Table 5. Field data classification results using Auto-encoder
Data
|
Train data
|
Test data
|
Threshold value(MSE)
|
Accuracy
|
w/o LPF
|
2,000
|
500
|
0.0018
|
89.7%
|
Data
|
Test data
|
Min MSE
|
Accuracy
|
LPF
|
500
|
0.0021
|
100%
|
그림. 12. 데이터 재구성 결과
Fig. 12. Data reconstruction results
모델의 성능을 높이기 위해 학습 데이터는 Min-Max scaling으로 “0~1”로 정규화되었고, 주파수를 제외한 단일 스펙트럼을 사용하여 학습
속도를 감소시켰다. 모델의 임계값으로 사용된 MSE 값은 0.0018로 학습에 사용된 데이터의 정확도는 89.7% 다소 떨어진다. 학습에 사용된 데이터는
반복 학습으로 정확도 향상이 가능하지만, 과적합이 발생할 수 있어 학습 횟수를 제한했다. 그 결과, 필터를 사용한 데이터의 정확도는 100%로 우수하였다.
학습된 모델에 필터를 사용하지 않은 데이터의 재구성 결과를 보면 원본 데이터의 복원율이 높은 것을 볼 수 있지만, 학습에 사용되지 않은 데이터인 필터를
사용한 데이터에 대해서는 복원율이 떨어지는 것을 볼 수 있다.
3.2절의 실험 결과를 통해 실험실에서의 필터는 고장 신호를 왜곡시키지 않음을 알 수 있다. 현장의 경우 실험실과 달리 전원이 불안정해 필터에 의한
노이즈 제거로 신호의 차이가 상대적으로 크다. 하지만 가장 큰 특징을 나타내는 주파수에서의 신호는 거의 왜곡되지 않는다. 모델이 차이가 적은 필터를
사용한 데이터를 분류할 수 있는 것을 통해 정상과 매우 유사한 초기 고장이 발생하더라도 분류 가능할 것으로 기대된다. 이는 기존의 연구들과 달리 더욱
현장의 데이터 부족에 초점을 둔 연구이다.
3.4 이동평균필터를 적용한 믹스업 데이터 분류
오토 인코더를 사용한 고장 진단은 정상 데이터만으로 학습되므로 일시적인 충격으로 인한 노이즈를 포함한 신호를 고장으로 판단할 수도 있다. 이는 이동평균필터(Moving
Average : MA) 기반의 후처리 방법으로 해결된다 (16). 이동평균필터가 적용된 고장 진단은 일시적인 충격으로 인한 노이즈를 완화 시킬 수 있다.
본 연구에서는 오토 인코더를 활용하여 이상치 탐지를 수행하며, 판별 기준으로 입력 데이터와 출력 데이터 사이의 MSE를 사용한다. 기존의 오토 인코더
모델들은 설정된 MSE의 값을 기준으로 크기를 비교해 정상과 고장을 표현한다. 그러나 MSE는 이상치의 존재 여부를 확인하는 데 사용되므로 고장의
정도를 측정하는 데 한계가 있다. 이는 믹스업 알고리즘을 사용하여 복수의 결정 임계값을 설정하는 방법으로 해결할 수 있다. 제안된 방법에는 전동기
운전에 큰 영향을 주는 고장 데이터가 필요하기 때문에 실험실의 데이터가 사용된다. 실험에 사용된 전동기의 기어는 그림 13과 같다.
그림. 13. 기어 고장 정도
Fig. 13. Degree of gear fault
일시적인 기계적 외란에 대처 성능을 분석하기 위해 오토 인코더의 복원율에 이동평균필터를 사용한 결과와 사용하지 않은 결과가 비교된다. 이동평균필터의
윈도우 크기는 10으로 설정했으며 그 모습은
그림 14와 같다.
일시적인 기계적 외란을 시스템에 유입시키기 위해 그림 5의 환경을 이용한 데이터 수집 과정에서 주변 환경에 비주기적인 충격을 주어 데이터 취득이 진행되었다. 그림 14에서 볼 수 있듯이 이동평균필터를 적용하지 않을 때는 복원율이 크게 변동되어 정상 데이터와 고장 데이터의 패턴에 미치는 영향이 크다. 그러나 이동평균필터를
적용한 경우에는 정상 데이터와 고장 데이터의 추이가 더욱 정확하게 나타나는 것으로 보인다. 표 6은 그림 14의 데이터를 단일 임계값을 이용해 분류했을 때의 결과이다.
그림. 14. 이동평균필터 사용 유무 데이터
Fig. 14. Data with and without a moving average filter
표 6. 이동평균필터 실험 결과
Table 6. The result of using a moving average filter
Results without moving average filter
|
Data
|
Train data
|
Test data
|
Threshold value(MSE)
|
Accuracy
|
Normal
|
2,000
|
2,000
|
0.0132
|
78.45%
|
Data
|
Test data
|
Min MSE
|
Accuracy
|
Fault
|
300
|
0.0133
|
100%
|
Results with moving average filter
|
Data
|
Train data
|
Test data
|
Threshold value(MSE)
|
Accuracy
|
Normal
(MA)
|
2,000
|
2,000
|
0.0189
|
100%
|
Data
|
Test data
|
Min MSE
|
Accuracy
|
Fault
(MA)
|
300
|
0.0190
|
100%
|
모델의 임계값은 고장 데이터의 최소 MSE 값을 기준으로 설정했다. 그 이유는 고장을 잘못 판단하게 되면 큰 인적 재산적 피해로 이어질 수 있기 때문이다.
그 결과, 이동 평균을 적용하지 않은 데이터는 정상 데이터를 78.45%의 정확도로 분류했다. 이는 일시적인 외란이 추가되었을 때의 정상을 21.55%로
고장으로 오진한 것이다. 이동 평균을 적용한 데이터의 분류 성공률은 100%이다. 이는 오토 인코더의 복원율에 이동평균필터를 사용하는 것이 현장에서
발생 가능한 외란에 대처 가능하게 만들어 줌을 의미한다.
오토 인코더는 비지도 학습 방법이기 때문에 정상 상태의 MSE와 고장 상태의 MSE 사이를 구간으로 나누어 고장 정도를 표현하기 어렵다. 오토 인코더에
학습시키지 않은 데이터의 복원율이 정상과 고장 상태의 복원율 사이로 나올 것이라는 이론적인 근거가 없기 때문이다. 이를 해결하기 위해서는 정상 상태부터
전동기 운전에 영향을 줄 수 있는 고장 상태까지의 데이터를 모두 검증해야 한다. 만약 오토 인코더에 전동기의 모든 상태의 데이터를 입력시켜 그 복원율을
볼 수 있다면 신뢰성 높은 모델을 만들 수 있고 복원율에 기반한 고장 예측이 가능하다. 하지만 현장에서 이러한 데이터를 구하는 것은 매우 어려우므로
믹스업 알고리즘을 이용해 데이터를 생성한다.
그림. 15. 믹스업 알고리즘으로 만든 데이터
Fig. 15. The data made by mix-up algorithm
믹스업 알고리즘은 원본 데이터의 비중을 0~1 사이의 값인 $\lambda$값으로 조절하여 새로운 데이터를 생성하므로 현장에서 취득하기 어려운 초기
고장 상태 데이터도 생성할 수 있다. 믹스업 알고리즘에 사용되는 수식은 (
8)로 정의된다
(17).
(
8)에서의 $\hat x$은 생성된 믹스업 데이터이며, $\lambda$는 베타 분포에서 가져온 믹스업의 계수로 비중을 의미한다. $x_{i},\:x_{j}$는
믹스업 시킬 데이터 샘플이며, $\hat y$는 라벨을 의미한다. 이때, 오토 인코더는 라벨이 필요하지 않기 때문에 $\hat x$만이 실험에 사용되었다.
실험은 고장의 정도를 파악하기 위해 정상 데이터와 심한 고장 데이터를 믹스업 시켜 중간 데이터를 증대시켰다. 생성된 믹스업 데이터는 정상 데이터만으로
학습된 오토 인코더 모델을 사용하여 MSE 값을 도출했다. 믹스업 데이터의 MSE는
그림 15와 같다.
믹스업 데이터의 MSE는 정상 상태와 심한 고장 상태를 믹스업 시킨 데이터이므로 초기 고장 상태를 포함한 데이터가 생성되었을 가능성이 크다. 기존
오토 인코더는 모델 학습 정도에 따라 단일 임계값을 설정하여 고장의 정도를 파악하기 어렵다. 하지만 믹스업으로 증대된 데이터의 MSE 값을 이용해
복수의 임계값을 설정하면 (8)의 $\lambda$에 따른 수치를 알 수 있기 때문에 고장의 정도 파악뿐만 아니라 고장 정도에 따른 데이터 흐름을 파악할 수 있다. 실험에 사용된
고장 데이터는 시스템을 멈춰야 할 정도의 고장 상태이기 때문에 $\lambda$값이 0.5일 때의 데이터의 MSE는 사용자가 허용한 고장 수준에 이르기
50% 전의 고장이 발생한 것을 의미한다. 이를 활용해 출력값의 시간에 따른 변화를 계산해 고장에 이르기까지의 시간 예측까지 가능할 것으로 예상된다.
기존 오토 인코더를 사용한 고장 진단은 일시적인 충격으로 인한 노이즈를 정상으로 진단하기 어렵고, 고장의 정도를 파악하기 어려운 점이 존재했다. 그러나
이동평균필터를 적용해 노이즈를 제거하여 분류 성능을 향상시켰다. 또한, 고장의 정도를 파악하기 어려운 점을 복수의 임계값을 설정하는 것으로 해결하는
방법이 제안되었다. 복수의 임계값을 설정하고 모델의 신뢰성을 높이기 위해 정상과 심한 고장 상태 데이터를 믹스업 시켜 중간 상태 데이터를 보간했다.
현재 연구 단계에서는 복수의 임계값에 의해 정상을 초기 고장 상태로 오진하는 경우가 간헐적으로 발생된다. 이는 $\lambda$값을 0에서 1사이로
두었기 때문에 발생되는 문제이다. 위 문제는 MSE 변화량에 따라 전동기의 이상 추이를 분석하는 방법으로 해결 가능할 것이며 추후 연구될 예정이다.