#개념

배치 정규화(Batch Normalization)는 Ioffe와 Szegedy(2015)가 제안한 기법으로, 신경망(Neural Network)의 중간 계층(Layer)에 들어가는 입력을 미니배치(mini-batch) 단위로 정규화하여 깊은 신경망의 학습을 안정화하고 크게 가속한다. 미니배치 $\mathcal{B} = \{x_1, \dots, x_m\}$에 대해 각 특징(차원)별로 배치 평균 $\mu_{\mathcal{B}} = \frac{1}{m}\sum_{i} x_i$와 배치 분산 $\sigma_{\mathcal{B}}^2 = \frac{1}{m}\sum_{i}(x_i - \mu_{\mathcal{B}})^2$을 계산하고, $\hat{x}_i = \frac{x_i - \mu_{\mathcal{B}}}{\sqrt{\sigma_{\mathcal{B}}^2 + \epsilon}}$으로 평균 0, 분산 1이 되도록 정규화한다. 여기서 $\epsilon$은 분산이 0에 가까울 때 0으로 나누는 것을 막는 작은 상수다. 그러나 모든 계층의 출력을 강제로 표준 정규 분포에 묶어 두면 계층의 표현력이 제한될 수 있다. 예를 들어 시그모이드 활성화 함수(Activation Function) 앞에서 입력을 평균 0, 분산 1로 고정하면 대부분의 입력이 시그모이드의 선형 구간에 놓여 비선형성이 약해진다. 이를 보완하기 위해 배치 정규화는 학습 가능한 스케일 매개변수 감마($\gamma$)와 이동 매개변수 베타($\beta$)를 두어 최종 출력을 $y_i = \gamma \hat{x}_i + \beta$로 계산한다. 감마와 베타는 가중치(Weight)처럼 역전파(Backpropagation)로 함께 학습되며, 필요하다면 $\gamma = \sqrt{\sigma_{\mathcal{B}}^2 + \epsilon}$, $\beta = \mu_{\mathcal{B}}$가 되어 정규화를 되돌리는 항등 변환도 표현할 수 있으므로 정규화가 표현력을 잃게 하지는 않는다. 합성곱 계층에서는 같은 채널의 모든 공간 위치를 동일하게 취급하여 배치와 높이, 너비 차원 전체에 걸쳐 채널별로 통계량을 계산하고, 감마와 베타도 채널마다 하나씩 가진다. 배치 정규화 바로 앞 계층의 편향은 정규화 과정에서 상쇄되므로 보통 생략한다.
배치 정규화에서 특히 주의해야 할 점은 학습과 추론 시의 동작이 다르다는 것이다. 학습 중에는 현재 미니배치의 통계량을 그대로 사용하지만, 추론 시에는 입력이 한 건씩 들어올 수도 있고 출력이 함께 처리되는 다른 샘플에 영향을 받아서도 안 되므로 배치 통계량을 쓸 수 없다. 대신 학습 과정에서 배치 평균과 분산의 이동 평균(moving average)을 $\mu_{\text{run}} \leftarrow (1 - \alpha)\mu_{\text{run}} + \alpha \mu_{\mathcal{B}}$의 형태로 누적해 두었다가 추론 시 이 고정된 전체 통계량으로 정규화한다. 이때 추론 단계의 배치 정규화는 채널별 아핀 변환에 불과하므로 앞선 합성곱이나 선형 계층의 가중치에 합쳐서(fold) 계산 비용을 없앨 수 있다. PyTorchBatchNorm 계층은 model.train()model.eval()에 따라 두 모드를 전환하며, 추론 시 eval() 호출을 잊어 배치 통계량이 계속 사용되거나 배치 크기가 1인 입력에서 오류가 발생하는 것은 흔한 실수다. 원 논문은 정규화가 내부 공변량 변화(Internal Covariate Shift), 즉 앞 계층의 매개변수가 갱신될 때마다 뒤 계층 입력의 분포가 바뀌어 학습이 불안정해지는 현상을 줄이기 때문에 효과가 있다고 설명했다. 그러나 Santurkar 등(2018)은 배치 정규화 뒤에 인위적으로 잡음을 주입해 공변량 변화를 오히려 키워도 학습 속도의 이점이 유지되고, 배치 정규화가 실제로 공변량 변화를 줄인다는 증거도 약하다는 실험 결과를 제시했다. 이들은 배치 정규화의 진정한 효과가 손실 지형(loss landscape)의 평활화에 있다고 재해석했다. 즉 배치 정규화가 손실 함수의 립시츠 상수와 기울기의 립시츠 상수(베타 평활성)를 낮추어 기울기가 더 예측 가능하고 안정적으로 변하도록 만들며, 그 결과 큰 학습률(Learning Rate)을 사용해도 발산하지 않고 초기화에 덜 민감해진다는 것이다. 이 밖에도 배치 정규화는 스케일 불변성으로 인해 가중치 크기에 따라 유효 학습률을 자동 조절하는 효과와, 미니배치 구성에 따라 통계량이 달라지는 확률적 잡음이 가벼운 정칙화(Regularization)로 작용해 드롭아웃의 필요성을 줄이는 부수 효과도 가진다.
배치 정규화의 근본적인 한계는 배치 크기에 대한 의존성이다. 통계량이 미니배치로부터 추정되므로 배치가 작으면 평균과 분산의 추정이 잡음에 크게 흔들려 성능이 급격히 저하되며, 일반적으로 배치 크기가 16 이하로 내려가면 그 영향이 뚜렷해진다. 고해상도 이미지 분할이나 객체 검출처럼 메모리 제약으로 GPU당 배치가 1~2개에 불과한 작업, 데이터 병렬 학습에서 장치별 배치 통계량이 전체와 달라지는 문제(이를 해결하려면 장치 간 통계량을 통신하는 동기화 배치 정규화가 필요하다), 시퀀스 길이가 가변적인 순환 신경망(Recurrent Neural Network, RNN)에서는 배치 정규화가 적합하지 않다. 이러한 한계를 극복하기 위해 통계량을 계산하는 축을 달리하는 대안들이 제안되었다. 계층 정규화(Layer Normalization)는 Ba 등(2016)이 제안한 것으로, 배치가 아닌 하나의 샘플 안에서 모든 특징에 걸쳐 평균과 분산을 계산하므로 배치 크기와 무관하고 학습과 추론의 동작이 같으며, RNN과 트랜스포머(Transformer)의 표준 정규화 기법이 되었다. 인스턴스 정규화(Instance Normalization)는 샘플별·채널별로 공간 차원에 대해서만 정규화하여 이미지의 대비(contrast) 정보를 제거하므로 스타일 변환과 생성 모델에서 주로 사용된다. Wu와 He(2018)의 그룹 정규화(Group Normalization)는 채널을 여러 그룹으로 나누어 각 그룹 안에서 정규화하는 방식으로, 계층 정규화(그룹 1개)와 인스턴스 정규화(그룹 수 = 채널 수)의 중간에 해당하며 배치 크기 2에서도 큰 배치의 배치 정규화와 비슷한 정확도를 보여 검출과 분할 작업에서 널리 쓰인다. 다만 충분히 큰 배치를 쓸 수 있는 이미지 분류에서는 여전히 배치 정규화가 가장 좋은 성능을 내는 경우가 많다.
배치 정규화를 활성화 함수의 앞에 둘 것인지 뒤에 둘 것인지도 자주 논의되는 주제다. 원 논문은 선형 변환 $Wx + b$ 직후, 활성화 함수 직전에 배치 정규화를 적용하는 구성(Conv → BN → ReLU)을 제안했으며, 정규화된 입력이 활성화 함수의 유효한 구간에 놓이도록 한다는 것이 그 근거였다. 반면 활성화 함수 뒤에 두면(Conv → ReLU → BN) 다음 계층으로 전달되는 값이 정규화되므로 더 직관적이라는 주장도 있으며, 실험적으로는 두 방식의 성능 차이가 작고 과제에 따라 우열이 뒤바뀐다는 보고가 많다. ResNet의 원래 구조는 Conv → BN → ReLU 순서를 따르고, 이후의 pre-activation ResNet은 BN → ReLU → Conv 순서로 바꾸어 잔차 경로가 항등 함수에 가깝게 유지되도록 하였다. 실무에서는 배치 정규화와 드롭아웃을 함께 쓸 때 학습과 추론 사이의 분산 불일치가 생길 수 있으므로 함께 사용하는 순서에 주의하고, 미세 조정 시에는 이동 평균 통계량을 고정할지 여부를 결정해야 하며, 배치 정규화가 포함된 모델은 추론 배포 전에 반드시 평가 모드로 전환해야 한다. 결론적으로 배치 정규화는 깊은 신경망을 안정적으로 학습시키는 사실상의 표준 구성 요소이며, 그 작동 원리에 대한 이해는 아직 진행 중이지만 큰 학습률 사용, 빠른 수렴, 초기화 민감도 감소라는 실질적인 이점은 널리 확인되어 있다.

#관련 용어

미니배치
한 번의 매개변수 갱신에 사용되는 학습 데이터의 부분 집합
내부 공변량 변화
학습 중 앞 계층의 매개변수 변화로 뒤 계층 입력의 분포가 계속 바뀌는 현상
이동 평균
학습 중 배치 통계량을 지수적으로 누적하여 추론 시 사용하는 전체 데이터 통계량의 추정치
계층 정규화
배치가 아닌 하나의 샘플 내 모든 특징에 대해 평균과 분산을 계산하는 정규화 기법
활성화 함수
계층의 선형 변환 결과에 비선형성을 부여하는 함수
학습률
경사 하강법에서 매개변수를 갱신하는 보폭을 결정하는 하이퍼파라미터

#직무 연관도

DA
Data Analyst
낮음
딥러닝 모델의 학습 곡선을 해석하거나 모델 구조를 이해할 때 참고할 수 있는 기본 개념
DS
Data Scientist
밀접
깊은 신경망 구조를 설계하고 학습을 안정화하는 데 필수적이며, 정규화 기법 선택은 모델 성능에 직접 영향을 미친다
DE
Data Engineer
높음
학습·추론 모드 전환, 분산 학습에서의 통계량 동기화, 추론 최적화를 위한 계층 병합 등 배포 과정에서 직접 다루어야 한다

#사용 사례

자율주행의료전자상거래인터넷 서비스제조미디어
개요
배치 정규화는 이미지 분류, 객체 검출, 이미지 분할 등 합성곱 신경망 기반 컴퓨터 비전 모델의 표준 구성 요소로 사용되며, 생성 모델과 음성 인식 모델의 학습 안정화에도 활용된다. 배치 크기가 작거나 시퀀스 모델인 경우에는 계층 정규화나 그룹 정규화가 대안으로 쓰인다.
사례
이미지 분류 모델 ResNet은 모든 합성곱 계층 뒤에 배치 정규화를 배치하여 100층이 넘는 깊은 신경망도 큰 학습률로 안정적으로 학습할 수 있게 하였으며, 이 모델을 추론 서버에 배포할 때는 학습 중 누적한 이동 평균 통계량을 사용하도록 평가 모드로 전환하고 배치 정규화 연산을 합성곱 가중치에 병합하여 지연 시간을 줄인다.

#참고 자료

#추천 포스트

© 2024 diki All rights reserved.