Training Confidence-calibrated Classifiers for Detecting Out-of-Distribution Samples 정리
by Sangheon Lee
Training Confidence-calibrated Classifiers for Detecting Out-of-Distribution Samples 정리
- 저자 : Kimin Lee, Honglak Lee, Kibok Lee, Jinwoo Shin
- 학회 : ICLR 2018
- 날짜 : 2017.11.26 (last revised 2018.02.23)
- 인용 : 50회
- 논문 : paper
1. Introduction
모델의 Uncertainty
- 기계학습 또는 딥러닝 모델의 uncertainty란, 학습된 모델이 학습 과정에서 보지 못한 데이터에 대해 도출한 결과에 대해 얼마나 믿을 것인지를 나타내는 요소.
- 간단히, 모델의 신뢰성.
- 자금 투자 혹은 의료 분야에서 기계학습 모델이 사용되는 경우, 모델이 도출한 결과의 영향력이 매우 크기 때문에 uncertainty를 통한 모델의 신뢰성 측정은 중요함.
2. Related Works
- Uncertainty 측정 방법
1) Softmax Probability
- Softmax 값, 즉 분류 모델의 classification probability를 통해, 주어진 입력에 대해 모델이 얼마나 확신을 가지고 대답할 수 있는지 판단할 수 있음.
- 하지만 그림과 같이, 학습 과정에서 보지 못했던 입력에 대해 높은 classification probability로 틀려버리는 경우가 있기 때문에, 단순하게 softmax 값만으로는 uncertainty를 정확히 측정할 수 없음.
2) Threshold-based Detector
- 2015년 논문 및 다른 논문들에서 연구됨.
- 입력 데이터가 학습 데이터 분포에 해당하는지(in-distrubution), 학습 데이터 분포 밖인지(out-of-distribution)를 판별하는 연구.
- 모델의 softmax 값을 기반으로 score를 계산하여, 특정 threshold보다 높으면 입력을 in-distribution data, 낮으면 입력을 out-of-distribution data로 판단.
- 한계점: 모델 학습 데이터(in-distrubution data)를 어떻게 잡냐에 따라 성능이 좌지우지됨.
3. Proposed Methods
3-1. Objective
- In-distribution data: 학습에 따라 모델이 유추하는 classification probability를 그대로 출력.
- Out-of-distribution data: 모델에 따른 classification probability를 uniform distrubution이 되도록 함.
3-2. Confidence Loss
- 3-1.을 만족시키기 위해 모델 학습에 사용되는 Loss.
- In-distribution data는 NLL(Negative Log Likelihood) loss.
- Out-of-distribution data는 uniform distrubution과의 KL divergence. (KL divergence: 분포 간의 거리)
-
간단한 실험
- SVHN (in-dist dataset), MNIST (out-of-dist dataset) 을 사용한 간단한 CNN 모델.
- 기존 cross entropy loss만을 썼을 때 (왼쪽 그래프), unseen data의 가장 높은 softmax값이 0.9처럼 높은 값을 갖는 경우가 많음.
- 제안된 Confidence loss를 썼을 때 (오른쪽 그래프), unseen data의 가장 높은 softmax값은 대체적으로 낮음.
- 그렇다면 모델 학습에서 사용되는 out-of-distribution dataset을 어떻게 설정할 것인가?
- 다른 dataset을 사용하는 것이 아니라, GAN (Generative Adversarial Networks) 으로 만들자.
3-3. GAN for generating OOD samples
- (a): in-distrubtion data (파란색, 빨간색) 와 out-of-distrubtion data (초록색) 을 그림과 같이 설정하면,
- (b): 모델 학습 이후 decision boundary가 그림과 같이, in-distrubtion data 분포와 동일하게 나타나지 않음.
- (c): 따라서 out-of-distrubtion data를 그림과 같이 in-distrubtion data에 최대한 밀접하여 설정을 하면,
-
(d): 모델의 decision boundary를 in-distrubtion data 분포와 일치하도록 할 수 있음.
-
이러한 조건을 만족하는 OOD (Out-Of-Distribution) data를 생성하는 GAN 모델 학습 loss.
- OOD loss (a): G가 생성하는 데이터에 대한 모델의 결과가 uniform distrubtion과 같아지도록 분류 모델을 학습.
- GAN loss (b): G가 생성하는 데이터가 기존 데이터와 비슷한 모양이도록 생성 모델을 학습.
- 왼쪽: 위의 loss에서 (b)만 있는 경우. 기존 GAN의 생성 데이터.
- 오른쪽: 위의 loss에서 (a), (b) 모두 사용한 경우.
3-4. 최종 Joint Confidence loss
- 분류 모델과 생성 모델을 번갈아가며 학습함.
- 분류 모델 (theta) 학습 시 생성 모델 (G, D) 고정 –> (c) + (d) 사용.
- 생성 모델 (G, D) 학습 시 분류 모델 (theta) 고정 –> (d) + (e) 사용.
4. Experiments
- Dataset 및 모델
- CIFAR-10, SVHN, TinyImageNet, LSUN
- VGGNet
4-1. Without GAN loss
- In-distrubtion data, out-of-distrubtion data 모두 기존의 데이터셋을 이용함 : GAN 생성 제외.
-
실험 결과
- SVHN은 숫자가 포함된 이미지 데이터셋이고, 나머지는 사진 데이터셋임.
- SVHN(in-dist), CIFAR10(out-of-dist) : “숫자는 in-distrubtion이고 나머지 사진같이 생긴건 OOD이다.” 라고 학습되었기 때문에, 사진 데이터인 TinyImageNet, LSUN 등에서 잘함.
- CIFAR10(out-of-dist), SVHN(in-dist) : “사진같이 생긴 것중에 CIFAR10만 in-distrubtion이고 나머지 사진 혹은 숫자는 OOD이다.” 라고 학습되었기 때문에, 같은 사진 domain인 TinyImageNet, LSUN 등에서 잘 못함.
- 즉, OOD 데이터셋이랑 같은 domain을 갖는 unseen image에 대해서는 잘 못함.
4-2. Include GAN loss
- GAN을 사용하여 OOD data를 생성함으로써 모델을 학습.
-
실험 결과
- 각 그래프 위의 OOD: 의 dataset은 training이 아닌 test 단계에서의 OOD를 의미함.
- 모든 상황에서 저자들이 제안한 joint confidence loss를 통한 모델 학습이 제일 좋았음.
- GAN이 생성한 OOD를 학습과정에서 추가함에 따라 모델의 원래 분류 성능이 어떤지는 표시 안함.
-
Interpretability
- Guided gradient, 학습된 모델의 gradient를 이용하여, 입력 이미지 내에서 중요하게 생각하는 부분을 표시한 것.
- Out of distribution data에 대해서 모두 검은색으로 표시되어, 모델 분류 작업을 안한다는 것을 알 수 있음.
5. Conclusion
- Out-of-distribution data를 detect할 수 있는 모델의 학습 loss를 제안함.
- In-distrubtion data를 기준으로 GAN을 이용하여 OOD data를 생성함.
- OOD data에 대한 detection 성능은 기존 기법들에 비해 좋음.
- 분류 모델의 성능 저하가 얼마나 되는지는 언급하지 않음.
Subscribe via RSS