최적화 방법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의 가중치 매개변수 업데이트 공식은 아래와 같다.
h←h+∂L∂W⊙∂L∂W
(h: 기울기 제곱을 누적한 값)
W←W−η1√h+ϵ∂L∂W
어라? 어딘가 익숙하지 않은가!
바로 GD의 가중치 매개변수 업데이트 공식(W←W−η∂L∂W)에서 학습률 η에 1√h+ϵ을 곱한 형태임을 알 수 있다.
- η1√h+ϵ에서 h는 기울기 제곱의 누적합으로, 이전의 기울기들을 모두 학습률에 반영하기 위해서 사용된다.
- η1√h+ϵ에서 ϵ는 보통 10−8로 설정된다.
- 여기서 잠깐 질문..
Q1: [장점] 왜 기울기 제곱의 누적합을 학습률에 반영할까? 뭐가 좋을까?
- 기.제.누.를 사용하면 i) 데이터가 거의 없거나 ii) 기울기가 불균형할 때도 안정적인 학습이 가능하다.
i) 데이터가 거의 없을 때
- 데이터가 적으면 기울기 업데이트 횟수가 적어지므로 h가 작게 유지되어서 1√h+ϵ가 상대적으로 커진다.
이에 따라 학습률(η1√h+ϵ)이 덜 감소해서 적절한 학습률로 파라미터가 업데이트된다.

ii) 기울기가 불균형할 때
- ∂L∂W가 크면 h도 커지므로 η1√h+ϵ이 작아져서
가중치 업데이트가 안정적(∵튀는 상황 방지)으로 이루어진다.
- ∂L∂W가 작으면 h도 작아지므로 η1√h+ϵ이 커져서
가중치 업데이트가 안정적(∵지지부진 방지)으로 이루어진다.
Q2: [단점] 안 좋은 점도 있을까?
- 학습이 진행될수록 학습률이 작아진다.
- 학습이 진행될수록 기울기 제곱값이 계속 누적되고, 이에 따라 h가 계속 커져서 η1√h+ϵ가 지나치게 작아진다.
η1√h+ϵ값이 너무 작아지면 학습 속도가 느려지기 때문에, 이를 보완하기 위해 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]−η[2e1∂e1∂w12e2∂e2∂w22e3∂e3∂w32e4∂e4∂w42e5∂e5∂w5] | [w1w2w3w4w5]←[w1w2w3w4w5]−η[0⋮2ei∂ei∂wi⋮0] |
Momentum | |
[w1w2w3w4w5]←[w1w2w3w4w5]+[αv1−η⋅2e1∂e1∂w1αv2−η⋅2e2∂e2∂w2αv3−η⋅2e3∂e3∂w3αv4−η⋅2e4∂e4∂w4αv5−η⋅2e5∂e5∂w5] | |
AdaGrad | |
[w1w2w3w4w5]←[w1w2w3w4w5]−η[1√h1+ϵ⋅∂L∂w11√h2+ϵ⋅∂L∂w21√h3+ϵ⋅∂L∂w31√h4+ϵ⋅∂L∂w41√h5+ϵ⋅∂L∂w5] |
- AdaGrad의 학습률은 GD(W←W−η∂L∂W)의 학습률 η에 1√h+ϵ을 곱한 형태임을 알 수 있다.
- 다음 포스팅에서는 AdaGrad의 단점인 방법인 학습 진행에 따른 학습률 감소를 개선한 RMSProp에 대해서 정리해보려고 한다.
참고문헌
- 사이토 고키, 『밑바닥부터 시작하는 딥러닝』, Chapter 6: 학습 관련 기술들, 한빛미디어, 2017.
- 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.
'기본기 다지기 > Optimization' 카테고리의 다른 글
[기본이론] 최적화 방법6- Adam (수식o) (4) | 2024.11.08 |
---|---|
[기본이론] 최적화 방법5- RMSProp (수식o, 그래프o) (0) | 2024.11.06 |
[기본이론] 최적화 방법3- Momentum (수식o) (4) | 2024.11.03 |
[기본이론] 최적화 방법2- Stochastic Gradient Descent (수식o) (4) | 2024.11.02 |
[기본이론] 최적화 방법1- Gradient Descent (수식o) (8) | 2024.11.01 |