stochastic layer, stochastic optimization texhinques 등의 방법이 있음
reduce overfitting, estimate uncertainty, more efficient exploration for reinforcement learning에 쓰임
stochastic model을 학습하는건 일종의 Bayesian model로 해석이 가능하다
그 중에 한 가지 방법은 deterministic weight $w{ij}$를 $\hat w{ij} \sim q(\hat w{ij}|\phi{ij})$로 바꾸는 것이다. 그럼 학습 중에는 이 weight에 대한 single point estimation이 아니라 weight의 분포에 대해 학습을 하는 형태이다.
그러나 test에는 결국 이 weight의 분포에 대한 평균을 내서 쓰고, 이 과정에서 "mean propagation", "weight scaling rule"같은 것들이 쓰인다.
Stochastic Neural Network
DNN은 결국 object x와 weights W가 주어졌을 때 target T를 예측하는 것.
여기서 stochastic neural network 중 weight W가 parametric distribution $q(W|\phi)$로부터 sampling되는 모델을 상정해보자.
학습을 진행하면서 $\phi$가 training data (X, T)에 의해 학습되고 regularization term $R(\phi)$도 추가 된다. 즉 아래와 같이 쓸 수 있다.
이 모델을 학습하는 과정에서는 binary dropout, variational dropout, dropout-connection 같은 기법이 쓰이는데, 여기서 정확한 $E_{q(W|\phi)}p(t|x,W)$를 구하는 것이 보통 intractable하다. 그래서 보통 K개의 sample을 뽑아서 평균을 내는 방식으로 근사하는데 이를 "test-time averaing"이라고 한다.
조금더 효율적으로 계산하기 위해서 $\hat W_k$가 아니라 $E_qW$를 구하는 식으로 하는데 이를 "weight scaling rule"이라고 한다.
여기서 본 논문에서는 $E_qW=0$인 레이어를 상정하려고 하는데, 그렇게 되면 p(t|x, EW=0)이므로 매번 weight scaling rule을 쓰면 random guess하는 꼴이 된다(그래서 얘네는 weight scaling rule을 안쓰겠지?). 평균값에는 정보가 없고 분산에만 정보가 저장되므로 이러한 레이어를 "variance layers"로 하고 "variance network"로 정의하고자 한다.
Variance Layer
activation되는게 $\mu_{ij}$에는 의존하지 않고 variance에만 의존하여 된다.
Result
classification / reinforcement learning / adversarial example에서 좋은 결과
paper
TL;DR
Details
DNN in stochastic setting
Stochastic Neural Network
DNN은 결국 object x와 weights W가 주어졌을 때 target T를 예측하는 것. 여기서 stochastic neural network 중 weight W가 parametric distribution $q(W|\phi)$로부터 sampling되는 모델을 상정해보자. 학습을 진행하면서 $\phi$가 training data (X, T)에 의해 학습되고 regularization term $R(\phi)$도 추가 된다. 즉 아래와 같이 쓸 수 있다.
이 모델을 학습하는 과정에서는 binary dropout, variational dropout, dropout-connection 같은 기법이 쓰이는데, 여기서 정확한 $E_{q(W|\phi)}p(t|x,W)$를 구하는 것이 보통 intractable하다. 그래서 보통 K개의 sample을 뽑아서 평균을 내는 방식으로 근사하는데 이를 "test-time averaing"이라고 한다.
조금더 효율적으로 계산하기 위해서 $\hat W_k$가 아니라 $E_qW$를 구하는 식으로 하는데 이를 "weight scaling rule"이라고 한다.
여기서 본 논문에서는 $E_qW=0$인 레이어를 상정하려고 하는데, 그렇게 되면 p(t|x, EW=0)이므로 매번 weight scaling rule을 쓰면 random guess하는 꼴이 된다(그래서 얘네는 weight scaling rule을 안쓰겠지?). 평균값에는 정보가 없고 분산에만 정보가 저장되므로 이러한 레이어를 "variance layers"로 하고 "variance network"로 정의하고자 한다.
Variance Layer
activation되는게 $\mu_{ij}$에는 의존하지 않고 variance에만 의존하여 된다.
Result
classification / reinforcement learning / adversarial example에서 좋은 결과