이 안내서는 시계열 데이터에서 이상을 감지하는 알고리즘을 설계하고 배포하기를 바라는 엔지니어를 위한 필수 안내서입니다.
산업 기계의 이상은 진동 신호로부터 감지할 수 있습니다. 시간 윈도우에서 수집된 3축 진동 데이터를 처리하고 머신러닝 모델로 이상을 감지하게 됩니다. 모델 결정 경계는 주성분 평면에 표시되며, 여기에서 빨간색 점은 이상을 나타냅니다.
예시 이상 감지 활용 사례
이상 감지 알고리즘은 다음과 같은 다양한 산업 및 응용 사례에서 유용합니다.
예측 정비: 산업 장비에 배포된 이상 감지 알고리즘을 통해 기계 고장의 조기 신호를 식별하고, 안전성을 개선하며, 비용이 많이 드는 가동 중단 시간을 피할 수 있습니다.
디지털 헬스: ECG(심전도) 신호에서 이상을 감지하면 부정맥, 심방세동, 심실빈맥 등 다양한 심장 상태를 발견할 수 있습니다.
비행 테스트 데이터 분석: 엔지니어는 비행 테스트를 통해 시스템 거동을 이해하고 설계 선택에 대한 정보를 얻습니다. 이상 감지를 사용하면 불규칙한 센서 값에 플래그를 지정하고 예상 성능 범위를 벗어나는 테스트 조건을 식별할 수 있습니다.
결함 허용 제어: 전기 모터의 임베디드 이상 감지 알고리즘을 통해 변경 사항이 발생하면 실시간으로 플래그를 지정할 수 있습니다. 이렇게 하면 제어기로 응답을 조정하여 손상을 방지하고 성능을 개선할 수 있습니다.
시계열 데이터 내 이상의 유형
이상은 영상, 비디오, 텍스트 등 다양한 유형의 데이터에서 나타날 수 있지만, 이 안내서에서는 공학 응용 분야에서 널리 사용되는 시계열 데이터를 중점적으로 다룹니다. 시계열 데이터는 온도, 압력, 진동 등 순차적 측정값을 시간 경과에 따라 기록합니다. 시계열 데이터에는 크게 세 가지의 이상 유형이 있습니다.
점 이상(또는 이상값)은 예상 범위를 벗어나는 개별 데이터 점입니다.
한 무리의 데이터 점이 예상 패턴을 함께 벗어나는 경우 집단 이상이 발생합니다.
다변량 이상은 여러 데이터 소스를 함께 분석하는 경우에 발생하며 단일 데이터 소스에서는 이상일 수도 있고 아닐 수도 있습니다.
이상 감지 알고리즘 선택
MATLAB은 통계 및 거리 기반 방법과 단일 클래스 AI 모델이라는 두 가지 주요 범주로 분류되는 폭넓은 범위의 시계열 이상 감지 알고리즘을 제공합니다. 이상 감지 알고리즘을 설계할 때 이러한 툴을 모두 사용할 수 있지만, 데이터와 목표에 따라 선택해야 하는 툴이 달라질 수 있습니다.
통계 및 거리 기반 방법
통계 방법에서는 기본 데이터 분포에 대한 가정을 활용합니다. 이런 방법들은 임계값, 추세 또는 확률 모델을 적용해 예상되는 통계적 거동을 벗어나는 지점을 식별합니다. 단순 통계 이상 감지 접근법으로는 신호의 이동평균을 계산하고 해당 평균이 특정 임계값을 초과하는 경우 이상에 플래그를 지정하는 방법이 있습니다.
거리 기반 방법의 경우 특정 데이터 분포를 가정하는 대신, 개별 관측값 또는 서브시퀀스 간의 거리를 계산하여 이상에 플래그를 지정하고 일반 패턴에서 크게 벗어난 이상을 식별합니다. 예를 들어, matrixProfile은 시계열의 각 서브시퀀스를 비교하여 이 중에서 다른 서브시퀀스로부터 가장 먼 거리에 있는 서브시퀀스를 이상으로 식별합니다.
distanceProfile을 사용하면 시계열 데이터에서 이상을 식별할 수 있습니다.
통계 및 거리 기반 방법을 사용해야 하는 경우:
- 훈련 데이터가 제한된 경우
- 데이터의 기준 통계 및 추세를 잘 이해하고 있는 경우
- 연산 리소스가 제한된 경우
특징:
+ 단순하고 해석 가능함
+ 낮은 연산 비용
+ 점 및 집단 이상에 적합
- 복잡한 패턴이나 비선형 동역학에 대해 어려움을 겪을 수 있음
- 잡음과 데이터 차원에 민감함
MATLAB의 예시 기법:
isoutlier– 데이터에서 이상값 찾기findchangepts– 신호의 급격한 변화 찾기robustcov– 로버스트 다변량 공분산 및 평균 추정치 계산mahal– 기준 표본까지의 마할라노비스 거리 계산distanceProfile– 쿼리 서브시퀀스와 시계열의 기타 모든 서브시퀀스 간 거리 프로파일 계산matrixProfile– 다변수 시계열 내 모든 서브시퀀스 쌍 간 행렬 프로파일 계산
예제 살펴보기
행렬 프로파일을 사용해 모터 데이터에서 이상 감지하기
행렬 프로파일은 긴 시계열에서 집단 이상을 효율적으로 감지하려할 때 유용합니다. 이 예제에서는 행렬 프로파일을 적용해 열화가 진행 중인 DC 모터에서 수집된 전기자 전류 측정값에서 이상을 감지하는 방법을 보여줍니다.
상위 모티프 쌍과 디스코드 세그먼트가 강조 표시된 모터 데이터의 행렬 프로파일
단일 클래스 AI 모델
이 범주의 이상 감지 방법에서는 주로 정상적인 기준 데이터셋에 대해 머신러닝 또는 딥러닝 모델을 훈련시킵니다. 모델은 정상 동작을 학습하고 편차를 이상으로 식별합니다. 단일 클래스 AI 모델은 이상이 희소하거나 잘 정의된 패턴이 부족한 경우에 가장 적합합니다. 이는 여러 데이터 채널에 걸친 모든 유형의 이상에 적용할 수 있습니다.
단일 클래스 AI 모델을 사용해야 하는 경우:
- 새 데이터가 준비되는 대로 해당 데이터에서 이상을 식별하도록 모델을 훈련시키려는 경우
- 훈련에 사용할 정상 데이터를 많이 보유한 경우
- 이상이 희소하거나 알려지지 않았거나 잘 정의된 패턴이 부족한 경우
특징:
+ 복잡한 패턴과 비선형 패턴을 비롯한 모든 유형의 이상에 적합
+ 잡음과 데이터 차원에 강인함
+ 딥러닝 방법에 특징 엔지니어링이 필요하지 않음
- 훈련 시간이 더 길고 연산 요구사항이 더 높음
- 통계 및 거리 기반 방법보다 해석 가능성이 떨어지는 경우가 많음
MATLAB의 예시 기법:
예제 살펴보기
이상 감지를 위한 딥러닝 모델 훈련하기
이 예제에서는 딥러닝 모델을 사용하여 ECG(심전도) 데이터에서 부정맥 시퀀스를 감지합니다.
감지된 이상이 빨간색으로 표시된 ECG 데이터.
이상 감지를 위한 데이터 준비
정확한 이상 감지 알고리즘을 구축하기 위해서는 양질의 데이터가 필수적입니다. 그러나 이상 감지를 위한 데이터 수집, 탐색 및 전처리 작업은 까다로우며 일률적인 접근법을 사용할 수 없습니다. 적용하는 기법은 데이터 특성, 하드웨어 요구사항 및 해결하려는 문제에 따라 달라집니다. 데이터가 많더라도, 잡음이 있는 수백 개의 센서에서 데이터가 수집되기 때문에 이상을 감지하는 것은 어려울 수 있습니다. 이러한 경우 특징을 추출하고 데이터 차원을 줄이는 것이 필수적입니다.
이상 감지를 위한 데이터셋
이상 감지는 다수의 기존 머신러닝 작업에 비해 훈련 데이터 요구사항이 유연하며, 레이블 지정 데이터를 필요로 하지 않습니다. 이상 감지 알고리즘은 정상 데이터 또는 일부 이상이 포함되지만 대부분이 정상인 데이터로만 훈련시킵니다. 이런 유형의 데이터를 사용해 정상 데이터를 인식하고 정상이 아닌 모든 데이터를 이상으로 분류하도록 이상 감지 모델을 훈련시켜야 합니다.
클래스가 두 개 이상이며 균형이 잡히고 레이블이 지정된 데이터셋을 보유한 경우 다중클래스 결함 검출에 지도 학습이라고 하는 접근법을 적용할 수 있습니다.
이상 감지에 적합한 데이터.
다음 접근법에 대해 자세히 알아보세요.
데이터 탐색 및 전처리
알고리즘을 설계하기 전에 데이터의 내용을 파악해야 합니다. 데이터를 탐색하고 시각화하면 유용한 데이터 소스를 식별하고, 데이터 패턴을 파악하고, 데이터 품질을 확인하고, 필요한 전처리 단계를 결정할 수 있습니다. 신호 분석기 앱을 사용하면 대화형 방식으로 시계열 데이터를 살펴보고 전처리할 수 있습니다.
센서를 통해 수집한 데이터는 보통 잡음이 있고 정리되지 않았으며 체계적이지 않습니다. MATLAB에는 재추출, 평활화, 정리, 누락 데이터 채우기 등 전처리 단계를 위한 다양한 기법과 대화형 앱이 있습니다.
MATLAB에서의 데이터 전처리에 대해 자세히 알아보세요.
원시 데이터에서 특징 추출
일부 AI 모델은 시계열 데이터에 직접 적용할 수 있지만, 데이터에서 특징을 추출하면 정상 데이터와 이상 데이터를 구분하는 가장 중요한 항목을 강조함으로써 모델 성능을 개선할 수 있습니다. 특징 추출에는 원시 데이터를 모델 훈련에 사용할 수 있는 유의미한 숫자형 특징으로 변환하는 작업이 포함됩니다.
예를 들어, 평균, 표준편차, 피크 진폭 또는 우세 주파수와 같은 특징을 계산할 수 있습니다. 이러한 특징들은 시계열 데이터 내 중요한 동작을 요약하여 모델이 보다 쉽게 정상 상태를 학습하기 쉽게 만듭니다.
특정 데이터에 익숙한 엔지니어는 사용하기에 가장 유용한 특징이 무엇인지 이미 알고 있는 경우가 많습니다. 그러나 자동화된 특징 추출 공정을 사용하면 일반적인 특징(기술 통계량, 스펙트럼 측정값 등)을 추출한 후 순위를 매길 수 있습니다. Predictive Maintenance Toolbox의 진단 특징 디자이너 앱을 사용하면 대화형 방식으로 특징을 추출하여 비교하고 순위를 매긴 후 해당 특징을 사용하여 AI 모델을 훈련시킬 수 있습니다.
데이터 차원 축소
데이터를 수집하고 특징을 추출한 후에 얻게 되는 특징의 개수는 매우 큰 경우가 일반적이며, 때로는 신호당 수백 개에 이르기도 합니다. 이처럼 차원이 높아지면 모델 훈련 속도가 느려지고, 해석하기 어려워지며, 과적합에 더 취약하기 쉽습니다. 가장 유용한 특징만 선택하거나 결합하여 차원을 축소하면 모델을 단순화하고 이상을 나타내는 주요 특징에 집중하여 모델을 훈련시킬 수 있습니다. PCA(주성분 분석) 또는 특징 순위 지정과 같은 차원 축소 기법을 사용하면 이상 감지에 가장 크게 기여하는 특징을 식별할 수 있습니다.
예제 살펴보기
3축 진동 데이터를 사용한 산업 기계의 이상 감지
이 실제 예제에서는 세 가지 서로 다른 단일 클래스 AI 모델을 훈련시킵니다. 이 공정에는 데이터 탐색, 특징 추출, 모델 훈련 및 성능 평가가 포함됩니다.
산업 장비의 정비 이전과 이후 3축 진동 데이터. 정비 후 데이터는 정상 작동을 나타내는 반면, 정비 직전 데이터는 이상을 나타냅니다.
실제 응용 사례를 위한 AI 모델 기반 이상 감지 모델 개발 및 배포 워크플로.
임베디드 하드웨어에 배포
임베디드 AI에 MATLAB을 사용해 Simulink 블록을 만들거나 C/C++ 코드를 생성하여 이상 감지 알고리즘을 임베디드 소자(예: 마이크로컨트롤러 또는 ECU)에 배포하면 실시간으로 이상을 감지할 수 있습니다. 이러한 알고리즘을 임베디드 하드웨어에 배포하기 전에 시뮬레이션을 통해 테스트하여 그 유효성을 확인하는 것이 중요합니다. Simulink에서는 이상 감지 알고리즘을 다른 시스템 컴포넌트와 통합할 수 있는 플랫폼이 제공되므로 시스템 수준 실시간 시뮬레이션이 가능합니다.
실시간 잡음 검출을 위해 Raspberry Pi®에 Deep Signal Anomaly Detector Simulink 블록 배포.
증분 이상 감지
증분 이상 감지 방법은 수신 데이터를 지속적으로 처리하고 데이터 스트림에서 실시간으로 이상 점수를 계산합니다. 증분 모델은 데이터에 피팅됩니다. MATLAB은 증분 이상 감지를 위한 incrementalRobustRandomCutForest 및 incrementalOneClassSVM 모델 객체를 제공합니다. 먼저 이상 점수를 계산하도록 모델을 훈련시킵니다. 그런 다음, 훈련에 사용한 데이터에서 얻은 이상 점수를 기반으로 임계값을 계산하고 조정합니다. 이 모델은 새로운 데이터 배치가 유입됨에 따라 계속 이상을 감지하고 스스로 재훈련하며 임계값을 조정합니다.
증분 이상 감지에 대해 자세히 알아보세요.
시계열 데이터에 점진적 학습 기법을 적용하는 모델 피팅, 임계값 학습, 온라인 추정 단계.
핵심 요점
시계열 이상 감지에는 예상 패턴에서 벗어난 편차를 식별하는 작업이 포함되며, 이를 통해 기계 결함, 건강 위험 또는 공정 비효율성과 같은 중요한 문제를 발견할 수 있습니다. MATLAB는 데이터 탐색 및 전처리, 차원 축소 및 특징 추출, 적절한 알고리즘 선택 등 시계열 데이터에서 이상을 감지하기 위한 전체 워크플로를 제공합니다. Simulink를 사용하면 이상 감지 알고리즘을 더 큰 시스템 모델에 통합하여 시뮬레이션을 통해 전반적인 시스템 동작을 검증할 수 있습니다. 또한 이 워크플로는 임베디드 배포를 지원하므로 C/C++ 코드를 생성하여 에지 기기나 실시간 응용 사례에 이상 감지 알고리즘을 배포할 수 있습니다.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)