논문 분석: Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning

원성혁·2023년 2월 1일
0

paper_review

목록 보기
8/22
post-thumbnail

오늘은 스터디원이 발표 예정인 논문을 직접 읽어보려고 한다.

기본적으로 알고가야할 부분인거 같다.

uncertainty의 유형
1. Out of distribution test data
한번도 학습할 때 사용하지 못한 유형의 데이터가 테스트 시 사용되는 경우
Ex) 여러 개의 개 품종 사진으로 훈련된 모델이 주어졌을 때, 모델에게 고양이 사진을 사용하여 개 품종을 결정하도록 요청하는 예시입니다.

  1. aleatoric
    학습 데이터 자체에 노이즈가 많아져서 불확실성이 생기는 경우
    Ex) 학습할 때 분류할 세 가지 유형인 고양이, 개, 소가 있다고 가정하겠습니다. 이 때, 고양이 이미지만 노이즈가 있고 개와 소의 이미지는 정상적인 이미지인 경우라면 이 때 발생하는 불확실성을 뜻합니다.

  2. epistemic uncertainty
    주어진 데이터 세트를 가장 잘 설명하는 최상의 모델 매개변수 및 모델 구조의 불확실성을 뜻함.
    Ex) 어떤 데이터셋에 대하여 아래 3가지 모델 중 어떤 모델이 가장 적합한 모델이 되는 지에 대한 불확실성이라고 말할 수 있다.

Abstract

Deep learning tools는 applied machine learning분야에서 엄청난 주목을 받았지만 regression and classification tools는 model uncertainty를 포착하지 못한다.

이에 비해 Bayesian models은 model uncertainty를 포착하는 mathematically grounded framework를 제공하지만 계산 비용이 너무 비싸다.

이 논문은 deep Gaussian processes에서 대략적인 Bayesian inference 를 통해 NN에서 casting dropout testing을 하는 new theoretical framework를 제안한다.

이는 높은 계산 비용 없이 model uncertainty를 포착할 수 있다.

Introduction

Deep Learning은 다양한 분야에서 사용되고 있으며 사용에 있어서 model uncertainty를 포착하는 것은 매우 중요하다.

최근 Bayesian uncertainty를 사용하는 방향으로 변함에 따라 Deep Learning 분야에서 새로운 요구사항이 발생했다.

regression and classification tools는 model uncertainty를 포착하지 못한다. pipeline 말단의 softmax로 얻은 예측 출력값은 모델의 신뢰도로 잘못 해석되기도 한다. softmax 출력이 높더라도 예측이 불확실 할 수 있다.
softmax를 통해 함수의 점 추정치를 전달하면 training data에서 멀리 떨어진 정당하지 않은 높은 신뢰도를 가진 extrapolations(외삽)이 발생한다.
예를들어 x는 확률이 1인 클래스1로 분류된다.

하지만 softmax(1b)를 통해 분포 1a를 통과하면 training set에서 떨어진 classification uncertainty를 더 잘 반영한다.

결과적으로 model uncertainty를 포착하는 것은 매우 중요하고 이를 위해 Bayesian models가 사용되지만 계산 비용이 너무 비싸다.이때 the models or the optimisation을 변경하지 않고 casting할 수 있다.
우리는 NN에서 Dropout의 모델로 잘 알려진 Gaussian process (GP) 의 Bayesian 근사치로 해석될 수 있음을 보여준다.

해석에 따르면 Dropout은 모델의 가중치에 대략적으로 통합된다. 그래서 논문에서는 Dropout NN의 model uncertainty를 나타내는 tool을 개발하여 지금까지 버려졌던 정보들을 추출하고 문제를 해결한다.

아주 넓은 NN은 Gaussian processes로 수렴되는것은 잘 알려져 있다.
이관계는 Gaussian processes의 속성을 NN으로 쉽게 변환할 수 없도록 하는 극한인수를 통해 이루어진다.

Dropout as a Bayesian Approximation

Monte Carlo Integration을 사용하여 Gaussian process(GP)를 Bayesian 근사할 때 손실함수

Neural Network에 사용된 dropout은 weight를 random하게 지워주는 것으로 생각할 수 있음


결론: Neural network에 dropout을 적용하는 것이 Gaussian process(GP)의 Bayesian approximation으로 해석될 수 있다.

Experiments

1. Model Uncertainty in Regression Tasks

CO2 데이터세트에서 여러 모델을 훈련시킨 결과이다. (a)는 합리적인 예측이 아님에도 high confidence로 0을 예측한다. (b)의 경우, (a)와 비교했을 때, 예측값이 0이겠지만 uncertainty을 증가시킴으로써 나타낸다. (c)와 (d) 같이, MC dropout을 사용했을 때에도 불확실성을 잘 나타낸다. 왜냐하면, dropout의 uncertainty가 GP의 특성을 이끌어내기 때문이다. ReLU와 TanH는 서로 다른 GP covariance functions에 근사한다. (c)는 uncertainty는 train 데이터와 멀리 떨어질 때 증가하는 이상적인 모델인 반면, (d)는 모델의 대한 uncertainty 경계를 유지한다. (* tanH함수가 특정 값에서 gradient가 0으로 수렴하기 때문)

2. Model Uncertainty in Classification Tasks

숫자 1의 연속 회전 이미지를 dropout이 적용된 LeNet convolutional neural network 모델을 훈련시켰다. 가장 왼쪽 이미지 경우, 클래스의 uncertainty envelope이 다른 클래스와 멀리 떨어져 있어 high confidence로 분류된다. 반면에 가운데 이미지 경우, 클래스의 uncertainty envelope이 다른 클래스와 겹쳐있어 softmax 출력 uncertainty은 전체 공간만큼 클 수 있다.

3. Predictive Performance

4. Model Uncertainty in Reinforcement Learning


강화학습은 agent는 다양한 reward를 받으며, 낮은 reward의 상태로 전환되는 것을 피하고 더 나은 상태의 행동을 선택하는 방법을 배운다. agent는 uncertainty 정보를 통해 언제 자신이 알고 있는 reward를 활용하고 언제 환경을 탐색할 지 결정한다. 최근 RL은 NN를 사용하여 Q-value functions를 추정하면서 발전했는데, 이때 Epsilon greedy를 이용하여 행동을 선택한다. 하지만, dropout Q-network에 의한 불확실성 추정(예: Thompson sampling)하는 기술이 더 빠르게 수렴한다.

Conclusions and Future Research

우리는 dropout의 확률적 해석을 통해 기존 deep learning models에서 모델 uncertainty를 얻을 수 있게 되었다. 이는 초기연구로서 확장 가능하다. Bernoulli dropout은 uncertainty 추정치를 산출하는 한 가지 예에 불과하므로 다양한 추정치가 발생했을 때 quality와 complexity는 절충 가능하다. 또한, GP covariance function은 NN non-linearities와 가중치 정규화에 일대일 대응 관계를 가지므로 데이터에 대해 적절한 NN구조와 정규화를 선택하는 기술을 제안한다.

profile
AI개발자를 향해 전진중

0개의 댓글