최적화·연습 문제

Cosine Learning Rate Schedule

문제 설명PROBLEM

preview

Cosine LR Schedule

학습률을 코사인 곡선을 따라 lr_max 에서 lr_min 으로 감소시키는 스케줄. 현대 딥러닝 훈련의 표준.

ηt=ηmin+12(ηmaxηmin)(1+cos(πt/T))\eta_t = \eta_{\min} + \tfrac{1}{2}(\eta_{\max} - \eta_{\min})\big(1 + \cos(\pi \cdot t / T)\big)

  • t=0t = 0: η=ηmax\eta = \eta_{\max} (시작)
  • t=Tt = T: η=ηmin\eta = \eta_{\min} (끝)
  • 중간: 매끄럽게 감소, 초기는 빠르지 않고 후반이 빠르게 식음

선형 스케줄과 비교: 초반 warm phase 가 자연스럽게 길어져 안정적, 후반 annealing 효과 뚜렷.

과제

함수 cosine_lr(t, T, lr_max, lr_min) 을 완성하세요.

  • t: 스칼라 또는 배열 (현재 스텝).
  • T: 총 스텝 수.
  • lr_max, lr_min: float.
  • 반환: 같은 shape의 학습률.

테스트 케이스

#이름검증
1t=0 → lr_max
2t=T → lr_min
3t=T/2 → (lr_max+lr_min)/2
4단조 감소연속 스텝에서 lr 감소
5벡터 입력shape 보존
개념 노트와 실수 포인트

최적화 (옵티마이저)

  • GD/SGD/모멘텀/Adam. ⚠️ 학습률: 너무 크면 발산, 너무 작으면 느림.
  • 파라미터 -= lr * gradient. 모멘텀/Adam 은 과거 기울기 활용.