AI VIDEO BRIEFING
배치 정규화란 무엇인가: 신경망의 불안정한 기울기 문제를 해결하고 학습 속도와 안정성을 높이는 정규화 기법
딥러닝 신경망에서 자주 발생하는 불안정한 기울기 문제를 해결하고 학습 속도를 끌어올리는 배치 정규화의 작동 원리와 표준화·스케일·오프셋 과정, 그리고 케라스로 한 줄에 구현하는 방법과 활성화 함수 앞뒤 배치 선택까지 쉽게 정리했습니다.

핵심 메시지
쉽게 이해하기
정규화(normalization)는 값의 범위를 0과 1 사이로 압축하는 것이고, 표준화(standardization)는 평균을 0, 분산을 1로 바꾸는 것이다. 두 용어는 종종 혼용되지만 의미가 다르다. 신경망에 데이터를 넣기 전에 이런 처리가 필요한 이유는, 특징마다 값의 범위가 크게 다르면(예: 보유 휴대폰 수 2~24 대 ATM 인출액 0~1000) 최적의 가중치를 찾기가 어려워지고 가중치 값들이 서로 크게 벌어져 망이 불안정해지기 때문이다.
입력을 정규화하고 올바른 가중치 초기화와 활성화 함수를 써도, 학습이 진행되면서 기울기 소실·폭주 문제가 다시 나타날 수 있다. 배치 정규화는 이를 막기 위해 입력뿐 아니라 모든 층의 출력을 정규화한다. 각 층 사이에 배치 정규화 층을 두어, 이전 층의 출력을 정규화한 뒤 다음 층으로 전달하는 방식이다.
배치 정규화는 먼저 데이터를 표준화해 평균 0·분산 1로 만든다. 하지만 여기서 끝나지 않고, 학습 과정에서 결정되는 '스케일'을 곱하고 '오프셋'을 더해 값을 적절한 위치로 옮긴다. 이 두 값은 하이퍼파라미터가 아니라 가중치·편향처럼 학습으로 찾아내는 훈련 가능한 파라미터다.
장점은 세 가지다. 첫째, 에폭 하나하나는 계산이 늘어 느려지지만 더 적은 에폭으로 동일한 정확도에 도달하므로 전체 시간은 절약된다. 둘째, 첫 층 앞에 배치 정규화 층을 두면 입력을 따로 정규화하지 않아도 되어 처리를 한곳에 모을 수 있다. 셋째, 과적합을 다루는 정규화(regularization)의 필요성을 줄여 주는 것으로 알려져 있다.
케라스 구현은 매우 간단하다. MNIST 손글씨 숫자 예제에서 평탄화 층과 은닉층(300개, 100개 뉴런), 출력층(10개) 사이에 BatchNormalization 층을 끼워 넣으면 된다. 한 가지 주의점은 배치 정규화를 활성화 함수 앞에 둘지 뒤에 둘지인데, 원 논문은 활성화 함수 앞에 두는 방식을 긍정적으로 평가했으나 문제에 따라 직접 실험해 결정하는 것이 좋다.
주요 인사이트
- 배치 정규화의 오프셋은 결국 편향(bias)과 같은 역할을 하므로, 배치 정규화를 쓰는 층에서는 use_bias를 끄면 파라미터 수를 줄이고 학습을 더 빠르게 할 수 있다.
- '에폭당 시간 증가'와 '필요 에폭 감소'는 상충하는 듯 보이지만, 절약되는 시간이 추가되는 시간보다 훨씬 커서 결과적으로 학습이 빨라진다.
- 더 적은 에폭으로 같은 정확도를 얻을 수 있다는 것은, 같은 시간을 더 쓰면 기존보다 더 나은 성능까지 노릴 수 있다는 뜻이다.
- 배치 정규화는 단순히 입력 전처리 기법이 아니라 학습 도중 각 층의 분포를 다듬는 '층'으로 작동한다는 점이 핵심이다.
자주 묻는 질문
정규화와 표준화는 어떻게 다른가요?
정규화는 값의 범위를 0과 1 사이로 압축하는 것이고, 표준화는 값을 평균 0·분산 1이 되도록 바꾸는 것입니다. 두 용어는 자주 혼용되지만 의미가 구분됩니다.
배치 정규화의 스케일과 오프셋은 어떻게 정해지나요?
미리 정하는 하이퍼파라미터가 아니라, 가중치나 편향처럼 학습 과정에서 함께 찾아내는 훈련 가능한 파라미터입니다.
배치 정규화를 쓰면 학습이 왜 빨라지나요?
에폭마다 추가 계산으로 한 에폭은 느려지지만, 더 적은 에폭으로 같은 정확도에 도달하므로 전체 학습 시간은 오히려 줄어듭니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗