배치 정규화(batch normalization, BN)는 으로 들어가는 입력값이 한쪽으로 쏠리거나 너무 퍼지거나 너무 좁아지지 않게 해주는 인공신경망 기법이다. 여러 입력값을 모은 배치에 대해, 각 층의 입력값의 평균표준편차를 다시 맞추어 주어, 입력값이 쏠리는 것을 막는다. 세르게이 로페(Sergey Ioffe)와 크리스천 세게디(Christian Szegedy)가 2015년 처음 제안했다.[1]

배치 정규화의 효과가 명백하긴 하지만 그 효과가 나타나는 이유에 대해서는 논의가 오가고 있다. 배치 정규화는 매개 변수를 초기화하고 각 계층의 입력 분포를 변화시켰을 때 신경망의 학습 속도에 영향이 가는 '내부 공변량 변화' 문제를 완화할 수 있다고 믿어져 왔다.[1] 최근에는 일부 연구자들이 배치 정규화는 내부 공변량 변화를 줄이지 못하지만 목적 함수를 매끈하게 만들어 수행 능력을 개선한다고 주장한다.[2] 그러나 초기에 배치 정규화는 심층 신경망에서 심각한 기울기 소멸 문제를 유도하며, 이 문제는 남은 신경망에서 연결을 건너뛰어야만 완화된다.[3]

각주 편집

  1. Ioffe, Sergey; Szegedy, Christian (2015). “Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift”. arXiv:1502.03167 [cs.LG]. 
  2. Santurkar, Shibani; Tsipras, Dimitris; Ilyas, Andrew; Madry, Aleksander (2018년 5월 29일). “How Does Batch Normalization Help Optimization?”. arXiv:1805.11604 [stat.ML]. 
  3. Yang, Greg; Pennington, Jeffrey; Rao, Vinay; Sohl-Dickstein, Jascha; Schoenholz, Samuel S. (2019). “A Mean Field Theory of Batch Normalization”. arXiv:1902.08129 [cs.NE].