rueki

Batch Normalization 본문

DL

Batch Normalization

륵기 2020. 7. 5. 21:19
728x90
반응형

배치 정규화는 역전파 시, 파라메터의 스케일 변화를 일으킴에 따라, Gradient Vanishing 및 Exploding을 막는데, 이전에는 Relu와 같은 activation function을 사용하거나 learning rate를 작게 설정해서 Gradient Vanishing을 막았다.

배치정규화의 장점으로는 학습을 빨리 진행할 수 있으며, 초기값에 의존을 할 필요가 없고, overfiting을 방지한다.

배치 정규화의 등장으로 인해 dropout을 사용하지 않아도 되며, 가중치 decay도 느리게 설정이 가능하다.

 

배치 정규화가 이루어지는 process는 아래와 같다.

일단 각각의 feature가 서로 상관이 없다고 가정을 하고, 그에 대한 평균과 분산을 구해서  각각을 mini-batch 단위로 정규화를 진행한다. 평균과 분산에 대한 수식은 아래와 같다.

왼쪽 : 평균, 오른쪽 : 분산

이제 이를 이용해서 정규화를 진행한다.

위의 식에서 epsilon은 scale factor를 말한다.

여기까지의 과정을 요약하자면, 각각의 스칼라 feature를 독립적으로 정규화를 하고, 이를 위해서 입력값 x에 대해서  위와 같은 연산을 진행한 것이다.

 

이제 미니배치의 개념을 접목해서 배치 정규화 연산을 정의해보자.

 

배치 정규화 연산

  • Train되는 과정

Input : B (미니배치), γ,β (파라메터)

ouput : $y_{i} = BN_{γ,β}(x_{i})$

 

 

레이어를 구성할 때 input -> 정규화 ->activation -> next layer -> .....  이 순서로 이루어지며, 여기서 저 ㅇ규화의 역할은 들어오는 데이터에 대한 분포를 덜 치우치게, 즉 일정한 분포를 가지게끔 한다.

 

 

728x90
반응형

'DL' 카테고리의 다른 글

Attention과 Transformer 까지 정리  (0) 2020.09.10
딥러닝 Optimization 함수 정리  (0) 2020.08.26
Adam Optimizer (adaptive moment estimation)  (0) 2020.07.05
RNN과 LSTM에 대해서 알아보자  (0) 2020.04.04
2. Activation Function  (0) 2020.02.18
Comments