최적화·연습 문제

Linear Warmup

문제 설명PROBLEM

preview

Linear Warmup

Cosine LR(76) 은 감쇠 일정만 다룹니다. 실전에선 초반 몇 스텝 동안 LR을 천천히 끌어올리는 워밍업 과 결합해 쓰는 경우가 많죠 — 모델 초기값 에서 큰 LR 이 튀는 걸 막기 위해.

ηt=ηtargetmin ⁣(tTwarmup, 1)\eta_t = \eta_\text{target} \cdot \min\!\left(\frac{t}{T_\text{warmup}},\ 1\right)

  • t = 0: lr = 0
  • t = warmup_steps: lr = lr_target
  • 그 이후: lr = lr_target (상수 유지)

Transformer 학습에서 특히 중요 — layer norm 과 residual connections 초기에 혼란 방지.

과제

함수 linear_warmup(t, warmup_steps, lr_target) 를 완성하세요.

  • t: 스칼라 또는 배열.
  • 반환: 같은 shape의 LR.

테스트 케이스

#이름검증
1t=0 → 0
2t=warmup → lr_target
3t > warmup → 상수
4선형t=warmup/2 → lr_target/2
5벡터 입력
개념 노트와 실수 포인트

최적화 (옵티마이저)

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