# 적응형 학습률 경사하강법 (Adaptive Learning Rate Methods)

#### 적응형 학습률의 필요성

경사하강법의 중요한 과제 중 하나는 적절한 학습률을 설정하는 것이다. 하지만 학습률이 모든 매개변수에 동일하게 적용될 때, 이는 문제를 초래할 수 있다. 예를 들어, 어떤 매개변수는 급격히 변화하는 반면, 다른 매개변수는 완만하게 변화할 수 있다. 이 경우 동일한 학습률을 사용하는 것은 비효율적이다. 따라서 각 매개변수에 따라 학습률을 다르게 조정하는 방법이 필요하게 되었다. 이를 위해 적응형 학습률 방법이 제안되었다.

#### 적응형 학습률 방법의 주요 알고리즘

**Adagrad**

Adagrad는 2011년에 제안된 초기 적응형 학습률 알고리즘 중 하나이다. Adagrad의 핵심 아이디어는 자주 업데이트되는 매개변수에는 작은 학습률을, 덜 자주 업데이트되는 매개변수에는 큰 학습률을 적용하는 것이다. 이를 위해 Adagrad는 과거의 모든 기울기 제곱을 누적하여 학습률을 조정한다. 수식으로 표현하면, 각 매개변수 $ \theta\_i $의 업데이트는 다음과 같다:

$$
\theta\_i = \theta\_i - \frac{\eta}{\sqrt{G\_{ii} + \epsilon}} \cdot g\_i
$$

여기서 $ G\_{ii} $는 과거 모든 시점에서의 기울기 제곱합이고, $ \epsilon $은 분모의 0으로 나누는 문제를 방지하기 위한 작은 값이다. Adagrad는 드물게 발생하는 피처의 학습을 촉진하지만, 모든 기울기 제곱이 계속 누적되기 때문에 시간이 지남에 따라 학습률이 점점 작아져서 학습이 중단될 수 있다.

**RMSprop**

RMSprop은 Adagrad의 문제점을 해결하기 위해 제안되었다. RMSprop은 기울기 제곱의 누적 대신 지수이동평균(Exponential Moving Average)을 사용하여 학습률을 조정한다. 이는 최근의 기울기만을 고려하므로, 학습률이 너무 빠르게 감소하는 것을 방지할 수 있다. RMSprop의 매개변수 업데이트 식은 다음과 같다:

$$
G\_{t+1} = \rho G\_t + (1 - \rho) g\_t^2
$$

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

여기서 $ \rho $는 지수이동평균을 제어하는 감쇠율로, 일반적으로 0.9로 설정된다. RMSprop은 안정적인 학습률을 유지하면서 학습을 계속할 수 있도록 도와준다.

**Adam**

Adam(Adaptive Moment Estimation)은 2015년에 제안된 알고리즘으로, Adagrad와 RMSprop의 장점을 결합한 형태이다. Adam은 1차 모멘트(기울기)와 2차 모멘트(기울기 제곱)의 지수이동평균을 모두 사용하여 학습률을 조정한다. Adam의 업데이트 식은 다음과 같다:

$$
m\_t = \beta\_1 m\_{t-1} + (1 - \beta\_1) g\_t
$$

$$
v\_t = \beta\_2 v\_{t-1} + (1 - \beta\_2) g\_t^2
$$

$$
\hat{m}\_t = \frac{m\_t}{1 - \beta\_1^t}
$$

$$
\hat{v}\_t = \frac{v\_t}{1 - \beta\_2^t}
$$

$$
\theta\_{t+1} = \theta\_t - \frac{\eta}{\sqrt{\hat{v}\_t} + \epsilon} \cdot \hat{m}\_t
$$

여기서 $ \beta\_1 $과 $ \beta\_2 $는 각각 1차 및 2차 모멘트의 감쇠율이며, 일반적으로 0.9와 0.999로 설정된다. Adam은 학습 초기 단계에서 빠른 수렴을 가능하게 하며, 안정적인 학습을 제공한다. 이 알고리즘은 현재 많은 딥러닝 모델에서 기본적으로 사용되고 있다.

#### Nadam 및 기타 변형

Nadam은 Adam에 네스테로프 모멘텀(Nesterov Momentum)을 적용한 방식이다. 네스테로프 모멘텀은 기울기 계산을 하기 전에 먼저 모멘텀을 적용하는 방식으로, 더욱 빠르고 안정적인 수렴을 유도한다. Nadam은 다음과 같은 업데이트 식을 따른다:

$$
\theta\_{t+1} = \theta\_t - \frac{\eta}{\sqrt{\hat{v}\_t} + \epsilon} \cdot (\beta\_1 \hat{m}\_t + \frac{(1 - \beta\_1)}{(1 - \beta\_1^t)} g\_t)
$$

이외에도 AdaMax, AMSGrad 등 Adam을 기반으로 한 다양한 변형 알고리즘이 제안되었다. 이러한 변형 알고리즘은 특정 상황에서 Adam보다 더 나은 성능을 보일 수 있다.

#### 적응형 학습률 알고리즘의 선택

적응형 학습률 알고리즘은 각기 다른 특성과 장단점을 가지고 있다. Adagrad는 드문 피처의 학습에 유리하고, RMSprop은 안정적인 학습률을 제공하며, Adam은 빠른 수렴과 안정성을 모두 제공한다. 각 알고리즘의 선택은 데이터의 특성, 모델의 구조, 학습 목표 등에 따라 달라질 수 있다. 연구자들은 이러한 알고리즘들을 실험적으로 비교하여 가장 적합한 방법을 선택해야 한다.

***

관련 자료:

* Duchi, J., Hazan, E., & Singer, Y. (2011). Adaptive Subgradient Methods for Online Learning and Stochastic Optimization. *Journal of Machine Learning Research, 12*, 2121-2159.
* Tieleman, T., & Hinton, G. (2012). Lecture 6.5 - RMSProp: Divide the gradient by a running average of its recent magnitude. *COURSERA: Neural Networks for Machine Learning*.
* Kingma, D. P., & Ba, J. (2015). Adam: A Method for Stochastic Optimization. *arXiv preprint arXiv:1412.6980*.
