31. Why does Batch Norm Work?

2023. 9. 12. 14:07Google ML Bootcamp/2. Improving Deep Neural Networks

검은고양이에 대해서만 학습했다면, 오른쪽과 같은 고양이는 구분을 잘 못할 수도 있다.

이때 모델은 검은 고양이를 맞추는데 최적화가 되게끔 학습이 되어서 그런 것이다. 이를 신경망 구조로 다시 살펴보자.

 

검은 고양이를 구분하는데 최적화가 된 모델은 x의 분포(검은고양이 or 노란고양이)에 따라 각 layer의 값이 overfitting된다고 볼 수 있다.

noramlize 과정을 통해 x의 분포에 조금 더 일반화를 더할 수 있다.

- x 분포가 달라지더라도 weight 변화량에 제한을 둠으로써 일반화 성능을 높일 수 있다.

- x 분포에 상관없이 각 layer의 w 분포도는 평균 0, 분산 1(실제로는 알파,베타에 의해 조정)으로 제한되기 때문.

 

mini batch를 이용할 경우 Noramlize가 일어나는 과정에서 계산되는 평균,분산은 mini-batch 내의 평균,분산이므로 전체 데이터셋에 비해 약간의 noise가 추가되어 있는 상태이다.

- 약간의 noise가 추가됨으로써 얻는 일반화의 효과도 무시할 수 없다. 하지만 전체 데이터셋의 평균,분산에 근사한 값이므로 noise는 매우 작다. 

- 따라서 dropout과 같이 활용도 가능하다.