학습률과 모멘텀

PyTorch로 배우는 딥러닝 입문

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

SGD로 가중치 업데이트

  • 신경망 학습 = 최적화 문제 풀이

확률적 경사 하강법(SGD) 옵티마이저

sgd = optim.SGD(model.parameters(), lr=0.01, momentum=0.95)
  • 두 인자:
    • 학습률(learning rate): 스텝 크기 조절
    • 모멘텀(momentum): 관성을 더해 갇힘 방지
PyTorch로 배우는 딥러닝 입문

학습률의 영향: 적절한 학습률

적절한 학습률 예시

  • 기울기가 작아질수록 0 근처에서 스텝 크기가 감소
PyTorch로 배우는 딥러닝 입문

학습률의 영향: 작은 학습률

작은 학습률 예시

PyTorch로 배우는 딥러닝 입문

학습률의 영향: 큰 학습률

너무 큰 학습률 예시

PyTorch로 배우는 딥러닝 입문

볼록 함수 vs 비볼록 함수

이는 볼록 함수입니다.

볼록 함수 예시

이는 비볼록 함수입니다.

비볼록 함수 예시

  • 손실 함수는 비볼록입니다
PyTorch로 배우는 딥러닝 입문

모멘텀 없이

  • lr = 0.01 momentum = 0, 100스텝 후 최소값: x = -1.23, y = -0.14

로컬 최소값에 갇힌 옵티마이저 예시

PyTorch로 배우는 딥러닝 입문

모멘텀 사용 시

  • lr = 0.01 momentum = 0.9, 100스텝 후 최소값: x = 0.92, y = -2.04

모멘텀을 사용한 최적화 예시

PyTorch로 배우는 딥러닝 입문

요약

$$

학습률 모멘텀
스텝 크기를 조절 관성을 조절
너무 크면 → 성능 저하 로컬 최소값 탈출에 도움
너무 작으면 → 학습 지연 너무 작으면 → 옵티마이저가 갇힘
일반 범위: 0.01 ($10^{-2}$) ~ 0.0001 ($10^{-4}$) 일반 범위: 0.85 ~ 0.99
PyTorch로 배우는 딥러닝 입문

Ayo berlatih!

PyTorch로 배우는 딥러닝 입문

Preparing Video For Download...