이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
batchNormalizationLayer
배치 정규화 계층
설명
배치 정규화 계층은 각 채널에 대한 모든 관측값에서 데이터의 미니 배치를 독립적으로 정규화합니다. 컨벌루션 신경망의 훈련 속도를 높이고 신경망 초기화에 대한 민감도를 줄이려면 컨벌루션 계층과 비선형 계층(예: ReLU 계층) 사이에 배치 정규화 계층을 추가하십시오.
정규화 후 이 계층은 입력값을 학습 가능한 스케일링 인자 γ만큼 스케일링하고 학습 가능한 오프셋 β만큼 이동합니다.
생성
설명
는 배치 정규화 계층을 만듭니다.layer
= batchNormalizationLayer
는 배치 정규화 계층을 만들고 하나 이상의 이름-값 쌍을 사용하여 선택적 속성인 layer
= batchNormalizationLayer(Name,Value
)TrainedMean
, TrainedVariance
, Epsilon
, 파라미터 및 초기화, 학습률 및 정규화, Name
을 설정합니다. 예를 들어, batchNormalizationLayer('Name','batchnorm')
은 이름이 'batchnorm'
인 배치 정규화 계층을 만듭니다.
속성
예제
세부 정보
알고리즘
배치 정규화 연산은 먼저 각 채널의 공간 차원, 시간 차원 및 관측값 차원에 대한 평균 μB 및 분산 σB2을 계산하여 입력값의 요소 xi를 독립적으로 정규화합니다. 그런 다음 정규화된 활성화를 다음과 같이 계산합니다.
여기서 ϵ은 분산이 매우 작은 경우 수치적 안정성을 개선하는 상수입니다.
평균이 0이고 분산이 1인 입력값이 배치 정규화 뒤에 오는 연산에 대해 최적이 아닐 가능성을 고려하여, 배치 정규화 연산은 다음과 같이 변환을 사용하여 활성화를 추가로 이동하고 스케일링합니다.
여기서 오프셋 β와 스케일링 인자 γ는 신경망 훈련 중에 업데이트되는 학습 가능한 파라미터입니다.
훈련 후에 신경망을 사용하여 예측을 수행하려면 배치 정규화에 데이터 정규화를 위한 고정 평균과 고정 분산이 필요합니다. 이 고정 평균과 고정 분산은 훈련 후에 훈련 데이터로부터 계산하거나 동적으로 계산한 통계량을 사용하여 훈련 중에 근사할 수 있습니다.
'BatchNormalizationStatistics'
훈련 옵션이 'moving'
인 경우 소프트웨어는 동적 추정값을 사용하여 훈련 중에 배치 정규화 통계량을 근사하고 훈련 후에 TrainedMean
속성과 TrainedVariance
속성을 각각 평균과 분산의 최신 이동 추정값으로 설정합니다.
'BatchNormalizationStatistics'
훈련 옵션이 'population'
인 경우 신경망 훈련이 완료된 후에 소프트웨어는 데이터를 한 번 더 통과시키고 TrainedMean
속성과 TrainedVariance
속성을 각각 전체 훈련 데이터 세트에서 계산된 평균과 분산으로 설정합니다.
이 계층은 TrainedMean
과 TrainedVariance
를 사용하여 예측 중에 입력값을 정규화합니다.
참고 문헌
[1] Ioffe, Sergey, and Christian Szegedy. “Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift.” Preprint, submitted March 2, 2015. https://arxiv.org/abs/1502.03167.