<aside> 💡 아래 포스트는 네이버 Boostcamp AI-Tech 과정 중 고려대학교 인공지능학과 최성준 교수님의 마스터 클래스 "To know what we do not know" 수업 및 자료와 Eric Jang의 "Uncertainty: a Tutorial" 블로그 포스트를 바탕으로 재구성한 것입니다!

</aside>

Introduction

Uncertainty in Deep Learning

Deep Learning에서 불확실성(uncertainty)을 모델링하고자 하는 시도는 많이 있었습니다. 또한, 실제로 해당 성능이 기존의 방법에 비해 우수하기도 했습니다. 주로, 불확실성을 모델링하는 방식은 베이즈 법칙(Bayes' Rule) 혹은 **정보 이론(Information Theory)**에 그 기반을 두고 있습니다. 이를 바탕으로 최근에는 기존 딥러닝 모델들의 다양한 성질을 바탕으로 불확실성 모델링을 확장 및 발전시키고 있습니다. 해당 기법들을 나열하면 아래와 같습니다.

Different Types of Uncertainties

우리가 아는 것은 구분하기가 매우 쉽습니다. 단순히 그것이 무엇인지를 말하면 되는 것이죠. 그러나 우리가 모르는 것을 "왜 모르는지" 혹은 "어떻게 모르는지" 구분하는 것은 쉽지 않습니다. 당연히 "무엇인지"조차 모르기 때문이죠. 실제로 사람의 학습 과정에서 메타인지(meta-cognition)라고 불리는 "자신이 무엇을 아고 무엇을 모르는지 아는 것"은 매우 중요하죠!

불확실성을 수치로 나타낸 것이 일반적으로 **분산(variance)**입니다. 경제학과 금융학에서는 이를 **위험(risk)**이라고 부릅니다. 표준편차(standard deviation), 최대예상손실액(Variance-at-risk), 엔트로피(entropy) 등의 다른 방식들도 존재합니다. 물론 불확실성이 정확히 어떠한 의미를 갖고 있는지, 혹은 어떤 대상의 불확실성을 측정하는 지를 정의하는 것도 필요합니다. 예를 들어, 동전 혹은 주사위 던지기와 같이 내재된 무작위성(randomness)일수도, 혹은 모델이 부정확해서 신뢰도(confidence)가 부족한 것일 수도 있습니다[2].

통계학 등 이러한 불확실성을 다루는 분야에서는 대략적으로 3가지의 불확실성이 있다고 구분합니다. 개념적으로는 구분되지만, 실제로 이들은 완벽히 구분되지 않습니다. 따라서 이를 구분하는 방법론을 찾는 것이 매우 중요하다고 할 수 있습니다. 우리가 제어할 수 있는 여부에 따라서 aleatoric uncertaintyepistemic uncertainty로 구분됩니다. 또한, input에서 비롯되어 최종 output으로 흘러가는지 혹은 input 자체에만 해당하는지에 따라 out-of-distribution uncertainty로 구분되기도 합니다.

Data uncertainty - aleatoric uncertainty

Model uncertainty - epistemic uncertainty

Out-of-distribution - novelty detection