정상 데이터로만 결함을 검출하는 Anomaly Detection

eric9687·2022년 1월 19일

Anomlay Detection

AI가 스마트팩토리 등의 산업에 적용될때, 정상 데이터와 결함 데이터를 학습(Supervised Learning)하여, 결함의 유무를 판단하는 방법을 많이 사용하고 있지만, 실제 생산과정에서 결함이 있는 데이터를 구하는 것은 쉽지 않고, 그 데이터셋은 불균형(Class Imbalance)와 같은 흠이 있을 것이다. 이 문제를 보완하기 위한 방법으로 제시된것이 Anomaly Detection이다.

Semi-supervised (1-class) Anomaly Detection

  • 정상 sample들의 discriminative boundary를 설정하고, 그 boundary를 최대한으로 좁혀, boundary안에 속한 sample은 정상, 밖에 위치한 sample은 결함으로 분류
  • 하지만, 정상/결함 데이터로 학습하는 supervised learning보다는 성능이 떨어진다.

Unsupervised Anomaly Detection

  • label이 없는 데이터에 대해서 학습 가능
  • PCA(Principal Component Analysis)를 이용하여 차원축소 및 복원
  • Autoencoder 이용.
  • 판단 기준:정상 입력 정상 출력, 입출력 차이 없음. 결함 입력 정상 출력, 입출력 차이 있음.
  • 문제 1: Autoencoder의 압축정도같은 hyperparameter에 따라서 복원 성능이 달라지기 때문에 불안정
  • 문제 2: 입출력의 차이에 대한 정의 방법
  • 문제 3: loss function의 선택

정상/결함(비정상)의 정의

  • normal sample: 정상 샘플 (강아지)
  • novelty sample(=unseen sample): 정상이지만, normal sample들과는 약간 다른 특징을 가진 샘플 (혀를 내민 강아지,...)
  • outlier sample(=abnormal sample): 비정상, 결함이 있는 데이터 (호랑이, 말,...)
  • Indistribution sample = normal sample + novelty sample
  • novelty sample을 새로운 class로 구분하여 학습하는 방법으로 incremental learning도 있다.

Out-of-distribution(OOD)

  • In-idstribution 데이터에 대해 정확히 예측하고, Out-of-distribution은 걸러내는 것을 목표로
  • 하지만, 일반적인 classfication은 softmax의 exponential계산으로 예측 확률이 1에 근접하는 high-confidence결과가 많이 나옴.
  • 예를들어서, out-of-distribution 데이터를 Mnist로 학습된 모델에 넣으면 어떠한 클라스로도 예측이 되면 안되지만, 특정 클래스로 예측 되는 경우가 생김.
  • Unknown class 추가? => 다양한 unknown 클래스 데이터를 추가로 수집해야함.

OOD 방법론

....to be continued

profile
그러나 먼저 된 자로서 나중되고 나중 된 자로서 먼저될 자가 많으니라(마:19:30)

0개의 댓글