author : 장령우

0. 들어가며

2016년, Cambridge의 Yarin Gal은 자신의 박사 졸업논문, Uncertainty in Deep Learning을 통해 이전에도 출간했던 몇 논문들을 정리하여 Bayesian neural network (BNN)을 세상에 소개하였습니다. BNN을 공부하려는 사람들에게 Gal의 박사논문은 교과서처럼 취급되어 왔고, 이 박사논문에 소개된 Gal 자신의 논문은 인용수가 수천회에 달하기도 합니다. 하지만, 2017년의 Reddit 글에서의 이슈와 2021년 10월에 Is MC Dropout Bayesian?이라는 논문이 등장하며 Gal의 이론은 정면으로 공격받게 되는데요, 본 글에서는 먼저 Gal의 BNN 이론을 공부해보기로 합니다.

이 글은 딥러닝 이론을 알고 있지만 BNN을 모르는 사람을 목표 독차층으로 설정하여 작성되었습니다.

1. Uncertainty in Deep Learning

고전 딥러닝 모델들은 불확실성에 대한 정량적 지표를 전혀 주지 못했고, 이것이 BNN의 motivation이 됩니다. 우리가 불확실성을 이야기할 때는 사실 두 가지 측면을 분리해서 생각해야 하는데, 데이터 자체의 불확실성과 모델 자체의 불확실성을 이야기해야 합니다.

본 글에서는 위의 두 aleatoric, epistemic uncertainty에 대해서 집중적으로 다룹니다(Uncertainty in Deep Learning을 따라서.).

1.1. The Language of Uncertainty

1.1.1. Bayesian Modeling

데이터 $\textbf{X}=\{x_1,\cdots,x_N\}$와 label $\textbf{Y}=\{y_1,\cdots,y_n\}$들이 있을 때면 우리는 본능적으로 $\omega$에 의해서 parameterize되는 모델 $f^{\omega}$를 찾아 $y=f^{\omega}(x)$라는 관계식을 만족시키기를 원합니다. Bayesian approach를 생각해보면 parameter들의 distribution $p(\omega)$, prior distribution을 생각하게 되는 것이지요. 이는 parameter들이 관측 전에 어떤 distribution을 따르고 있었는지에 대한 우리의 믿음을 반영하는 요소입니다. 따라서 당연히 관측 후에 이 distribution은 변할 것이고, 이를 위해 우리는 likelihood function $p(y|x,\omega)$를 정의하게 됩니다. 이 likelihood function은 given $\omega$에 대해 input $x$와 output $y$의 관계를 정의하는 것이지요.

자, 그러면 이제 posterior이 남았습니다. Prior을 다시 곱씹어보면 prior는 관측 전에 parameter이 어떤 distribution을 따르는지에 대한 믿음이었기 때문에 posterior는 관측 후에 parameter이 어떤 distribution을 따르는지에 대한 믿음인 것이어야겠지요. 그러니까, $\textbf{X}$라는 데이터와 $\textbf{Y}$라는 observation이 있었으면 이것들에 의존하는 $\omega$의 distribution을 말해야 하니까, 우리가 잘 아는 일반적인 표기법으로 표현을 하면

$$ p(\omega|\textbf{X},\textbf{Y}) $$

로 표현을 해야겠지요. 자, 그러면 대충 우리의 무대가 완성되었습니다. 이들을 연관짓기 위해 Bayes’ rule을 사용하면

$$ p(\omega|\textbf{X},\textbf{Y})=\frac{p(\textbf{Y}|\textbf{X},\omega)p(\omega)}{p(\textbf{Y}|\textbf{X})} $$

의 아름다운 관계를 얻을 수 있게 되는 것입니다. 이제 새로운 데이터 $x^{\ast}$가 들어오면,