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

RMSProp 한 스텝

최적화 · easy

preview

RMSProp 한 스텝

Momentum(72) 은 gradient 방향을 평활. RMSProp은 gradient의 크기(제곱) 를 평활해 차원별로 학습률을 자동 조절 합니다 — 스케일이 제각각인 특성에 강함.

업데이트 규칙 (Tieleman, 2012)

st=βst1+(1β)gt2s_t = \beta \, s_{t-1} + (1-\beta) \, g_t^2 wt=wt1ηst+ϵgtw_t = w_{t-1} - \frac{\eta}{\sqrt{s_t} + \epsilon} \, g_t

  • ss: running average of squared gradients (0 초기화)
  • ϵ\epsilon: 보통 1e-8 (0 나누기 방지)
  • 보통 β=0.9\beta = 0.9

Adam 의 2차 모멘트 업데이트 (vv) 와 동일한 공식 — RMSProp 은 Adam 의 직계 조상.

왜 유용한가

  • gradient 크기가 큰 차원 → 작은 step (자동 축소)
  • 작은 차원 → 큰 step (자동 확대)
  • 즉, 정규화된 방향으로 이동

과제

함수 rmsprop_step(w, g, s, lr, beta, eps) 를 완성하세요.

  • 반환: (w_new, s_new).
  • s_new = β·s + (1-β)·g² 먼저 업데이트 → update w.

테스트 케이스

#이름검증
1s 업데이트 정확s_new = β·s + (1-β)·g²
2w 업데이트 정확수식 일치
3eps 보호g=0, s=0 에서 NaN 없음
4shape 유지
5누적 s → 스텝 축소여러 반복 후 step 크기 감소
코드 작성
Loading...
실행 결과

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