Hey Tech

[Deep Learning] 최적화(Optimizer): (2) AdaGrad 본문

AI & 빅데이터/머신러닝·딥러닝

[Deep Learning] 최적화(Optimizer): (2) AdaGrad

Tony Park (토니) 2022. 5. 20. 14:47
728x90
반응형

📚 목차

1.  개념
2.  장점
3.  단점

1.  개념

AdaGrad는 딥러닝 최적화 기법 중 하나로써 Adaptive Gradient의 약자이고, 적응적 기울기라고 부릅니다. Feature마다 중요도, 크기 등이 제각각이기 때문에 모든 Feature마다 동일한 학습률을 적용하는 것은 비효율적입니다. 이러한 관점에서 AdaGrad 기법이 제안되었습니다. AdaGrad는 Feature별로 학습률(Learning rate)을 Adaptive하게, 즉 다르게 조절하는 것이 특징입니다. AdaGrad를 수식으로 나타내면 아래와 같습니다.

 

$$ g_{t} = g_{t-1} + (\nabla f(x_{t-1}))^{2} $$

$$ x_{t} = x_{t-1} - \frac{\eta}{\sqrt{g_{t} + \epsilon}} \cdot \nabla f(x_{t-1}) $$

  • \(g_{t}\): \(t\)번째 time step까지의 기울기 누적 크기
  • \(\epsilon\): 분모가 \(0\)이 되는 것을 방지하기 위한 작은 값 \(\approx 10^{-6}\)
  • \(\eta\): 학습률(Learning rate)

먼저 \(t\)번째 time step까지 기울기를 누적한 값(\(g_{t}\))을 계산합니다. 이 값의 제곱근 역수를 \(t\)번째 time step에서의 \(x_{t}\)의 학습률에 곱합니다. 이때 \(g_{t}\)가 \(0\)인 경우 값이 무한대로 발산할 수 있기 때문에, 이를 방지하기 위해 매우 작은 값(\(\epsilon\))을 같이 더해 줍니다.

2.  장점

AdaGrad는 Feature 마다 다른 학습률을 적용함으로써 Feature별 특성을 고려하여 학습을 효율적으로 돕는다는 장점이 있습니다. 즉, AdaGrad는 큰 기울기를 가져 학습이 많이 된 변수는 학습률을 감소시킵니다. 학습이 적게 된 다른 변수는 잘 학습되도록 학습률을 높게 설정하여 조절할 수 있다는 장점이 있습니다.

3.  단점

반면, AdaGrad 알고리즘의 단점도 존재합니다. \(g_{t}\) 값은 점차 커지기 때문에 학습이 오래 진행되면 학습률(\(\frac{\eta}{\sqrt{g_{t} + \epsilon}}\))이 \(0\)에 가까워지기 때문에 더 이상 학습이 진행되지 않을 수 있습니다. 즉, 모델 학습이 진행될 때 학습이 잘 이루어져 더 이상 변수의 값이 업데이트되지 않는 것인지, \(g_{t}\) 값이 지나치게 커져서 추가적으로 학습이 되지 않는 것인지 알기 어렵다는 한계가 있습니다. 이러한 한계점을 개선한 최적화 기법으로 RMSProp이 제안되었습니다. RMSProp에 대한 내용은 아래의 포스팅을 참고해 주세요.

https://heytech.tistory.com/384

 

[Deep Learning] 최적화(Optimizer): (3) RMSProp

1. 개념 RMSProp는 딥러닝 최적화 기법 중 하나로써 Root Mean Sqaure Propagation의 약자로, 알엠에스프롭(R.M.S.Prop)이라고 읽습니다. ✋등장배경 최적화 기법 중 하나인 AdaGrad는 학습이 진행될 때 학습률(Le

heytech.tistory.com

📚참고할 만한 포스팅

1. [Deep Learning] 퍼셉트론(Perceptron) 개념 이해
2. [Deep Learning] 퍼셉트론(Perceptron) 학습방법 및 절차
3. [Deep Learning] 활성화 함수의 개념 및 종류: sign, tanh, sigmoid, softmax, ReLU
4. [Deep Learning] 손실함수(Loss Function) 개념
5. [Deep Learning] 평균제곱오차(MSE) 개념 및 특징
6. [Deep Learning] 평균절대오차(MAE) 개념 및 특징
7. [Deep Learning] 최적화 개념과 경사 하강법(Gradient Descent)
8. [Deep Learning] 최적화 기법: (1) Momentum
9. [Deep Learning] 최적화 기법: (2) AdaGrad
10. [Deep Learning] 최적화 기법: (3) RMSProp
11. [Deep Learning] 최적화 기법: (4) Adam


포스팅 내용에 오류가 있다면 아래에 댓글 남겨주시길 바랍니다.
그럼 오늘도 멋진 하루 만드시길 바랍니다 :)
고맙습니다😊

728x90
반응형