Batch normalization과 Input normalization은 모두 데이터 정규화 기술이지만, 방식과 적용되는 시점에서 차이가 있다.
1) Batch normalization
Batch normalization은 각 mini batch의 평균과 표준편차를 계산하고, 이를 사용하여 입력을 정규화하는 방식이다. normalization 작업이 별도의 과정으로 떼어진 것이 아니라 신경망 안에 포함되어, normalization 작업 역시 학습과정에서 같이 조절되게 된다. 즉, 각 레이어마다 정규화하는 레이어를 두어, 변형된 분포가 나오지 않도록 조절하는 것이 batch normalization이다.
normalization 작업 역시 학습 과정에서 조절된다. 따라서 위의 식에서 베타와 감마는 학습 가능한 변수로, backPropagation을 통해 학습이 된다.
Batch normalization을 사용하게 되면, 훈련 중에 각 레이어의 입력을 안정화시키고, gradient 소실 및 폭주 문제를 완화하여 학습을 더 효과적으로 만들 수 있다.
2) Input normalization
Input normalization은 학습 전에 전체 data의 normalize 작업을 진행하는 것이다. 학습단계에서 normalization 과정이 같이 학습되는 batch normalization과는 다르게, 학습과는 별개의 작업으로 진행되며, 전체 data에 대해 적용된다는 점이 차이점이다.
데이터의 전체 평균이 0이 되고, 표준 편차가 1이 되도록 정규화를 진행하며, batch 크기에 영향을 받지 않는다.
Input normalization을 진행하게 되면, 초기 학습을 안정화시킬 수 있으며, 다양한 스케일의 입력에 대한 모델의 일반화 능력을 향상시킬 수 있다.
'수업정리 > 딥러닝 이론' 카테고리의 다른 글
Triplet Loss 이해하기(개념, 수식, 주의사항) (0) | 2024.05.19 |
---|---|
Soft Actor-Critic(SAC) 컨셉 이해 (0) | 2024.05.16 |
Residual Network, Residual Block 개념정리 (0) | 2023.10.16 |
Diffusion Model 설명 (0) | 2023.10.15 |
Autoregressive Learning (0) | 2023.08.24 |