본문 바로가기

Machine Learning Tasks/Anomaly Detection

NeuTraL AD

반응형

이미지의 회전, 반전, crop 등의 다양한 transformation을 이용한 representation 학습 방법은 간단한 image classification 부터 시작하 다양한 downstream task에 선제적으로 이용되어 왔습니다. 지난 포스트에서 다루었던 SimCLR, MoCo, SwAV 등이 있죠. 하지만 이미지에 쓰이는 다양한 transformation 은 이미지의 공간적인 정보를 어느 정도 유지한다는 가정이 적용되기에 이미지를 제외한 tabular/time series 데이터에 이미지에 쓰이는 다양한 transformation 을 그대로 적용하기는 굉장히 애매합니다. 이번 포스트에서 다룰 내용은 SimCLR 등에서 다루었던 대조 학습 기반에 transformation 까지 neural networks로 학습해 이미지가 아닌 tabular/time series 데이터에 대해 이상탐지를 수행한 NeuTraL AD (Neural Transformation Learning for Deep Anomaly Detection Beyond Images) 입니다.

NeuTraL AD

NeuTraL AD 는 이미지와 더불어 tabular/time series 데이터 등 보다 일반적인 데이터에 대해서도 대조 학습 기반으로 이상탐지가 가능하도록 하는 알고리즘입니다. NeuTraL AD 는 Figure 1과 같이 1) 데이터의 transformation을 학습하는 learnable transformation, 2) transformed 된 데이터의 representation 을 추출하는 encoder 의 두 가지 모듈로 구성되어 있습니다. Neural transformation 과 encoder 는 DCL (deterministic constrastive loss)로 함께 학습하며 훈련 이후에는 DCL 값을 통해 이상치 여부를 판단합니다.

데이터의 $K$개 transformation $T={T_1, ..., T_K}$ 은 neural networks에 의해 학습가능하며, 각각의 transformation $T_k$은 $\theta_k$의 파라미터를 가진 deep neural networks 으로 구성됩니다. 즉, 데이터 $x$에 대한 $T_k(x)$는 $\theta_k$의 파라미터를 가진 deep neural networks 의 출력으로 구성된다는 것이죠.

NeuTraL AD 의 목적함수, DCL은 transformed data $x_k = T_k(x)$가 원래 데이터 $x$와 비슷하도록 하면서 서로 다른 transformed data $T_l(x), T_k(x)$는 서로 달라지도록 동작합니다. 먼저 Equation 1의 similarity score function을 정의합니다. Equation 1의 $sim(z, z')=z^T z' / \Vert z\Vert \Vert z'\Vert$이며 $f_\phi$ 는 $x$의 feature를 뽑아내는 feature extractor, encoder 입니다. $x_k, x_l$이 비슷할수록 score가 높습니다.

Equation 1

DCL은 Equation 2와 같습니다. DCL을 통해 encoder의 파라미터 $\phi$와 $K$개의 neural transformation 파라미터 $\theta_{1:K}$가 동시에 학습됩니다. Equation 2의 분자 부분을 보았을때 DCL은 transformed data $x_k$가 원래 데이터 $x$와 유사도가 높아지도록 하며, 분모 부분은 서로 다른 transform data가 서로 멀어지게끔 합니다.

Equation 2

마지막으로 훈련 이후에 이상치 여부를 판단할 anomaly score는 Equation 3을 사용합니다. 정상데이터라면 DCL 목적에 맞게 잘 훈련되었을 것이므로 $S(x)$가 높을 것이고 이상치라면 $S(x)$가 낮을 것입니다. 주목할 점은 다른 대조 학습 방법과 다르게 score를 측정하기 위한 negative 샘플이 필요하지 않다는 점입니다.

Equation 3

A theory of neural transformation learning

그렇다면 기존의 다른 self-supervised learning을 이용한 이상탐지 방법에 비해 DCL을 사용한 NeuTraL AD는 어떠한 이점을 지닐까요? 먼저 self-supervised learning을 성공적으로 수행하기 위해서는 데이터의 transformation은 다음 조건을 만족하여야 합니다.

1) Semantics: 모든 transformation은 원래 데이터의 공통된 의미적인 정보 (semantic information)을 공유하여야 합니다.
2) Diversity: 각 transformation은 원래 데이터의 다양한 transformation을 수행하여야 합니다.

Transformation 을 neural networks 를 통한 학습으로 수행하고 성공적인 self-supervised learning을 수행하기 위해서는 위의 semantics/diversity 조건을 만족해야 합니다. Semantics 조건을 만족하지 못한다면 입력 $x$의 정보가 반영되지 않으므로 정상/비정상 여부를 판단할 수 없고 diversity 조건을 만족하지 못한다면 self-supervised learning 자체가 수행되지 않습니다.

위 조건을 만족하지 않는 가장 극단적인 예로는 먼저 입력에 상관없이 항상 일정한 transformation을 수행하는 constant transformation $T_k(x) = c_k$가 있습니다. 이와 같은 경우는 $x$에 상관 없이 transformation이 일정하므로 semantics 조건을 위배합니다. 다음으로는 모든 transformation이 같은 identity transformation $T_1 (x)=...=T_K (x)=x$ 로 이 경우는 diversity 조건을 위배합니다. 그렇다면 NeuTraL AD는 다른 self-supervised learning 기반 이상탐지 방법과 달리 어떻게 이러한 극단적인 경우를 피할 수 있을까요?

첫 번째 비교대상은 $K$개의 transformation 중 어떠한 transformation 을 가했는지 $f_\theta() : X \rightarrow R^K$ 로 예측하는 "Effective end-to-end unsupervised outlier detection via inlier priority of discriminative network" 로 transformation 예측에 대한 softmax 목적함수 $L_P$를 사용합니다.

두 번째 비교대상은 SimCLR 입니다. SimCLR은 mini-batch 안에서 두 개의 데이터와 ($x_1, x_2$) 두 개의 transformation $T_1, T_2$를 뽑아 positive pair 끼리는 유사도가 높아지도록, negative pair 끼리는 유사도가 낮아지도록 학습하는 방법으로 다음 목적함수 $L_C$를 사용합니다.

이러한 방법들은 transformation의 대상이 이미지로 고정되어 있어 일반적인 다른 타입의 데이터에 대해 적용하기 쉽지 않은데요, 다음 Propositions를 보면 $L_P$와 $L_C$는 transformation을 학습하는데 적합하지 않습니다.

먼저 constant transformation 은 입력에 상관 없이 각각 고정된 transformation을 도출하기 때문에 적용된 transformation 종류를 예측하는 문제가 굉장히 쉬워집니다. 따라서 $L_P$ 목적함수의 최저값이 되버려 semantics 조건을 만족하지 않는 transformation이 학습될 가능성이 있습니다. Identity transformation은 transformation이 모두 동일해져 버리는 현상인데 $L_C$로 transformation을 학습할 경우 positive pair 가 쉽게 파악될 수 있는 identity transformation이 학습될 가능성이 있습니다.

Propositions

즉, $L_P, L_C$ 로는 semantics/diversity 조건에 위배되는 transformation이 학습될 가능성이 있으며 목적함수 값 자체를 score로 사용한다면 정상/비정상이 제대로 구분되지 않을 여지가 있습니다. 하지만 DCL의 경우는 분자 부분을 통해 transformed data가 원래 데이터와 유사도가 높아지도록 동작하므로 semantics 조건을 만족시키고 분모 부분을 통해 각 transformed data 끼리의 유사도가 낮아지도록 동작해 diversity 조건을 만족시키게 됩니다.

특히 Figure 2에서 훈련 이후에 정상/비정상 데이터가 명확하게 구분되는 것을 볼 수 있습니다. 또한 SimCLR과 다르게  대조 학습을 위한 negative 샘플이 필요 없으므로 훈련 및 테스트 시의 시간적인 측면에서도 이득이 있습니다.

 

Empirical study

Tabular/time series 데이터에 대해 이상탐지 실험을 수행합니다. Evaluation protocol 로는 일반적으로 쓰이는 one-vs-rest (하나의 클래스만 정상이고 나머지 클래스를 비정상으로 세팅) 와 조금 더 어려운 n-vs-rest (n개의 클래스를 정상으로 하고 나머지 클래스를 비정상으로 세팅) 을 사용합니다.

Anomaly detection of time series

전체 sequence 레벨에서의 이상을 탐지합니다. 이때 $T_k (x)=M_k(x) \odot x$ (elementwise multiplication)을 사용하며 $M_k (x)$는 instance normalization이 적용된 3개의 residual block에 sigmoid 가 붙은 하나의 convolution 층의 출력으로 0과 1사이의 값을 같습니다.

Table 1을 보면 NeuTraL AD가 기존 방법들에 비해 높은 성능을 얻은 것을 볼 수 있습니다. 특히 일반적인 데이터에 랜덤 affine transformation을 사용하는 GOAD에 비해서 더욱 좋은 성능을 보였습니다.

Figure 3을 보면 정상 데이터와 비정상 데이터가 DCL에 의해 어떻게 훈련되었는지 확인할 수 있습니다. $K=4$ transformation에 대해 encoder 로 추출한 feature space 상에서의 분포를 보면 정상 데이터는 서로 다른 transformation 에 대해 매우 퍼져 있고 transformation 끼리 군집된 것을 확인할 수 있습니다. 이와 반대로 비정상 데이터는 transformation 과 상관없이 매우 덜 구조화된 것을 볼 수 있습니다.

학습한 $M_{1:4} (x)$는 다음과 같습니다. 4개의 마스크는 마지막 sigmoid 함수에 의해 0과 1사이의 값을 가지고 있으며 서로 다른 부분에 초점을 두고 있는 것을 볼 수 있습니다.

마지막으로 n-vs-rest 프로토콜에 대해 검증합니다. n이 클수록 매우 다양한 정상 클래스의 조합이 생기므로 연속적인 n개의 클래스를 정상 클래스라 세팅하고 실험을 수행합니다. 자연스럽게 n이 클수록 AUC가 하락하는 것을 볼 수 있지만 NeuTraL AD가 높은 성능을 보임을 알 수 있고 비교적 간단한 SAD 데이터셋에 대해서는 k-NN 기반의 LOF가 제일 높은 성능을 보였습니다.

 

Anomaly detection on tabular data

Tabular 데이터에 대해서도 마찬가지로 $T_k (x)=M_k(x) \odot x$로 정의합니다. Tabular 데이터는 차원이 없기 때문에 3개의 층으로 구성되고 마지막 sigmoid 활성 함수가 붙은 MLP를 $M_k$로 사용합니다. Table 2의 결과를 보았을 때 다른 방법에 비해 더 높은 성능을 보임을 확인할 수 있습니다.

 

Design choices for the transformations

실험에서는 $T_k (x)=M_k(x) \odot x$로 구성했지만 $T_k(x)=M_k(x)$ (feed forward) 나 $T_k(x)=M_k (x)+x$ (residual) 식으로 transformation을 구성할 수 있습니다. Figure 6을 보면 구성한 방법에 따라 크게 차이가 나지 않는 것을 볼 수 있고 $K\geq 5$인 순간부터 성능이 안정적으로 높게 나옴을 볼 수 있고 이는 transformation의 수가 많아 이상탐지에 효과적인 transformation이 잘 학습되었다고 생각할 수 있습니다. 반면 $K\leq 4$인 구간은 성능의 분산이 매우 큰데 이는 transformation 수가 적어 효과적인 이상탐지가 힘든 것으로 추정됩니다.

 

참조

반응형