인공지능 - 정규화 방법(Batch Normalization)

2022. 11. 29. 23:36인공지능

Batch Normalization

 

이전 층의 출력값들을 정규 분포로 정규화하는 작업을 Batch Normalization 라고 한다. 정규화 한 값들을 현재 층에서는 가중치를 결합하여 입력값으로 학습을 진행한다.

 

평균 0, 분산 1 이 되도록 정규화를 진행한다.

 

정규화를 진행하면 -1~1 사이의 값이 결과로 나온다.

 

정규화된 결과는 크기변화와 shift연산을 하여서 값이 학습이 된다.

 

 

특징

 

1. 각 은닉층에서 정규화를 진행하면 입력값의 분포가 일정하게 되기 때문에 학습률에 영향을 크게 받지 않는다.

 

2. 학습률 설정에 비교적 자유롭기 때문에 학습률을 높게 설정할 수 있고, 학습속도를 개선할 수 있다.

 

3. 학습을 할 때마다 입력값을 정규화하기 때문에 가중치 초깃값에 대해서 의존성이 줄어든다.

 

4. 과적합(overfitting) 위험을 줄일 수 있고, 드롭아웃 기법을 대체 할 수 있다.

 

5. 심층 레이어로 인해 오류 역전파과정에서 기울기가 소멸되는 Gradient Vanishing 문제를 해결할 수 있다.