8강 / 20강
외우지 못하게 막기 — 조기종료 · 드롭아웃 · 감쇠
딥러닝에서 과적합은 예외가 아니라 기본값이다
/ml 5강의 그림이 여기서 훨씬 극단적으로 나타납니다.
신경망은 가중치가 수천~수억 개라 훈련자료를 통째로 외울 수 있거든요.
심지어 이름표를 무작위로 섞은 자료도 외웁니다. 확인해 봅니다.
규칙이 <b>하나도 없는</b> 자료를 정확도 1.0 으로 외웁니다. 훈련 점수는 정보가 아니에요.
Python
브라우저에서 실행
막는 네 가지
| 방법 | 어떻게 | 성격 |
|---|---|---|
| 조기종료 | 검증 손실이 올라가기 시작하면 멈춘다 | 가장 싸고 가장 잘 듣는다. 언제나 쓴다 |
| 드롭아웃 | 학습 때 뉴런 일부를 무작위로 끈다 | 매번 다른 모형을 학습하는 셈 — 앙상블 효과 |
| 가중치 감쇠 | 가중치 크기에 벌점 (L2) | /ml 11강의 릿지와 같은 것 |
| 자료 늘리기 | 뒤집고 자르고 잡음을 더한다 | 이미지에서 특히 강력하다 |
첫 줄이 핵심입니다. 나머지를 아무것도 안 해도 조기종료 하나면 대부분의 과적합이 잡혀요.
훈련 손실은 계속 내려가는데 검증 손실이 <b>돌아섭니다</b>. 그 지점에서 멈추면 됩니다.
Python
브라우저에서 실행
🤔 확인 문제
드롭아웃 비율 0.5 로 학습한 모형을 예측에 쓸 때는?
해설 드롭아웃은 학습 중에만 켭니다. 예측할 때는 전부 켜고 출력 크기를 맞춰 주죠. 이 전환을 빼먹는 것이 직접 짤 때 흔한 실수입니다.