본문 바로가기

AI/논문리뷰

[논문리뷰] Background Data Resampling for Outlier-Aware Classification

논문 링크 : https://openaccess.thecvf.com/content_CVPR_2020/html/Li_Background_Data_Resampling_for_Outlier-Aware_Classification_CVPR_2020_paper.html

 

CVPR 2020 Open Access Repository

Yi Li, Nuno Vasconcelos; Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2020, pp. 13218-13227 The problem of learning an image classifier that allows detection of out-of-distribution (OOD) examples, with the help

openaccess.thecvf.com

해당 논문은 OOD detection 방법에 사용하는 Outlier Exposure data 방법(OOD data를 사전에 노출 시키는 방법)에 대한 논문이며, 해당 방법을 사용할 때, 학습에 중요한 OE data를 sampling하는 방법에 대한 논문이다.

 

OOD detection을 위해 OE를 학습하는 과정에서 OE data를 많이 이용할수록 좋은 결정경계를 형성할 수 있지만, 이는 cost와 현실적인 여러가지 문제에 부딪혀 우리는 sampling된 OE 데이터를 사용하는것이 일반적이다. 하지만, 이 때, 임의로 sampling한 OE를 사용하는 것보다 대표적인 OE를 사용하면, 전체 OE를 사용할 때와 비슷한 성능을 내거나 높은 성능을 낼 수 있다고 논문에서는 주장한다.

 

위 슬라이드의 그림을 보면 회색으로 색칠된 점이 OE데이터, 하얀색 점들이 OOD data, 오렌지색 점이 ID data를 나타낸다. (a)그림과 같이 적은 양의 OE데이터를 사용하게 되면, 부정확한 바운더리를 형성한다. 하지만 (b)와 같이 OE 데이터 전체를 사용하게 되면 최적화된 결정경계를 형성한다. 하지만 이는 메모리, cost 관점에서 비효율적이다. 그래서 우리는 (c)와 같이 OE data를 임의로 sampling하여 학습을 수행하지만, 이는 전체 데이터로 형성한 결정경계의 성능보다 부정확함을 알 수 있다. 따라서 (d)와 같이 중요하고 대표적인 OE만 sampling하여 학습을 수행하면 (b)의 성능과 비슷한 성능 혹은 높은 성능을 낼 수 있다. 논문에서는 이런 대표적인 OE data들을 Challenging background image라고 하며, 이는 ID와 OOD를 헷갈리는 데이터들로 ID와 OOD의 경계에 있는 데이터이다. 따라서 우리는 이러한 Cahllening background data들을 잘 sampling해야 한다.

 

본 논문에서 OE를 학습하는 방법은 기존의 OE논문과 동일하게 학습을 수행한다. ID data에 대해서는 label을 one-hot vector로 한 일반적인 Cross-entropy loss를 이용하여 학습을 수행하고, OE 데이터에 대해서는 해당 데이터의 출력이 uniform에 가까워지도록 학습을 수행한다. 이에 대한 Loss term은 위와 같으며, Lin은 ID data, Lout은 OE데이터에 대한 학습 Loss term이다. 알파 값은 하이퍼파라미터이다.

 

논문에서는 OE data는 일반화 성능을 높이며, 일반화 성능에 관한 연구가 되지 않았지만, 실험적으로 다양한 분포의 OE를 사용하면 성능이 향상됨을 말한다. 또한 학습시에 ID data와 OE data의 분포가 근접할수록 성능이 좋다고 말한다. 예를 들어 CIFAR-10이 ID 데이터이면 OE를 CIFAR-100을 사용하는 것이 성능이 더 좋다는 의미이다.

 

본 논문에서는 이러한 ID의 경계에 가까운 data를 찾을 때, 데이터를 하나씩 선택하면서 찾는 방법은 combination 문제로 cost가 너무 크기 때문에, 각 데이터들에 대해 weight를 부여하여 각 데이터별 영향력을 다르게 둔다. 위의 슬라이드 왼쪽 첫번째 내용은, 기존의 OE loss term을 이러한 데이터별 weight를 고려한 식으로 변경한 식을 나타내고 있다. 왼쪽의 두번째 문단과 같이 결국 우리는 이러한 w에 대해 가장 낮은 Loss를 갖도록 최적화를 진행하고 세타 스타는 해당 w(weight)에 대해서 최적의 모델 파라미터를 나타내고 있다. 따라서 우리는 3번째 문단과 같이 어떤 함수 F(function)이 있다면, 해당 값을 최소로 갖는 w(weight), 즉 최적화된 weight인 w스타를 찾아야한다.

 

해당 과정은 위슬라이드 오른쪽과 같이 (18)과 (19)과정을 iterative하게 수행하므로써 최적화된 모델 파라미터와 최적화된 w(weight)를 update한다. 이를 그림으로 나타낸것이 오른쪽 아래의 그림이다.

 

이 때, F는 -L, 즉 Loss에 마이너스를 붙여서 정의한다. 이는 Loss가 커지는 sample은 Lout값이 커지는 것이고 따라서 ID와 겹치거나 가까이 있는 sample임을 나타낸다. (결정경계에 가까이 있을수록 loss가 커지므로) 따라서 Loss가 클수록 F는 작아지고, 가장 작은 F를 갖는 데이터에 대해서는 큰 weight w값을 부여하도록 update하는 것이다. 왼쪽 아래는 지금까지의 과정을 한눈에 정리한 알고리즘이다.

 

오른쪽 테이블은 random으로 10% sampling, 전체 OE를 사용, OE를 사용하지 않은 방법들과 비교한 실험결과를 나타내며, CIFAR-10에서는 논문에서 제안한 방법의 성능이 FPR에서는 가장 좋은 성능을, AUROC와 AUPR은 Full보다는 약간 성능이 떨어지지만, Random보다는 더 좋은 성능을 나타냈다. 또한 CIFAR-100, Tiny ImageNet에서는 논문에서 제안한 방법이 Full과 Random보다 더 좋은 성능을 나타내는 것을 확인할 수 있었다.

 

이상 논문리뷰였습니다.