Hello Computer Vision

비전공생의 A simple Unified Framework for detecting Out-of-Distribution samples and Adversarial Attacks(2020)논문리뷰 본문

Out of Distribution

비전공생의 A simple Unified Framework for detecting Out-of-Distribution samples and Adversarial Attacks(2020)논문리뷰

지웅쓰 2023. 9. 28. 20:24

https://arxiv.org/pdf/1807.03888.pdf

 

Introduction

uncertainty 를 아는 것은 머신러닝을 실제 세계에 응용하기 위해서는 필수적이다. 기존 연구들에서는 posterior distribution으로부터 confidence를 뽑아내 활용했다. 이러한 것은 DNN이 feature space를 구성하는데 도움이 된다. 이 논문에서는 간단하고 효율적이며 pre-trained softmax classifier에도 적용할 수 있는 방법이라고 한다.  해당 방법은 generative(distance based) classifier를 활용하는 것이다. 저자는 Mahalanobis distance를 활용하여 confidence score를 정의한다. 기존 통념과는 다르게 해당 distance method를 사용하더라도 softmax accuracy가 하락하지 않는다고 한다.

 

Mahalanobis distance-based score from generative classifier

저자는 Gaussian discriminative analysis 를 기반으로 confidence score를 softmax 대신 generative classifier를 통해 산출했다고 한다. 

그렇다면 왜 Mahalanobis distance를 사용할까? $x \in X$ input으로 정의하고 $y \in Y = {1, 2, .. C}$는 label로 정의한다면 softmax classifier 는 다음과 같이 정의할 수 있다. 

해당 방법은 multivariate Gaussian distribution을 따르는 class-conditional distribution이다. 따라서 저자는 C개의 class에 대해서 다음과 같이 정의한다. $\sum : P(f(x)| y = c) N(f(x) | \mu_{c}, \sum ) $  여기서 $\sum $은 C개의 class들에 대한 공분산 행렬을 나타낸다. 

generative classifier의 parameter를 추정하기 위해 training sample ${(x1, y1), (x2, y2) ... (xn, yn)} $ 에 대한 mean, covariance는 다음과 같이 정의할 수 있다고 한다.

 

 

위의 정리를 활용하여 test sample x와 closeest class-conditional Gaussian distribution간의 거리인 confidence score M(x)인 Mahalanovis distance를 정의했다고 한다.

해당 metric은 test sample에 대한 log of the probability densities를 측정할 수 있다고 한다. 

 

위 수식은 uniform class prior에 대하여 classifier가 class label을 예측하는 것과 동일하다고 한다. 

이를 시각화했을 때 softmax classifier보다 Mahalanobis distance를 사용했을 때 더 좋았다고 한다.

 

추가적으로 저자들은 test sample에 대해 small noise 를 추가했다고 한다.

 

 

성능을 더 높이기 위해서 Feature ensemble을 사용하는데, $l$번째 layer의 hidden feature에 대해 means, covariance를 계산해 추가적으로 better calibrated score를 얻었다고 한다.

 

Result

 

개인적으로 유명한 논문인만큼 어려운 논문이라서 이해보다는 그냥 번역한 수준이네요.. 틀린점 있다면 지적해주시면 감사하겠습니다. 코드를 본 후 다시 읽어볼 논문 중 하나인 거 같습니다.