1. 충분한 데이터가 과적합 방지에 중요한 이유
- 복잡한 모델(딥러닝 모델)은 파라미터 수가 많아서 적은 양의 데이터로만 학습하면 훈련 데이터만 과도하게 맞춰지는 경향 … 을 과적합이라고 함
- 그러므로 충분한 양의 데이터를 제공하면 모델이 다양한 패턴을 학습할 가능성이 높아짐 → 과적합(훈련 데이터에만 특화된 학습)이 감소
- 즉, 모델이 훈련 데이터에서만 나타나는 특이한 패턴을 학습하는 대신 더 일반적인 패턴을 학습할 수 있음
2. 데이터 양만으로는 과적합을 해결할 수 없는 이유
- 모델 복잡도
- 모델이 너무 복잡하면, 데이터가 많아도 훈련 데이터에만 맞추려는 경향이 있을 수도 있음
- 단순한 데이터 + 복잡한 모델 → 과적합 발생
- 데이터 품질
- 잡음 데이터(데이터가 편향되거나 노이즈)가 많으면 과적합 방지 어려움
- 적절한 정규화 필요
- 데이터가 많아도 정규화 기법(L1, L2 정규화, 드롭아웃, 데이터 증강 등)이 없으면 과적합 발생 가능
- 훈련 과정
- Early Stopping이나 검증 데이터 모니터링 없이 너무 오래 학습하면 과적합이 발생할 수도 있음
3. 과적합 방지 방법
-
데이터 수정
- 충분한 양의 데이터 확보
- 데이터 증강 (Data Augmentation)
- 이미지 회전, 크기 조정, 색상 변형 등
- 균형 잡힌 데이터셋
- 클래스 불균형 방지
-
모델 수정
- 모델 간단화
- 파라미터 수 줄이거나 layer(층) 수 줄임
- 정규화
- L1/L2 정규화를 통해 큰 가중치 값 억제 (weight regularization)
- dropout으로 일부 뉴런을 학습 중 무작위로 제외
- batch normalization (배치정규화)
- Early Stopping
- 검증 데이터의 성능이 더 이상 개선되지 않을 떄 학습 멈추기
-
학습 과정 관리
- 교차 검증(Cross-Validation)
- 데이터를 여러 부분으로 나눠 다양한 조합으로 학습 및 평가
- 적절한 배치 크기와 학습률 설정
4. 데이터가 적을 때 과적합 방지 방법
- 데이터가 적은 경우에도 과적합을 방지할 수 있는 방법
- 사전 훈련된 모델(Pre-Trained Model) 사용
- 기존에 학습된 모델을 활용해 적은 데이터로도 학습 가능
- 데이터 증강
- 모델 간단화
추가 정리해야할 것
- Early Stopping
- L1/L2 Rehularization
- Cross-Validation
참고링크
07-06 과적합(Overfitting)을 막는 방법들