TensorFlow BatchNormalization — tf.keras.layers.BatchNormalization

TensorFlow BatchNormalization — tf.keras.layers.BatchNormalization

tf.keras.layers.BatchNormalization 은 입력을 축별로 정규화해 네트워크 훈련의 속도와 안정성을 높이는 레이어예요. 재파라미터화(reparametrization)을 통해 그레디언트 흐름을 안정화하는 데 쓰여요.

사용

import tensorflow as tf
x = tf.keras.Input(shape=(32, 32, 3))
h = tf.keras.layers.Conv2D(16, 3)(x)
h = tf.keras.layers.BatchNormalization()(h)
h = tf.keras.layers.Activation("relu")(h)

특징

  • axis, momentum, epsilon, center, scale 을 조절할 수 있어요.
  • 훈련 중 이동 평균·분산을 갱신하고, 추론에 사용해요.
  • 레이어 호출 시 training=True/False 로 훈련/추론을 명시할 수 있어요.

사용 팁

  • 배치 크기가 클수록 정규화 통계가 안정적이에요.
  • 서빙 모델(추론 전용)은 배치 정규화가 이동 통계로 동작하도록 freeze 해야 일관돼요.

더 알아보기