keras.layers.BatchNormalization(axis=-1, momentum=0.99, epsilon=0.001, center=True, scale=True, beta_initializer='zeros', gamma_initializer='ones', moving_mean_initializer='zeros', moving_variance_initializer='ones', beta_regularizer=None, gamma_regularizer=None, beta_constraint=None, gamma_constraint=None)배치 정규화 층batch normalization layer입니다. (Ioffe and Szegedy, 2014)
각 배치batch에서 이전 층layer의 activations를 정규화normalize합니다. 즉, activation의 평균은 0에 가깝도록 하고 표준편차는 1에 가깝게 유지하는 변환을 적용합니다.
인자 설명
- axis:
int, 정규화되어야 하는 축을 의미합니다.(일반적으로 요인 축feature axis입니다.) 예를 들어,data_format="channels_first"가 있는Conv2D층의 다음에axis=1인BatchNormalization을 설정할 수 있습니다. - momentum: 이동 평균moving mean 및 이동 분산moving variance에 대한 모멘텀을 의미합니다.
- epsilon: 0으로 나누기를 방지하기 위해 분산에 추가되는 작은
float값 입니다. - center:
True일 경우, 정규화된 텐서에beta만큼의 거리(offset)를 추가합니다.False인 경우beta는 무시됩니다. - scale:
True일 경우,gamma를 곱합니다.False인 경우gamma는 사용되지 않습니다. 다음 층이 선형일 때(예:nn.relu), Scaling이 다음 층에서 수행될 것이기 때문에 사용되지 않을 수 있습니다. - beta_initializer: beta 가중치를 위한 초기화 함수initializer입니다.
- gamma_initializer: gamma 가중치를 위한 초기화 함수입니다.
- moving_mean_initializer: 이동 평균moving mean을 위한 초기화 함수입니다.
- moving_variance_initializer: 이동 분산moving variance을 위한 초기화 함수입니다.
- beta_regularizer: beta 가중치를 위해 선택적으로 사용 가능한 규제 함수regularizer입니다.
- gamma_regularizer: gamma 가중치를 위해 선택적으로 사용 가능한 규제 함수입니다.
- beta_constraint: beta 가중치를 위해 선택적으로 적용 가능한 제약입니다.
- gamma_constraint: gamma 가중치를 위해 선택적으로 적용 가능한 제약입니다.
입력 크기
임의입니다. 이 층을 모델의 첫 번째 층으로 사용할 때, 키워드 인자 input_shape (정수 튜플, 샘플 축 미포함)를 사용하십시오.
출력 크기
입력 크기와 동일합니다.
참고 자료