딥러닝/밑바닥부터 시작하는 딥러닝1

[6장] 적절한 하이퍼파라미터 값 찾기

dongok218 2025. 4. 2. 22:04

■ 검증 데이터

지금까지 훈련 데이터와 시험 데이터라 두 가지로 분리해 이용해왔다. 훈련데이터는 학습을 하고, 시험 데이터로는 범용 성능을 평가했다. 여기서 주의할 점은 하이퍼파라미터의 성능을 평가할때는 시험 데이터를 사용해서는 안된다. 시험 데이터를 사용하여 하이퍼파라미터를 조정하면 하이퍼파라미터 값이 시험 데이터에 오버피팅 되기 때문이다. 하이퍼파라미터 값의 '좋음'을 시험 데이터로 확인하게 되므로 하이퍼파라미터의 값이 시험 데이터에만 적합하도록 조정되어 버린다. 따라서 하이퍼파라미터 조정용 데이터를 일반적으로 검증 데이터(validation data)라고 부른다.

 

[정리]

  • 훈련 데이터: 매개변수(가중치와 편향)의 학습에 이용
  • 검증 데이터: 하이퍼파라미터의 성능을 평가하는데 이용
  • 시험 데이터: 신경망의 범용 성능 평가, 마지막에(이상적으로는 한번만)이용

 


■ 하이퍼파라미터 최적화

  • 하이퍼파라미터의 '최적 값'이 존재하는 범위를 조금씩 줄여간다.
  • 우선 대략적인 범위를 설정하고 그 범위에서 무작위로 하이퍼파라미터 값을 골라낸 후, 그 값으로 정확도를 평가한다.
  • 실제로 0.001에서 1,000사이(10^-3~10^3)와 같이 '10의 거듭제곱'단위로 범위를 지정한다. 이를 '로그 스케일(log scale)'로 지정한다.

[정리]

  1. 하이퍼파라미터 값의 범위를 설정
  2. 설정된 범위에서 하이퍼파라미터의 값을 무작위로 추출
  3. 2단계에서 샘플링한 하이퍼파라미터 값을 사용하여 학습하고, 검증 데이터로 정확도를 평가한다.(단, 에폭은 작게 설정)
  4. 2단계와 3단계를 특정 횟수(100회 등) 반복하며, 그 정확도의 결과를 보고 하이퍼파라미터의 범위를 좁힌다.