1. 서 론
최근 산업현장이 스마트 공정화되면서 빅데이터에 내재 된 정보를 추출하는 일련의 과정(수집, 전처리, 분석, 시각 화)을 지원하는 다양한 플랫폼 개발, 컴퓨팅 능력 향상 및 빅데이터 분석 언어 개발로 가능해진 머신러닝, 딥러닝 기 법 등이 다양한 목적으로 산업현장에도 적용되고 있다. 그 중 이진우 등[10]은 국내외 고장 진단 분야 연구 동향 분석 을 통하여 머신러닝을 활용한 고장 진단기법이 산업 전반 에 걸쳐 활용되고 있음을 보였다. 머신러닝 기법이 등장하 기 전에는 이상 시점 진단은 ARIMA 방법 중심으로 이루 어졌고 다변량 데이터 정도에서만 고장 시점진단이 가능하 였다[2, 8, 14].
머신러닝 고장 탐지방법은 고장상태에 대한 학습(train) 데이터 확보 여부에 따라 학습지도방법과 비학습지도방법 으로 나눌 수 있다. 전자는 이진형(정상, 이상) 목표변수와 예측변수의 확률모형을 추정하여 목표변수의 사후확률을 추정하는 방법으로 전통적인 통계분석 방법인 회귀분석, 판 별분석, 의사결정나무 등이 있고 머신러닝 방법으로는 주성 분(Principal Component Analysis) 이상탐지, SVM(Support Vector Machine)[1], 인공신경망[5], 그리고 이미지 분류[4] 등이 있다. 비지도학습방법은 데이터의 확률분포함수를 추 정하고 유사성 척도를 계산하여 개체를 군집화하거나 패턴 을 인지하는 기법으로 전통적 통계기법인 군집분석, 연관성 분석과 딥러닝 GAN(Generative Adversarial Network)[3] 등 이 있다.
본 연구의 실증분석 데이터는 발전소 발전기 부품으로 부터 초 단위로 수집되는 신호형태인 시계열 데이터이고 대용량 부품 신호 간 복잡한 상관관계로 인하여 학습 데 이터 없이는 이상 발생 시점탐지는 불가능하므로 지도학 습방법이 더 적절하다고 판단하여 지도학습방법만을 적 용하였다. 대부분의 머신러닝 이상탐지 기법은 개체 이상 판별에 관한 것으로 시계열 데이터에서 이상 시점을 탐지 하려면 시간을 맥락적(contextural) 속성으로 고려하여 시 간을 개체로 축소하여 접근하거나 자료를 구조화한 후 개 체 이상 탐지 머신러닝기법을 적용해야 한다. 이런 이유 로 이상탐지의 대표적인 머신러닝 방법인 SVM은 시계열 데이터의 이상 시점 진단기법으로는 적절하지 못하다.
본 연구에서는 발전기 이상 시점 진단을 위한 분석방법 으로 두 방법을 제안하고 실증분석 결과도 제시하였다. 첫 번째 방법은 시간을 개체단위로 변환하여 접근하는 방법으 로 시계열 데이터 행의 시간을 개체로 인식하여 주성분 이상탐지 기법을 적용하였다. 두 번째 방법은 자료 구조화 접근 방법으로 1분 단위 부품 신호 데이터의 상관계수행렬 을 이미지로 변환하여 CNN(Convolution Neural Network) 이미지 분류기법을 적용하는 방법을 제안하였다.
주성분 이상탐지 방법으로 이상 시점 진단은 가능하나 고장 발생에 유의한 영향을 미친 부품에 대한 탐색은 쉽 지 않다. 발전기 고장에 영향을 가장 많이 미치는 주요 부 품 신호를 탐색하기 분석방법으로 피처공학(Feature Engineering) 방법을 제안하고 탐색된 주요 변수만으로 주성 분 이상탐지 기법을 적용하였다.
실증분석에 사용된 데이터와 전처리 과정, 그리고 연구 방법론은 제 2장에 기술하였으며 제 3장에는 주성분 이상 탐지 적용 결과, LASSO 분석결과에 주성분 이상탐지 기 법을 적용한 이상 시점 탐지결과, 그리고 머신러닝 이미지 분류분석을 적용한 탐지결과를 제시하였다. 분석결과는 구글코렙 플랫폼에서 파이썬을 활용하여 얻었으며 제 4장 에서는 결론과 한계를 기술하였다.
2. 데이터 및 연구방법
2.1 데이터 설명 및 전처리
214개 부품들의 신호가 초 단위로 수집되는 발전소의 발전기가 콤바인 쿨링시스템 고장으로 인하여 한동안 멈 춘 시점 이전 20분, 이후 5분, 총 25분간 초 단위 데이터 를 이용하여 실증분석하였다. 목표변수는 고장 전 상태 는 정상, 고장 후 시점은 이상 상태인 이진형 열 변수 벡 터이고 고장 여부를 판단하는 예측변수 데이터는 전처리 를 통하여 정성적 신호와 결측치가 삭제된 초 단위 시각 이 행이고 정량적 측정치 수집이 가능한 199개 부품의 신호이다.
대용량 데이터는 열의 차원이 늘어남에 따라 차원의 저 주인 과적합 문제가 발생하고 데이터의 구조적 관계를 설 명하는 시스템 부분 이외 노이즈 부분이 증가하므로 실증 분석 데이터에는 차원축소 방법이 필요하다. 머신러닝에 서는 차원축소를 피처공학으로 불리는데 고차원(대용량) 변수 간의 구조 관계를 활용하여 새로운 저차원 변수를 생성하는 피쳐추출(extraction) 방법과 목표변수에 대한 원 변수의 중요도를 부여하여 유의성 낮은 변수를 제거하여 차원을 줄이는 피쳐선택(selection) 방법이 있다.
피쳐추출 방법에는 대용량 변수로부터 새로운 주요 변수만을 생성하고 선택하여 차원을 축소하는 주성분과 SVD(Singular Value Decomposition) 등이 있고 원 변수 상관관계를 활용하여 차원을 축소하는 정준상관분석이 있다. 고장 발생에 영향을 주는 주요 변수를 탐색하는 피 쳐선택은 전통적 방법인 로지스틱판별분석[9], 의사결정 나무기법과 대용량 데이터에 적용 가능한 LASSO 회귀 분석 등이 있다.
2.2 LASSO Regression
회귀분석에서 다중공선성 문제 해결을 위하여 L2 정규 화(Regularization), 불편성을 희생하고 MSE를 최소화하는 추정방법인 능형(Ridge)회귀분석과 달리 LASSO(Least Absolute Shrinkage and Selection Operator) 방법은 L1 정규화, 회귀계수의 절댓값의 크기를 페널티 함수로 추가하여 회 귀계수의 크기를 상대적으로 크게 하여 중요한 변수를 찾 는 방법이다[13].
목표변수를 yi, 예측변수를 {x1, x2, ⋯, xp}, 회귀계수를 라 하면 조건을 만족하는 회귀계수를 추 정하여 회귀계수 절댓값의 크기가 상대적으로 큰 변수를 선택한다. t는 회귀계수 값의 축소 정도를 조절하는 매개모 수로 작은 값일수록 변수 축약 정도가 커진다.
subject to
2.3 주성분 이상 시점진단
시계열 데이터 행렬 Xn × p 의 상관계수행렬 Rp × p를 계 산하고 이로부터 고유값 을 얻고 각 고유값에 대응하는 고유벡터 중 Norm이 1인 고유벡터를 얻는다. 원 변수 누적변동설명 기여율 80% 규칙에 따라 선택된 주성분만으로 차원을 축소한다. 축소된 차원을 l 이라 하면 대표본 이론에 의해 각 주요 주성분의 분포는 χ2-분포를 따르므로 l개 주요 주성분의 합도 χ2-분포를 따른다. i번째 시점, j번째 주성분 관측치를 yij라 하면 아래 식을 만족하는 시점(개체)이 이상 발생하는 시점이 다[7]. Shyu et al.[12]은 주성분 분석개념을 시계열 이상 시점 진단에 적용하였다.
2.4 머신러닝 이미지 분류 CNN
CNN 방법은 이미지 분류에 활용되는 머신러닝 지도학습 기법으로 분류 대상 이미지 데이터를 입력하는 입력 계층 (input layer), 데이터가 갖는 특성을 학습하기 위한 은닉 (hidden) 계층, 그리고 분류결과를 출력하는 출력(output) 계층, 3개의 층으로 구성되어 있으며 히든 계층은 합성곱 (convolution) 계층과 풀링(pooling) 계층으로 구성되어 있 다[11].
합성곱 계층은 입력 계층의 이미지 데이터의 일부를 패치하고 이에 필터(커널) 행렬을 곱하여 합성곱 계층을 구성한다. 원 이미지 행렬을 XN × N, 필터 행렬을 Fk × k이 라 하면 i행, j열 합성곱, Gi × j은 다음과 같이 계산된다. 합성곱 차수는 필터 차수와 매개변수 스트라이드 크기에 의해 결정된다.
합성곱 연산을 수행하기 전 2개 매개변수를 지정해야 하는데 패딩(padding)과 스트라이드(stride)이다. 합성곱으 로 인한 공간 차원 크기가 축소되어 가장자리 정보가 사 라지는 문제를 해결하기 위하여 테두리 크기를 지정하는 것을 패딩 작업이라 한다. 이미지 행렬에 필터를 적용할 때 이동 간격을 조절하는 것을 스트라이드라 하는데 패 딩은 0, 스트라이드 1이 주로 적용된다.
합성곱 계층을 통하여 생성된 이미지 데이터를 데이 터의 크기를 줄이는 목적으로 실행되는 작업을 풀링이라 하며 윈도우 내 최댓값으로 풀링하는 최대풀링과 평균을 사용하는 평균풀링이 있다. 풀링 계층 전에 필요하다면 합성곱에 의해 얻어진 피쳐맵에서 양의 값만으로 활성화 하여 ReLU(Rectified Linear Units) 계층 작업을 시행된 다. 합성화 계층과 풀링 계층 작업을 반복하여 최종적으 로 얻어진 피처맵 행렬을 배열로 변환하여 분류모형이 적용할 수 있도록 신경망처럼 계층화하는 작업을 완전연 결 계층화라 한다.
3. 실증분석 결과
3.1 주요신호 탐색
실증분석 데이터의 이상 발생 전후 시각을 이진형 목 표변수로 하고 199개 정량적 부품 신호를 예측변수로 하 여 고장 발생에 영향도가 큰 부품 신호를 탐색하였다. 파 이썬 Keras 모듈 LASSO 함수를 적용하여 <Figure 1> 결 과를 얻었다.
<Table 1>은 고장상태 여부 판별에 가장 큰 영향을 주 는 5개 부품 신호 이름과 표준화 회귀계수를 정리한 표 이다. 회귀계수의 절댓값이 크다는 것은 고장 발생 전후 해당 부품의 신호 변동이 다른 부품에 비해 크다는 것을 의미한다.
3.2 주성분 이상 시점 진단
고장이 발생하면 부품 신호가 급격히 변하므로 이상 발 생 시점 이전 20분간 신호행렬 X1200 × 199을 이상 발생 사전 진단을 위한 실증분석 데이터로 하였다. 주성분 차원축소 결과 199개 부품 신호의 원 변동에 대한 누적변동설명 기 여율이 80% 이상이 되는 주성분 개수는 9개이었다. 9개 주성분 신호들의 시계열 그림은 <Figure 2>와 같으며 제일 주성분은 분석 데이터가 충분히 확보되기 전 5분간은 중심 에서 벗어나 있고 이상 시점이 가까워지는 15분경부터는 중심부터 다시 벗어나고 있음을 알 수 있다. 제이 주성분은 7분경부터 중심에서 벗어났다가 11분경 다시 중심으로 회 귀하고 있음을 알 수 있다.
<Figure 3>은 9개 주요 주성분을 이용하여 수식 (2) 이용 하여 계산된 검정통계량에 대한 시계열 그림이다. 수평 점 선은 기각값인 χ2 (9,0.95) = 16.92 으로 검정통계량이 이 값 보다 크면 유의수준 5%에서 유의한 이상이 발생하였다고 진단할 수 있다. 초기에 이상 시점이 발생한 것은 분석 데 이터가 충분하지 않아 제일 주성분에 의해 발생한 것이므 로 데이터의 개수가 충분히 확보된 5분 후(수직점선) 기각 값을 넘는 최초 이상 발생 시점은 10분 43초이므로 고장 발생 9분 17초 전에 이상 발생에 대한 사전 진단되었다.
<Figure 2>에서 볼 수 있듯이 이상 발생 시점으로 예측 된 10분 43초에는 제이 주성분 신호 변동이 가장 큰 요인 이다. 그러므로 이 시점에서 발전기의 이상이 탐지된 것 은 제이 주성분에 의한 것이므로 제이 주성분의 부하값의 크기로 제이 주성분 특성을 파악한다면 고장 발생에 주된 영향을 준 부품 신호를 탐색할 수 있을 것이다. 그러나 제 일 주성분과 제이 주성분 산점도 <Figure 4>에서 보듯이 너무 많은 부품 신호로 인하여 부하값 크기만으로 제이 주성분 특성을 파악하는 데 한계가 있다.
LASSO 탐색결과(<Table 1> 참고) 이상탐지에 가장 큰 영향을 미치는 부품신호 01RCAODINT105와 상관관계가 높은 부품신호 군으로 데이터 차원을 축소한 후 주요 부품에 의한 이상 시점을 진단하였다. 상관계수 0.9 기준으로 01 RCAODINT105 부품 신호와 상관성 높은 부품 신호는 48개였 고 이들 변수군 만으로 주성분 이상 탐지방법을 적용하였다.
<Figure 5>는 주성분 이상탐지 검정통계량의 시계열 그림 이며 그림에서 알 수 있듯이 전체 부품신호를 이용한 결과와 달리 이상 발생이 사전 진단되지 않았다. 이는 LASSO 모형 의 목표변수는 이상 발생 전후 상태이므로 선택된 주요 부 품 신호들은 고장 발생 전후 신호 추이의 변동이 가장 크다 는 것을 의미하는 것이므로 고장 발생이 가까워지는 시점에 서 발전기 부품 신호 변동을 반영하지 못한 결과이다.
3.3 CNN 이미지 분류 활용
이미지 분류판별을 위하여 발전기 부품 신호 데이터를 1분 단위로 나눈 후 상관계수행렬을 계산하였다. 상관계 수행렬은 소수점 단위의 값을 가지므로 이미지 변환 가능 한 tiff 포맷으로 이미지 변환하였다. 이상 발생 전 15분 전부터 5분 전까지 10개 상관계수 행렬을 정상 이미지 변 환하고 이상 발생 시점 포함 5분 후 상관계수 행렬을 이 상 이미지로 변환하여 총 15개 이미지를 학습 데이터로 활용하였다. 이상 발생 5분 전부터 1분 전까지 5개 이미 지는 모형 검증(test) 데이터로 사용하였다. 파이썬 Keras CNN[6]을 분석 프로그램으로 활용하였다.
<Figure 6>은 이상 발생 6분 전(학습 데이터 정상 시간 마지막 시점) 상관계수 행렬을 변환한 tiff 포맷 이미지이며 <Figure 7>은 이상 발생 시점 상관계수 행렬을 변환한 이미 지이다.
<Table 2>는 분류 예측모형에 의해 계산된 이상 상태 이미지일 사후확률을 주요 시각 단위로 정리한 표이다. 학습 데이터의 정상 이미지 10개와 이상 이미지 5개는 모 두 원 상태 이미지로 예측되어 적용된 분류모형 예측력은 100%였다. 검증 이미지 5개 중 정상 상태 시각에 가까운 이미지 4개는 모두 정상이었으며 이상 상태 바로 전 이미 지만 이상 상태 이미지일 사후 확률이 0.61로 이상 상태 로 분류되었다. 즉 분류모형으로는 고장 발생 1분 전에 이상 진단되었다.
4. 결 론
본 연구에서는 고장 이력이 있는 발전기의 부품 신호 로부터 수집한 대용량 시계열 데이터에 머신러닝 이상 진단기법인 주성분 이상탐지 기법과 상관계수 행렬데이 터를 이미지 포맷으로 변환하여 CNN 이미지 분류방법 을 적용하여 이상 발생 시점을 진단하는 방법을 제안하 고 실증분석 결과를 제시하였다. 고장상태에 영향을 가 장 많이 미치는 주요 부품신호 탐색을 위하여 LASSO 방법을 적용하였다. 그러나 고장 이력 데이터 수집이 쉽 지 않아 한 개의 필드 데이터만으로 실증분석을 하였기 에 제안된 접근방법 간 정확도 비교를 하지 못한 한계를 지니고 있으며 발전기 부품신호 이상 시점을 진단하는 사례연구 논문이다.
199개 정량적 부품 신호 시계열 데이터에 누적 변동 기여율 80% 규칙에 따라 선택된 9개 주성분 변수들로 이상 발생을 검정한 결과 고장 발생 전 9분 17초 전에 발전기 신호가 정상을 벗어났다고 사전진단이 되었다. 3.2절에서 언급하였듯이 부품의 개수가 너무 많아 주요 주성분 부하값의 크기만으로 고장 발생에 영향을 주는 부품 신호를 찾는 것은 불가능하였다. (정상, 고장) 상태 기간을 목표변수로 하여 LASSO 기법으로 가장 큰 영향 을 주는 부품신호를 탐색하고 그와 상관계수 0.9 이상인 부품 신호들로 차원 축소된 데이터에 주성분 이상 탐지 기법을 적용한 결과 이상 시점은 진단되지 않았다. 그러 므로 정상기간(20분)만을 주성분 이상탐지 기법 결과 얻 어진 진단 시점(9분 17초)을 기준으로 정상기간을 이분 화 하여 목표변수를 설정하고 LASSO 기법을 적용한다 면 고장 발생 사전진단에 영향을 준 주요 부품신호를 탐 색할 수 있을 것이다.
CNN 이미지 분류방법을 적용하여 발전기 이상 발생 시점을 진단하기 위하여 1분 상관계수 행렬을 이미지 변 환하여 고장 발생 전 10개 이미지, 고장 발생 후 5개 이 미지를 학습을 시킨 후 고장 5분 전 5개 이미지를 판별 한 결과 고장 발생 1분 전 이미지만 고장으로 판별되었 다. 이는 초 단위 이상탐지가 가능한 주성분 탐지기법과 는 달리 CNN 기법의 학습 데이터는 1분 단위 상관계수 행렬 이미지이므로 데이터가 충분하지 않았기 때문으로 판단된다. 이미지 변환에 사용되는 상관계수 행렬을 구 할 때 10초 단위로 겹쳐 계산하여 학습 데이터 크기를 늘리거나 1분 단위 상관계수 행렬을 계산하는 대신 5분 단위로 늘려 행의 크기를 열의 크기보다 크게 하여 과적 합 문제를 해결한다면 이 문제를 해결할 수 있을 것이다.