포스트

딥러닝 기초 (8) - 과적합과 규제: 드롭아웃, weight decay, 조기 종료

학습이 잘 될수록 커지는 위험인 과적합을 정의하고, 이를 막는 규제 기법들 — L2(weight decay), 드롭아웃, 조기 종료, 데이터 증강 — 이 각각 어떻게 모델을 단순하고 일반화되게 만드는지 정리한 딥러닝 기초 (8)편입니다.

딥러닝 기초 (8) - 과적합과 규제: 드롭아웃, weight decay, 조기 종료

딥러닝 기초 시리즈의 8편입니다. 전체 목차는 0편에 있습니다. 깊은 망을 학습시키는 장치들의 마지막 조각, 과적합을 막는 규제입니다.

과적합: 외우는 것과 배우는 것

과적합(overfitting)은 train 손실은 계속 내려가는데, 처음 보는 데이터(validation)에서는 어느 지점부터 성능이 다시 나빠지는 현상입니다. 모델이 데이터의 일반적 패턴이 아니라 특정 샘플과 노이즈까지 외우는 것입니다. 파라미터가 많은 딥러닝 모델일수록 이 위험이 큽니다.

train과 validation 손실을 함께 지켜보면 신호가 보입니다. 둘이 같이 내려가다 validation만 반등하기 시작하는 순간이 과적합의 시작입니다. 이를 막는 장치들이 규제(regularization)입니다.

L2 규제 (weight decay)

손실에 가중치 크기의 제곱을 벌점으로 더합니다. 큰 가중치를 억눌러 더 매끄럽고 단순한 함수를 선호하게 만듭니다. 딥러닝에서는 옵티마이저의 weight_decay 옵션으로 흔히 적용합니다.

1
L_total = L_data + λ · Σ w²        # λ가 규제의 강도

드롭아웃 (Dropout)

드롭아웃은 학습 스텝마다 뉴런의 일부를 무작위로 꺼버립니다. 특정 뉴런 조합에만 의존하는 공적응(co-adaptation)을 막고, 매번 다른 부분망을 학습해 앙상블 효과를 냅니다.

1
2
학습: 각 뉴런을 확률 p로 0으로 (매 스텝 다르게)
추론: 모든 뉴런을 켜되 스케일을 보정

여기서도 학습과 추론이 다릅니다. 추론 때는 뉴런을 다 켜야 하므로, 평가 시 반드시 평가 모드로 전환해야 합니다(7편의 배치 정규화와 같은 맥락).

조기 종료와 데이터 증강

  • 조기 종료(Early Stopping) — validation 손실이 반등하기 시작하면 그 지점에서 학습을 멈춥니다. 가장 간단하면서 효과적입니다.
  • 데이터 증강(Data Augmentation) — 입력에 회전·뒤집기·잡음 같은 변형을 줘 사실상 데이터를 늘립니다. 모델이 본질이 아닌 세부에 의존하지 못하게 합니다. 이미지·음성에서 특히 강력합니다.

정리

기법한 줄 요약
과적합train↓ 인데 valid↑. 데이터를 외움
L2 (weight decay)큰 가중치에 벌점 → 단순한 함수
드롭아웃뉴런 일부를 무작위로 끔. 공적응 차단, 앙상블
조기 종료valid 손실이 반등하면 중단
데이터 증강입력을 변형해 데이터를 늘림

여기까지가 “깊은 망을 실제로 학습시키는” 장치들입니다. 이 토대 위에서, 다음 편부터는 구조 자체를 바꿉니다. 먼저 이미지를 위한 CNN입니다.

다음 글: 딥러닝 기초 (9) - 합성곱과 풀링: CNN의 기초

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.