AI: 스케줄링/조기종료 – Batch Normalization
ㅁ 스케줄링/조기종료
ㅇ 정의:
딥러닝 학습 과정에서 각 미니배치 단위로 입력을 정규화하여 학습 속도를 높이고 안정성을 확보하는 기법.
ㅇ 특징:
– 내부 공변량 변화(Internal Covariate Shift)를 줄여 학습을 안정화.
– 학습률을 상대적으로 크게 설정 가능.
– 과적합 방지에 일부 기여.
– 학습 시와 추론 시 동작 방식이 다름(추론 시에는 이동평균/분산 사용).
ㅇ 적합한 경우:
– 심층 신경망에서 학습이 불안정하거나 수렴 속도가 느린 경우.
– 학습률을 높여 빠른 수렴을 유도하고자 하는 경우.
ㅇ 시험 함정:
– Dropout과 혼동하여 적용 순서를 잘못 이해하는 경우.
– 추론 단계에서 배치 통계가 아닌 학습 시 저장된 이동 평균/분산을 사용해야 함을 간과.
– BN이 항상 과적합을 방지하는 것은 아님.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Batch Normalization은 내부 공변량 변화를 줄여 학습을 안정화한다.”
O: “BN은 학습률을 높여도 안정적인 학습을 가능하게 한다.”
X: “BN은 학습 시와 추론 시 동일한 통계를 사용한다.”
X: “BN은 Dropout을 대체하는 과적합 방지 전용 기법이다.”
ㅁ 추가 학습 내용
Batch Normalization은 Fully Connected Layer뿐만 아니라 Convolution Layer에도 적용 가능하며, Conv Layer에서는 채널 단위로 정규화가 이루어진다.
BN의 수식은 입력 x를 평균 μ와 분산 σ²로 정규화한 뒤, 학습 가능한 스케일 파라미터 γ와 시프트 파라미터 β를 적용하는 형태로 구성된다.
일반적으로 BN은 선형 변환 후, 활성화 함수 전에 적용하는 경우가 많다.
시험에서는 BN과 Layer Normalization, Instance Normalization 등의 차이점을 비교하는 문제가 자주 출제된다.
BN은 작은 배치 크기에서 성능이 저하될 수 있으며, 이를 극복하기 위해 Group Normalization과 같은 대안이 존재한다.