목록Research/Uncertainty (10)
숟가락 그만 얹어
Contribution - Single forward pass로 training procedure를 유지한채로 uncertainty를 계산할 수 있다. - OOD detection 성능이 Deep Ensembles과 맞먹거나 더 좋다. Aleatoric uncertainty Softmax의 entropy를 사용하였다. Epistemic uncertainty p(y|x)인 모델을 학습시킨 후에 latent z를 활용하여 Gaussian discriminant analysis (GDA)를 따로 학습시켜 z에 대한 feature density (q(z))를 구성하였다. q(z)에 대한 marginal likelihood로 epistemic uncertainty를 계산한다. - p(y|x)와 q(z)를 동시에 ..

Uncertainty 관련 논문들에서 언급되는 epstemic과 aleatoric uncertainty를 다시 정리해보고자 한다. 첫 번째로 uncertainty에 대한 모델링은 아래 predictive distributuon에 대한 entropy로 정의 가능하다. 위 식에서 randomness는 p(z)로부터 발생하는 noise와 W ~ q(W)에 기인한다. p(z)는 observation에 내재된 noise로 irreducible하며 (aleatoric), q(W)는 더 많은 데이터의 수집으로 approximation을 잘하면 randomness를 줄일 수 있다. 두 번째로 epistemic과 aleatoric은 mutual information 식으로도 표현이 가능한데, 좌변의 첫 번째 term은 ..

Distributional uncertainty는 categorical distribution으로부터 추정되는 uncertainty로, Dirichlet distribution을 따른다고 가정한다. Dirichlet distribution은 k개 class에 대한 확률 값을 (0~1) 표현한 분포로 out-of-distribution example에 대해서는 분산이 커진다. (hyper-parameter인 alpha를 NN의 output으로 학습한다) Uncertainty를 measure하는 metric 중에 Mutual Information (MI)은 다음과 같이 정의될 수 있다. 위 식은 MI의 정의인 H(y) - H(y|theta)와 같다. 앞 term은 theta가 marginalized out ..

Aleatoric uncertainty: captures noise inherent in the observations. 데이터의 noise 인해 생기는 uncertainty이다. 그림 (d)에서 object의 boundary에 uncertainty가 높게 나타나는 이유는 segmentation labeling 편차로 인해 생긴 것으로 추측된다. Epistemic uncertainty: captures ignorane about which model generated our collected data. 모델의 ignorance로부터 발생하는 uncertainty이다. 학습이 충분히 수렴되지 않았거나 학습 데이터가 부족한 경우, out-of-distribution example이 주어진 경우에 uncert..
Uncertainty를 표현하는 5가지 방법 (Softmax, Calibration, Dropout, Ensembles, Variational Bayesian inference)을 비교한 논문이다. 어떤 방법이 noise에 robust하면서도 out-of-distribution example에 대해 uncertainty를 잘 표현하는지 여러 데이터셋에 대해 검증하였는데, 결론만 말하자면 ensembles이 가장 좋았다. Google AI Blog에 실험 내용이 잘 정리되어 있다. https://ai.googleblog.com/2020/01/can-you-trust-your-models-uncertainty.html References [1] Y. Ovadia et al., Can You Trust You..

Bayesian approach는 posterior 추정 시 training 과정 자체를 흔들어야 하기 때문에 수렴이 잘 안되거나 많은 computing이 필요할 수 있다. 본 연구는 non-Bayesian approach로 3가지 방법 (proper scoring rule, adversarial training, ensembles)을 활용하여 uncertainty를 계산한다. Proper scoring rule Loss term을 잘 정의하는 것이다. Classification의 경우에는 cross-entropy를 활용하면 되고, regression 문제는 Gaussian의 log-likelihood form을 이용하여 term을 정의하면 uncertainty를 잘 표현할 수 있다. Adversaria..

모든 parameter를 Gaussian으로 두고 stochastic modelling을 수행한다. 각 parameter에 대한 mean과 variance를 알아야 하기 때문에 원래 parameter보다 2배의 parameter가 필요하다. MXNet official code에 구현 방법이 자세히 설명되어 있다. https://gluon.mxnet.io/chapter18_variational-methods-and-uncertainty/bayes-by-backprop.html References [1] C. Blundell et al., Weight Uncertainty in Neural Networks, ICML 2015

Uncertainty 연구 중 가장 유명한 논문이다. Posterior를 approximation하는 q를 dropout으로 모델링한다. 원래 딥러닝에서 dropout은 한 번의 inference로 activation 값에 대한 expectation을 계산하나, 본 논문에서는 dropout을 적용한 inference를 여러 번 수행한 결과를 이용하여 uncertainty를 계산한다. 원리를 간단한 코드로 구현하면 다음과 같다. 위와 같이 모델링하면 deep Gaussian processes의 behavior를 근사시킬 수 있다고 한다. 하지만 실제 활용에 있어서는 prob_drop 설정에 민감하고, training이 잘 수렴하지 않거나 over-parameterized model이 필요할 수 있으므로 비..

보통은 training data X, Y에 대하여 최적의 weights 값을 찾아 deterministic function f(x, w) = y를 찾는 것이 목표지만, BNN은 weights를 확률 분포로 모델링하여 stochastic function을 얻고자 한다. Inference 시 확률 분포에서 weights를 sampling하므로, 여러 번 sampling 하면 y에 대한 예측 값 (mean)과 uncertainty (variance)를 계산할 수 있다. 직접 weights에 대한 posterior를 구할 수 없기 때문에 q로 approximate한다. q는 Gaussian (Bayes by Backprop)으로 가정할 수도 있고, Dropout으로 (Dropout as Bayesian Appr..

Softmax 확률을 uncertainty로 활용할 수는 있지만 딥러닝은 over-confident한 경우가 많다. Over-fitting이 안 일어나도록 학습을 시켰다고 하더라도 잘 모르는 문제를 너무 자신있게 틀린다는 것이다. (Generalization에 취약하다고 말하는 것이 맞겠다.) 위 그림에서 LeNet에 비해 ResNet은 모델의 평균 accuracy와 평균 confidence 사이의 gap이 크다. 우리 입장에서는 모델이 잘 모르는 문제를 맞추더라도 모른다고 해줘야 해석하기 용이하다. 위 현상에 대한 해결법은 logits을 적당한 constant term으로 나누어주고 softmax 함수를 통과시키면 된다. 이런 technique은 자주 나오는 패턴이다. References [1] C. ..