Intelligence in Space

이상감지와 머신러닝

2019-03-19
박상민
Tutorials

본 포스트에서는 머신러닝을 이용한 이상감지에 대해 간략하게 설명하도록 하겠습니다.


작성자 : 박상민 - (주)인스페이스 미래기술실 연구원

본 포스트는 약 4개월간 이상감지(Anomaly Detection)를 연구하게 되면서 공부했던 것, 알아낸 것, 찾아봤던 자료, 구현체, 결과물 등을 정리해서 공유하는 글 입니다.

주관적인 내용이 포함되어 있으니 이해해주시기 바랍니다. 항공우주분야의 이상감지를 연구해왔기 때문에 글의 내용도 도메인에 밀접한 내용이 있으니 참고하시면 좋을 것 같습니다.

이상감지와 머신러닝

이상감지는 머신러닝 영역이 아닙니다. 이미 머신러닝이 적용되기 전부터 게속해서 연구를 해왔었고, 수학적인 방법을 이용해 이상을 찾는 기법들이 존재합니다. 최근에 들어서 머신러닝 특히 딥러닝분야의 연구가 활발해지고, 성능이 좋은 모델들이 나오면서 딥러닝 기반의 이상감지 연구가 활발해지고 있습니다.

이상감지 연구의 가장 어려운 부분은 시계열 데이터에서 이상구간을 찾는 것 인데, 딥러닝 기반 순환신경망(RNN, LSTM)이 발전하면서 기존에는 담지 못했던 ‘시간’의 특징을 담을 수 있게 되면서, 활발한 연구가 이루어지고 있습니다.

기존의 항공우주 분야 이상감지 모니터링 기법

  • OOL(Out of Limit) : 사전에 정의된 limit 값을 기준으로 이상치 탐지합니다.
  • Exper System : 전문가들의 지식을 이용하여 순서드를 만들어 이상치 탐지합니다.
  • Distance based : 특징 추출 후 군집화를 진행하여 거리기반 이상치 탐지합니다.
  • Denisty based : 특징 추출 후 군집화를 진행하여 밀도기반 이상치 탐지합니다.
  • Visualization : 특징 추출 후에 시각화를 하여 전문가들의 소견으로 이상치 탐지합니다.

기존 탐지 기법들의 문제점

기존의 모니터링 시스템은 여러가지 문제점이 있습니다

  • 역동적이고, 복잡한 데이터들에게서 이상을 감지할 수 없습니다.
  • 원격 데이터들의 이상감지 모니터링 시스템을 운영하는데 굉장히 많은 비용과 전문지식이 필요합니다.(많은 도메인 전문가 필요)
  • OOL 기법 등의 기존 탐지 기법들은 데이터의 양이 증가하면서 한계점이 드러나고 있습니다.
  • 원격으로 보내주는 데이터의 양이 증가할수록, 기존 탐지 기법들의 한계가 드러날 것이며, 악화될 것 입니다.(NASA에서는 NISAR라는위성이 하루에 85테라바이트의 데이터를 보낸다고 합니다.)

이상감지에 적용 가능한 머신러닝 모델

  • 이상감지에 적용할 수 있는 머신러닝/딥러닝 기법들을 정리해보았습니다.

    Anomaly Detection Techniques

  • 위 기법들은 제가 공부하면서 알게된 기법들입니다. 그 외에 기법들을 말씀해주시면 수정하도록 하겠습니다.

머신러닝 기반 이상감지 모델의 어려운점

기존의 이상감지 모니터링 방식은 한계점이 있습니다. 최근에 딥러닝 연구가 활발해지고, 성능이 좋은 신경망, 모델 등이 나오면서 딥러닝 기반의 이상감지 기법들이 많이 연구되고 있습니다. 하지만 딥러닝으로 접근하는 방식도 뚜렷한 대책은 없는 것 같습니다.

딥러닝 기반의 이상감지 시스템이 뚜렷한 성과를 내지 못하고, 적용하기 어려운 이유는 ‘데이터’에 있다고 생각합니다. 실제로 연구를 하다보면 가장 먼저 부딪히는게 데이터의 확보 입니다. 다음과 같은 문제를 가장먼저 만나게 됩니다.

  • 현실적으로 이상과 정상을 ‘분류’하려는 접근법에서는 이상이 있는 데이터를 확보하기가 쉽지 않습니다. (데이터 불균형 문제)
  • 도메인에서 이상구간, 이상 데이터라고 규정할 사례(데이터)가 굉장히 적습니다.
  • 도메인 전문가가 판별한 이상 데이터가 실제로 다른 정상데이터와 뚜렷하게 구분되지 않은 경우가 많습니다. 명확하게 구분하기가 힘듭니다.

  • 위의 문제들은 지도학습의 분류문제로 접근하였을 때 쉽게 나타날 수 있는 문제점들 입니다. 즉, 이상감지를 분류문제로 접근해서 해결하기는 쉽지 않다는 것입니다.

  • 지도학습이 안된다면, 비지도학습(Unsupervised learning), 반지도학습(Semi-supervised learning)을 사용해야 합니다. 분류문제로 접근해서 문제를 해결하고자 한다면 가장 쉽겠지만, 현실적으로는 불가능합니다. 그렇기 때문에 라벨링이 필요없는, 아주 소량의 데이터가 라벨링되어있는 상태가 대부분이고, 이는 지도학습이 아닌 비지도학습이나 반지도학습으로 접근하여야 합니다.

‘데이터’만으로는 문제를 풀 수 없습니다. 딥러닝은 데이터 기반의 기법이지만, 이상감지에서는 ‘데이터’만을 이용해 문제를 풀고자 하는 것은 한계가 있습니다. 대부분의 시계열 기반의 이상감지 데이터는 각 도메인과 밀접하게 연관되어 있습니다.

각 도메인마다 데이터의 패턴, 성향이 다르고, 이상의 정의 또한 다릅니다. 데이터를 분석, 처리하는 부분도 도메인 지식이 필요합니다. 도메인 전문가와 함께하거나, 도메인 지식을 알고있는 사람이라면 이상감지 문제를 더 쉽게 풀 수 있을 것 같습니다.


Similar Posts

Previous RetinaNet 원리

Comments