# BN

[논문으로 개념 정리]Batch Normalization(1)
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 위 논문을 리뷰하고 관련된 개념들을 수집하여 종합적인 개념을 정리해보려 한다. Abstract Deep Neural Network 를 학습시킬 때 이전 레이어의 파라미터가 변함에 따라 각각의 레이어에 들어오는 input의 분포가 변하기 때문에 복잡하다. 이는 더 낮은 lr 을 필요로 함으로써 학습을 더 느리게 하고 파라미터 값 초기화에 더 민감하게 만든다. (파라미터를 초기에 넣을 때 조심히 넣어야 하고 값에 따라 결과차이가 꽤 난다는 의미) -> 학습이 어려움 이러한 현상을 'internal covariate shift'라고 정의하며 이런 ICS 문제를 layer input을 정규화함으로써 해결한다. BN 방법은 모델

Batch Normalization, 적용 전과 후 비교 및 요약
paper Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift How Does Batch Normalization Help Optimization? reference 동빈나 유튜브 https://youtu.be/58fuWVu5DVU code https://kratzert.github.io/2016/02/12/understanding-the-gradient-flow-through-the-batch-normalization-layer.html 블로그 _https://eehoeskrap.tistory.com/4

Batch Normalization에 대해서 알아보자
Summary 역할 각 레이어의 입력 feature의 분포를 re-centering & re-scaling 장점 → 경험적으로 높은 성능을 낸다고 널리 알려져 있음 & 이유에 대해서는 아직도 연구 진행중 Faster training (learning rate 를 더 높게 설정할 수 있음) Stable training (less vanishing & exploding gradients) Regularization (less overfitting, more generalized) 단점 큰 mini-batch size 필요 → Mini-batch가 전체 dataset과 비슷한 분포를 가져야함. RNN에서 사용 불가능 잘 동작하는 이유 아마도 Internal covariate shift를 제거했기 때문이다. 2018 논문: ICS때문은 아니다! 실험적, 수학적으로 증명