본문 바로가기

AI/논문리뷰

[논문리뷰] Unsupervised Out-of-Distribution Detection by Maximum Classifier Discrepancy

논문링크 : https://arxiv.org/abs/1908.04951

 

Unsupervised Out-of-Distribution Detection by Maximum Classifier Discrepancy

Since deep learning models have been implemented in many commercial applications, it is important to detect out-of-distribution (OOD) inputs correctly to maintain the performance of the models, ensure the quality of the collected data, and prevent the appl

arxiv.org

해당 논문은 ID데이터만을 이용하여 학습을 진행한 기존의 방법과 다르게 Unlabeled data를 이용하여 OOD detection에 대한 학습을 수행한 논문이다. 해당 논문의 방법은 논문 제목의 Maxium Clssifier Discrepancy의 앞글자만 딴 MCD라고 불린다.

 

 

해당 논문은 학습 과정에서 ID(in-distribution) 데이터와 OOD(out-of-distribution) 데이터가 섞여있는 unlabeled data를 사용한다. 이 때, 학습 모델은 1개의 공통 CNN feature extractor를 사용하고, 두개의 classifier를 사용한다. ID data에 학습이 완료된 두개의 classifier는 서로 초기에 다른 initialized parameter를 갖기 때문에 다른 결정경계를 형성하고 있을 것이다. 이 때, OOD data를 입력으로 넣으면 출력값의 softmax vector에 discrepacny가 발생하고, 이를 ood detection에 사용한다.

 

오른쪽의 그림처럼 기존의 방법들은 OOD data가 uniform distribution을 가지도록 학습을 수행하여, 결정경계 위에 OOD data가 놓이게 되지만, 본 논문의 방법은 두개의 classifier를 사용하여 두 classifier의 차이로 인해 발생하는 OOD data의 discrepancy를 최대화 하는 방향으로 학습을 수행한다.

 

제안하는 MCD의 학습 과정은 2-step으로 진행되며, 위의 슬라이드와 같이 1번째 step에서는 ID data에 대해서 supervised learning을 수행하여 pretrain을 수행하고, 2번째 step에서는 OOD와 ID가 섞여있는 unlabeled data를 이용하여 unsupervised learning을 수행한다. unsupervised learning은 위 슬라이드 아래의 Discrepancy Loss를 이용하여 학습을 수행하며,  첫번째 항은 p1이 uniform하도록, 두번째 항은 p2가 overconfident하도록 학습을 수행한다. 즉, 두개의 classifier의 출력 vector의 차이를 크게 만드는 것이다.

 

2번째 step에서도 ID data를 사용하는데 위의 Finue tuning loss와 같이 ID data에 대해서는 일반적인 크로스 엔트로피 loss를 사용하고, unlabeled data에 대해서는 특정 margin m만큼 차이나도록 학습을 수행한다. 이렇게 학습한 네트워크는 위의 슬라이드 오른쪽 아래 히스토그램과 같이 ID data에 대해서는 0에 가까운(차이가 없는) 결과를 보여주지만 OOD data인 TINr과 LSUNr에 대해서는 discrepancy가 발생하는것을 확인할 수 있다.

 

Inference 과정에서는 data를 넣어서 특정 threshold 이상의 discrepancy(score)를 가지면, OOD data로 detection한다. 아래의 table은 실험결과를 보여주며, 기존의 ODIN과 ELOC 방법론의 성능을 개선함을 실험적으로 확인할 수 있다.

 

이상으로 논문리뷰를 마칩니다.