끄적거림

[논문 리뷰] Dropout as a Bayesian Approximation 설명 - 6.Experiment 본문

개인 공부 정리/Bayesian

[논문 리뷰] Dropout as a Bayesian Approximation 설명 - 6.Experiment

Signing 2021. 2. 1. 16:56
728x90
반응형

[논문 리뷰] Dropout as a Bayesian Approximation 설명 - 1.Prologue

[논문 리뷰] Dropout as a Bayesian Approximation 설명 - 2.Abstract

[논문 리뷰] Dropout as a Bayesian Approximation 설명 - 3.Introduce

[논문 리뷰] Dropout as a Bayesian Approximation 설명 - 4.Related Research (1): Background(MC-Integration, Dropout)

[논문 리뷰] Dropout as a Bayesian Approximation 설명 - 4.Related Research (2): Background(Gaussian Process)

[논문 리뷰] Dropout as a Bayesian Approximation 설명 - 4.Related Research (3): Background(Bayesian Neural Network, Variational Inference, Re-parameterization trick)

[논문 리뷰] Dropout as a Bayesian Approximation 설명 - 5.Methodolgy

[논문 리뷰] Dropout as a Bayesian Approximation 설명 - 6.Experiment

[논문 리뷰] Dropout as a Bayesian Approximation 설명 - 7.Conclusion

[논문 실습] Dropout as a Bayesian Approximation 실습 코드 - pytorch ver


 

 

 

Regression Task

논문 원문

위 그림은 CO2 농도에 대한 dataset으로 regression task를 진행한 결과이고,

plot 설명

  • 파란 점선 왼편의 빨간색 실선은 실제 데이터
  • 파란 점선 왼편의 파란색 실선은 예측값(=함수값)
  • 왼쪽부터 파란 점선까지는 training data
  • 파란 점선부터 빨간 점선까지는 train data와는 전혀 상관이 없는 데이터
  • 파란색 음영진 부분은 uncertainty를 나타냄

모델 설명

  • 4~5 layer와 1024 hidden units을 갖는 NN 모델
  • activation function으로는 ReLU와 TanH를 사용
  • dropout ratio는 0.1과 0.2를 사용

실험 결과 설명

  1. (a): 일반적인 dropout으로 적용시킨 결과이며, uncertainty를 구한 결과가 아니기 때문에 파란색 음영을 찾아 볼 수 없다. 예측값은 무난하다.
  2. (b): Gaussian Process로 fitting한 결과이며 standard error를 uncertainty로 구한 결과를 나타내고 있다. 자세히보면 파란 점선 이후 극초반엔 서서히 커지다가 얼마 안가서는 일정하고 큰 uncertainty를 갖는 것을 확인할 수 있다. 예측값 또한 무난하다.
  3. (c): MC-Dropout과 ReLU activation function을 적용한 결과이다. training data와 멀어질수록 uncertainty도 그와 비례하여 높아지는 것을 확인할 수 있다. 뿐만 아니라, 예측값 또하 어떠한 추세를 가지고 있고, 주기성 또한 갖고 있는 것을 확인할 수 있다. 예측 추세가 다소 좋지는 않으나, uncertainty가 reasonable하다는 것은 누구나 알 수 있을 것이다.
  4. (d): MC-dropout과 TanH activation function을 적용한 결과이다. uncertainty는 매우 작아서 보이지 않을 정도로 bound 되어 있다. 반면 예측값은 무난한 정도이다.

우리가 여기서 주목해야할 점은 ReLU와 TanH 간 uncertainty의 양상이 매우 다르다는 것이다.

(왼) ReLU, (오) TanH

 

먼저, ReLU의 경우, 0보다 작을 경우는 0이지만, 0보다 클 경우는 기울기가 1인 직선이므로 gradient를 그대로 반영한다.

하지만, TanH의 경우, 일정 값 이내에서는 0으로 수렴하는 결과를 가져올 뿐 아니라 Gradient Vanishing 문제도 같이 발생한다.

이 말은 그만큼 데이터가 압축이 될 수 있다는 말이다.

논문에서는 그냥 bound 된다 하고 넘어가지만, 이를 풀어보면 이런 결과가 있다는 것을 알 수 있다.

 

Hyper-parameter 조정

  • Uncertainty with dropout ratio 0.1 < Uncertainty with dropout ratio 0.2
    • dropout ratio를 0.1로 주었을 때보다 0.2로 주었을 때가 더 uncertainty가 높다고 얘기하고 있다.
    • 사실 그도 그럴것이, ratio를 0으로 주었을 때, 즉, 아무 dropout을 시키지 않은 상태일때는 당연히 uncertainty를 catch할 수 없다.
    • dropout ratio를 높이면 높일수록 그만큼 더 uncertainty가 높아지기 마련이고, 적절한 dropout ratio를 구해야할 필요가 있다.
  • Better T(10) than T(1000)

    • Samplig을 10번 할 때가 1000번 할 때보다 더 predictive mean과 variance(=uncertainty)가 우수하다고 말하고 있다.

 

 


 

 

 

Classification Task

위 그림은 MNIST 데이터 셋을 가지고 classification task를 진행한 모습이고,

plot 설명

  • 숫자 1의 MNIST 데이터를 조금씩 돌려가면서 이 사진에 분류 인식을 어떻게 하는지 살펴본 그림이다.
  • 왼쪽 plot은 softmax를 통과하기 전의 상태인 softmax input
  • 오른쪽 plot은 softmax를 통과한 후의 상태인 softmax ouput
  • 초록색은 1, 파란색은 5, 주황색은 7을 의미한다.
  • 100번의 MC-dropout을 진행했을 때의 각 class라고 대답할 것에 대한 variance(=uncertainty)

모델 설명

  • LeNet CNN 모델
  • dropout ratio = 0.5

실험 결과 설명

  1. softmax input에 비해 output의 uncertainty가 더 높음을 볼 수 있다.
  2. 특히, class 5의 경우 다른 class들보다 uncertainty가 더 높음을 볼 수 있다.
  3. 실무적으로 uncertainty를 쓸 수 있다면, 아마 다음과 같을 것이다.
    1. softmax output을 비교해보았을 때, 특정 class로 분류할 확률이 가장 높다.
    2. 더불어 각 class로 분류할 확률에 대한 uncertainty도 동시에 보았을 때, uncertainty가 높다고 판단되는 class는 softmax output이 높다고 하더라도 해당 class를 제외할 수 있다.

 

 


 

 

Performance

위 그림은 많은 데이터셋을 가지고 performance를 비교한 table이다.

table 설명

  • N은 데이터의 관측 갯수이다.(=row)
  • Q는 데이터의 변수 갯수이다.(=column)
  • VI는 Variational Inference, PBP는 Probabilistic Back-Propagation을 의미하고 이들은 BNN의 randomness를 어떻게 줄것인가에 대한 여러 방법론이다.
  • 세 방법론을 적용했을 때, RMSE와 Log-Likelihood 기준으로 가장 우수한 방법론을 비교하기 위한 table이다.

실험 결과 설명

  1. 그림에서 알 수 있듯이 dropout을 적용했을 때 성능이 가장 우수한 것을 알 수 있다.
  2. 그만큼 RMSE 부분이나 Log-Likelihood 부분에서 성능 개선이 발생한 것을 알 수 있다.

 


 

 

Reinforcement Learning

위 그림은 Atari game이라는 시뮬레이션을 실험한 결과이다.

상황 설명 + 강화학습 간단 설명

강화학습 설명

  • 강화학습은 agent라고 하는 학습 주체를 reward(보상)를 통해서 학습시키는 학습방법이다.
  • negative reward는 기피하고, positive reward를 얻으려는 방향으로 학습하면서 더 나은 state를 만들고자 행동한다.
    • 이 과정에서 exploitation 과 exploration 간의 trade-off가 발생한다.
    • exploitation은 자신에게 득이되는 학습방법을 강화하는 것이고, exploration은 기존의 학습 방법보다 새로운 학습방법을 찾고자 하는 것이다.
      • 한가지 실생활 예로, 맛집을 찾으려는 문제에서 집근처 별점 3점만큼의 맛집을 찾았다고 가정하면,
      • 별점 3점짜리 맛집을 더 빠르고 간단하게 가는 방법이 exploitation이고,
      • 새로운 맛집인 별점 5점짜리를 찾아 떠나는 것이 exploration이다.
    • 강화학습에서 Q-value를 얻기 위한 함수로써 NN을 사용한다.
      • Q-value란 reward의 총량으로 생각할 수 있다.
    • Q-value function으로써 보통 Epsilon greedy search(Appendix 참고)를 사용하지만, 이 방법론은 uncertainty를 반영하지 못한다.

상황 설명

  • 왼쪽 그림은 Atari game의 한 장면을 나타내고 있다.
    • 빨간색 원positive reward, 초록색 원negative reward이며, 중간에 뒤집힌 'ㄷ'자 처럼 생긴 구조물은 장애물(벽)이다.
  • agent는 9개의 각기 다른 방향에 달린 눈을 가지고 있고, 각 눈은 3개의 색깔을 인식할 수 있다.
  • agent는 벽을 보지 않고, 직선으로 움직이는 것에 대해 positive reward를 받는다.
  • 같은 NN 구조를 사용하였고 Dropout ratio를 0.1로 주었다.
  • 차이점은 기존의 비교군은 Epsilon greedy search방법론이고었고, 실험군은 Thompson sampling 방법론을 사용했다.

 

실험 결과 설명

  • 같은 NN구조를 사용했기 때문에 agent의 행동 양상에 대한 설명은 따로 없다.
  • 다만 오른쪽 그림과 같이 Thompson Sampling을 사용한 쪽이 average reward에 좀 더 빠르게 수렴한다는 사실을 알 수 있었다.
  • 또한, 1000번 이상의 batch결과를 보면, Thompson Sampling은 수렴하지만, Epsilon Greedy Search는 수렴하지 않고 추세가 계속 높아지는 것을 확인할 수 있다.
  • Thompson Sampling은 uncertainty를 고려하기 때문에, exploitation-exploration issue를 해결할 수 있다고 설명하고 있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형
Comments