과적합: 손실 곡선 해석

모든 손실 곡선이 모델을 처음 학습할 때 다음과 같이 표시되면 머신러닝이 훨씬 간단해질 것입니다.

그림 20. 머신러닝 모델을 학습할 때 이상적인 손실 곡선을 보여주는 그래프입니다. 손실 곡선은 y축에 손실을, x축에 학습 단계 수를 표시합니다. 학습 단계 수가 증가함에 따라 손실은 처음에는 높게 시작된 후 기하급수적으로 감소하고, 궁극적으로는 평탄해져 최소 손실에 도달합니다.
그림 20. 이상적인 손실 곡선

안타깝게도 손실 곡선은 해석하기 어려운 경우가 많습니다. 손실 곡선에 대한 직관을 바탕으로 이 페이지의 연습문제를 풀어보세요.

연습문제 1: 흔들리는 손실 곡선

그림 21. 손실이 평탄화되지 않는 손실 곡선 (y축의 손실, x축의 학습 단계 수)
            대신 손실이 불규칙하게 변동합니다.
그림 21. 흔들리는 손실 곡선
그림 21에 표시된 손실 곡선을 개선하기 위해 취할 수 있는 세 가지 조치는 무엇인가요?
데이터를 데이터 스키마와 대조하여 잘못된 예시를 감지한 다음 학습 세트에서 잘못된 예시를 삭제합니다.
예, 모든 모델에 적용하는 것이 좋습니다.
학습률을 낮춥니다.
예. 학습 문제를 디버그할 때는 학습률을 줄이는 것이 좋습니다.
학습 세트를 신뢰할 수 있는 소수의 예시로 줄입니다.
이 기법은 인위적으로 들리지만 실제로는 좋은 아이디어입니다. 모델이 소수의 신뢰할 수 있는 예시로 수렴한다고 가정하면 점진적으로 더 많은 예시를 추가하여 손실 곡선이 흔들리는 예시를 찾을 수 있습니다.
학습 세트의 예시 수를 늘립니다.
이는 매력적인 생각이지만 문제를 해결할 가능성은 매우 낮습니다.
학습률을 높입니다.
일반적으로 모델의 학습 곡선이 문제를 나타내는 경우에는 학습률을 높이지 않는 것이 좋습니다.

연습 2 급격한 상승이 있는 손실 곡선

그림 22. 손실이 특정 수의 학습 단계까지 감소한 후 추가 학습 단계로 갑자기 증가하는 것을 보여주는 손실 곡선 플롯입니다.
그림 22. 손실이 급증합니다.
다음 문장 중 그림 22에 표시된 손실 폭발의 원인을 가장 잘 설명하는 두 가지를 선택하세요.
입력 데이터에 NaN이 하나 이상 포함되어 있습니다(예: 0으로 나눗셈으로 인한 값).
이는 생각보다 흔한 문제입니다.
입력 데이터에 급격한 이상치가 포함되어 있습니다.
배치가 부적절하게 셔플되어 배치에 외부값이 많이 포함되는 경우도 있습니다.
학습률이 너무 낮습니다.
학습률이 매우 낮으면 학습 시간이 늘어날 수 있지만 이상한 손실 곡선의 원인은 아닙니다.
정규화율이 너무 높습니다.
사실 정규화가 너무 높으면 모델이 수렴하지 않을 수 있지만, 그림 22와 같은 이상한 손실 곡선은 발생하지 않습니다.

연습 3 테스트 손실이 학습 손실과 다름

그림 23. 학습 손실 곡선이 수렴하는 것처럼 보이지만 일정 횟수의 학습 단계 후에 검증 손실이 상승하기 시작합니다.
그림 23. 유효성 검사 손실이 급증합니다.
다음 중 학습 세트와 테스트 세트의 손실 곡선 간에 이러한 차이가 발생하는 이유를 가장 잘 설명하는 문장은 무엇인가요?
모델이 학습 세트에 과적합합니다.
예, 아마도 그렇습니다. 해결 방법은 다음과 같습니다.
  • 특성 수를 줄여 모델을 더 단순하게 만듭니다.
  • 정규화 비율을 높입니다.
  • 학습 세트와 테스트 세트가 통계적으로 동일한지 확인합니다.
학습률이 너무 높습니다.
학습률이 너무 높으면 학습 세트의 손실 곡선이 이와 같이 동작하지 않았을 수 있습니다.

연습 4 손실 곡선이 중단됨

그림 24. 손실이 학습과 수렴하기 시작하지만 직사각형 파형처럼 보이는 반복 패턴을 표시하는 손실 곡선의 그래프입니다.
그림 24. 특정 단계 후에 무질서한 손실
다음 설명 중 그림 24에 표시된 불규칙한 손실 곡선을 가장 잘 설명하는 항목은 무엇인가요?
학습 세트에는 반복되는 예시 시퀀스가 포함되어 있습니다.
이러한 가능성은 있습니다. 예시를 충분히 셔플해야 합니다.
정규화율이 너무 높습니다.
이로 인해 문제가 발생할 가능성은 낮습니다.
학습 세트에 너무 많은 특징이 포함되어 있습니다.
이로 인해 문제가 발생할 가능성은 낮습니다.