끄적거림

[논문 리뷰] Sampling-free Epistemic Uncertainty Estimation Using Approximated Variance Propagation - 4.Experioments 본문

개인 공부 정리/Bayesian

[논문 리뷰] Sampling-free Epistemic Uncertainty Estimation Using Approximated Variance Propagation - 4.Experioments

Signing 2021. 7. 31. 17:58
728x90
반응형

[논문 리뷰] Sampling-free Epistemic Uncertainty Estimation Using Approximated Variance Propagation - 1.Abstract~Related Work

[논문 리뷰] Sampling-free Epistemic Uncertainty Estimation Using Approximated Variance Propagation - 3.Method


지난 시간에 이어 이번엔 실험 결과에 대해 이야기하도록 하겠다.

 

 

 

4. Experiments

실험에 있어서 꽤 많은 실험을 진행했고, 그 결과를 담고 있다.

이 절에서는 본 논문에서 주장하는 방법론(이하 OUR이라고 부르겠음)이 classification과 regression에서 uncertainty를 estimate하는데 더 빠르고 정확하다는 것을 실험적으로 입증하고 있다.

 

 

 

4.1 Synthetic Data

첫번째 실험: 파란색 점들은 train, 주확색 점들은 test 데이터, 빨간색으로 fitting된 선은 predict 선, 위 아래로 검은색으로 fitting된 것은 표준편차를 의미한다. 또한, 윗 그림은 본 논문에서 제안한 방법론(OUR)을 사용한 그림이고, 아래 그래프는 MC-dropout을 사용한 그림이다.

처음으로 진행한 실험은 임의의 함수를 fitting하는 실험이고, MC-dropout과의 비교를 진행했다.

  • single input을 넣으면 single output을 return하는 sin함수를 만들고, train할 때는 [0, 20]으로 지정하였고, 그 밖의 range에서는 test를 진행하기로 하였다.
    • add Gaussian noise ~ (μ=0, σ=0.3) for output
  • 사용된 모델은 hidden layer가 3개이고 각 layer의 unit은 100개로 만든 100 * 3 의 네트워크 구조를 사용하였다.
  • 비교 모델인 dropout의 dropout 비율은 p=0.1로 마지막 hidden layer에만 적용하였다.

주 비교 모델을 Yarin.Gal의 Dropout as a Bayesian Approximation 을 많이 참고하고 이를 비교하려고 한 노력이 보인다.

분명 좋은 시도이고 괜찮은 실험이지만, 2015년 논문을 비교한다는 것에서 다소 아쉬움이 남는다.

결과적으로 보면, 두 방법론을 사용했을 때 거의 차이가 없다는 것을 알 수 있다.

그래서 performance 측면에서는 본 논문이 제안한 방법론도 epistemic uncertainty estimation을 하는데 괜찮은 방법론이라는 실험적 증거가 되는 것이다.

 

이와 관련된 appendix에서는 다음과 같은 실험자료가 있다.

Appendix 자료

본 논문에서 제안한 방법론(OUR)로 구한 variance(=uncertainty, STD)까지 MC-dropout 방법론이 수렴하려면 많은 sampling을 해야한다는 것이다.

 

종합해서 보면, MC-dropout과 OUR, 두 방법론 모두 성과는 비슷하지만, sampling(computational complexity & time complexity) 측면에서는 OUR 방법론이 더욱 우수하다는 것을 알 수 있다.

 

 

 

4.2 Predictive Performance

이제는 실제 데이터에 대한 실험을 진행하는데 UCI regression dataset 10개 중 9개에 대해 실험을 하였다.

주요 metric은 RMSE(Root mean squared error)와 TLL(Test Log-Likelihood)를 사용하였다.

실험에 들어가기 전 저자는 OUR의 RMSE > MC-dropout의 RMSE 의 결과가 나오는 것을 예상했다고 한다.

왜냐하면, dropout sampling이 activation을 scaling하는 것보다는 더 좋은 approach이기 때문이라고 설명했다.

("그에 대해 정확한 추가 설명이 논문에 나와 있지는 않지만, uncertainty의 quality 측면에서는 MC-dropout이 uncertainty에 대해 정확한 수학적 증명이 뒷받침되었기 때문이 아닌가 하는 내 개인적인 생각이다.")

또한 TLL은 예측된 distribution의 quality를 측정하는 metric으로 볼 수 있다.

 

두 번째 실험

실험 환경

  • 위 표와 같이 9개의 regression dataset에 대해 train set과 test set으로 random하게 20번씩 나눠서 실험을 진행했고, 특히 Pretein Structure는 5번의 split을 하였다고 한다.
  • 그리고 dropout rate와 τ에 대해서 optimize는 그냥 grid-search 방법을 사용했다고 했는데 이부분도 약간은 아쉽긴하다.
  • 네트워크는 50개의 unit을 가진 1개의 hidden layer를 사용했고, Protein Structure dataset에 대해서는 100개의 unit을 갖는 1개의 hidden layer를 사용했다고 한다.
  • 각 네트워크는 400 epochs씩 학습되었다.
  • OUR 방법론이 output에 대한 단봉(unimodal)의 distribution을 갖는 parameter를 return하기 때문에, Gaussian distribution으로부터 sampling하여 TLL을 계산하였다고 한다.
  • 전 실험에서와 마찬가지로 MC-dropout에 대해 optimize를 grid search로 했다고 한다.

실험 결과

  • OUR의 TLL은 거의 모든 dataset에 대해 MC-dropout 방법론보다 marginally 작거나, 크더라도 MC-dropout만큼을 포함할 수 있을 정도의 차이다.
  • 다만 Naval Propulsion dataset에 대해서만 유의미한 차이가 있긴하지만, RMSE를 보면 완벽하게 fitting한 것을 볼 수 있다.
  • 또한 본문에서는 강조되징 않은 부분이 있는데, 바로 runtime이다. MC방법론은 각 데이터 size 및 성질마다 다른 computing time을 갖지만, OUR은 일정하게 훨씬 더 낮은 것을 확인할 수 있다.

종합해서 보면, predictive performance 부분에서는 논문에서 제안한 방법론(OUR)이 MC-dropout 방법론보다 유의미한 성능 향상이 있는 것으로 볼 수 있다. 또한 주목해서 봐야할 부분은 runtime이며 획기적으로 낮은 수준임을 확인할 수 있다.

 

 

 

4.3 Classification Task: Bayesian SegNet

이번 절에서는 분류, 특히 semantic segmantation에 관하여 실험이 진행되었다.

semantic segmantation task를 할때, MC-dropout은 Bayesian SegNet 아키텍쳐(https://arxiv.org/pdf/1511.02680.pdf)를 사용하였는데, Bayesian SegNet 아키텍쳐의 저자 말에 따르면, uncertainty를 구하는데 quality 측면에서는 아키텍쳐내에서 dropout의 위치는 관련이 없다고 한다.

그에 따라, 본 논문에서 Bayesian SegNet을 이용하여 CamVid dataset을 학습시킬 때 두 기지 측면을 고려하여 실험을 진행하였다고 한다.

  • Dropout after the central four encoder and decoder blocks (ENCDEC)
    • 4개의 중간에 위치한 encoder와 decoder 이후에 dropout을 적용시킨 아키텍쳐
    • 이 아키텍쳔느 마지막 dropout layer가 output layer로부터 멀리 떨어져 있기 때문에 본 논문에서 제안한 방법(OUR)에 적용시키는데 어려움이 있다.
    • 그래서 OUR 방법론은 diagonal covariance matrix를 가졍하기 때문에 예측치의 variance가 자연스럽게 낮게 측정될 수 있다.

Bayesian SegNet에서 제안한 아키텍쳐(ENCDEC)

 

  • One dropout layer before the final classifier layer (CLASS)
    • 하나의 dropout layer가 마지막 분류 직전에 위치한 아키텍쳐
    • 이 아키텍쳐가 OUR 아키텍쳐에는 더 적합하다. 왜냐하면 dropout layer가 output layer에 근접하기 때문인데, 이것은 오류가 날 확률을 줄여주기 때문이다.

후에 실험에서 결국 두 아키텍쳐(ENCDEC, CLASS)를 사용하긴 한다.

 

그리고 본 논문에서 강조하는 것중에 하나는 이 연구는 성능 관점이 아닌 sample-free 방법론으로 epistemic uncertainty를 구하는 관점으로 진행되었기 때문에 성능 연구보다는 기존 방법론과의 비교에 대한 실험이 주를 이룬다.

 

실험 환경

batch size 8
learning rate 0.1
exponential learning rate 0.95
epochs 200
early stopping TRUE, patience 50
data processing down sampilng: 720 X 960 --> 360 X 480

 

 

아래의 실험은 uncertainty를 시각화한 것인데, 구조적으로 보면 두 방법론 간의 차이는 거의 없는 것처럼 보인다.

그만큼 MC-dropout 대비 OUR 방법론이 뒤지지 않는다는 것을 보여주고 있다.

uncertainty의 구조적인 생김새를 보면 전부 boundary에 집중되어 있는 것을 볼 수 있다.

이는 이 CamVid dataset을 semantic segmantation task로 만들기 위해 data labling을 해야했을텐데 사람들이 직접 각 class의 경계선을 나눴을 것이다.

uncertainty는 이 경계선을 나누는 작업에서 발생한 불확실성을 포착한 것이다.

이는 흔히 semantic segmantation task에서 epistemic uncertainty를 구하게되면 볼 수 있는 현상이다.

 

그리고 이 실험을 통해 sample-free uncertainty(OUR)가 sampling-based uncertainty(MC)보다 더 낮게 측정된 것을 확인할 수 있었다고 한다.

연구진들이 본 현상을 해석하기로는, 마지막 dropout layer가 output과 너무 다른 결과를 냈기 때문이라고 했다.

이렇게 구한 uncertainty의 질적 유사성(그림에서 보이는 구조적인 유사도)을 고려할 때, covariance matrix는 주 대각성분에서 벗어난 mixture term이 variance bais로 작용하는 것을 제외시킬 수 있다고 말하고 있다.

 

무슨 말이냐면, Fig.5에서 보이듯이 두 방법론에 대한 uncertainty는 정도의 차이가 있을 뿐, 비슷한 uncertainty를 포착한다.

이러한 관점으로 미루어 보았을 때, covariance matrix의 주 대각성분이 아닌 항들은 분산의 편향이 생기는 것을 방지해준다는 것이다.

 

 

 

아래의 그림은 uncertainty를 구할 때의 오분류율(a)과 runtime(b)을 비교한 그림이다.

a그림은 pixel의 오분류율을 quantile로 나타낸 것이다.

기본적으로 semantic segmantation은 각 pixcel마다 분류하는 것을 task로 삼는데, 이 때, 오분류 되는 것을 비율로 하여 나타낸 그림이라 보면 된다.

더불어서, 원래는 두 방법론에 대해 직접적인 비교는 불가하다.

왜냐하면, 각 방법론을 사용하고 난 후의 uncertainty의 scale이 각각 다르기 때문이다.

그래서 본 논문에서는 quantile을 사용하였고, 그 결과 두 곡선의 형태가 동일함을 알 수 있다.

 

b그림은 두 아키텍쳐(CLASS, ENCDEC)에 대한 두 방법론(MC, OUR)을 실험하였을 때 걸린 시간을 나타낸 것인데, 당연하게도 MC방법을 사용할 때, sample수가 많아질수록 선형적으로 runtime이 증가하는 것을 볼 수 있지만, 반면에 OUR 방법론은 sample수와 관련없이 항상 일정한 runtime을 갖는 것을 볼 수 있다.

계산 복잡도 및 시간 복잡도 측면에서 OUR의 방법론이 더 우수함을 알 수 있다.

 

 

 

 

아래 그림은 out-of-distribution에 관한 실험을 나타낸 것이다.

 uncertainty의 주된 활용도는 out-of-distribution, 즉, 학습해보지 못한 데이터를 만났을 때, 모델이 이를 자각할 수 있는지 없는지를 알기 위한 지표로써 활용된다.

이런 실험은 실험환경을 세팅하기 어려운 실험 중에 하나이다.

본 논문에서는 이런 실험(withhold)을 일부 class를 제외하는 방법으로 실험을 진행했다고 한다.

그림은 여러 class중에서 보행자와 자전거를 탄 사람 두 class를 제외시키고 학습을 시켰고, test에서의 Mean Uncertainty를 나타낸 것이다.

여기서 Normal은 withhold class를 포함시켜 학습시킨 일반적인 실험 방법이고, Hold-out은 withhold class를 제외하고 학습시킨 실험 방법을 의미한다.

withhold class(보행자, 자전거 탄 사람)를 제외한 class에서는 비슷한 uncertainty를 보이지만, withhold class에서는 꽤나 차이가 있는 uncertainty를 보인다.

이 실험에서 또 하나 언급하는 것은 class가 image 내에서 갖는 영역(area) 대비 구분선(boundary)의 비중이 높으면 그만큼 unceratinty도 높아진다고 한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형
Comments