BLOG

비정상적인 패턴을 탐지하고 예측하는 방법

2021-06-23

오토인코더 기반 이상탐지


이상탐지는 정상으로 규정된 데이터와 다른 패턴이나 특징을 보이는 데이터나 개체를 찾는 방법으로 알려지지 않은 공격에 대해서도 탐지가 가능해야 한다. 실제 우리가 얻을 수 있는 데이터는 클래스별로 불균형하게 분포하게 되는데, 특히 이상탐지 문제의 경우 대부분이 정상 데이터이고 전체 데이터의 1% 미만만이 비정상 데이터이기 때문에, 지도학습을 위한 데이터셋 구성이 힘들다. 이러한 불균형 데이터로부터 지도학습 기반 머신 러닝을 하게 될 경우, 불균형 데이터셋으로 인한 성능저하를 야기할 수 있다. 따라서 불균형 데이터에 무관하며, 새로운 형태의 이상 패턴에 대해서도 모델링을 할 수 있는 오토인코더(Auto-Encoder) 기반 이상탐지에 대해 알아보려고 한다.

 

오토인코더 기반의 이상탐지란, 정상 데이터를 오토인코더를 통하여 원래의 데이터보다 작은 차원의 잠재공간으로 압축 후에 다시 복원하고, 복원된 데이터와 원본 데이터의 차이를 비교함으로써 이상 탐지를 수행하는 방법이다. 이때 정상 데이터를 저차원으로 압축하는 부분을 인코더라고 하며, 압축된 샘플을 다시 원래의 차원으로 복원하는 부분은 디코더라고 한다. 오토인코더는 아래 그림처럼 Code 계층을 기준으로 대칭의 구조를 가진다. 중간에 위치하는 병목 구간이라 불리는 Code 계층은 인코더의 출력으로써, 입력 데이터의 저차원의 잠재 공간으로 매핑된 결과를 출력한다. 오토인코더는 원본 데이터와 복원된 데이터의 차이를 최소화하는 과정을 통해 학습하며, 그 과정에서 학습 데이터의 특징이 자연스럽게 추출되어 잠재공간이 구성된다.



오토인코더 기반 이상탐지의 수행 과정

오토인코더의 입력과 출력의 차이를 비교하는 방식에 따라서 이상탐지의 성능과 특성이 달라진다. 가장 기본적인 방식은 원본 데이터와 복원 데이터를 n차원의 좌표 공간안의 점으로 간주하고, 두 점의 거리를 입출력 데이터 차이의 지표로 사용하는 방식이다. 이 지표를 복원오차(재구성 손실, Reconstruction error)라고 부른다. 차원 축소를 통해 데이터 특징을 찾아내는 점에서 주성분 분석과 비슷하다. 하지만 오토인코더는 데이터의 비선형적인 관계도 고려하여 이상탐지를 수행한다는 점에서 강점을 가지고 있다.

 

이번에 우리 다겸에서 수행하는 오토인코더 기반 프로젝트는 오토인코더 모델을 정상 샘플만을 통해 학습시킨 뒤, 재구성 손실(Reconstruction Error)을 통해 이상 행위를 탐지한다. 이후 이상 데이터로 구분된 데이터 샘플에 대해서는 군집분석을 통해 이상패턴(유형)을 도출할 계획이다. 디코더는 해당 벡터를 다시 입력으로 사용하여 입력 데이터를 재구성(Reconstruction)하는 과정을 통해 학습을 진행한다. 이러한 학습 과정에서 인코더는 복원을 위해 중요한 정보들을 최대한 보존하는 것을 목표로 압축을 시도하게 되며, 결국 중요한 핵심 정보들만을 인코딩할 수 있게 된다. 각 센서 데이터 변수 개별 요소로 전체 기계장비의 이상유무를 판단하기보다는, 수많은 변수의 정보를 전체적으로 통합 및 압축한 의미 있는 정보로 판단해야 한다.

 

이상탐지는 각 문제에 맞는 방법을 필요로 하며, 다양한 사항을 고려해야 한다. 적절한 시기에 이상을 예측 및 탐지하고 신속하게 대처가 이루어질 때, 불필요한 비용 발생과 그로 인한 손실을 예방할 수 있다.

사업자등록번호 : 492-04-01429ㅣ업태 : 정보통신업ㅣ데이터베이스 및 온라인 정보 제공업 ㅣseo_daeho@naver.com ㅣ 대표 :서대호

서울특별시 구로구 디지털로34길 55, 715호(구로동, 코오롱싸이언스밸리2차)  문의 010-8598-7735 / 010-7130-2441