Processing math: 100%

기본기 다지기/Optimization

[기본이론] 최적화 방법4- AdaGrad (수식o)

syveany 2024. 11. 4. 18:30

최적화 방법4- AdaGrad

앞에서 모멘텀(Momentum)까지 정리했다. 이어서 AdaGrad에 대해서 정리하려고 한다.

 

~ 목차 ~

0. 서론- 왜 갑자기 최적화를 공부하고 있는가
1. 최적화란
2. 종류
  2.1 경사하강법(GD)
  2.2 확률적 경사하강법(SGD)
  2.3 Momentum
  2.4 AdaGrad
  2.5 RMSProp
  2.6 Adam

 

2. 종류 

  2.4 AdaGrad

  - AdaGrad Adaptive Gradient의 줄임말로, 기울기 제곱의 누적합을 사용해서 학습률을 조절(자주 업데이트되면 학습률 감소, 드물게 업데이트되면 학습률 유지)하는 방법이다.

 

  - 이 역시 수식으로 설명해보고자 한다. AdaGrad의 가중치 매개변수 업데이트 공식은 아래와 같다.

 

hh+LWLW

(h: 기울기 제곱을 누적한 값)

 

WWη1h+ϵLW

 

     어라? 어딘가 익숙하지 않은가!

     바로 GD의 가중치 매개변수 업데이트 공식(WWηLW)에서  학습률 η에  1h+ϵ을 곱한 형태임을 알 수 있다.

 

  - η1h+ϵ에서 h는 기울기 제곱의 누적합으로, 이전의 기울기들을 모두 학습률에 반영하기 위해서 사용된다.

  - η1h+ϵ에서 ϵ는 보통 108로 설정된다.

     

 

  - 여기서 잠깐 질문..

 

      Q1: [장점] 기울기 제곱의 누적합을 학습률에 반영할까? 뭐가 좋을까?

       - 기.제.누.를 사용하면 i) 데이터가 거의 없거나 ii) 기울기가 불균형할 때도 안정적인 학습이 가능하다.

 

         i) 데이터가 거의 없을 때

         - 데이터가 적으면 기울기 업데이트 횟수가 적어지므로 h가 작게 유지되어서 1h+ϵ가 상대적으로 커진다. 

            이에 따라 학습률(η1h+ϵ)이 덜 감소해서 적절한 학습률로 파라미터가 업데이트된다.

기울기에 따른 가중치 업데이트 양

 

        ii) 기울기가 불균형할 때

         - LW가 크면 h도 커지므로 η1h+ϵ 작아져

             가중치 업데이트가 안정적(∵튀는 상황 방지)으로 이루어진다.

         - LW가 작으면 h도 작아지므로 η1h+ϵ 커져

             가중치 업데이트가 안정적(∵지지부진 방지)으로 이루어진다.

 

 

      Q2: [단점] 안 좋은 점도 있을까?

       - 학습이 진행될수록 학습률이 작아진다.

       - 학습이 진행될수록 기울기 제곱값이 계속 누적되고, 이에 따라 h가 계속 커져η1h+ϵ가 지나치게 작아진다.

          η1h+ϵ값이 너무 작아지면 학습 속도가 느려지기 때문에, 이를 보완하기 위해 RMSProp이 제안되었다.

 

 

  - 앞에서 든 손실함수 L의 예시를 사용해서 가중치 매개변수를 1번 갱신할 때 필요한 행렬식을 알아보자.

      e.g. L=e12+e22+e32+e42+e52일 때,

            GD, SGD, Momentum, AdaGrad에서 가중치 매개변수를 1번 갱신할 때 필요한 행렬식

            각각 아래의 표와 같다. (AdaGrad의 학습률은 η가 아니라 ηh1+ϵ임을 알 수 있다.)

Gradient Descent Stochastic Gradient Descent
[w1w2w3w4w5][w1w2w3w4w5]η[2e1e1w12e2e2w22e3e3w32e4e4w42e5e5w5] [w1w2w3w4w5][w1w2w3w4w5]η[02eieiwi0]
Momentum
[w1w2w3w4w5][w1w2w3w4w5]+[αv1η2e1e1w1αv2η2e2e2w2αv3η2e3e3w3αv4η2e4e4w4αv5η2e5e5w5]
AdaGrad
[w1w2w3w4w5][w1w2w3w4w5]η[1h1+ϵLw11h2+ϵLw21h3+ϵLw31h4+ϵLw41h5+ϵLw5]

 

  - AdaGrad의 학습률GD(WWηLW)의 학습률 η에  1h+ϵ을 곱한 형태임을 알 수 있다.

  - 다음 포스팅에서는 AdaGrad의 단점인 방법인 학습 진행에 따른 학습률 감소를 개선한 RMSProp에 대해서 정리해보려고 한다.

 

 

참고문헌

  1. 사이토 고키, 『밑바닥부터 시작하는 딥러닝』, Chapter 6: 학습 관련 기술들, 한빛미디어, 2017.
  2. Duchi, J., Hazan, E., & Singer, Y., "Adaptive Subgradient Methods for Online Learning and Stochastic Optimization," Journal of Machine Learning Research, vol. 12, pp. 2121-2159, 2011.