Bayesian Analysis

[Bayesian Analysis] bayesian neural network 를 실전에 적용해보기

이언배 2024. 9. 11. 14:57

이것을 위해

우리는 총 53개의 Street 들 중 N = 49개의 training set, M = 4 개의 test street이 있으며,

K = 16 개의 공간 속성 데이터를 부여하였고,

T =24 시간을 추정하며,

우리가 설정한 BNN의 layer 갯수 L = 3이다.

 

Training 과정은 다음과 같다.

각 도로 Sn (0 <= i <= N) 에 대하여,

도시 공간 데이터 입력은 x_i 로 나타나고,

여기에 one-hot encoding 을 적용한 시간 벡터를 합쳐 xit (0 <= t <= T) 의 input 을 얻는다.

각 도로 Sn 에 상응하는 hourly pedestrian volume 은 yit 로, training 의 output 이 된다.

 

기존 neural network 와 달리, BNN 은 각 layer 의 파라미터를 단일 숫자가 아닌 확률 분포의 형태로 가진다는 것이 특징이며, 각 레이어의 weight 와 bias 모두 normal distribution 의 두 가지 variable - mean and standard deviation 을 가지는 vector 의 형태로 setting 된다. 이에

 

$\hat{\mathbf{y}}_{i}^{t} = W^{3}\sigma ( W^{\left( 2 \right)} \sigma ( W^{\left( 1 \right)} \mathbf{x}_{i}^{t} + b^{\left( 1\right)} ) + b^{\left( 2 \right)} ) + b^{\left( 3\right)}$

 

where $\theta = \{ W^{\left( l \right)},  b^{\left( l \right)}\}_{l = 1}^{L=3}$

 

으로 나타나고, 이 때 theta 의 prior probability  $p\left( \theta \right) = \prod_{l=1}^{L} p \left( W^{\left( l \right)}  \right) p\left( b^{\left( l \right)} \right)$ 로 표현되고,

 

$\mathbf{x}$ 와 $\mathbf{y}$ 의 관측을 통해 얻어지는 prior probability 는

$p \left( \theta \mid \mathbf{X}, \mathbf{y} \right)  = \frac{ p \left( \mathbf{y} \mid \mathbf{X}, \theta \right) p \left( \theta \right)}{ p \left( \mathbf{X}, \mathbf{y} \right) } $

 

where $\mathbf{X} = \{ \mathbf{x}_{i}^{t} \mid 0 \leq n \leq49, 0 \leq t \leq 23 \}$

and $\mathbf{y} = \{ \mathbf{y}_{i}^{t} \mid 0 \leq n \leq49, 0 \leq t \leq 23 \}$

 

이 때, $p(\theta \mid \mathbf{X}) $ 는 intractable 하므로, SVI 는 tractable 한 multinormal distribution $q_{\phi}$ 를 설정하고, distribution 의 reconstruction 을 보존하는 한편 두 분포 사이의 차이인 KL-divergence 를 최소화하기 위해 ELBO Loss 를 최소화하는 방향으로 학습을 진행한다.

 

$\mathcal{L}\left( \theta ; \phi \right) := log p \left( \mathbf{X} ; \theta \right) \geq \mathbb{E}_{q\left( \mathbf{y} ; \phi \right)} \left[ log p\left( \mathbf{X} , \mathbf{y} ; \theta \right) - log q \left( \mathbf{y} ; \mathbf{\phi} \right) \right]$

 

로 나타난다.

 

이렇게 근사한 분포 $q_{\phi}$ 로부터 m 개의 sample 을 추출하여 posterior probability distribution 으로부터 estimated value $\hat{y'}_{i, m}^{t}$ 을 도출한다.

 

$\hat{y'}_{i, m}^{t} \sim q_{\phi} \left( \mathbf{y} \mid \mathbf{X} \right)$

 

본 sample 중에서 우리가 도출하고자 하는 값은 특정 시간대의 $Street_{i}$ 의 hourly pedestrian volume 을 대표하는 mean of sample $\bar{y_{i}^{t}}$ 와 90% 의 credible interval 을 제시하는 $Q_{0.95} - Q_{0.05}$ 이다.

 

$\bar{y_{i}^{t}} = \frac{\sum_{m=1}^{M} \hat{y'}_{i, m}^{t}}{M}$

$C.I. = Q_{0.95} - Q_{0.05}$

 

이다.

아름다운 결과물

 

 

728x90