모델 성능 향상

PyTorch로 배우는 딥러닝 입문

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

성능 극대화 단계

$$

  • 문제를 풀 수 있는가?

  • 기준 성능 설정

$$

  • 검증 성능 향상

$$ $$

  • 가능한 최고 성능 달성

1단계

2단계

3단계

PyTorch로 배우는 딥러닝 입문

1단계: 학습 세트에 과적합시키기

  • 학습 루프를 수정해 단일 데이터 포인트에 오버핏

    features, labels = next(iter(dataloader))
    for i in range(1000):
      outputs = model(features)
      loss = criterion(outputs, labels)
      optimizer.zero_grad()
      loss.backward()
      optimizer.step()
    
    • 정확도 1.0, 손실 0에 도달해야 함
  • 그다음 전체 학습 세트로 확장

    • 기본 하이퍼파라미터 유지
PyTorch로 배우는 딥러닝 입문

2단계: 과적합 줄이기

  • 목적: 검증 정확도 최대화

  • 다음을 실험:

    • 드롭아웃
    • 데이터 증강
    • 가중치 감쇠(Weight decay)
    • 모델 용량 축소

$$

  • 각 하이퍼파라미터와 검증 정확도를 기록

과적합

PyTorch로 배우는 딥러닝 입문

2단계: 과적합 줄이기

$$

원본 모델이 학습 데이터에 과적합 원본 성능

$$

정규화가 과한 업데이트된 모델 정규화 과다

PyTorch로 배우는 딥러닝 입문

3단계: 하이퍼파라미터 미세 조정

  • 그리드 서치
for factor in range(2, 6):
    lr = 10 ** -factor

그리드 서치

  • 랜덤 서치
factor = np.random.uniform(2, 6)
lr = 10 ** -factor

랜덤 서치

PyTorch로 배우는 딥러닝 입문

Passons à la pratique !

PyTorch로 배우는 딥러닝 입문

Preparing Video For Download...