728x90
반응형
🧠 Regularization: 학습을 '덜 잘하게' 해서 일반화를 돕는다?
Regularization(정규화)은 모델이 학습을 너무 잘해서 생기는 **과적합(overfitting)**을 막기 위한 기술입니다.
모델이 훈련 데이터를 “완벽하게 외우지 않도록”
약간의 제약을 주어 일반화 능력을 높이는 방식입니다.
⚙️ 왜 필요한가?
Neural Network는 강력한 표현력을 가진 함수 근사기입니다.
하지만 이 말은 곧 노이즈까지 외우기 쉬운 구조라는 의미이기도 합니다.
- 예: 훈련 데이터에 있는 이상치나 패턴 없는 샘플까지 맞추려는 경향
- 이런 현상이 바로 과적합이며, 이를 방지하려면 모델에 "제한"이 필요합니다.
🧰 주요 Regularization 기법
1. L2 Regularization (Weight Decay)
- 모델 파라미터 값이 너무 커지지 않도록 제약
- 손실 함수에 가중치 크기를 패널티로 추가:
-
ini복사편집Loss_total = Loss_original + λ * ||W||²
- 효과: 가중치가 작아지면 모델이 더 부드러운 함수를 근사하게 됨
2. L1 Regularization
- 가중치 절댓값의 합을 패널티로 추가:
-
ini복사편집Loss_total = Loss_original + λ * ||W||
- 효과: 희소성(sparsity) 유도 → 일부 weight가 0이 되도록 유도
3. Dropout
- 학습 시 일부 뉴런을 랜덤으로 제거(drop)
- 예: Dropout(p=0.5) → 매 step마다 절반의 뉴런 비활성화
- 효과: 다양한 서브네트워크를 동시에 학습시키는 효과 → 과적합 방지
4. Early Stopping
- Validation Loss가 일정 에폭 이후 다시 증가하면 학습 중단
- 효과: 훈련 세트에서의 최적점을 넘지 않게 함
5. Data Augmentation
- 입력 데이터를 인위적으로 다양하게 변형 (회전, 노이즈, 랜덤 마스킹 등)
- 실제로 학습하는 분포를 풍부하게 만들어 모델이 덜 과적합되도록 함
🔬 실무 팁
- 🤔 Dropout은 학습 중만 활성화, 추론 시에는 모든 뉴런 사용
- 🤝 L2는 대부분의 프레임워크에서 weight_decay로 설정
- 📊 실험 로그를 통해 Regularization 강도 (λ)를 반드시 조절해가며 확인
💡 Regularization은 '학습의 과욕을 억제하는 방법'
정규화는 모델이 너무 많이, 너무 빨리 배우려는 걸 방지해
적절한 일반화 능력을 갖추도록 돕는 도구입니다.
데이터는 결국 세상에 존재할 수많은 케이스 중 일부일 뿐이기 때문이죠.
✨ 마무리 요약
- Regularization은 모델이 훈련 데이터에 과하게 맞추는 것을 막기 위한 기술
- L1, L2, Dropout, Early Stopping 등 다양한 방식 존재
- 정규화 강도(λ)를 튜닝하면 학습/일반화 균형을 잡을 수 있음
- 실무에서는 여러 기법을 동시에 적용하는 경우도 많음
728x90
반응형
'AI > AI Info' 카테고리의 다른 글
Activation Function: 딥러닝을 ‘딥’하게 만드는 비선형의 힘 (0) | 2025.06.22 |
---|---|
Batch Normalization이란? 딥러닝 학습의 가속 페달 (0) | 2025.06.22 |
Overfitting vs Underfitting: '학습을 잘했다'는 착각의 함정 (0) | 2025.06.17 |
Learning Rate: 너무 빠르면 폭주, 너무 느리면 정체되는 학습의 속도계 (0) | 2025.06.16 |
Optimizer란 무엇인가? 손실을 따라 파라미터를 움직이는 '길잡이' (0) | 2025.06.16 |