새소식

Paper Review

GOAD: CLASSIFICATION-BASED ANOMALY DETECTION FORGENERAL DATA

  • -

 

https://openreview.net/pdf?id=H1lK_lBtvS

 

요약: 이미지에 대해 geometric transformation을 적용한 anomaly detection 방법인 GEOM에서 tabular data로 확장된 논문으로 geometric transformation을 적용할 수 없는 tabular data에 affine transformation을 적용하여 문제를 해결하였습니다.

목적함수로는 

- transformation 분류를 위한 cross-entropy loss를 사용하고, 

- intra-class variation을 줄이고, inter-class variation은 늘리는 center triplet loss를 함께 사용하여 

각 클래스의 feature space 영역을 compact하게 하고 서로 멀리 떨어지게 만듭니다.

훈련 이후 훈련때 사용하지 않는 anomaly data가 입력되었을 때 높은 anoamly score를 출력하게 하여 anomaly detection을 수행할 수 있습니다.

 

 

ABSTRACT

Anomaly detection은 이전에 본 패턴과 크게 벗어나는 패턴을 찾는 인공지능의 기본 문제 중 하나입니다. 최근에는 classification-based methods들이 이 작업에서 우수한 결과를 보여주었습니다. 본 연구에서는 이러한 일반화 가정을 완화하기 위해 통합된 관점을 제시하고 open-set method인 GOAD 를 제안합니다. 또한, random affine transformations을 사용하여 transformation-based methods의 적용 가능성을 비이미지 데이터로 확장합니다. 우리의 방법은 최첨단의 정확도를 보여주며, 다양한 데이터 유형에 적용 가능합니다. 다양한 도메인의 여러 데이터셋에서 우리 방법의 강력한 성능이 광범위하게 검증되었습니다.

 

INTRODUCTION 

이 논문은 classification 기반의 이상 탐지를 수행한 GEOM (Geometric-transformation classification)을 확장하여 이미지뿐만 아니라 다른 데이터 타입에도 적용 가능한 이상 탐지 알고리즘 (GOAD)을 제안한 논문이다.

 

훈련 데이터에 정상 데이터만 포함된 semi-supervised 시나리오를 가정하였고 open-set classification에서 영감을 받아 inter-class separation (각 클래스 간의 거리)는 느리고 intra-class separation (한 클래스 안의 거리)은 줄어들도록 GEOM 알고리즘을 개선하였다. 또한, 이미지가 아닌 데이터에 대해서도 일반화가 가능하도록 기존의 기하학적인 Transformation을 affine trasnformation으로 확장하였다. 

 

PREVIOUS APPRAOCH

Deep-SVDD의 경우, neural networks를 통해 feature space로 데이터를 매핑하고 c0을 중심으로 한 최소한의 hypersphere를 찾는 문제이다. Hypersphere 밖을 벗어나면 anomaly로 간주한다. 

 

GEOM의 경우, 기하학적인 transformation을 모든 이미지에 적용하고 어떤 transformation을 적용했는지 예측하는 classifier를 학습시킵니다. 결과적으로, 변환된 이미지에 대한 transformation의 예측 확률을 추정하게 됩니다. (이를 위해 dirichlet 분포를 사용했습니다) 훈련된 classifier에 대해서 주어진 입력 $x$ 에 대해 classifier가 anomaly의 transformation을 잘 예측하지 못하는, 즉, 낮은 확률을 갖으면 높은 anomaly score를 부여합니다. 

 

$T(x,m)$은 샘플 x를 transformation m 변환을 한 데이터 

 

$X_{m}$는 transformation m 변환된 데이터의 집합  

 

이 방법론의 중요한 문제점은 학습된 classifier가 training set에서 발견된 집합 $X$ 안의 샘플 $x$ 에 대해서만 유효하다는 것이다. $x$ 가 anomaly set에 속하는 경우, 실제로 모든 tramsformation $m$ 에 대해 값은 0이어야 한다 (변환된 $x$ 는 어떠한 변환 이후 부분 집합에도 속하지 않기 때문에). 이는 이상치에 대한 anomaly score가 매우 높은 분산을 가지게 한다. 

 

이를 해결하기 위한 방법으로, anomaly data에 대해서도 $X_m$ 을 구성하고 $P(m|T(x,m)) = 1/M$ 이 되도록 훈련시키면 된다. 하지만 이러한 supervision은 얻기가 쉽지 않을 뿐더러 tabular data의 경우 적용하기가 쉽지 않다.

 

GOAD

Distance-based multiple transformation classification 

GEOM의 문제를 해결하면서 다른 데이터 타입에 대한 일반화를 어떻게 달성할 수 있을까?

GOAD는 openset-based classification 방법을 이용한다. Openset-classification이란 훈련 데이터의 클래스 종류와 테스트 데이터의 클래스 종류가 다른 경우를 말한다. 보통 이를 위해서 inter-class separation을 최대화하고 intra-class separation을 최소화함으로써 각 클래스의 feature space가 compact하고 서로 멀리 떨어지게 한다. 

 

GOAD는 GEOM과 같이 $M$ 개 transformation $(X_1, ....., X_M)$ 을 생성한 뒤 각 $X_M$ 이 feature space 상에서 $c_m$을 중심으로 한 sphere를 구성하도록 설계한다. 또한 $P(T(x,m)) \in X_{m'} = \frac{1}{z} \text{exp}^{1(f(T(x,m))-c_{m'})^2}$ 의 거리 기반으로 parameterize 함으로써 GEOM과는 달리 anomaly의 변환된 이미지가 $X_M$에 존재하지 않는 문제를 고려할 필요가 없어진다. 결과적으로 transformation $m'$을 예측할 확률은 다음과 같이 주어진다.

 

중심 $c_m$은 각 transformation의 average feature가 된다.

훈련을 위한 목적함수로는

- transformation 분류를 위한 cross-entropy loss를 사용하고, 

- intra-class variation을 줄이고, inter-class variation은 늘리는 center triplet loss를 함께 사용한다. 

다음 수식을 보면, 해당 transformation $m$에 대해 $c_m$까지의 거리를 줄이면서 다른 중심 $c_{m'}$과 거리가 멀어지도록 동작한다. 

 

 

Anomaly 판별을 위한 score로는 위에 정의한 $P(m' | T(x,m))$을 사용한다. 이때, 어떠한 $c{\bar{m}}$으로도 거리가 매우 먼 불확실한 데이터에 대해서는 작은 거리 변화에도 classifier의 분류 결과가 크게 영향을 받게 된다. 따라서 어떠한 transformation인지 불분명한 데이터에 대해 같은 확률을 가질 수 있도록 regularizer $ \epsilon $를 추가한다. 

 

그러면 Anomaly score는 모든 데이터에 대해 transformations를 적용하고 각 transformation마다 독립적이라 가정하여 다음과 같이 정의한다. 비정상일 수록 transformation의 중심으로부터 멀어져 score가 높게 나온다. 

 

 

Parameterizing the set of transformations 

GEOM에서 사용한 geometric transformations는 공간적인 관계를 가진 이미지에서는 굉장히 잘 동작한다. 하지만 공간적 관계가 없는 tabular data에 대해서는 그대로 적용할 수 없다. 이를 tabular 데이터에 일반화하기 위해 transformation의 종류를 다음과 같이 affine transformation으로 일반화한다. 

 

기하학적 변환(rotation, translation, flip 등) 역시, affine transformation에 속한다. 특히, $W$를 랜덤 distribution에서 샘플링하거나 차원 축소가 가능해진다. 더불어 특정한 transformation 클래스에 대한 사전 정의가 불가능한 서로 다른 데이터 타입에 대해 일반적으로 적용할 수 있을 뿐만 아니라, 분류를 잘 못하도록 방해하는 adversarial example에 대한 방어도 어느 정도 가능해진다.

만약 transformation set이 명확히 정의가 되었다면 adversarial example은 알려진 transformation에 대해 생성이 가능하지만,

만약 transformation이 명확히 정의되지 않고 랜덤이라면 adversarial attack을 위해서 일반화가 수행되어야 한다. 

 

정리하자면, affine transformation으로 transfortmation set을 이미지가 아닌 tabular data에 대해서 일반화하고 transformation 자체를 랜덤하게 샘플링한다. 실제 구현에서도 tabular data의 경우 랜덤 분포에서 $W$를 샘플링하여 $T(x,m)$을 얻는다.

 

EXAMPLE

Image experiments 

 

이미지에 대해서는 CIFA-10과 Fashion-MNIST에 대해서 실험했다. GEOM에서 사용된 72가지 transformation을 똑같이 사용하였다. 이미지에 대한 ransdom affine transformation은 성능이 더 좋게 나오지 않았다. 이는 random transformation이 인접 픽셀 간 공간 정보를 왜곡하고 이 왜곡된 정보를 CNN이 효과적으로 포착했기 때문에 오히려 성능이 더 낮게 나왔다. 

 

밑의 실험 결과에서 볼 수 있듯이 GOAD가 다른 baseline 방법들에 비해 높은 성능을 보인 것을 알 수 있다. 실험은 다른 논문과 마찬가지로 one-vs-all 방법으로 진행되었다. 

 

Adverarial robustness

Transformation이 정해진 네트워크와 랜덤 Transformation이 적용된 네트워크에 대해 adversarial example에 대한 calssfication error를 비교한다. 결과적으로, 랜덤 Transformation이 적용된 네트워크의 classificartion이 error가 제일 적었으며, 이는 랜덤 Transformation의 이점을 실험적으로 증명했다고 볼 수 있다. 

 

Tabular data experiments

tabular data 실험에는 

- KDD: 사이버 침입 감지 데이터셋 

- Arrhythmia, Thyroid: UCI 레포에서 추출된 메디컬 데이터셋

을 사용하였다. tabular data에서는 정상 분포에서 추출한 랜덤 transformation을 사용하였으며, 데이터의 차원을 줄이도록 설계하였다. 네트워크는 fully-connected (그러나 실제 구현된 코드에서는 kernerl 사이즈가 1인 convolution을 사용함)와 leaky-ReLU가 사용되었다. 실험 결과는 다음 표와 같고 GOAD가 다른 방법들에 비해 월등이 높은 성능을 보인다. 

 

 또한, 랜덤 transformation의 개수 (the number of auxiliary tasks)가 많아질 수록 성능이 증가하면서 분산이 감소하는 것을 확인할 수 있다. 

Contaminated data 

논문이 비록 semi-supervised 시나리오를 가정했지만, anomaly가 일정 비율 오염되어있는 데이터셋에 대해서 성능을 확인한 실험을 수행하였다. 다음 그림과 같이 baseline에 비하여 훈련 데이터에 anomaly가 섞여 있더라도 더 좋은 성능을 나타냄을 확인할 수 있다.

Choosing the margin parameter s 

Center triplet loss의 클래스 클러스터 간의 거리를 조절하는 마진 s에 대한 민감도는 딱히 크지 않다. 아래 표에서 볼 수 있듯이 s=0.1, s=1의 성능이 거의 비슷한 것을 볼 수 있다. 실제 코드에서는 s=1을 사용한다.

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.