Learning
토픽 38 / 172·딥러닝

과적합 / 정규화 (Overfitting / Regularization)

과적합 / 정규화 (Overfitting / Regularization)

과적합은 모델이 학습 데이터에 과도하게 맞춰져 새 데이터에 일반화 실패하는 현상이고, 정규화는 과적합을 방지하여 일반화 성능을 향상시키는 기법

과적합 (Overfitting)

  • 원인: 모델복잡도과다(파라미터 >> 데이터), 학습데이터부족, 노이즈학습, 학습 과다(에폭 과다)
  • 증상: 학습오차↓ 검증오차↑, 학습-검증 성능 격차 증가, 학습 곡선의 분기
  • 진단: 학습/검증 손실 곡선 비교, K-Fold 교차검증, 학습 데이터 부분 제거 시 성능 변화

과소적합 (Underfitting): 모델복잡도부족, 학습부족, 학습·검증 모두 높은오차. 해결: 모델 복잡도 증가, 특징 추가, 학습 시간 증가

정규화 기법 상세

  • L1 정규화 (Lasso): 손실함수에 λΣ|w| 추가. 가중치를 정확히 0으로 만들어 희소 모델(Sparse Model) 생성, 불필요한 특징을 자동 선택·제거. 특징 선택이 중요한 고차원 데이터에 적합
  • L2 정규화 (Ridge): 손실함수에 λΣw² 추가. 가중치를 0에 가깝게(작게) 만들어 모델을 부드럽게. 모든 특징을 유지하되 영향력 분산, 다중공선성 해결. 일반적으로 L1보다 안정적
  • Dropout: 학습 시 각 뉴런을 확률 p(0.2~0.5)로 무작위 비활성화. 매 배치마다 다른 서브네트워크 학습 → 앙상블 효과. 추론 시에는 전체 뉴런 사용(가중치×(1-p) 스케일링). FC층에 주로 적용, CNN에서는 BatchNorm과 함께 사용. 핫팁: Transformer에서는 Attention/FFN 뒤에 적용
  • Batch Normalization: 미니배치 단위로 각 층의 입력을 평균 0, 분산 1로 정규화 후 학습 가능한 γ(스케일), β(시프트) 적용. 내부 공변량 이동(Internal Covariate Shift) 방지, 학습 안정화·가속(더 큰 학습률 사용 가능), 약한 정규화 효과. CNN 표준, 배치 크기에 의존하는 한계
  • Early Stopping: 검증 손실을 모니터링하여 일정 에폭(patience) 동안 개선 없으면 학습 중단. 가장 간단하고 효과적인 정규화 기법, 별도 하이퍼파라미터 최소. 검증 손실이 최소인 시점의 모델 가중치를 저장(Checkpoint). patience 설정이 중요(보통 5~20 에폭)
  • Data Augmentation: 기존 데이터에 변환(회전·반전·크롭·색상변환·노이즈)을 적용하여 학습 데이터를 인위적으로 확대. 실질적으로 데이터 부족 문제 해결, 모델의 불변성(Invariance) 학습. 이미지(기하변형/Mixup/CutMix), 텍스트(동의어 치환/역번역), 음성(SpecAugment)
  • Weight Decay: 매 업데이트 시 가중치에 감쇠 적용(w←w-λw), L2 정규화와 유사하나 AdamW에서는 별도 구현(디커플드). AdamW가 현재 Transformer 학습 표준

정규화 기법 비교표

적용사례: 이미지분류(Dropout+BatchNorm+Augmentation), 텍스트분류(L2+Dropout), LLM학습(Dropout+WeightDecay+Augmentation)

비교: L1(희소·특징선택) vs L2(분산·부드러움) vs Dropout(뉴런제거·앙상블)

연관: 과적합, 일반화, Dropout, Batch Normalization, L1, L2