Batch normalization memo

Batch normalization 발표를 위해 메모.
prerequisite
_ Loss는 mini-batch의 모든 sample들의 영향을 한꺼번에 받아서 결정된다.
_ covariate shift는 train data 와 test data 의 input data distribution이 다른 현상을 의미한다. 이 경우, Loss function(통계학적으로 보면 하나의 ‘가설’이라 할 수 있다.)결과값에서 data batch의 다른 특성에 의한 차이가 있을 수 있기 때문에 문제가 발생한다.
이것이 뉴럴넷의 각 레이어의 인풋에서도 발생하는데, 그걸 internal covariate shift라고 칭한다.
왜 갑자기 covariate 같은 개념이 들어오냐?
sample dataset을 다루기 때문이다.
– 표본 집단을 사용하는 개념이 들어오기 때문에 통계적 의미들의 영향을 받게 된다.
– 또한 gradient를 구할 때 mini batch data 전체에 대한 loss 에서 기인하기 때문에, 독립적이지 않다.
원래는 covariate shift를 해결하기 위해 domain adaptation을 사용했다.
** 우리는 saturated NN을 원하는데,  input batch의 distribution이 레이어에 따라 변하면 더 낮은 learning rate를 요구하게 되고, 결과적으로 slowdown과 saturation의 어려움을 야기한다.
(나의 넘겨짚음. lr이란 것은 step의 크기인데, 인풋의 difference가 tiny해질 수록 모든 조작이 세밀해져야 하는 느낌적인 느낌.)
*** 뉴럴넷의 각 레이어는 어떤 인풋 조건을 본인의 분기에서 판별하는 역할을 하는데, 이 때 이 레이어들이 동등한 조건에서 학습하지 못하는 이유가 바로 internal covariate shift 이다. 각 레이어들은 하나의 Loss function을 공유하는데, 이 Loss function은 초기 데이터 batch에 의해서 결정된 것이고, 이 데이터 batch의 특성의(distribution) 영향을 받는다.  각 레이어에 들어오는 인풋을 균일하게 해주면 그 분기에서의 판별을 좀더 saturate하게 할 수 있는 것이다.
 ***  internal covariate shift : 배울걸 못배운다. (이전 레이어에서 나온 아웃풋들 (요번에 받는 인풋)이 치우친 데이터 이기 때문에)
1_ input의 mini-batch를 이용하는 것이 single input을 넣는 것보다 좋은 이유
 – the gradient of the loss over a mini-batch is an estimate of the gradient of over the entire training set
 – computation is less expensive than for-loop (matrix-wise calculation)
2_ We want to solve ‘vanishing gradient’ problem or ‘internal covariate shift’ by performing the normalization for each training mini-batch.
(when input distribution to a learning system changes, covariate shift happens, and each layer has to adjust to the new distribution.)
the layers need to continuously adapt to the new distribution -> slowdown
이걸 해결하기 위한 도구를 제공하는것.
뉴럴넷의 각 레이어의 각 feature에게
본인이 원하는 대로 distribution의 gaussian한 정도를 조절할 수 있는 능력을 부여하는 것.
( 혹시라도 있을지 모르는, 샘플 묶음 들간의 ‘다른 요소’의 차이에 의해 오염된 가설(regression activation)의 결과 차이를 막기 위해 필요하다면 input 데이터를 normalize할 수 있는 기회를 주는 것.)
UNDO할 수 있는 선택을 주는 것이 original data의 power를 손상시키지 않는 역할을 한다.
NN의 foward propagation을 하나의 큰 가설이라고 보고
loss를 통해 가설을 조금씩 고쳐가는 것이라고 본다면,
샘플들의 correlated 특성이 가설에 영향을 줄 수 있는 것이다.
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s