딥러닝 모델이 학습 데이터에서는 만점을 받는데, 실제 테스트에서는 낙제점을 받는다면? 그것은 오버피팅(Overfitting)의 늪에 빠졌기 때문입니다. 오늘은 모델의 고집을 꺾고 '범용적인 지능'을 갖게 만드는 4가지 핵심 규제(Regularization) 기법을 정리해 봅니다.
| 카테고리 | 기법 | 핵심 원리 및 특성 | 주요 위치 |
|---|---|---|---|
| 데이터 (Data) | Data Augmentation | 데이터를 변형하여 암기 방지 및 일반화 유도 | 입력 단계 |
| 네트워크 구조 (Structure) | Batch Norm (BN) | 층간 분포 안정화, 학습 속도 향상 및 미세 노이즈 | 활성화 함수 전후 |
| Dropout | 뉴런 무작위 제거로 '동료 의존성' 파괴 (앙상블 효과) | 은닉층 (주로 FC) | |
| 가중치 규제 (Weights) | L1 / L2 규제 | 가중치 크기를 제한하여 모델의 복잡도 직접 제어 | 손실 함수 (Loss) |
| Elastic Net | L1(희소성)과 L2(크기 억제)를 결합한 하이브리드 규제 | 손실 함수 (Loss) | |
| 기울기 소실 및 폭주 제어 (Stability) | Weight Initialization | 가중치 초기값을 적절히 설정하여 학습의 시작점 최적화 | 모델 빌드 단계 |
| Gradient Clipping | 기울기 크기를 강제로 깎아 폭주(Exploding) 방지. RNN이나 Transformer 모델에서 필수적으로 사용. | 역전파 직후 | |
| 최적화 경로 (Optimizer) | Momentum | 기울기 업데이트에 관성을 주어 안정적인 수렴 유도 | 업데이트 단계 |
같이 쓰는 이유: 드롭아웃은 '뉴런의 조합'을 규제하고, L2는 '가중치의 크기'를 규제합니다. 즉, 뉴런의 활동(Activation)과 가중치(Weight)를 동시에 억제하는 쌍끌이 전략입니다.
하이퍼파라미터 튜닝
Grid Search: 둘을 동시에 너무 강하게 쓰면 언더피팅이 발생하므로, 하나를 강화하면 다른 하나는 조금 약화시키는 '저울질'이 필요합니다. (Weight Decay)와 (Dropout Rate)는 동시에 Search Space(탐색 공간)에 넣어야 합니다.
Bayesian Optimization (최근의 트렌드) : Grid Search는 조합이 늘어날수록 시간이 기하급수적으로 늘어납니다. 그래서 최근에는 베이지안 최적화를 더 선호합니다.
두 기법은 서로 통계적으로 충돌(Disharmony)할 수 있습니다. (참고: Understanding the Disharmony between Dropout and Batch Normalization, 2018)
BN -> ReLU -> Dropout 순서를 지키세요. (BN이 Dropout 뒤에 오면 통계가 꼬입니다.)Phase 1 (Data) : 먼저 Data Augmentation으로 데이터를 풍부하게 만드세요. 부작용 없는 가장 강력한 규제입니다.
Phase 2 (Stability) : 모든 중간 레이어에 Batch Normalization을 적용하세요. 학습 속도가 압도적으로 빨라집니다.
Phase 3 (Fine-tuning) : 검증 성능을 보며 오버피팅이 보인다면, 마지막 FC 층에 Dropout을 추가하거나 손실 함수에 L2 규제를 더하세요.