Week3 Day2

김종영·2021년 2월 2일
0

📋 Optimization

📌 GradientGradient DescentDescent

Wt1W_{t-1} <- WtW_t - η\eta gtg_t

  • η\eta : LearningLearning raterate
  • gtg_t : GradientGradient
  • gradientgradient 계산을 통해서 하강하는 방향으로 weightweight updateupdate

📌 MomentumMomentum

at+1a_{t+1} <- β\beta ata_t + gtg_t
Wt+1W_{t+1} <- WtW_t - η\eta at+1a_{t+1}

  • at+1a_{t+1} : accumulationaccumulation
  • β\beta : momentummomentum
  • 현재 스탭의 accumulationaccumulation이용한 momentummomentum 과 현재 gradientgradient 를 함께 사용하여 다음 스탭의 accumulationaccumulation
  • momentummomentum이 포함된 gradientgradient를 이용한 weightweight updateupdate
  • 미니 배치를 사용하다 보니 그때 그때 세부적인 내용에 집중하게 되는데 이전에 사용한 미니배치의 gradientgradient 정보를 이용하여 문제 보완
  • LocalLocal minimaminima에서 벗어날 수 있게해준다.

📌 NesterovNesterov AcceleratedAccelerated GradientGradient

at+1a_{t+1} <- \nablaL\mathcal{L}(Wtηβat)(W_t -\eta \beta a_t)
Wt+1W_{t+1} <- WtW_t - η\eta at+1a_{t+1}

  • \nablaL\mathcal{L}(Wtηβat)(W_t -\eta \beta a_t) : LookaheadLookahead gradientgradient
  • 현재 가지고 있는 momentummomentum 만큼 업데이트 했을 때를 미리 가보고 gradientgradient를 구해서 모멘텀과 함께 weightweight updateupdate에 사용한다.

📌 AdagradAdagrad

Wt+1W_{t+1} = WtW_t - ηGt+ϵ\frac{\eta}{\sqrt{G_t + \epsilon}}gtg_t

  • GtG_t : SumSum ofof gradientgradient squaressquares
  • ϵ\epsilon : forfor numericnumeric stabilitystability
  • SumSum ofof gradientgradient squaressquares 를 통해서 지금까지 많이 변한 파라미터에 대해 적게 update, 적게 변한 파라미터에 대해 많이 업데이트
  • 학습이 가면 갈 수 록 적게 학습되는 문제가 있을 수 있다.

📌 AdamAdam

mtm_t = β1\beta_1mt=1m_{t=1} + (1β1)(1-\beta_1)gtg_t
vtv_t = β2\beta_2vt1v_{t-1} + (1β2)(1-\beta_2)gt2g_t^2
Wt+1W_{t+1} = WtW_t - ηvt+ϵ\frac{\eta}{\sqrt{v_t + \epsilon}}1β2t1β1t\frac{\sqrt{1-\beta_2^t}}{1-\beta_1^t}mtm_t

  • mtm_t : momentummomentum
  • vtv_t : EMAEMA ofof gradientgradient squaressquares
  • vtv_t를 통해서 gradientgradient 크기 변화에 따라 adaptiveadaptive 하게 learninglearning raterate 바꿔주는 역할 + mtm_t 를 통해서 이전의 gradientgradient 정보를 모멘텀으로 사용

0개의 댓글

관련 채용 정보