일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Meta Pseudo Labels
- ConMatch
- WGAN
- CoMatch
- semi supervised learnin 가정
- simclrv2
- BYOL
- CycleGAN
- adamatch paper
- shrinkmatch
- SSL
- remixmatch paper
- dcgan
- GAN
- mme paper
- Entropy Minimization
- Pseudo Label
- tent paper
- cifar100-c
- conjugate pseudo label paper
- 최린컴퓨터구조
- 백준 알고리즘
- shrinkmatch paper
- dann paper
- UnderstandingDeepLearning
- Pix2Pix
- mocov3
- CGAN
- 컴퓨터구조
- 딥러닝손실함수
- Today
- Total
Hello Data
비전공생의 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 estimateood인지아닌지판별하는지표을 가르쳤다고 한다.

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 lossCrossEntropy를 사용하게 된다. 그러나 모델은 c = 0 값을 계속 뱉어 loss를 낮추는 방법을 사용할 수 있다. 따라서 추가적인 regularizer loss를 추가한다.

따라서 모델은 c값을 확실한 input에 대해서는 1과 가깝게 내도록 노력하고 확실하지 않은 input에 대해서는 0을 뱉도록 노력한다. 그러나 이러한 과정에서 모든 sample 에 대하여 c값을 loss가 낮도록 일정한 값을 내뱉는 것이 발견됐다고 한다. 따라서 앞에서 hyper parameter인 β를 도입해 confidence loss를 weighting 하는 λ를 조절한다.해당방법에대해서는논문에잘언급되어있지않은데관심있으시다면공식github에서확인하면될거같다!
Out of Distribution Detection

OOD데이터가 들어온다면 c값을 낮을 것이기 때문에 일정 threshold값을 두어 ood인지 아닌지 판별한다.
Result
