RMSProp
IT 위키
RMSProp(Root Mean Square Propagation)은 신경망 학습 시 기울기(gradient)의 크기를 제곱평균제곱근(Root Mean Square)으로 정규화하여, 학습률(learning rate)을 파라미터별로 자동 조정하는 적응형(Adaptive) 옵티마이저 알고리즘이다. 2012년 Geoffrey Hinton이 제안했으며, 딥러닝의 대표적인 적응형 경사 하강법 중 하나로 꼽힌다.
개념[편집 | 원본 편집]
RMSProp은 AdaGrad의 변형 알고리즘으로, AdaGrad가 모든 과거 기울기의 제곱을 누적해 학습률이 지나치게 작아지는 문제를 보완하기 위해 고안되었다. 최근의 기울기 정보를 더 많이 반영하기 위해, 지수 이동평균(exponential moving average) 을 이용하여 기울기의 제곱평균을 계산한다.
수식으로 표현하면 다음과 같다.
g_t = ∂L/∂W_t
E[g²]_t = ρ·E[g²]_{t-1} + (1-ρ)·g_t²
W_{t+1} = W_t - η·g_t / (√(E[g²]_t + ε))
여기서
- η : 기본 학습률 (learning rate)
- ρ : 감쇠율(decay rate, 일반적으로 0.9)
- ε : 수치적 안정성을 위한 작은 상수
이 방식으로 최근 기울기의 분산을 추적하여, 변화가 큰 파라미터는 학습률을 줄이고, 변화가 적은 파라미터는 학습률을 늘리는 방향으로 작동한다.
특징[편집 | 원본 편집]
- 각 파라미터별로 학습률을 자동 조정하여 효율적인 수렴을 유도한다.
- AdaGrad보다 학습률이 너무 작아지는 문제를 방지한다.
- 학습률 감쇠(ρ) 파라미터를 통해 적응 속도를 조절할 수 있다.
- 순환 신경망(RNN) 등 시간 의존성이 큰 구조에서 좋은 성능을 보인다.
- Adam 옵티마이저의 기반 알고리즘으로 사용된다.
표기 및 명칭[편집 | 원본 편집]
- 제안자인 Geoffrey Hinton의 Coursera 강의 및 강의노트에서 공식 표기는 RMSProp으로 명시되었다.
- 다만, PyTorch, TensorFlow, Keras 등 일부 딥러닝 프레임워크에서는 코드 표준에 따라 함수명을 `RMSprop`(p 소문자)으로 표기한다.
하이퍼파라미터[편집 | 원본 편집]
| 파라미터 | 기본값(예시) | 설명 |
|---|---|---|
| η (learning rate) | 0.001 | 기본 학습률 |
| ρ (decay rate) | 0.9 | 지수 이동평균의 감쇠율 |
| ε (epsilon) | 1e-8 | 분모 안정화용 상수 |
장점[편집 | 원본 편집]
- 빠른 수렴 속도와 안정적인 학습 가능
- 학습률 조정 없이도 다양한 문제에서 잘 작동
- 기울기 폭주(gradient explosion) 완화 효과
단점[편집 | 원본 편집]
- 감쇠율 ρ와 학습률 η에 대한 민감도가 존재
- 최적화 경로가 진동하거나 불안정할 수 있음
- 배치 정규화나 Adam과 병행 시 효과가 중복될 수 있음