본문 바로가기

【1】Deep Learning 시작하기/정규화라는 것도 있다

Batch - Normalization

 

신경망의 학습 효율을 높이기 위해서 활성화 함수, 초기화, 학습률의 변화 등 다양한 방법들이 등장해왔다. 이러한 간접적인 방법들 뿐만 아니라 학습 과정 자체를 안정화 하기위한 근본적인 연구들 또한 진행이 되어왔다. 신경망의 불안정성에는 내부 공변량 변화(Internal Covariance Shift)의 문제가 있는데 이는 신경망의 각 층 별 활성화 함수로 들어가는 입력데이터의 분포가 다른 현상을 말한다. 내부 공변량 변화 문제를 해결함으로써 신경망 학습 자체의 안전성을 높이고자 등장한 기법이 바로 배치 정규화다. 

 

"Batch - Normalization"

 

배치라는 용어는 전체 데이터가 한 번에 처리하기 힘들 경우 작은 단위로 나누어 처리할 수 있는데 이때 나누는 단위를 배치라고 하고 나누어진 데이터의 묶음을 미니 배치라고 부른다. 다음은 배치의 크기(batch size)를 5로 주고 전체 데이터를 나눈 사진이다. 

 

 

 

1부터 4까지의 비니배치에 대하여  미니배치 학습을 시키면 전체 데이터 한번을 학습시키게 되는 것이다. 

 

배치 정규화는 말 그대로 한 번에 들어오는 입력 단위인 배치 마다 정규화를 진행하는 기법이다. 이로써 활성화 함수의 입력 데이터를 정규분포로 맞추어 내부 공변량 변화를 해결한 것이다. 아래의 그림처럼 배치정규화는 활성화 함수를 통과하기 전에 배치 정규화 과정을 추가한다.

 

 

배치 정규화 사진 출처 :  http://mohammadpz.github.io

 

 

 

 

   

 

 

 

 

 

 


작성자 홍다혜 ghdek11@gmail.com / 이원재 ondslee0808@gmail.com