Notice
Recent Posts
Recent Comments
Link
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

Silver bullet

Avoding overfitting - Dropout & Batch Normalization / DL Hyper-params & Transfer-learning + Deep Double Descent 본문

AI/AI

Avoding overfitting - Dropout & Batch Normalization / DL Hyper-params & Transfer-learning + Deep Double Descent

밀크쌀과자 2024. 7. 12. 21:21

1) Dropout

- 신경망에 적용할 수 있는 효율적인 Overfitting 회피 방법 중 하나

- Training을 진행할 때 매 Batch 마다 Layer단위로 일정 비율만큼의 Neuron을 꺼뜨리는 방식으로 적용

- Test / Inference 단계에는 Dropout을 걷어내어 전체 Neuron이 살아있는 채로 Inference를 진행해야 함

- 랜덤하게 Neuron을 꺼뜨려 학습을 방해함으로써 모델의 학습이 Training data에 편향되는 것을 막아주는 것이 핵심

- 동일한 데이터에 대해 매번 다른 모델을 학습시키는 것과 마찬가지로 효과를 발생시켜 일종의 Model ensemble 효과를 얻을 수 있음

- 전반적으로 Overfitting을 줄여주므로 Test data에 대한 에러를 더욱 낮출 수 있게 해줌

- 가중치 값이 큰 특정 Neuron의 영향력이 커져 다른 Neuron들의 학습 속도에 문제를 발생시키는 Co-adaptation을 회피할 수 있게 함

- 2012년도 ImageNet Challenge에서 우승한 Alexnet은 마지막 2개의 Fully-connected layer에 Dropout을 적용함 (p==0.5)


Batch Normalization

- Input data에 대해 Standardization과 같은 Normalization을 적용하면 전반적으로 model의 성능이 높아짐

- 데이터 내 Column들의 Scale에 model이 너무 민감해지는 것을 막아주기 때문

- 신경망의 경우 Normalization이 제대로 적용되지 않으면 최적의 Cost 지점으로 가는 길을 빠르게 찾지 못함

- 이러한 Normalization은 Input data 뿐만 아니라 신경망 내부의 중간에 있는 Hidden layer로의 input에도 적용해주는 것이 BN

- Activation function을 적용하기 전에 Batch normalization을 먼저 적용 (앞과 뒤 중 어느 쪽에 삽입할지는 논의/실험 중)

 

Process of Batch Normalization

- 1) 각 Hidden layer 로의 Input data에 대해 평균이 0, 분산이 1이 되도록 Normalization을 진행

- 2) Hidden layer의 출력값(Output)이 비선형성을 유지할 수 있도록 Normalization의 결과에 Scaling & Shifting 적용 (컴퓨터가 알아서 알맞은 값으로 적용)

- 3) Scaling& Shifting을 적용한 결과를 Activation function에게 전달 후 Hidden layer의 최종 output 계산

 

Batch Normalization 의 장점 

- 학습 속도 & 학습 결과가 개선됨 (Higher learning rate 적용가능)

- 가중치 초기값에 크게 의존하지 않음 (매 layer 마다 정규화를 진행하므로 초기화의 중요도 감소)

- Overfitting 억제 (Dropout, L1/L2 regularization등의 필요성 감소)

- 핵심은 학습 속도의 향상 (Overfitting을 줄여주는 Regularization effect는 부수적 효과)

 


DL Hyper-params & Transfer-learning + Deep Double Descent

Beyond overfitting, where new settlement lies.

초반 overfitting을 넘어서 계속 학습시키면 더욱 낮은 error 지점을 발견할 수도 있다.