[ML]Batch Normalization

건너별·2021년 11월 29일
0

ML

목록 보기
9/21

등장 배경

  • batch 단위로 학습을 진행하니, 각 batch 별 분포 차이가 큼.(Covariance값)

Batch란?

  • sample의 하위 단위
  • batch 단위로 iteration이 실행되고, 다음 parameter 값이 update됨
    ex) sample =3,200 개, batch size=32 인경우
    -> 32개마다 iteration을 통하여 output value y^\hat y이 예측되고, parameter update
    -> parameter는 100번 update됨.

개념

1) dataset을 minibatch(묶음)으로 나눔
2) minibatch 평균 μb\mu_b, 분산 σb2\sigma_b^2값을 구하고
3) 평균 0, 분산 1 인 분포로 normalize
4) γ,β\gamma, \beta 를 통해 scaling& shift (학습 파라미터)

장점

  • 학습 속도를 빠르게 할 수 있음
  • 데이터 민감도를 낮출 수 있음(Regularization)
  • learning rate 더 크게만들 수 있음
  • sigmoid와 같은 saturated activation function을 사용할 수 있게 해줌

Reference

https://learnopencv.com/batch-normalization-in-deep-networks/

profile
romantic ai developer

0개의 댓글