keras batch normalization 예제

일괄 처리 정규화는 모델에 적합한 데이터 준비대신 사용하지 않는 것이 좋습니다. 그래서 우리는 표준화 (일부 스케일러 minmax 또는 표준 스케일러를 적용)를 한 다음 시퀀스 모델에 배치 정규화를 적용합니까? 각 배치에서 이전 계층의 활성화를 정규화하는 경우, 즉 평균 활성화를 0에 가깝게 유지하고 활성화 표준 편차를 1에 가깝게 유지하는 변환을 적용합니다. 몇 가지 일반적인 네트워크 형식에서 일괄 처리 정규화를 사용하는 방법을 살펴보겠습니다. 일괄 처리 정규화는 딥 러닝 신경망의 레이어에 대한 입력을 자동으로 표준화하도록 설계된 기술입니다. 일괄 정규화없이 원래 모델은이 학습 속도로 전혀 배울 수 없습니다. 일괄 처리 정규화에 대해 궁금하다면 이 문서와 비디오를 살펴보는 것이 좋습니다. 일괄 정규화는 [-1,1]에 가까운 값을 확장하는 것이라고 생각했기 때문에 lstm 출력이 이미 [-1, 1]인 경우 BN을 추가 할 필요가 없다고 생각했습니까? 탄 이나 시그모이드 후 BN을 적용 하는 혜택에 대 한 자세한 말을 할 수 있습니까? 일괄 정규화가 구현되면, 일괄 정규화는 신경망의 교육 과정을 극적으로 가속화하는 효과가 있으며, 경우에 따라 적당한 정규화 효과를 통해 모델의 성능을 향상시킵니다. 일괄 처리 정규화에서 입력 데이터의 크기 조정을 별도로 고려하는 것이 좋습니다. 아래 플롯은 네트워크 깊이의 함수로서 90%의 테스트 정확도(쉬운 대상)에 도달하는 데 필요한 교육 반복 횟수(1반복에는 배치 크기가 500개 포함)를 보여 준다.

일괄 정규화는 심층적인 네트워크에 대한 교육 속도를 크게 높입니다. 일괄 정규화하지 않으면 각 후속 계층에 따라 학습 단계 수가 증가하지만 이 단계로는 교육 단계 수가 거의 일정에 가깝습니다. 실제로 더 어려운 데이터 집합에서는 더 많은 레이어가 성공의 전제 조건입니다. 모든 미니 일괄 처리에 대한 평균 및 표준 편차를 추정하는 기본 구성은 아마도 합리적일 수 있습니다. 표준화를 수행하는 데 사용되는 통계(예: 각 변수의 평균 및 표준 편차)는 각 미니 일괄 처리에 대해 업데이트되고 실행 평균이 유지됩니다. 배치 정규화의 추가는 더 적은 교육 시대에 모델의 유사하거나 더 나은 분류 정확도를 제공, 교육 과정을 가속화 할 것입니다.