- Normalization이란?
다음과 같이 각 차원의 분포가 일정하지 않을 때 큰 LR을 사용할 시 큰 폭으로 움직이게 되는데 이 때, y축은 값들이 오밀조밀하게 모여있어서 한번에 많은 값 변화가 생기게 됩니다. 이런 문제를 간격을 일정하게 만들어줘서 해결하는 것이 Normalization 입니다.
심층 신경망의 이전 레이어 파라미터 변경은 그 다음 레이어 입력의 distribution에 영향을 줍니다. 이 때문에 Learning rate 값을 크게 설정할 수 없고 파라미터 초기값 설정을 신중하게 해야합니다. 층이 깊어질 수록, non-linerarity 특성이 강해질 수록 문제점이 더 커지게 됩니다. 이 현상을 internal covariate shift 라고 합니다.
- Learning rate가 커지면 파라미터 변동이 커지니 크게 설정하기 어렵다, distribution이 커지면 정확도가 떨어진다.
- 층이 늘어나면 파라미터들도 늘어나기 때문에 distribution가 더 여러번 바뀐다.
- non-linerarity 특성은 왜 분산을 더 커지게 할까?, non-linerarity 특성이 강한 활성화 함수는 무엇일까?
본 논문에서는 이러한 문제를 해결하기 위한 방법으로 mini-batch 별로 normalize를 진행하는 방법을 제안하고 있습니다. 이 방법은 높은 Learning rate와 파라미터 설정이 간편해지고 drop-out 대신 regularizer 역할을 해줍니다. 결과적으로 SOTA와 비슷한 정확도를 가지며 14 step을 줄였습니다. Batch normalization을 적용시키기 전 오리지널 모델과도 큰 차이가 났습니다.
- 학습 속도가 빨라진 이유는 Large LR을 사용할 수 있기 때문에!
Batch Normalization
우리는 모델을 학습시킬 때 학습 데이터를 정규화하여 각 차원들의 데이터 간격을 일정하게 만들어줍니다. Batch Normalization은 이 방법들을 히든 레이어 입력에 적용한 방법입니다. 하지만 단순하게 N(0, 1)로 정규화(Standardization) 하면 비선형성이 약해질 수 있습니다. 다음과 같이 시그모이드 함수를 사용한다고 할 때 활성화 함수의 선형적인 부분에 데이터가 몰리기 때문입니다.
그래서 본 논문에서는 다음과 같은 방법을 통하여 정규화를 진행합니다. 레이어의 출력 차원만큼 $\gamma$와 $\beta$를 사용하여 진행됩니다.
학습 할 때는 mini-batch에 대한 mean/variance를 사용하지만 inference 단계에서는 real mean/variance를 사용합니다. 첫 번째 식은 mini-batch에 대한 각 데이터의 mean을 구합니다. 두 번째 식은 위에서 구한 mean을 사용하여 variance를 구합니다. 세번째 식은 입력값에 mean값을 빼고$\sqrt{\sigma^2 + \epsilon}$으로 나눠서 normalization을 해줍니다. 여기서 엡실론은 0으로 나눠지는 것을 방지하기 위해서 들어갑니다. 마지막 식은 normalized 값에 새로운 파라미터 $\gamma$와 $\beta$를 사용하여 학습을 진행합니다. 이 $\gamma$와 $\beta$는 normalize 단계 이후에 사용되어 위에서 말한 문제점인 비선형성을 해치는 것을 막아줍니다.
Result
- internal covariate shift 을 완하시켜줘 하이퍼 파라미터 설정(LR)과 초기 파라미터 값 설정에서 자유로워집니다.
- 자체적으로 regularization 효과가 있어서 Drop-out을 사용하지 않아도 됩니다.
- References
https://github.com/ndb796/Deep-Learning-Paper-Review-and-Practice
'논문 리뷰 > 여러가지 기법들' 카테고리의 다른 글
Attention Is All You Need (0) | 2022.10.23 |
---|---|
Sequence to Sequence Learningwith Neural Networks (0) | 2022.09.18 |
Efficient Estimation Of Word Representations In Vector Space (0) | 2022.09.18 |