본문 바로가기

AI Theory/key concept of AI

Batch Normalization과 Layer Normalization

Batch Normalization과 Layer Normalization

 

배치 정규화(batch normalization)

  • 해당 레이어 층의 값의 분포를 변경하는 방법
  • 평균과 분산 고정시킴
  • 그래디언트 소실을 줄임으로서 신경망의 학습 속도를 향상시킬 수 있음
  • 미니배치의 각 feature별로 평균, 분산을 계산하고 이를 이용해 정규화하여 평균0, 분산1이 되도록 함
  • scale prapmeter $\gamma$, shift parameter $\beta$를 이용해 정규화 시킨 값에 affine transformation을 수행할 수도 있음
  • 단점
    • batch size가 너무 작은 모델에서는 잘 동작하지 않는다
    • RNN에서는 sequence data를 사용하기에 배치 정규화를 적용하기 힘들다. 따라서 RNN 모델에서는 Layer Normalization을 이용해 정규화를 수행한다.

cf. Layer Normalization

  • batch가 아니라 하나의 layer의 모든 뉴런에 대한 summed input의 평균, 분산을 구하고 졍규화를 수행한다.
  • RNN에 있어 더 효과적이다
  • 단점
    • 추가계산 및 메모리 오버헤드 발생가능성
    • 피드 포워드 네트워크 모델에서는 batch normalization이 더 효과적일 수 있다
    • learning rate, 가중치 초기화같은 hyperparameter tuning에 민감할 수 있다. hyperparameter tuning으로 인해 레이어의 출력 분포 및 feature space가 크게 변동하거나 이상적인 범위에서 벗어날 수 있기 때문이다.