# Adam 최적화 알고리즘 (Adam Optimization Algorithm)

Adam(Adaptive Moment Estimation)은 딥러닝 모델의 최적화를 위한 경사하강법의 변형 중 하나로, 2014년에 D.P. Kingma와 J. Ba가 제안 하였다. 이 알고리즘은 전통적인 경사하강법의 단점을 보완하면서도 모멘텀과 RMSProp의 장점을 결합한 방법으로, 빠르고 효율적인 최적화를 가능하게 한다.

#### Adam의 핵심 개념

Adam 알고리즘은 확률적 경사하강법(Stochastic Gradient Descent, SGD)의 변형으로, 매개변수의 적응적 학습률을 사용하는 것이 특징이다. 이를 위해, 각 매개변수에 대해 1차 모멘트 추정치(이동 평균)와 2차 모멘트 추정치(제곱의 이동 평균)를 계산한다.

Adam의 주요 업데이트 규칙은 다음과 같다:

1. **1차 모멘트 추정치 계산**:

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

여기서 $ g\_t $는 t번째 시간 스텝에서의 기울기(gradient)를 의미한다. $ m\_t $는 기울기의 이동 평균이며, $ \beta\_1 $는 일반적으로 0.9로 설정된다.

2. **2차 모멘트 추정치 계산**:

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

$ v\_t $는 기울기 제곱의 이동 평균이다. $ \beta\_2 $는 일반적으로 0.999로 설정된다.

3. **바이어스 보정**:\
   Adam은 초기 단계에서의 바이어스 문제를 해결하기 위해 1차 및 2차 모멘트 추정치를 각각 보정한다. 보정된 값은 다음과 같다:

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

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

4. **매개변수 업데이트**:\
   보정된 모멘트 추정치를 활용하여 매개변수 $ \theta\_t $를 업데이트한다:

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

여기서 $ \alpha $는 학습률(Learning Rate), $ \epsilon $은 수치적 안정성을 위한 작은 상수(일반적으로 $ 10^{-8} $)이다.

#### Adam의 장점과 특성

Adam은 모멘텀 기반 방법과 RMSProp의 장점을 결합하여, 다음과 같은 여러 이점을 제공한다:

* **빠른 수렴**: Adam은 학습 초기 단계에서 빠른 수렴을 보인다. 이는 바이어스 보정을 통해 초기 단계에서의 불안정성을 완화하기 때문이다.
* **적응적 학습률**: 각 매개변수마다 개별적인 학습률을 사용하기 때문에, 다양한 유형의 기울기에 대해 효과적으로 대처할 수 있다. 이로 인해 학습률을 별도로 조정할 필요성이 줄어든다.
* **안정성**: Adam은 SGD에 비해 상대적으로 더 안정적인 수렴 과정을 보인다. 이는 1차 및 2차 모멘트를 동시에 고려하기 때문이다.
* **모멘텀의 효과**: 1차 모멘트 추정치를 사용함으로써, 기울기가 일정한 방향으로 변화하는 경우 빠르게 수렴할 수 있다.

#### 수학적 표현과 직관

Adam의 업데이트 규칙은 실제로 학습률이 시간에 따라 변화하는 형태를 가지게 된다. 이는 각 매개변수의 변화가 그 매개변수의 과거 기울기에 대한 정보를 반영하도록 설계되었기 때문이다. 수식에서 $ \sqrt{\hat{v}\_t} $는 기울기의 분산을 나타내며, 이를 통해 기울기 변화의 크기에 맞춰 학습률이 조정된다.

또한, 1차 모멘트 추정치는 모멘텀을, 2차 모멘트 추정치는 기울기의 크기를 반영하므로, 이 두 가지 요소가 결합되어 안정적이면서도 빠른 학습을 가능하게 한다.

***

관련 자료:

* Kingma, D. P., & Ba, J. (2014). Adam: A Method for Stochastic Optimization. arXiv preprint arXiv:1412.6980.
* Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
