Batch Normalization과 Layer Normalization
배치 정규화(batch normalization)
- 해당 레이어 층의 값의 분포를 변경하는 방법
- 평균과 분산 고정시킴
- 그래디언트 소실을 줄임으로서 신경망의 학습 속도를 향상시킬 수 있음
- 미니배치의 각 feature별로 평균, 분산을 계산하고 이를 이용해 정규화하여 평균0, 분산1이 되도록 함
- scale prapmeter $\gamma$, shift parameter $\beta$를 이용해 정규화 시킨 값에 affine transformation을 수행할 수도 있음
- 단점
- batch size가 너무 작은 모델에서는 잘 동작하지 않는다
- RNN에서는 sequence data를 사용하기에 배치 정규화를 적용하기 힘들다. 따라서 RNN 모델에서는 Layer Normalization을 이용해 정규화를 수행한다.
cf. Layer Normalization
- batch가 아니라 하나의 layer의 모든 뉴런에 대한 summed input의 평균, 분산을 구하고 졍규화를 수행한다.
- RNN에 있어 더 효과적이다
- 단점
- 추가계산 및 메모리 오버헤드 발생가능성
- 피드 포워드 네트워크 모델에서는 batch normalization이 더 효과적일 수 있다
- learning rate, 가중치 초기화같은 hyperparameter tuning에 민감할 수 있다. hyperparameter tuning으로 인해 레이어의 출력 분포 및 feature space가 크게 변동하거나 이상적인 범위에서 벗어날 수 있기 때문이다.
'AI Theory > key concept of AI' 카테고리의 다른 글
Reciprocal Rank Fusion(RRF) (1) | 2024.10.25 |
---|---|
latent vector 과 latent space 의 의미 (0) | 2024.04.04 |
down sampling과 up sampling (0) | 2024.04.03 |
few-data learning의 종류 (0) | 2024.03.27 |
train loss와 validation loss 그래프로 모델 학습 상태 확인하기 (0) | 2023.08.01 |