본문 바로가기
AI

딥러닝 모델 학습 시 Overfitting 대 Underfitting

by markbyun 2025. 4. 20.

딥러닝 모델을 학습시킬 때, 우리는 모델이 학습 데이터로부터 패턴을 잘 익혀서 새로운, 본 적 없는 데이터에 대해서도 정확한 예측을 하기를 원합니다. 하지만 때때로 모델이 너무 적게 배우거나, 반대로 너무 많이 배울 때가 있습니다. 이것은 각각 언더피팅(underfitting) 또는 오버피팅(overfitting)으로 이어집니다. 이제 예시, 시각 자료, 간단한 수학과 함께 이 개념들을 쉽게 풀어보겠습니다..

1. 모델 학습의 목표는 뭘까요?

집의 크기, 위치, 방 개수 같은 특성을 기반으로 모델이 집값을 예측하도록 가르친다고 가정을 해보시죠. 이때 목표는 입력 특성 x (예: 크기, 방 수 등)를 예측값 ŷ(집값)으로 매핑해주는 함수 f(x)를 찾는 것입니다. 이때 예측값 ŷ는 실제 가격 y에 최대한 가깝게 해야 합니다.

ŷ = f(x;θ)
MSE = (1/n) ∑ (yᵢ - ŷᵢ)²

2. Underfitting

언더피팅(Underfitting) 은 모델이 너무 단순해서 데이터 안에 있는 패턴을 제대로 잡아내지 못할 때 발생합니다. 모델이 학습 데이터로부터 충분히 배우지 못해, 학습 세트와 테스트 세트 모두에서 성능이 좋지 않습니다.

 

예제:

예를 들어, 이 데이터를 맞추기 위해 직선(선형 모델)을 사용한다고 가정해봅시다:

왼쪽 차트는 언더피팅을 보여줍니다: 곡선을 직선으로 맞추려고 하는 경우입니다

  • 데이터 안의 곡선을 제대로 따라가지 못합니다.
  • 높은 편향(bias) 을 가집니다. (너무 단순한 가정)
  • 큰 예측 오류를 일으킵니다.

3. Overfitting

오버피팅(Overfitting) 은 모델이 너무 복잡해서 데이터의 기본 패턴뿐만 아니라 학습 데이터에 포함된 잡음(noise) 까지 학습할 때 발생합니다. 이 경우 학습 데이터에서는 성능이 매우 좋지만, 새로운 데이터에 대해서는 성능이 떨어집니다.

오른쪽 차트는 오버피팅을 보여줍니다: 모든 점을 지나가려고 구불구불한 선을 그린 경우입니다

  • 데이터 포인트를 외우려고 지나치게 노력합니다.
  • 새로운 데이터에 일반화하는 데 실패합니다.
  • 높은 분산(variance) 을 가집니다.

4. 완벽한 균형점: Good Fit

잘 학습된 모델은 중간 지점에 위치해야 합니다:

중간 차트: 모델이 잡음을 외우지 않고 데이터의 일반적인 경향을 잘 학습한 경우입니다

  • 기본적인 경향을 잘 포착합니다.
  • 잡음을 무시합니다.
  • 새로운 데이터에도 잘 일반화됩니다.

5. 편향-분산 균형에 대한 직관적인 이해

정의:

  • 편향(Bias): 잘못된 가정으로 인해 발생하는 오류 (모델이 너무 단순할 때)
  • 분산(Variance): 데이터의 작은 변화에도 모델이 민감하게 반응해서 발생하는 오류
Total Error = Bias² + Variance + Irreducible Error
   Situation   Bias    Variance Error Type
   Underfitting   High    Low         High training + test error
   Overfitting   Low    High         Low training error, high test error
   Just Right   Low    Low         Low generalization error

6. 실생활에서의 딥러닝 예제

이미지 분류기를 합성곱 신경망(CNN) 으로 학습시키고 있다고 가정해봅시다:

  • 언더피팅: CNN이 1~2개 층(layer)만 가지고 있어서, 모서리나 질감(texture) 같은 복잡한 특징을 제대로 포착하지 못합니다.
  • 오버피팅: CNN이 100개 이상의 층을 가지고 있어, 학습 이미지의 잡음이나 그림자까지 외워버립니다.
매트릭 언더피팅          오버피팅
   Train Accuracy   Low           High
   Test Accuracy   Low           Low
   Gap (Train - Test)   Small           Large

7. 머신러닝의 가장 중요한 목표인 일반화(Generalization)

머신러닝에서 우리는 일반화에 관심을 가집니다 — 즉, 모델이 본 적 없는 데이터에 대해 얼마나 잘 작동하는지가 중요합니다.

  • 단지 방향만 반대일 뿐 언더피팅오버피팅은 모두 일반화에 실패한 것입니다.
  • 중요한 것은 모델이 적당히 학습하도록 균형을 찾는 것입니다 — 너무 적지도, 너무 많지도 않게.

이러한 트레이드오프를 잘 이해하여:

  • 적절한 모델 복잡도를 선택하는 것
  • 좋은 아키텍처를 고르는 것
  • 언제 정규화(regularization), 단순화, 또는 더 오래 학습시켜야 할지를 아는 것이 중요합니다.

8. 언더피팅과 오버피팅을 완화시키는 방법

1) 언더피팅 해법:

  • 더 복잡한 모델을 사용사용
  • 더 많은 특성(features)을 추가
  • 오랜 학습
  • 정규화 줄이기

2) 오버피팅 해법:

  • 학습 데이터 추가
  • 데이터 증가 사용
  • Regularization (L1, L2, Dropout) 사용
  • Early stopping 사용
  • 모델 파라미터 축소