본문 바로가기

AI/논문리뷰

[논문리뷰] Using Self-Supervised Learning Can Improve Model Robustness and Uncertainty

논문 링크 :https://arxiv.org/abs/1906.12340https://ojs.aaai.org/index.php/AAAI/article/view/5966

 

Self-Supervised Learning for Generalizable Out-of-Distribution Detection | Proceedings of the AAAI Conference on Artifici

 

ojs.aaai.org

  최근 OOD(out-of-distribution) detection에 관심이 생겨서 이와 관련된 다양한 논문을 survey 중에 해당 논문을 발견했다. 해당 논문은 NIPS 2019 논문으로 Self-supervised learning을 accuracy관점이 아닌 모델의 Robustness 관점에서 바라 본 논문이다. 해당 논문에서는 SSL(self-supervised learning)을 통해 모델의 representation을 추출하는 능력을 향상시키고, 이러한 과정을 거치면 adversarial example, label corruptions, input corruption, OOD에 강인해진다는 내용이다. 이를 실험적으로 검증하며, 해당 리뷰에서는 관심있는 OOD에 대해서만 리뷰를 진행한다.

 

 

-Introduction

  SSL은 데이터가 부족한 상황에서 supervised learning의 accuracy를 쫓아가기 위한 하나의 도구로 여겨지고 있다. 따라서 우리는 SSL을 통해서 이상적인 fully supervised learning의 성능에 도달하기 위해 노력한다. 결과적으로 SSL로 학습한 모델은 accuracy 관점에서는 supervised learning과 큰 차이가 없어보인다. 하지만, SSL 방법을 적용하여 학습한 모델은 위에서 언급한 adversarial example, label corruptions, input corruption, OOD에 강인한 경항성을 보인다.

  해당 논문에서는 Supervised learning과 SSL을 기법을 동시에 적용하여 학습한 모델이 모델의 Robustness를 증가시킨 다는 것을 실험적으로 검증한다. 이러한 방법은 추가적인 data 혹은 larger한 model의 사용없이 모델의 robustness를 증가시킨다. 추가적으로 논문에서는 이러한 성능 평가들을 앞으로의 SSL연구에서 추가적인 metric으로 제시한다.

 

 

-Out-of-Distribution Detection

  해당 논문에서는 rotation prediction이라는 SSL 기법을 추가적으로 적용하여 OOD를 dectection하는데 추가적인 도움을 준다. 실험은 Multi-class Out-of-Distribution Detection과 One-Clss Learning으로 나누어 진행한다. Multi-class는 여러 class를 갖는 dataset에 대해 학습을 수행한 뒤에, 다른 dataset이 들어왔을 때 detection하는 성능을 평가하고, One-class는 k개의 class를 갖는 dataset에 대해서 1개 class에 대한 image를 학습한 뒤, k-1개의 data를 out-of-distribution으로 간주하여 평가를 수행한다. One-class의 경우 OOD가 in-distribution 근처에 있으므로 multi-class에 비해 더 어려운 task로 간주된다.

 

-Multi-class out-of-Distribution Detection

  실험에서는 OOD detector의 성능을 AUROC를 사용하여 평가한다. AUROC는 OOD가 in-distribution보다 anomaly score가 더 높을 확률을 의미하며, 100% AUROC는 이상적인 성능을 50%는 random하게 선택한다는 것을 의미한다. 학습하는 동안의 Loss는 다음의 Loss를 사용하며, 학습 데이터는 CIFAR-10을 사용한다.

 

학습 후에는 다음과 같은 공식을 통해서 점수를 매긴다.

 

여기서 U는 Uniform distribution을 의미한다.

 

여기서 OOD dataset은 Gaussian, Rademacher, Blobs, Textures, SVHN, Places365, LSUN, CIFAR-100 이미지를 사용했다. 아래는 실험결과를 보여주며, 본 논문에서 제안한 방법이 Baseline보다 AUROC를 4.8% 개선했음을 보인다.

 

 

해당 방법은 추가적인 data가 필요없고, auxiliary rotation prediction head만을 사용하여 성능을 개선했다.

 

-One-class Learning

  CIFAR 데이터 셋에서 다양한 OOD detection 방법에 따른 성능을 실험했고, 실험결과는 아래와 같다.

여기서 OE는 Outlier Exposure이라는 방법인데, 해당 방법에 대해 잘 알지못해서, 추가적인 공부를 할 계획이다. 결과적으로 Ours와 OE를 결합한 방법의 성능이 가장 좋았다. 그리고 실험 결과에서 OC-SVM, DeepSVDD와 같은 기존의 OOD 방법 보다 Geometric, RotNet과 같은 SSL 방법의 성능이 더 좋은 결과를 보이는 것을 확인할 수 있다. Once class에서 사용한 example x의 anomaly score는 다음과 같다.

 

Rotation 이외에도 수직방향과 수평방향에 대한 translation prediction을 수행하였으며 G는 각 r,s,t에 대해 구성된다. OE를 학습할때는 추가적으로 OOD에 대해 uniform한 softmax 응답값을 가지도록 학습한다.

 

ImageNet에서 실험한 결과는 다음과 같다.

imageNet은 서로 다른 이미지 크기에 대해 resize를 맞추는 추가적인 task를 추가했다. 이러한 SSL 기법들을 추가하여 학습을 수행할수록 AUROC의 확률이 높아지는 것을 확인했다. (기법을 추가할수록 모델이 OOD detection을 잘 수행한다.) 이는 Supervised(OE)의 성능을 많은 gap으로 개선했음을 보여준다.

 

이상 논문리뷰였습니다.