← 문제 목록/AdamW 한 스텝
문제 해설

AdamW 한 스텝

최적화 · easy

preview

AdamW 한 스텝

Adam(74)decoupled weight decay 를 더한 현대적 변형. 현재 Transformer 학습의 기본값.

차이점

기존 Adam + L2 정규화: 가중치 감쇠를 그래디언트에 섞음 gg+λwg \leftarrow g + \lambda w 그럼 이 gradient가 bias correction, 2차 모멘트 등에 다 말려들어가서 원 의도가 흐려짐.

AdamW (Loshchilov, 2017): weight decay 를 업데이트 직전에 분리 wt=wt1η(m^tv^t+ϵ+λwt1)w_t = w_{t-1} - \eta \left( \frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \epsilon} + \lambda \, w_{t-1} \right)

λ\lambda 는 weight decay 계수 (보통 1e-2 ~ 1e-4).

과제

함수 adamw_step(w, g, m, v, t, lr, beta1, beta2, eps, weight_decay) 를 완성하세요.

  • Adam 과 동일하게 m, v 업데이트 + bias correction.
  • 최종 업데이트 식에 + weight_decay * w 항 추가.
  • 반환: (w_new, m_new, v_new).

테스트 케이스

#이름검증
1weight_decay=0 → Adam 과 동일
2weight_decay>0 → Adam보다 w 더 감소
3m, v 업데이트는 동일
4shape 유지
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.