최동진
(Dong-Jin Choi)
1
한지훈
(Ji-Hoon Han)
1
홍선기
(Sun-Ki Hong)
2†iD
-
(Dept. of Information Control Engineering, Hoseo University, Korea)
-
(Dept. of Digital Control Engineering, Hoseo University, Korea)
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
IoT, Deep Learning, Self-Complement, Real-time, Diagnosis
1. 서론
전동기는 대부분 산업에서 필요한 필수적인 장치이다. 전동기가 기계적인 결함으로 정지하거나 파손된다면 큰 손실로 이어질 수 있다. 이러한 이유로 전동기
고장 및 진단에 관한 많은 연구가 이루어져 왔다[1]. [1][1]의 경우 유성기어박스의 기계적인 결함을 진동 센서를 이용하여 FFT한 데이터를 기반으로 선기어, 링기어, 피니언기어의 고유진동수를 분석 계산하여 고장
진단을 위한 진동 신호 모델을 만들었다. 기존의 전동기의 기계적인 결함을 진단하는 전형적 방법으로는 소음과 진동을 이용하였다. 기존의 고장진단은 [1][1]과 같이 고장 알고리즘을 만들어서 사용하거나 직접진단을 하였다. 이러한 방법은 숙련된 전문가와 많은 시간과 비용을 요구하였고, 대안으로 딥 러닝을
이용하여 전동기의 고장을 진단하는 방법이 제안되었고[2-4], [2][2]의 경우 2개의 은닉층을 가지는 딥 러닝 모델을 제안하고 구성하여서 마찬가지로 진동 데이터를 FFT하여 입력 데이터로 사용하였다. [3][3]은 역전파를 기본으로 한 신경망을 이용하고 CNN을 구현하여서 고장 진단에 적용하였다. convolutional discriminative feature
learning (CDFL)을 제안하여서 이전의 CNN모델을 개선하였다. [2∼3][2-3]은 데이터 수집, 학습, 검증을 진행한 다음 평가하는 일방적인 방법을 사용하였다. 이러한 실험은 알고리즘을 검증하고 결과를 확인하는 것은 문제가 없다.
그러나 진동 데이터는 전동기의 설치 방법, 위치, 종류 각각의 상황마다 다양한 데이터를 출력한다. 이러한 신호 중 일시적으로 입력되는 신호는 고장이라고
판단하여도 일시적인 판단을 하지만 주기적인 신호는 시스템을 망가트릴 수 있다. 대부분의 연구는 통제된 환경에서 만들어진 데이터를 이용하여 알고리즘을
검증한다. 그러나 통제된 환경에서 만들어진 모델은 다양한 환경에서 만들어진 전동기 데이터를 검증할 수 없다. 그 때문에 적용된 현장에서의 데이터를
다시 취득하여서 학습, 검증을 거쳐야 한다. 이 과정에서 시스템이 일시적으로 동작을 하지 않는 구간이 발생한다. 이러한 방법은 실시간으로 데이터를
검증하는 시스템에서 적합하지 않다. 본 논문에서는 시스템을 학습, 검증을 나누고 서버를 사용하여서 데이터를 실시간으로 수집하면서 수집된 데이터를 이용하여
학습하는 방법을 제안한다. 이러한 방법은 현장에서의 데이터의 변화가 실시간으로 학습에 반영될 수 있는 방법이기 때문에 주기적인 외란이 입력되었을 때
외란 신호가 포함된 데이터를 학습 데이터로 사용하여 따로 필터를 사용하지 않고 검증할 수 있다.
또한 기존에 연구되었던 시스템에 비해서 쉽게 현장에서의 데이터를 알고리즘에 반영할 수 있으며 주기적인 외란 데이터에 대해서 기존의 시스템보다 강인하다.
마지막으로 이러한 시스템은 기존의 사용하던 시스템과 비교하여서 제안된 시스템의 신뢰도와 시스템이 정확하게 동작하는지 각 시스템에 조건을 주어 실험한
다음, 결과를 비교하여 논문에서 제안된 시스템의 타당성을 확인한다.
2. 본론
2.1 기존 시스템의 문제점
최근 들어 전동기 고장 진단에 딥 러닝을 적용하는 연구들이 많이 진행되어 왔다. 그러나 이전의 연구들은 고장 진단에 딥 러닝을 적용하기 위한 알고리즘에
관한 연구가 많았다. [1~3][1-3]의 연구들은 실험실 환경에서 알고리즘의 성능을 평가하기 위한 실험만이 진행되었기 때문에 위 연구들에서 개발된 알고리즘은 실제 시스템에 적용하기 어렵다.
하나의 시스템만을 이용하여 일방적으로 진행되는 시스템은 실제 환경에서 발생하는 다양한 변수에 관해서 대응하기가 쉽지 않다. 기존의 시스템을 적용하기위해서는
먼저 전문가가 현장에 방문하여서 고장 진단을 진행할 전동기의 현재 상태를 분석한다. 분석이 끝나면 고장진단을 진행할 전동기의 데이터를 수집한다. 데이터는
이전의 설명과 같이 주로 진동과 소음 데이터이다. 현장에서 충분한 데이터의 수집이 종료되면 수집된 데이터를 이용하여 새로운 모델을 제작한다. 마지막으로
모델을 검증하고 시스템에 적용한다. 시스템을 적용하는데 위와 같은 과정이 필요한 이유는 고장진단에서 사용하는 데이터인 진동이나 소음에 데이터 특성
때문이다[4]. 진동과 소음은 외부의 환경에 의해서 쉽게 변경될 수 있는 특징이 있다. 때문에 같은 모터의 데이터라고 하더라도 설치하는 방법, 위치, 주변의 환경에
의해서 다른 데이터가 출력된다. 이러한 데이터를 기존의 만들어진 모델에 입력할 경우 원하지 않는 결과를 출력하기 때문에 현장에서 데이터를 측정하고
측정한 데이터를 기반으로 새로운 모델을 만들어야 한다. 그림. 1은 주변 환경에 의해서 외란이 첨가된 데이터가 입력되었을 때 데이터의 변화를 보여준다. 표 1은 기존에 만들었던 모델로 검증을 하였을 때의 정확도이다. 표 1을 확인하면 외란이 입력된 데이터를 검증한 결과에서 정확도가 상당히 감소한 것을 확인할 수 있다.
그림. 1. 기존 데이터와 외란이 입력된 데이터 비교
Fig. 1. Compare Existing data with Disturbed data
표 1. 기존의 데이터와 외란이 입력된 데이터 정확도 비교
Table 1. Comparison of existing data and disturbed data accuracy
|
정확도 (%)
|
정상 데이터
|
96.0024
|
외란이 입력된 데이터
|
74.2763
|
딥 러닝에서 데이터의 축적은 매우 중요한데 다양한 환경의 다양한 데이터가 충분히 모이지 않으면 원하는 결과가 출력되지 않는다. 때문에 매우 오랜 시간을
데이터의 축적하여 사용하게 된다. 그러나 이러한 데이터의 측정은 매우 반복적이고 단순한 과정이며 다른 모터, 다른 환경에서 다시 적용하기 위해서는
데이터 수집 과정을 반복해야 한다.
2.2 제안된 시스템
기존의 시스템은 그림. 2(a)에서 확인할 수 있듯이 한번 만들고 결과를 확인하면 다시 모델을 만들기 위해서는 시스템을 다시 시작해야 한다. 이러한 과정은 데이터를 다시 계측해야
하는 문제점이 있다. 데이터를 수집할 때 학습을 위한 데이터와 검증을 위한 데이터로 나누어서 데이터를 수집한다. 그러나 이러한 연구는 대부분 한정된
환경에서 수집된 데이터를 이용해서 모델을 만들기 때문에 현장에 적용할 때 발생하는 여러 가지 상황에 대비할 수 없으며 이러한 시스템을 적용하기 위해서는
여러 번의 반복 과정이 필요하다. 그러나 연구에서 제안한 시스템인 그림. 2(b)는 데이터 계측에서 데이터를 나누어서 학습, 검증하는 과정은 같지만, 검증 과정에서 사용하였던 데이터를 다시 학습에 사용함으로 모델을 개선하는 방법을
사용한다. 이러한 시스템의 장점은 기존의 모델이 한정된 환경에서 만들어진 모델이라 하더라도 검증 데이터를 다시 가져와서 학습으로 사용하기 때문에 다양한
현장에 적용할 때 따로 시스템을 다시 구동할 필요 없이 모델이 개선되는 것이다.
그림. 2. 간소화된 시스템 다이어그램
Fig. 2. Simplified System Diagram
2.2.1 시스템 구성
본 연구에서는 기존의 반복적인 데이터 축적 과정을 생략하고 더 효율적으로 시스템을 통제하기 위한 방법을 제안한다. 본 논문에서 제안하는 모터의 고장진단은
진동 데이터를 이용한다. 이때 사용되는 진동 데이터는 NI PXI를 사용하여 계측된다. 계측에 사용되는 프로그램은 LABVIEW이며 최종적으로 전동기의
진동 신호를 FFT 한 데이터를 얻는다. 측정된 데이터는 .lvm 형식의 파일로 저장된다. 저장된 데이터는 검증 과정을 거쳐 서버로 전송된다. 서버는
전송된 데이터를 관리, 저장한다. 학습 시스템에서는 축적된 데이터를 이용하여 기존의 학습 모델을 개선한다. 개선된 학습 모델 또한 서버에 저장된다.
검증 시스템은 검증을 진행하기 전에 모델의 버전을 확인하여 최신화된 모델을 이용하여 검증을 진행한다. 본 논문에서 제안하는 시스템의 전체 구성은 그림. 3와 같다[4].
그림. 3. 시스템 전체 구성도
Fig. 3. System-wide Configuration Diagram
우선 PXI로 수집된 데이터를 검증시스템을 통하여 검증한다. 여기서 말하는 검증 시스템이란 제작되어있는 전동기 고장 진단 딥 러닝 알고리즘을 말한다.
검증 알고리즘을 통하여 검증된 데이터와 결과는 서버로 전송된다. 위의 과정은 데이터 계측 시간인 1초 이내로 실행된다. 서버에서는 검증 시스템에서
전송된 데이터를 저장하고 데이터가 충분히 수집되면 서버에 저장된 데이터를 이용해 학습을 진행하여 개선된 모델을 만든다. 개선된 모델은 서버에서 관리,
저장된다. 다음과 같은 구성은 학습에 사용되는 데이터의 수집이 단순해지고 기존보다 더 방대한 양의 데이터를 쉽게 수집할 수 있다는 장점이 있다.
2.2.2 학습 알고리즘과 구성
본 논문에서 사용된 딥 러닝 알고리즘은 컨벌루션 신경망(Convolutional Neural Network, CNN)구조의 딥 러닝 학습 알고리즘이다.
입력되는 FFT 데이터를 하나의 2차원 이미지 데이터로 생각하여서 사용한다[5]. 본 논문에서 사용되는 FFT된 진동 데이터는 CNN에 주로 사용되는 이미지 데이터에 비해서 매우 단순한 데이터이기 때문에 단순한 CNN 구조로도
데이터를 분류할 수 있다. CNN은 식 (1)과 같은 합성곱 연산으로 이루어진다[6-8].
그림. 4은 논문에서 사용되는 CNN 구성도 이다. 본 논문에서 입력되는 데이터는 매우 간단한 데이터로 하나의 컨볼루션 레이어를 가지고 있다. 논문에서 사용되는
기존의 시스템은 그림. 4번의 모델을 적용하여 그림. 2(a)의 방법에 따라서 시스템을 구성하였다.
그림. 4. 사용된 CNN 구조
Fig. 4. Used CNN Structure
또 논문에서 제안된 시스템은 역시 그림. 4번의 모델을 사용하여 그림. 2(b), 그림. 3에서 제안한 대로 시스템을 구성하였다. 본 논문에서 사용하는 서버는 FTP(File Transfer Protocol)을 이용한 서버이다. FTP 방식의
데이터 전송은 파일 형태의 데이터 전송에서 높은 성능을 보여 준다. FTP서버 구성은 윈도우(Window)환경에서 FileZilla을 이용하여 구성하였다.
또는 TCP/IP를 바로 사용하여 데이터의 이동도 가능하다. 이의 경우 따로 작업을 해주어야 수월한 데이터 작업이 가능하다. 장점은 FTP의 방식보다
간단하게 구성할 수 있고 상황에 맞추어서 사용 가능하다는 장점이 있지만 따로 작업을 해주어야 한다는 단점이 있다. 이러한 서버 시스템의 선택은 사용자의
필요에 의해서 변경될 수 있다. 서버를 구성하여 사용하는 것은 추후 저장된 데이터를 따로 이용할 수 있다는 장점이 있다[9,10].
2.2.3 데이터 처리와 검증, 학습 시스템
딥 러닝을 이용한 고장진단을 할 때 입력되는 데이터는 매우 중요하다. 그림. 5 데이터의 경우 (a), (c)는 같은 주파수의 정상과 고장 데이터이다. 각각의 데이터는 같은 주파수의 데이터이지만 박스로 표시된 부분이 확연하게
자이가 발생한다. (b), (d) 데이터도 같은 주파수의 데이터이지만 표시된 부분의 데이터가 다른 것을 확인할 수 있다. (a), (b) 데이터는
다른 주파수의 같은 상태의 데이터이다. 두 데이터는 따로 표시할 필요 없이 확연한 차이를 보인다. 이처럼 같은 주파수라 하더라도 정상, 고장의 차이에
의해서 데이터가 달라지고 상태가 같다 하더라도 주파수가 다르다면 데이터는 차이가 난다. 본 논문에서는 FFT 된 데이터를 사용하였다.
그림. 5. 정상과 고장신호 FFT 데이터
Fig. 5. Normal and Fault Signal FFT data
그림. 6은 원 신호 데이터와 FFT 된 신호를 비교한 것이다. FFT 데이터가 아닌 원 신호 데이터를 이용하여 학습은 가능하다. 그러나 표 2를 확인해보면 원 신호를 이용한 학습 시간과 정확도를 FFT 데이터를 이용한 학습 시간과 정확도를 비교하면 차이가 나는 것을 확인할 수 있다. 이러한
이유로 인해서 원 신호 데이터보다 FFT 신호를 본 논문의 데이터로 사용하였다.
그림. 6. 원 신호 데이터와 FFT데이터
Fig. 6. Original signal data and FFT data
표 2. 원 신호 데이터와 FFT 데이터 비교
Table 2. Comparison of original signal and FFT data
|
총 학습 시간 (ms)
|
정확도 (%)
|
원 신호 데이터
|
483.6
|
95.25
|
FFT 데이터
|
54.6
|
99.50
|
고장 진단에서 측정된 데이터가 시스템에 적합한 경우는 드물다. 센서의 모델 혹은 전동기 구동 환경에 따라 데이터는 달라진다. 때문에 데이터를 처리하는
과정이 필요하다. 이러한 데이터 처리는 검증과 학습에 모두 필요하다. 본 논문에서 검증 시스템의 경우 그림. 7의 새 입력 데이터의 경우 여러 데이터가 .lvm 파일형식으로 한번에 입력된다. 이 데이터 파일에서 필요한 진동 데이터(x축 데이터)를 분류하고 필요한
주파수 대역인 0~200Hz만 가져온 뒤 CNN의 입력 데이터로 사용한다. 이런 과정이 그림. 7의 검증 시스템에서 데이터 프로세싱 과정이다. 검증 시스템은 입력 데이터가 갱신되었을 때 동작한다. 동작 중에 새로운 가중치가 있다면 서버에서 새로운
가중치를 갱신한 다음 검증을 진행한다. 입력데이터로 검증과정을 마치면 결과를 출력하고 검증에 사용하였던 데이터를 이진 데이터로 만들어 저장한다. 동시에
서버에 전송하고 다음 측정이 끝날 때까지 대기한다.
그림. 7. 개선된 시스템 블록 다이어그램
Fig. 7. Improved System-wide Block Diagram
학습 시스템에서의 데이터 처리는 일단 입력된 데이터를 병합하는 과정이 필요하다. 논문에서 제안된 시스템은 정지된 상태에서 동작하는 시스템이 아닌 실시간으로
데이터를 수집한다. 때문에 입력된 데이터는 분산되어 저장된다. 이중 학습에 사용가능한(데이터가 서버에 전송도중 파손되거나 손상되지 않은)모든 데이터를
병합한다. 학습에서 선형적으로 입력된 데이터는 학습 결과가 특정 클래스들로 편향되는 현상이 발생한다. 이를 방지하기 위해서 데이터를 섞는 과정을 진행한다.
마지막으로 데이터를 학습 데이터와 검증 데이터로 나눈다. 데이터의 수와 관계없이 총데이터의 3/4는 학습데이터로 1/4는 검증 데이터로 나누어준다.
이미 데이터가 검증 과정에서 필요한 데이터가 선정되었기 때문에 실시간 데이터 병합 → 학습 가능한 데이터로 나누기 → 데이터 섞기 → 학습/ 검증
데이터 나누기 과정으로 완료된다. 이 과정이 그림. 7의 학습 시스템에서의 데이터 프로세싱 과정이다. 이 과정이 완료된 데이터 덩어리가 논문에서 말하는 데이터 셋이다. 이런 데이터 셋을 이용하여서 학습하고
정확도를 판단한다. 이러한 과정은 그림. 7 학습 시스템에서 경우 데이터가 충분히 모였다고 판단되거나 시간을 기준으로 사용하여 판단하여 실행한다. 이 과정은 사용자의 판단에 의해서 결정된다.
본 논문에서는 데이터의 량으로 조건을 설정하였다. 학습이 완료되면 가중치, 정확도, 데이터 셋를 출력하고 파일로 저장한다.
3. 실 험
3.1 실험 환경
모터의 기계적인 고장은 베어링, 기어, 과도한 부하, 노후화, 환경적인 원인에 의해서 일어난다. 본 논문에서 고장상태는 기어박스에서의 치의 고장을
고장 상황으로 하여 고장을 진단한다. 본 논문에서는 감속비가 1:10의 감속기어를 4극 유도전동기에 부착하여서 사용하였다. 사용된 기어박스와 기어의
고장상태가 그림. 8에서 확인할 수 있다[4]. G1의 36개의 치를 가지고 있는 기어의 한 개의 치가 파손된 상태를 고장상태로 선정하였다. 사용된 유도전동기는 ‘K9IP200FH’이고 이 전동기는
4극 220V, 200W의 사양을 가지고 있다. 데이터 측정을 위해서 단축 가속도 센서를 기어박스의 X축 우측에 부착하였다. 그림. 9는 논문에서 사용된 실험 환경을 보여준다[5].
그림. 8. 기어의 고장상태
Fig. 8. Gear failure status
그림. 9. 실험 환경 1. 데이터 수집 보드 2. 소음 계측 장비 3. 유도 전동기 4. 기어 박스 5. 진동센서 6. 인버터 7. 전압, 전류
계측 장비 8. 변압기 9. 사운드 믹서 10. 서버 고장진단 학습 11. 클라이언트, 고장진단
Fig. 9. Experimental setup 1. Data Acquisition Board 2. Noise Measurement Equipment
3. Induction Motor 4. Gearbox 5. Vibration Sensor 6. Inverter 7. Voltage and Current
Measurement Equipment 8. Transformer 9. Sound Mixer 10. Server, Fault diagnosis Learning
11. Client, Fault diagnosis
3.2 제안된 시스템의 신뢰도 평가 실험
기존의 연구된 방법은 많은 연구 결과가 있듯이 신뢰할 수 있는 정확도를 보여준다. 기본의 연구와의 비교를 위해서 다음과 같은 조건을 주어서 실험을
진행한다.
1. 두 시스템 같은 데이터를 사용한다.
2. 학습 데이터를 이용하여서 96% 정도의 정확도를 가지는 가중치를 만들어서 각각의 시스템에 적용한다.
3. 검증 데이터를 이용하여서 각각의 시스템에서 검증한다.
4. 두 시스템은 같은 그림. 4의 CNN모델을 사용하지만 다른 시스템으로 구성된 시스템이다. 기존시스템의 경우 그림. 2(a)로 개선된 시스템은 그림. 2(b)로 구성된다.
실험에 사용된 데이터는 표 3과 같다. 정상, 고장 데이터는 각각 16400개의 데이터를 사용하였고 총 32800개의 데이터를 사용하였다. 이중 학습데이터로 32800/4*3인
24600, 검증 데이터로 32800/4*1인 8200개를 사용하였다. 위와 같은 조건을 부여하는 이유는 입력되는 데이터에 의해서 정확도가 변화한다면
두 시스템을 정확하게 비교할 수 없다. 때문에 같은 조건에서 수집된 데이터를 이용한다. 정확도를 확인하여서 두 시스템의 출력이 근접한다면 제안된 연구
결과는 기존의 연구 결과를 충분히 보완할 수 있는 시스템이라는 것을 증명한다.
표 3. 3.2 실험에서 사용된 데이터
Table 3. Data used in experiment 3.2
데이터 종류
|
정상 데이터
|
고장 데이터
|
학습 데이터
|
검증 데이터
|
데이터 수(개)
|
16400
|
16400
|
24600
|
8200
|
3.1 실험의 결과인 표 4를 확인하면 기존의 시스템과 개선된 시스템 정확도의 거의 같은 결과를 출력하는 것을 확인할 수 있다. 그러나 개선된 시스템을 계속해서 실행하면 정확도가
흔들리거나 정확도가 99% 정도로 높아지는 현상이 발견되었다. 위와 같은 현상은 개선된 시스템에서 실시간으로 계측된 데이터를 통하여 학습이 진행되고
있는 것으로 해석할 수 있다. 위 실험은 이미 계측된 제한적인 데이터를 이용하여 시스템을 실행하는 과정에서 개선된 시스템은 데이터를 계속하여서 학습하였고
과정에서 오버 피팅의 문제가 발생한 것을 확인하였다. 때문에 논문에서 제안한 시스템은 기존의 시스템처럼 사용은 가능하지만, 정적인 상태이거나 제한적인
데이터의 상황에서 구동하는 경우 학습 과정에서 제한조건을 주는 추가적인 조치가 필요하다.
표 4. 시스템별 정확도
Table 4. Accuracy by System
시스템 종류
|
정확도 (%)
|
기존 시스템
|
96.64
|
개선된 시스템
|
96.80
|
3.3 제안된 시스템의 정상적인 구동을 확인하는 실험
본 논문에서 제안된 시스템의 정상적으로 동작하는 것을 확인하기 위한 실험이다. 3.1의 실험은 시스템의 신뢰도에 관한 실험이라면 3.2의 실험은 본
논문에서 제안한 대로 시스템이 동작하는지에 관한 실험이다. 본 논문에서 제안한 시스템이 정상 동작을 확인하기 위해서는 검증 시스템에서 서버로 데이터가
정상적으로 전송이 되는지, 서버에서는 정확한 데이터를 일정하게 저장하는지, 학습 시스템은 서버에 저장된 데이터를 바탕으로 학습을 진행하는지를 확인해야
한다. 위 같은 상황을 검증하기 위해서 다음과 같은 조건을 주어 실험을 한다.
1. 두 시스템 같은 데이터를 사용한다.
2. 표 3의 데이터를 이용하여 82.31%의 정확도를 가지는 초기 모델을 만든다.
3. 그림. 4의 CNN모델과 그림. 2(b)를 이용하여서 개선된 시스템을 구성한다.
4. 시스템을 동작하여 정확도의 추이를 확인한다.
5. 학습 조건은 전체 주파수 데이터를 수집할 수 있는 1800개의 데이터가 새로 수집되었을 경우로 한다.
6. 데이터 셋을 구성할 때 기존의 데이터에서 랜덤으로 1200개의 데이터를 같이 이용한다.
본 논문에서 초기 모델을 만드는 과정에서 표 3의 실험 3.2에서 사용하였던 데이터를 이용하였다. 또 새로 입력되는 데이터에 이전 데이터를 추가하여 데이터 셋을 구성한다. 그러한 이유는 입력된
데이터에서 이전의 값의 특징을 쉽게 잃지 않게 하기 위해서이다. 시스템이 동작할 때마다. 3000개의 데이터가 수집되고 이중 학습 3000/4*3=2250개,
검증 3000/4*1=750개의 데이터가 사용되었다. 제안된 시스템은 그림. 2를 보면 실시간을 데이터를 수집하여서 수집된 데이터를 기반으로 다시 학습하는 과정이 있다. 때문에 시스템이 동작함에 따라서 자동으로 데이터를 수집하고
수집된 데이터를 이용하여 학습하고 정확도를 보정해 나갈 것이다. 실험 조건 5와 같은 조건을 주는 이유는 본 논문에서 사용하는 전동기는 시간에 따라서
구동 주파수를 변경한다. 따라서 전체 상태의 데이터를 고려한 학습을 진행하기 위해서는 전체 주파수가 계측되는 1800개의 데이터가 계측될 때 학습을
진행한다. 이 과정에서 파악할 수 있는 것은 정확도가 개선된다면 정확한 데이터가 서버로 전송되어 학습 데이터로 사용된다는 것을 확인할 수 있고, 개선된
가중치가 서버에 저장되어 검증시스템에 적용되는 것을 확인할 수 있다. 3.1 실험의 결과인 그림. 10을 확인하면 처음 82.31%의 정확도를 가지던 시스템이 동작함에 따라서 정확도가 개선되는 것을 확인할 수 있다.
그림. 10. 실험 3.3 시스템의 동작에 따른 정확도
Fig. 10. Experiment 3.3 Accuracy according to system operation
3.4 제안된 시스템의 외란에 관한 실험
딥 러닝을 이용하는 고장 진단에서 어려운 요인 중 하나는 학습할 데이터를 수집하는 작업이다. 전동기의 경우 많은 산업에서 사용하는 만큼 다양한 환경에
노출되어 있을 것이고 사용하는 데이터인 진동이라는 특성상 외부 환경에 의해서 다양한 외란이 정기적으로 혹은 간헐적으로 입력될 것이기 때문이다. 여기서
문제는 정기적으로 입력되는 외란이다. 정기적으로 외란이 입력될 경우 검증 시스템은 이를 고장으로 인식하고 틀린 결과를 산출한다. 가장 좋은 방법은
이러한 데이터를 한 번에 수집하여서 학습 데이터로 사용하는 것이지만 현실적으로 불가능하다. 때문에 이러한 외란을 제거하는 데이터 선 처리 알고리즘을
추가하는 식으로 대처하기도 한다. 그러나 본 논문에서 제안한 시스템은 외란에 대해서도 더 유연하게 대처할 수 있다. 이를 알기 위해서는 사용된 알고리즘과
학습 시스템의 동작 구성을 동시에 살펴보아야 한다.
그림. 11를 보면 처음 학습 시스템이 서버에서 최신 데이터를 요청한다. 최신 데이터를 입력받은 학습 시스템은 데이터 프로세싱 과정을 통해 조건에 부합하는 데이터
세트를 만들어 학습에 입력 전체 데이터로 넣어준다. 학습 알고리즘은 전체 데이터를 배치 사이즈만큼 나누어서 설정된 에폭까지 학습을 진행하고 완성된
모델을 출력한다. 여기서 학습은 완료된다. 그러나 학습 시스템은 한번 학습된 모델을 저장하고 다시 학습 시간 동안 모인 최신 데이터를 학습 알고리즘의
입력 데이터로 다시 넣어준다. 이러한 과정 때문에 학습 모델은 계속 최신 데이터를 고려한 학습 모델을 만들 수 있으며 이전 모델에 학습을 더 진행하기
때문에 이전 모델의 특징이 없어지지 않고 만약을 위해서 학습과정의 전체 데이터를 이전의 데이터도 같이 넣어주기 때문에 이전 모델의 특징은 잃어버리지
않고 새로운 모델이 만들어진다. 이러한 전체 시스템의 동작 특성 때문에 정기적으로 입력되는 외란이 포함된 데이터를 같이 학습하여서 모델을 구성할 수
있다.
그림. 11. 학습 알고리즘을 고려한 시스템 동작과정
Fig. 11. System operation process considering learning algorithm
본 실험에서 지속적인 기계적인 외란에 의한 정확도 변화 실험을 위해서 그림. 12와 같은 실험환경을 추가하였다. 보통의 산업 현장이라면 전동기를 두 개 이상 구동하는 경우도 잇을 것이다. 그때 전동기 간의 사이가 적다면 다른 전동기에
의해서 만들어지는 진동이 고장진단을 하고 있는 전동기의 진동 센서에 영향이 있을 것이다. 그러한 환경을 위해서 그림. 12에서 2번의 외란 발생 전동기 1을 구동하여 외란을 발생 시키고 데이터를 수집하였다. 또 전동기가 설치되는 환경에 따라서 지속적인 기계적 외란이 여러
이유에 의해서 같이 수집될 수 있다. 이러한 환경을 위해서 그림. 12에서 3번의 외란 발생 전동기 2를 모터 고정대에 부착하여 데이터를 수집하였다. 그림. 5의 데이터는 그림. 12에서 3번의 환경에서 만들어진 데이터이다.
그림. 12. 실험 3.4에 추가된 실험 환경 1. 고장 진단 전동기 2. 외란 발생 전동기 1 3. 외란 발생 전동기 2
Fig. 12. The experimental environment added in experiment 3.4 1. Fault Diagnosis Motor
2. Disturbance generated motor 1 3. Disturbance generated motor 2
1. 표 3의 데이터를 이용하여 96%의 정확도를 가지는 초기 모델을 만든다.
2. 두 시스템은 같은 그림. 4의 CNN모델을 사용하지만 다른 시스템으로 구성된 시스템이다. 기존시스템의 경우 그림. 2(a)로 개선된 시스템은 그림. 2(b)로 구성된다.
3. 96%의 정확도를 가지는 초기 모델을 기존의 시스템과 제안된 시스템의 정확도를 파악한다.
4. 제안된 시스템에서의 학습은 5000개의 무작위 데이터로 학습을 한다.
5. 본 실험에서는 정확한 실험을 위해서 새로 입력되는 데이터를 표 5번의 데이터로 고정한다.
처음 초기 모델을 만들기 위한 데이터는 실험 3.2에서 사용된 데이터를 이용하여 96%정확도를 가지는 모델을 구성하였다. 데이터는 표 5와 같이 구성하였다. 그림. 13은 3.4의 실험 결과이다. 외란이 입력되기 전의 기존의 시스템과 제안된 시스템의 결과는 표 2에서 확인할 수 있다. 결과를 보면 기존의 시스템의 정확도는 75% 이하로 감소한 것을 확인할 수 있다. 반면 제안된 시스템에서도 초기에는 정확도가
감소하다가 증가하고 기존의 정확도인 96%까지 정확도를 회복하는 것을 확인할 수 있다. 본 실험에서 확인할 수 있듯이 제안된 시스템은 지속적인 기계적
외란이 추가된 데이터가 입력되어도 원하는 정확도로 회복한다. 단, 기계적인 외란이더라도 간헐적인 외란에 대하여는 취약할 수 있다.
표 5. 3.4 실험에서 사용된 데이터
Table 5. Data used in experiment 3.4
|
Standard*
|
Sunny Subjects
(N = 5)
|
Cloudy Subjects
(N = 5)
|
Subjects
|
Age
|
Twenty
|
26.0
±2.55
|
25.4
±3.05
|
25.56
±2.79
|
Height
|
175.8
±5.38
|
173.6
±2.30
|
173.6
±5.86
|
174.0
±4.24
|
Weight
|
75.6
±10.78
|
67.4
±5.55
|
69.2
±6.10
|
69.0
±5.43
|
BMI
|
18.5
~22.9
|
17.54
±2.42
|
20.04
±4.31
|
19.04
±3.66
|
Pulse
|
50
~100
|
68.0
±7.35
|
73.4
±8.32
|
69.67
±7.66
|
Blood
pressure
|
120/80
|
119.4
/75.0
(±7.23
/8.06)
|
126.2
/73.4
(±10.06
/7.67)
|
123
/74.22
(±9.53
/7.92)
|
그림. 13. 실험 3.4 시스템의 동작에 따른 정확도
Fig. 13. Experiment 3.4 Accuracy according to system operation
4. 결 론
본 논문에서는 딥 러닝 알고리즘을 적용한 전동기 고장 진단을 실제 시스템에 적용하기 위한 연구가 진행되었다. 기존에 사용하던 시스템은 현장에서 발생하는
여러 상황을 대처하지 못하기 때문에 상황이 바뀌면 시스템을 다시 설정해야 하는 문제가 있다. 이 문제를 해결하기 위해서 분리된 시스템을 운영하고 데이터를
실시간으로 전송한다. 학습 시스템에서는 전송된 데이터를 이용해서 새로운 학습 모델을 갱신하고 모델을 실시간으로 적용하여서 갱신한다. 또 기존의 시스템은
반복적이고 지속적인 외란이 입력되었을 경우 성능이 하락하는 것을 확인하였다. 제안된 시스템은 실시간 데이터를 기반으로 학습을 진행하기 때문에 정확도가
개선된다. 결과적으로 시스템은 제안된 방식으로 동작하는 것을 확인하였고 모든 외란에 대해서 대처할 수 있는 것은 아니지만 지속적이고 기계적인 외란에
대해서는 기존에 시스템보다 외란이 입력되더라고 높은 정확도를 유지하는 것을 확인하였다.
감사의 글
본 연구는 한국전력공사의 사외공모 기초연구(개별)에 의해 지원되었음 [과제번호 : R18XA06-23]
References
Z. Feng, M. J. Zuo, October. 2012, Vibration signal models for fault diagnosis of
planetary gearboxes, Journal of Sound and Vibration, Vol. 331, No. 22, pp. 4919-1939
Y. Lei, F. Jia, J. Lin, S. Xing, S. X. Ding, May 2016, An intelligent fault diagnosis
method using unsupervised feature learning towards mechanical big data, IEEE Trans.
Ind. Electron, Vol. 63, No. 5, pp. 3137-3147
W. Sun, R. Zhao, R. Yan, S. Shao, X. Chen, 2017, Convolutional Discriminative Feature
Learning for Induction Motor Fault Diagnosis, IEEE Trans. on Industrial Informatics,
Vol. 13, No. 3, pp. 1350-1359
Dong-Jin Choi, Ji-Hoon Han, Hyeong-Seob Kim, M. Choi, C. Kwon, Sun-Ki Hong, Oct. 2018,
Study on Motor Fault Diagnosis Considering Noise Disturbance Based on Machine Learning,
KIEE EMECS Falling Conference, pp. 29-30
Ji-Hoon Han, Dong-Jin Choi, Sun-Ki Hong, Mar. 2019, Study on Development of Deep Learning
Fault Diagnosis Algorithm Considering Induction Motor Speed and Load Condition, Trans.
on KIEE, Vol. 68, No. 3, pp. 1-7
Long Wen, Xinyu Li, Liang Gao, Yuyan Zhang, 2018, A New Convolutional Neural Network-Based
Data-Driven Fault Diagnosis Method, IEEE Transactions on Industrial Electronics, Vol.
65, No. 7, pp. 5990-5996
Karen Simonyan, Andrew Zisserman, 2015, 제목, Computer Vision and Pattern Recognition
A. Krizhevsky, I. Sutskever, G. Hinton, 2012, Imagenet classification with deep convolutional
neural networks, Advancesin neural information processing systems
D. J. Kim, July 2018, Implementation of Multi Channel Network Platform based Augmented
Reality Facial Emotion Sticker using Deep Learning, Journal of Digital Contents Society,
Vol. 19, No. 7, pp. 1349-1355
J. Gubbi, R. Buyya, S. Marusic, M. Palaniswami, Sep. 2013, Internet of Things (IoT):
A vision, architectural elements, and future directions, Future Gener. Comput. Syst.,
Vol. 29, No. 7, pp. 1645-1660
저자소개
2019년 호서대학교 디지털제어공학과 졸업
2019~현재 호서대학교 정보제어공학과 대학원 석사과정
관심분야는 전기기기 동적 해석, 빅 데이터, 딥 러닝, IoT.
2019년 호서대학교 디지털제어공학과 졸업
2019~현재 호서대학교 정보제어공학과 대학원 석사과정
관심분야는 전기기기 동적 해석, 서보기기 제어, 딥 러닝, IoT.
1987년 서울대학교 전기공학과 졸업
1989년 동 대학원 석사졸업
1993년 동 대학원 전기공학 박사
1993~1995 렉스산전㈜ 선임연구원
1995~현재 호서대학교 디지털제어공학과 교수
관심분야는 히스테리시스 해석, 전기기기 해석, 설계 및 고장진단, 서보기기 제어, 컨버터 및 인버터 설계, 딥러닝, IoT.