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 해야 일관돼요.