CEMS 분석 센터를 사용하기 위해서 몇 가지 기본 개념에 대한 사전 이해가 필요하다.
대시보드(CEMS Dashboard)와 잡(Job)
CEMS 분석 센터는 대시보드를 분석 대상으로 한다.
예를 들어 여름철 생활날씨의 감시를 위해 ‘온도’, ‘습도’, ‘강수량’, ‘일조량’ 4개의 태그 데이터가 수집되는 상황을 가정해보자. 여기에 ‘온도’, ‘습도’, ‘강수량’ 3개의 데이터를 사용하는 ‘불쾌지수’라는 대시보드가 있다면 분석 센터에서 잡을 생성할 때 ‘불쾌지수’ 대시보드를 선택할 수 있으며, ‘온도’, ‘습도’, ‘강수량’ 세 태그 데이터를 활용한 모형을 생성할 수 있다.
만약 ‘습도’, ‘일조량’의 두 태그 데이터를 활용해 모형을 생성하고자 한다면, 먼저 이 두 태그 데이터를 활용해 대시보드를 새로 생성해야 한다. 이에 반해, ‘온도’, ‘습도’ 두 태그 데이터로 모형을 생성하고자 한다면 대시보드를 별도로 생성할 필요가 없으며, 모형을 생성할 때 ‘강수량’ 태그 데이터를 ‘불쾌지수’ 대쉬보드에서 제외시키면 된다.
이와 같이 대시보드와 분석에 사용할 태그를 선택해 생성된 모형을 잡(Job)이라고 한다. 동일한 대시보드를 사용해 잡을 생성하더라도 태그 선택을 달리하거나 몇 가지 기본 파라미터를 변경하여 여러 개의 잡을 생성할 수 있다. 즉 대시보드와 잡은 1:N의 관계를 가지게 된다.
데이터 분석 모형과 분석용 데이터
CEMS 분석 센터에서 장비의 정상 유무를 판단하는데 사용하는 모형은 딥러닝 기반의 다중 시계열 데이터 검사 모형이다. 모형은 개별 태그의 정상 유무를 검사하는 단일 태그 검사 기능과 모든 태그를 종합해 판단하는 바스킷(Basket) 검사 기능을 제공한다. 모형을 생성하는 과정에서 단일 태그 검사 기능과 바스킷 검사 기능을 한 번에 학습(원샷 학습)하여 생성한다.
경우에 따라서는 대시보드에 포함된 태그 중 기계학습에 적합하지 않은 센서 데이터가 포함되어 있는 경우도 있다(밀폐된 공장 외부의 온습도 데이터 등). 만약 그러한 데이터가 포함되어 있다면 바스킷에서 해당 데이터를 제외시킬 수 있다. 다만 원샷 학습 모형의 특성 상, 바스킷에서 제외된 태그에 대해서는 단일 태그 검사 기능도 제공하지 않는다.
각 센서에서 수집된 원천 값(raw value)이 태그 데이터로 CEMS에 저장되는데, CEMS 분석 센터의 일반 분석은 이 원천 값에 대해 일정 주기 간격으로 평균값을 구해 모형을 생성하고, 검사 결과를 생성한다. 이 주기(Summary Duration)는 잡을 생성할 때 입력하는 파라미터 중 하나로, 원본 데이터의 특성에 따라 범위가 제한되며, 최대값은 60초로 고정된다. 다시 말해, 데이터의 발생 주기가 1분 이상인 경우 분석이 정상적으로 동작하지 않을 수 있다. 그리고 일정 주기의 평균값으로 학습과 검사를 진행하므로 해당 주기 이하에서 발생하는 일부 비정상 데이터는 정상적으로 찾아내지 못할 수도 있다. 일반 분석에서 제공하는 데이터 분석 주기 이외의 분석이 필요한 경우, 고객의 요구 사항에 맞는 별도의 모형을 개발하여 분석 센터에 등록하고 서비스를 제공하는 것이 가능하며, 이 경우 추가 비용이 발생할 수 있다.
모형 생성에서 사용자가 설정 가능한 또 하나의 파라미터는 타임윈도우(Time Windows)의 크기이다. 시계열 데이터의 특성 상 과거 일정 기간의 데이터가 현재 데이터에 영향을 미치기 때문에, 학습 과정에서 일정 기간의 과거 데이터를 현재의 데이터와 함께 반영하는데, 이 시간 범위를 지정하는 파라미터이다. 모형은 최소 과거 10개 이상의 데이터 지점을 참조하므로 타임윈도우 사이즈는 데이터 주기(Summary Duration)의 설정 값에 따라 그 범위가 제한된다. 단, 일반 분석에서는 너무 큰 타임윈도우 사이즈는 지원하지 않으며 제공되지 않는 장기간의 타임윈도우 분석이 필요한 경우에도 마찬가지로 별도의 프로젝트로 모형을 개발해 분석 센터를 통해 서비스를 받을 수 있다.
데이터의 비정상 (Anomaly)
모형은 각 시점의 데이터의 정상 유무를 검사해, 정상 범위 밖으로 벗어난 데이터를 비정상 데이터로 분류하고 이를 사용자에게 알려준다. 분석 센터에서 발생하는 비정상 데이터는 크게 두 종류로 나뉜다.
개별 태그의 비정상 - 단일 태그 분석을 통해 찾은 비정상 상태
바스킷 비정상(Basket Anomaly) - 전체 태그를 종합해 판단한 비정상 상태
바스킷 비정상의 경우 모든 개별 태그 데이터는 정상 범위내에 머물러 있을 수 있지만 전체 데이터를 종합하여 분석한 추세가 학습할 때와 달라서 비정상으로 분류할 수 있다. 반대의 경우도 가능하다.
비정상 문턱값(threshold)의 계산은 학습 시점의 데이터를 기준으로 결정하며, 99% 아웃라이어를 비정상 데이터로 판독한다. 물론 그래프를 통해 99% 이내의 데이터 분포 상황도 눈으로 확인할 수 있다. 다만 개별 태그의 비정상은 등록된 비정상과 화면에서 보이는 비정상이 일부 차이를 보일 수 있다. 이는 그래프 상에 표시할 때 사용성 측면에서 빠른 계산을 위해 서버에서 계산하는 방법과 웹에서 계산하는 방식이 미세하게 차이가 나기 때문이며, 이러한 차이와 비정상 판단 방식, 계산 방식 등은 지속적으로 개선될 예정이다.