AI 모델 개발: 최적화 기법 – RMSProp
ㅁ 최적화 기법
1. RMSProp
ㅇ 정의:
– RMSProp(Root Mean Square Propagation)은 학습률을 각 파라미터마다 적응적으로 조정하는 최적화 알고리즘으로, 기울기 제곱의 이동 평균을 사용하여 학습률을 스케일링한다.
ㅇ 특징:
– Adagrad의 학습률 감소 문제를 완화하기 위해 고안됨.
– 최근 기울기 제곱의 지수이동평균(EMA)을 사용하여 오래된 기울기 정보의 영향력을 줄임.
– 학습률이 변동성이 큰 데이터에서도 안정적으로 수렴하도록 도움.
– 주로 순환신경망(RNN) 학습에서 좋은 성능을 보임.
ㅇ 적합한 경우:
– 데이터의 스케일이 다르거나, 시계열 데이터처럼 변동성이 큰 경우.
– RNN, LSTM 등 장기 의존성(Long-term dependency) 문제를 다루는 모델.
ㅇ 시험 함정:
– Adagrad와 혼동하여 모든 과거 기울기를 누적한다고 잘못 이해하는 경우.
– 모멘텀과 RMSProp의 차이를 혼동할 수 있음(모멘텀은 기울기 평균, RMSProp은 기울기 제곱 평균 사용).
– Adam과 RMSProp의 차이를 정확히 구분하지 못하는 경우(Adam = RMSProp + 모멘텀 개념 포함).
ㅇ 시험 대비 “패턴 보기” 예시:
– (O) RMSProp은 기울기 제곱의 지수이동평균을 사용하여 학습률을 조정한다.
– (O) RMSProp은 Adagrad의 학습률 급격 감소 문제를 완화한다.
– (X) RMSProp은 모든 과거 기울기의 제곱을 누적하여 학습률을 줄인다.
– (X) RMSProp은 모멘텀 기반 최적화 기법으로, 기울기 평균만을 사용한다.
ㅁ 추가 학습 내용
RMSProp은 Geoffrey Hinton이 제안한 최적화 알고리즘으로, 기본 업데이트 식은
v_t = β v_{t-1} + (1-β) g_t^2
θ = θ – α g_t / (√(v_t) + ε)
형태를 가진다.
β는 보통 0.9로 설정하며, 과거 제곱 기울기의 지수이동평균을 계산하여 최근 기울기에 가중을 두고 변화량을 부드럽게 만든다.
ε는 1e-8과 같이 매우 작은 값을 사용하며, 분모가 0에 가까워져 발생할 수 있는 수치 불안정을 방지한다.
Adagrad와 비교하면, Adagrad는 학습이 진행됨에 따라 분모가 계속 커져 학습률이 지나치게 감소하는 문제가 있지만, RMSProp은 지수이동평균을 사용하여 이러한 누적 효과를 완화한다.
Adam은 RMSProp의 분모 계산 방식에 모멘텀(1차 모멘트 추정)을 결합한 알고리즘으로, RMSProp과 밀접한 관계가 있다.
RMSProp은 미니배치 학습에서 잘 동작하며, 학습률 α는 보통 0.001~0.01 범위에서 설정한다.
또한 RNN 학습 시 gradient exploding이나 vanishing 문제를 완화하는 데 도움이 될 수 있다.