Table of Contents
Batch Normalization는 신경 네트워크의 훈련 과정을 개선하기 위해 깊은 학습에서 사용되는 기술입니다. 그것은 각 층의 입력을 정상화하고 학습을 가속화하는 데 도움이. 이 문서는 계산을 탐구, 제공하는 혜택, 그리고 연습에서 일괄 표준화를 배치하는 방법.
일괄 정상화에서 계산
훈련 도중, 배치 정상화는 현재 소형 배치의 각 특징의 평균 그리고 variance를 따릅니다. 정상화한 가치는 그 때 표준 탈선에 의해 좌우하고 분할해서 산출됩니다. 공식은:
정상 값: x Љ = (x - μ) / √(σ2 + ε)
여기서 x는 입력, ]μ]]는 일괄 의미, σ2는 일괄 가변성, ]]ε은 0으로 사업부를 방지하는 작은 상수입니다. 정상화 후, 학습 가능한 매개 변수와 출력을 이동:
입력: y = γ * x + β]
Batch Normalization의 이점
Batch Normalization은 교육 신경 네트워크에서 몇 가지 이점을 제공합니다. 그것은 내부 코variate 교대를 감소, 네트워크 활성화의 배포에 변화. 이 안정화는 더 높은 학습 속도와 빠른 융합을 허용. 또한, 그것은 정기화의 형태로 작동, 잠재적으로 드롭 아웃 같은 다른 기술에 대한 필요 감소.
다른 혜택은 향상된 모델 정확도와 견고성뿐만 아니라, 멸균 또는 폭발적인 gradients에서 고통없이 더 깊은 네트워크를 사용할 수있는 능력이 있습니다.
일괄 정상화의 실제 배포
네이쳐 네트워크에서 일괄 처리 정상화는 각 복잡한 또는 완전히 연결된 층 후에 배치 정상적인화 층을 추가 포함합니다. TensorFlow 또는 PyTorch와 같은 기구에서는, 이것은 붙박이 기능에 straightforward입니다.
훈련 도중, 배치 정상적인화 층은 그들의 이동하는 평균을 좌우합니다. 출현 도중, 이 평균은 정상적인화를 위해, 일관된 성과를 지키.
배치 정상화 배치를 배치할 때 일괄 크기를 고려하는 것이 중요합니다. 작은 배치 크기는 모델 성능에 영향을 줄 수있는 평균 및 variance의 덜 안정적인 견적으로 이어질 수 있습니다. 층 정상화 또는 그룹 정상화와 같은 대안은 그런 경우에 사용될 수 있습니다.