# Adagrad (Adagrad: Adaptive Gradient Algorithm)

Adagrad는 Adaptive Gradient Algorithm의 약자로, 경사하강법(Gradient Descent)의 변형 알고리즘 중 하나다. 이 알고리즘의 주요 목적은 학습률(learning rate)을 학습 과정에서 적응적으로 조정함으로써, 파라미터의 업데이트를 더 효율적으로 만드는 것이다. 전통적인 경사하강법에서 모든 파라미터에 동일한 학습률이 적용되는 반면, Adagrad는 각 파라미터에 대해 개별적인 학습률을 사용한다. 이로 인해 드물게 발생하는 파라미터 업데이트는 큰 폭으로, 자주 발생하는 업데이트는 작은 폭으로 조정된다.

#### 수학적 정의

Adagrad 알고리즘에서 각 파라미터 $ \theta\_j $는 다음과 같이 업데이트된다:

$$
\theta\_{t+1,j} = \theta\_{t,j} - \frac{\eta}{\sqrt{G\_{t,j} + \epsilon}} \cdot g\_{t,j}
$$

여기서:

* $ \eta $는 초기 학습률이다.
* $ g\_{t,j} $는 시점 $ t $에서의 파라미터 $ j $에 대한 그레디언트다.
* $ G\_{t,j} $는 시점 $ t $까지의 파라미터 $ j $에 대한 그레디언트 제곱의 누적 합이다.
* $ \epsilon $은 수치적으로 불안정해지는 것을 방지하기 위해 더해지는 작은 값이다.

이 수식에서 중요한 점은 $ G\_{t,j} $가 시간에 따라 계속 증가하므로, 자주 업데이트되는 파라미터는 학습률이 점차 감소하게 된다는 것이다.

#### 알고리즘의 특성 및 장단점

Adagrad의 주요 장점은 적응형 학습률로 인해 일부 파라미터의 과도한 업데이트를 방지하고, 학습을 안정화한다는 점이다. 특히 드문 특징의 학습(예: 희소 데이터)에 효과적이다. 이는 특정 차원에서 그레디언트가 자주 크거나 작은 경우, 그에 맞게 학습률을 자동으로 조정해준다.

하지만 Adagrad는 학습이 진행될수록 $ G\_{t,j} $가 계속 증가하기 때문에, 학습률이 지나치게 작아져 학습이 멈추는 문제가 발생할 수 있다. 이 문제를 해결하기 위해, 나중에 RMSProp, Adam과 같은 변형 알고리즘이 제안되었다.

#### Adagrad와 다른 경사하강법의 비교

Adagrad는 기존의 확률적 경사하강법(Stochastic Gradient Descent, SGD)과 비교했을 때 학습률 설정에 대한 부담을 줄여준다. 전통적인 SGD에서는 학습률 $ \eta $를 조정하는 작업이 매우 중요한데, Adagrad는 이를 각 파라미터에 맞춰 자동으로 조정하므로, 학습률의 세밀한 튜닝이 덜 중요해진다.

그러나, Adagrad는 앞서 언급한 학습률 감소 문제로 인해 긴 학습 과정에서는 성능이 저하될 수 있다. 반면, RMSProp이나 Adam은 이러한 문제를 해결하기 위해 Adagrad의 아이디어를 확장 및 개선한 알고리즘으로 널리 사용된다.

#### Adagrad 알고리즘의 구현

Adagrad는 다음과 같은 절차로 구현된다:

1. 모든 파라미터에 대해 초기 학습률 $ \eta $와 그레디언트 제곱 누적 합 $ G\_{t,j} $를 0으로 초기화한다.
2. 각 반복마다 그레디언트 $ g\_{t,j} $를 계산한다.
3. $ G\_{t,j} $를 업데이트한다: $ G\_{t,j} = G\_{t-1,j} + g\_{t,j}^2 $
4. 파라미터를 업데이트한다: $ \theta\_{t+1,j} = \theta\_{t,j} - \frac{\eta}{\sqrt{G\_{t,j} + \epsilon}} \cdot g\_{t,j} $
5. 정지 조건에 도달할 때까지 2\~4 단계를 반복한다.

이 과정에서 주요 계산은 그레디언트 제곱 누적 합의 업데이트와 학습률 조정이다.

***

관련 자료:

* Duchi, J., Hazan, E., & Singer, Y. (2011). Adaptive Subgradient Methods for Online Learning and Stochastic Optimization. Journal of Machine Learning Research.
* Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
