본문 바로가기
공부/ML&DL

[ML/DL] Batch Normalization 배치정규화

by 로디네로 2022. 9. 16.
반응형

 

과적합을 줄이는 방법 중 하나로 알고 이 글을 읽는 분들이 많을것이다.

 

Batch Normalization에 대해 알아보도록 하자.

 

먼저 Batch Normalization 은 아래 논문에서 나온 개념이다.

 

Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

Training Deep Neural Networks is complicated by the fact that the distribution of each layer's inputs changes during training, as the parameters of the previous layers change. This slows down the training by requiring lower learning rates and careful param

arxiv.org

 


 

어떤 문제를 해결하고자 나온 개념일까?

 

> Gradient Vanishing / Exploding 문제

 

신경망 학습 시 파라미터에 의한 변화량이 매우 작아지거나(Vanishing) 커진다면(Exploding) 신경망을 학습시키지 못한다.

이를 해결하기 위해 아래와 같은 방법들을 사용한다.

 

1. Sigmoid, tanh 등의 비선형적 형태를 띄는 활성화 함수를 사용

   - 실수 범위의 수를 [0,1] 로 맵핑해 버리는 단점이 있어 2번 방법을 이용

2. ReLU 를 사용하여 1번의 단점을 상쇄

3. Batch Normalization 사용

   - 근본적으로 학습과정 자체를 안정화, 가속시킨다.

   - 어떻게 안정화시키는지는 아래에서 알아가보도록 하자.

 

 


 

 

Normalization 이란?

 

Batch Normalization 에 앞서 Normalization 부터 간단히 알아보자

 

일반적인 Normalization 이라 하면 0~255값을 0~1.0사이의 값으로 변환해주는 정도를 뜻할 수 있다.

 

딥러닝에서 상황을 예시로 들면 아래와 같다.

 

학습 중 A 는 local minimum에 빠질 수 있는 상황이지만 Normalization 을 이용하면 B와 같이 local minimum에 빠질 수 있는 가능성을 줄일 수 있다.

 

 


 

 

Batch Normalization 은 어떻게 학습 과정을 안정화시킬까?

 

불안정한 이유 : 

 

논문에서는 학습이 불안정해지는 이유를 Interval Covariance Shift 라 주장한다.

 

이는 신경망의 각 레이어, Activation 마다 입력값의 분산이 달라지는 것을 뜻한다.

https://www.diva-portal.org/smash/get/diva2:955562/FULLTEXT01.pdf

 


해결방법 : Whitening

 

각 레이어의 입력의 입력의 분산을 평균0, 표준편차 1로 정규화 시키는 방법이다.

 

단 이 방법은 계산량이 많고 일부 파라미터(bias)들의 영향이 무시된다는 단점이 있다.

 


 

Whitening 의 문제점 해결 : Batch Normalization

 

드디어 Batch Normalization 을 말할 때가 됐다.

 

위의 Whitening의 문제점을 해결하기 위해 제안됐다.

 

Batch Normalization 은 평균과 분산 조정을 별도 과정으로 진행하지 않고, 신경망 안에 포함하여 학습시 같이 조정한다.

 

https://light-tree.tistory.com/139

 

즉, 각 레이어마다 Normalization 과정을 두어 변형된 분포가 나오지 않게끔 조절한다.

 

Normalization된 값을 Activation 함수의 입력으로 사용하고, 최종 출력값을 다음 레이어의 입력으로 사용한다.

 

https://underflow101.tistory.com/39

 


 

 

Batch Normalization의 장단점은 아래와 같다.

 

장점

  • 가중치 파라미터의 초깃값에 크게 의존적이지 않게 됨
  • Gradient vanishing/exploding 방지
  • 과적합(overfitting) 억제

 

단점

미니배치 크기에 의존적이다

   - 배치크기가 1이면 분산은 0

RNN에 적용하기 힘들다

   - layer normalization 사용

 

 

 


 

 

References:

https://eehoeskrap.tistory.com/430

https://daje0601.tistory.com/306

https://arxiv.org/abs/1502.03167

반응형

댓글