일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- semi supervised learnin 가정
- simclrv2
- tent paper
- mme paper
- dann paper
- shrinkmatch
- cifar100-c
- remixmatch paper
- conjugate pseudo label paper
- CGAN
- Pseudo Label
- 컴퓨터구조
- CycleGAN
- dcgan
- Meta Pseudo Labels
- GAN
- SSL
- 딥러닝손실함수
- 최린컴퓨터구조
- 백준 알고리즘
- ConMatch
- shrinkmatch paper
- CoMatch
- Entropy Minimization
- adamatch paper
- Pix2Pix
- WGAN
- UnderstandingDeepLearning
- BYOL
- mocov3
- Today
- Total
Hello Computer Vision
비전공생의 Learning Confidence for OOD detection in Neural Networks 논문리뷰 본문
비전공생의 Learning Confidence for OOD detection in Neural Networks 논문리뷰
지웅쓰 2023. 9. 27. 18:27https://arxiv.org/pdf/1802.04865.pdf
Introduction
무언가를 결정할 때 어떤 것을 알고 모르는 것은 매우 중요하다. 그러나 최근 딥러닝 분류기는 성능이 좋기도 하지만 높은 값의 확률을 주면서 틀린 값을 주기도 한다. 또한 이러한 모델들은 OOD데이터에 대해서도 잘 구분하지 못한다. 이러한 문제점은 AI saftey 의 큰 문제점이라고도 할 수 있다. 따라서 해당 논문에서는 분류기로 하여금 confidence estimate를 각 input에서 뽑도록 훈련시킨다.
Confidence Estimation
모델로 하여금 input에 대해 confidence 를 산출하는 것은 어려운 일이다. 따라서 저자는 모델에게 인센티브를 따로주었다고한다.
해당 방법에 대한 motivation은 다음과 같다. 만약 시험을 보고 있는 상황에서 학생은 힌트를 받을 수 있다. 그러나 힌트를 받을 때마다 약간의 penalty(아마 약간의 마이너스점수?)를 받는다. 따라서 학생은 총점에서 좋은 점수를 받기 위해서는 자신있는 문제에 대해서는 그대로 풀고 자신 없는 문제에 대해 힌트를 받는 전략을 사용할 수 있다. 이러한 비슷한 방식으로 저자는 ground truth label없이 confidence estimate(ood 인지 아닌지 판별하는 지표)을 가르쳤다고 한다.
confidence estimation branch 는 기존 네트워크에서 추가로 layer가 붙어있으며 같은 input을 받는다. output으로는 0~1의 스칼라 값을 내뱉으며 sigmoid 함수를 가지고있다. confidence value c는 모델이 input에 대하여 correct prediction 을 뱉는지안뱉는지를 측정하는데 모델이 confident 하다면 1, 그렇지 않다면 0을 내뱉는다.
앞에서 언급한 힌트를 모델에게 주기위해 softmax prediction probabilities는 original prediction - target probability distribution인 y 사이에서 interpolation을 갖게된다. 이 interpolation의 정도는 confidence값을 이용한다.
식을 보면 알 수 있겠지만 만약 모델이 confident하다면 (c = 1) y값을 활용하지 않고 본인이 뱉은 값만을 이용할 것이고 confident하지 않다면 y값을 활용하게 된다.
Loss는 기본적으로 calibrated 된 NLL loss(Cross Entropy)를 사용하게 된다. 그러나 모델은 c = 0 값을 계속 뱉어 loss를 낮추는 방법을 사용할 수 있다. 따라서 추가적인 regularizer loss를 추가한다.
따라서 모델은 c값을 확실한 input에 대해서는 1과 가깝게 내도록 노력하고 확실하지 않은 input에 대해서는 0을 뱉도록 노력한다. 그러나 이러한 과정에서 모든 sample 에 대하여 c값을 loss가 낮도록 일정한 값을 내뱉는 것이 발견됐다고 한다. 따라서 앞에서 hyper parameter인 $\beta $를 도입해 confidence loss를 weighting 하는 $\lambda $를 조절한다.(해당 방법에 대해서는 논문에 잘 언급되어 있지 않은데 관심있으시다면 공식 github에서 확인하면 될 거 같다!)
Out of Distribution Detection
OOD데이터가 들어온다면 c값을 낮을 것이기 때문에 일정 threshold값을 두어 ood인지 아닌지 판별한다.
Result
'Out of Distribution' 카테고리의 다른 글
비전공생의 A simple Unified Framework for detecting Out-of-Distribution samples and Adversarial Attacks(2020)논문리뷰 (0) | 2023.09.28 |
---|---|
비전공생의 ODIN(2018) 논문리뷰 (1) | 2023.09.27 |
비전공생의 CSI(Novelty detection, 2020) 논문 리뷰 (0) | 2023.09.12 |
비전공생의 Training Confidence-Calibrated Classifiers for Detection OOD samples(2018) 논문 리뷰 (0) | 2023.09.10 |
비전공생의 Deep semi supervised Anomaly detection(2020) 논문 리뷰 (0) | 2023.09.10 |