riss에 진동 진단 검색한 결과
진동데이터 기반 발전시스템 고장진단기술(2022)
신재생에너지는 생산에 투입되는 연료비용은 없지만 초기 설치비용이 상당하고 장기간 운영되어야 하기때문에 전력생산비용 절감을 위해서는 유지보수 비용의 절감이 중요하다.
하지만 발전기의 베어링 등 회전기기에서 수집된 데이터는 인공지능 모델 학습을 위한 고장 데이터를 포함한 다량의 데이터를 확보하기에 어려움이 있으며, 수집된 데이터의 라벨링 또한 현실적으로 어려움이 있다.
딥러닝의 다양한 방법론 중 상당수는 다량의 정상과 고장 데이터가 적절한 비중으로 확보되어야 하지만, 실제 고장데이터를 확보하기 어려운 발전기의 특성상 GAN을 적용하였다.
본 논문에서는 소음/진동 데이터를 스펙트로그램으로 변환하고 잘 알려진 비지도학습 기법인 GAN을 통해 분석하였다
진동신호를 스펙트로그램으로 변환하면 시간에 따른 주파수, 크기의 변화를 한눈에 파악할 수 있다
기계장비 진동 데이터를 이용한 딥러닝 기반의 고장 분류 모델(2022년 4월)
본 연구에서 사용하는 데이터셋은 대전광역시 도시철도공사의 역사에 설치된 기계설비의 진동/전류 센서로부터 실시간으로 수집된 데이터[1]이며, 2.2kW의 진동 센서의 정상 데이터와 베어링 불량 데이터를 사용하였다.
기계설비 데이터는 시계열 데이터의 형태로 구성되어있는데, 시계열 데이터란 일정 시간동안 수집된 하나로 이어지고 순차적인 데이터셋의 집합이다. 이러한 시계열 데이터의 특징과 데이터의 시간 흐름에 따른 변화를 인공지능에 적용한 분류 방법에 대한 연구가 많이 진행되고 있다.
일반적으로 진동은 3가지 척도 즉, 변위, 속도, 가속도로 나타낼 수 있으며 이것은 진동을 수치상으로 표시할 수 있는 기본 물리량이 될 수 있다. 가속도 센 서는 대상체의 동적 가속도를 전압으로 측정하여 측정된 전압은 데이터 취득 모듈(Data acquisition module)을 통해 센서의 민감도(sensitivity) 값에 상응하는 가속도 값으로 변환되어 저장된다. 진동을 표현하는 3가지 기본적인 양은 주파수(frequency), 진폭(amplitude), 위상(phase)이다. 주파수는 단위 시간당 반복되는 운동의 사이클 수 또는 현상의 수를 의미하며, 대부분 여러 주파수가 포함된 복잡한 형태의 진동이 발생하고, 조화 운동이 아닌 비조화 운동이지만 파형이 주기적이며 조화성분(harmonics)을 가진 주기 운동으로 나타나 게 된다.
진동 데이터는 기계 시설물을 동작시키는 모터가 동작할 때 고유의 진동을 발생시키는데, 모터 외부에 진동 센서를 부착하여 일정 시간 단위로 모터의 떨림 정도를 Y-Data(Acceleration)에 저장한다.
x축은 각각 시간과 frquency
y축은 각각 전류와 |X(f)|
정상데이터와 고장데이터는 각각 0과 1로 라벨링 과정을 거쳐 데이터셋을 구성했다. 또한, 시계열 분류를 위한 딥러닝 모델의 과대적합 방지를 위해 데이터셋은 학습용 데이터 (Train Data) 70%, 테스트 데이터(Test data) 20%, 검증 데이터(Validation data) 10%로 구성 하여 실험을 진행했다.
LSTM[10] 알고리즘은 RNN(Recurrent Neural Network)[11]의 특별한 한 종류로서 RNN의 출력으로부터 먼 위치에 있는 정보를 기억할 수 없는 단점을 보완해 장/단기 기억을 할 수 있게 설계된 신경망의 구조를 의미한다.
GRU[13\2]는 LSTM의 장기 의존성 문제에 대한 해결방안을 유지하고 은닉 상태를 갱신하는 계산을 줄여 성능은 LSTM과 유사하지만 LSTM 구 조의 복잡함을 단순화한 모델이다.
FCN[2]은 방대한 계산량과 구조적인 특징(feature)을 뽑기 위한 세그멘테이션(Segmentation) 모델이 다. 배치 정규화 레이어(batch normalization layer) 와 ReLU 활성화 레이어를 이은 컨볼루션 레이어로 구성되어 있으며 스트라이딩(striding)이 없는 3개의 1D-커널을 통해 실행된다.
본 논문에서는 기계설비 진동에 대한 시계열 데이터에 대해 다양한 모델을 비교하며 어떤 모델기반이 학습이 잘되고, 성능이 좋은지에 대해 비교 실험을 진행하였다. 학습을 위해서 에폭(epochs)은 50, 배치 사이즈(batch size)는 (64, 128)에서 진행하였고, 측정 항목(metrics)은 정확도(accuracy), 정밀도(precision), 재현도(recall), F1-Score를 사용하였다.
실험을 통해 CNN 기반 모델의 성능이 우수한 것을 알 수 있다.
풍력발전기 진동 데이터를 활용한 딥러닝 기반 고장진단기법 연구
전체적인 네트워크 구조는 Weight/Bias/Relu를 하나의 레이어로 구성하여 5층의 레이어로 네트워크를 설계하였고 최종적으로 Softmax를 이용하여 최종 확률을 계산하도록 제작하였다. 최초 입력은 레이블링 된 진동 데이터를 사용하였고, 그 입력값이 네트워크 구조를 따라서 차례대로 다음 레이어로 전달된다. 각 레이어에서는 반복적인 학습 과정을 거쳐서 각 레이어에서의 Weight, Bias 값들이 결정되고 그 데이터는 저장해 두었다가 새로운 데이터가 입력되었을 때 그 확률값을 최종 Softmax 레이어에서 계산하여 최종 분류 결과를 확인하도록 하였다.
최적화는 Adam 알고리즘을 활용하여 Cost 함수값을 최소화 하도록 하였다. 그림 8과 같이 반복 횟수가 약 1,000번까지 진행된 경우 Cost 함수값이 줄어들어 0에 근접하였다. 학습에 사용한 전체 데이터셋은 9,800개이며 이 중 1,000개의 데이터를 확인용 데이터셋으로 사용하였다. 알고리즘의 유효성을 검증하기 위하여 학습용 데이터셋 및 확인용 데이터셋의 비율은 일반적으로 많이 사용하는 8:2의 비율로 선정하였으며 정확도는 99.6%를 나타내었다.
한국기계연구원에서 획득한 베어링 고장 재현 시험의 진동데이터를 사용
20,516개의 데이터 파일
초기 GAN 모델 교육 데이터로 500개의 정상데이터를 사용
자동차 파워트레인의 소음/진동 데이터를 활용한 AI 기반 진단기술 개발(2022)
현재까지 대부분의 경우, 전통적인 신호처리를 통해 소음과 진동 데이터가 가지고 있는 특징을 추출해 진단을 위한 인덱스(index)를 개발한다. 하지만, 적절한 신호처리 방법과 진단 인덱스를 찾아내는 것은 쉽지 않고 오랜 시간이 소요된다. 다행히 최근에 데이터를 분석하고 판단하는데 인공지능의 활용도가 높아짐에 따라 이와 관련한 연구가 많이 진행되고 있다(1~5). 이 논문은 자동차 파워트레인에서 측정한 소음과 진동 데이터를 활용한 인공지능 기반 진단기술 개발 내용이다. 개발 목적은 품질 비용 절감과 서비스의 업무 효율을 향상하기 위함이다. 두 번째 사례는 엔진 진동 데이터를 활용하여 엔진에서 비정상 인젝터가 장착된 실린더(cylinder)를 찾아내는 기술이다. 여기에 사용된 딥러닝은 RNN, DNN이다.
상대적으로 부족한 데이터에 의해 발생할 수 있는 overfitting을 방지하기 위하여 oversampling, weighted random sampler 기법들을 이용하여 데이터 불균형을 해소하였다.
그리고 특징을 추출하기 위해 1개의 데이터마다 일정한 시간 단위로 여러 개의 세그먼트(segment)로 나누고, 1개의 세그먼트는 9개의 프레임(frame)으로 분할했다. 각 프레임에 FFT(fast Fourier transform) 처리를 하였다. 이때 신호의 불연속으로 인한 왜곡을 최소화하기 위해 hamming window를 적용하였다. FFT 처리 후 생성된 주파수 별 크기에 Log-mel filter bank를 적용하여 저주파 대역부터 고주파 대역까지의 특징을 고려하였다.
학습에 사용되는 데이터들은 정속 주행 및 가속 주행의 다양한 조건에서 측정되었다. 따라서 진단모델은 Fig. 5에 표시된 RNN의 GRU(gated recurrent unit) 구조를 기본으로 하였다. 시계열 데이터의 현재 정보가 이전 정보와 밀접한 연관성이 있는 경우 RNN이 좋은 성능을 발휘하기 때문에 이 연구에 사용한 비정형적인 소음 데이터에 적용하는 것이 효과적이라고 판단했다.
DNN의 활성화 함수(activation function)는 비선형 함수인 ReLU(rectified linear unit)를 사용하였고, 오버피팅 방지를 위해 은 드롭아웃(dropout) 기법을 적용하였다(9). 드롭아웃은 학습 때 은닉층(hidden layer)의 노드(node)를 무작위로 골라 삭제하면서 학습하는 방법이다. DNN의 결과는 이상소음 분류 유형으로 설정한 원-핫 벡터(one-hot vector)로 출력되며, 소프트맥스(softmax)에 의해 확률값으로 변환되어 인공지능에 알려준 목표값과 비교하여 에러(error)가 얼마인지 계산한다. 이때 사용된 손실함수(loss function)는 식(3)과 같이 표현되는 크로스 엔트로피(cross entropy)이다.
신경망 학습의 목적은 손실함수의 값을 가능한 낮추는 모델 파라미터의 값을 찾는 것이다. 이를 위해, 학습 옵티마이저(optimizer)는 adam (adaptive moment estimation)을 사용하였다.
진동데이터 활용 진단기술
Fig. 13과 같은 진동 특성에 대한 신호 분석을 통해 Fig. 12에 표시된 헤드 Cyl5 위치에 Z방향 단축 가속도계 1개를 부착하면 가장 좋은 결과를 얻을 수 있다는 것을 확인했다. 학습용 진동 데이터는 Table 2과 같은 조합으로 시험을 진행하여 11 360개를 수집하였다.
또한, 서비스 장비의 한계로 인해 적용되는 진단모델의 사이즈를 최소화할 필요가 있어 주파수 분석 방법보다는 RMS(root mean square), variance, max, peak to peak, kurtosis의 시간 분석 방법을 활용하였다. RMS의 경우 진동의 평균 세기이고 peak to peak는 진폭의 최대값으로 순간적으로 변화하는 신호의 특징을 잘 나타낸다. Kurtosis는 데이터의 분포가 정규분포보다 얼마나 뾰족하거나 완만한지의 정도를 나타내는 척도이다.
클래스 간 특징벡터의 분포가 비교적 뚜렷하게 나타났기 때문에, convolution 등 추가적인 비선형적 특징 추출 요소들을 사용하기 보다는 Fig. 16과 같이 DNN 구조를 기본으로 진단모델을 구성하였다. 3개의 은닉층, 각 은닉층의 노드는 512개 및 은닉층의 활성화 함수로 ReLU를 사용하였다. 출력층의 활성화 함수로는 시그모이드(sigmoid)를 사용하고, 판단 기준값(threshold)을 설정하여 최종 출력을 결정하였다. 진단모델 학습 시에 활성화 함수의 출력인 활성화 값이 균일하게 분포되도록 배치 정규화(batch normalization)를 신경망에 삽입하였다. 추가적으로, 오버피팅을 억제하기 위하여 드롭아웃을 사용하였으며, 손실함수로 크로스 엔트로피, 학습 옵티마이저는 adam을 사용하였다.
'복수전공(소프트웨어공학) > AI 및 졸업논문' 카테고리의 다른 글
루닛 (0) | 2022.12.12 |
---|---|
(클러스터링) 베어링 고장 진단 방법 (0) | 2022.11.11 |
진동 데이터의 시간영역 특징 추출에 기반한 고장 분류 모델 (0) | 2022.09.30 |
CNN이란? (유튜브) (0) | 2022.07.31 |
라즈베리파이 실습 1일차 (0) | 2022.07.30 |