AdaGrad 옵티마이저

IT 위키

AdaGrad(Adaptive Gradient Algorithm)은 각 파라미터마다 학습률(learning rate)을 다르게 적용하여, 파라미터별로 변화량을 자동 조정하는 적응형(Adaptive) 옵티마이저 알고리즘이다. 2011년 John Duchi, Elad Hazan, Yoram Singer가 제안했으며, 희소(sparse) 데이터나 자연어 처리와 같은 영역에서 특히 효과적이다.

개념[편집 | 원본 편집]

기존 경사 하강법(Gradient Descent)은 모든 파라미터에 동일한 학습률 η를 적용한다. 하지만 파라미터마다 기울기의 크기나 스케일이 다르기 때문에, 단일 학습률로는 효율적인 학습이 어렵다. AdaGrad는 이를 보완하기 위해 각 파라미터별 누적 기울기의 제곱합을 기준으로 학습률을 자동 조정한다.

수식으로 표현하면 다음과 같다.

gt = ∂L/∂Wt  
Gt = Gt-1 + gt2  
Wt+1 = Wt - η·gt / √(Gt + ε)

여기서

  • η : 기본 학습률 (learning rate)
  • Gt : 시점 t까지의 기울기 제곱 누적값
  • ε : 분모 안정화를 위한 작은 상수 (보통 1e-8)

이 방식은 기울기가 자주 큰 파라미터의 학습률을 자동으로 줄이고, 자주 변하지 않는(희소한) 파라미터의 학습률은 상대적으로 높여준다.

특징[편집 | 원본 편집]

  • 각 파라미터마다 학습률을 다르게 적용하여 빠른 적응 가능
  • 희소 데이터(sparse feature)에 강한 성능
  • 학습 초반에는 빠르게 수렴하지만, 시간이 지날수록 학습률이 지나치게 작아질 수 있다.
  • 이후 RMSProp이 이 문제를 보완한 개선형 알고리즘으로 제안되었다.

장점[편집 | 원본 편집]

  • 수작업으로 학습률을 조정할 필요가 거의 없음
  • 희소 표현을 사용하는 자연어 처리(NLP), 추천 시스템 등에서 특히 효과적
  • 단순하고 구현이 쉬움

단점[편집 | 원본 편집]

  • 기울기 제곱 누적값이 계속 커져서 학습률이 0에 가까워질 수 있음
  • 장기 학습 시 수렴 속도가 급격히 느려질 수 있음
  • RMSProp, Adam 등에 비해 대규모 비정규화 데이터에서는 성능이 떨어짐

하이퍼파라미터[편집 | 원본 편집]

파라미터 기본값(예시) 설명
η (learning rate) 0.01 기본 학습률
ε (epsilon) 1e-8 분모 안정화용 상수

수학적 해석[편집 | 원본 편집]

AdaGrad의 핵심은 학습률 스케일링(Learning Rate Scaling)이다. 파라미터 W의 i번째 요소에 대해, 기울기의 제곱합 Gt,i가 누적되면 유효 학습률은 다음과 같이 줄어든다.

ηeff = η / √(Gt,i + ε)

즉, 기울기가 자주 큰 방향으로는 학습률이 작아지고, 기울기가 거의 없는 희소한 방향으로는 학습률이 상대적으로 유지된다.

응용 분야[편집 | 원본 편집]

같이 보기[편집 | 원본 편집]

각주[편집 | 원본 편집]