딥러닝 기초 -3 딥러닝의 문제점 (Adagrad, RMSprop, Adam 최적화(optimize) 알고리즘)

2022. 1. 16. 16:52머신러닝/딥러닝

 

Adagrad, RMSprop, Adam 최적화(optimize) 알고리즘

Adagrad

Adagrad(Adaptive Gradient) 최적화 알고리즘은 손실 함수(loss function)의 값을 최소로 만드는 최적의 가중치를 찾아내기 위해 learning rate를 조절해 하강하는 방법 중 하나입니다.

기존 방식이 가중치들의 업데이트를 같은 속도로 한꺼번에 하는 방법이었다면, Adagrad는 가중치 각각의 업데이트 속도를 데이터에 맞추어(adaptively) 계산해 적절한 learning rate로 하강하도록 합니다.

Adagrad

  • tf.keras.optimizers.Adagrad(lr, epsilon, decay) :
    • lr : 학습률 (learning rate) (lr >= 0), 기본값 0.1
    • epsilon : 연산 시 분모가 0이 되는 것을 막는, 0에 가까운 상수 (epsilon >= 0), 기본값 0.000001
    • decay : 업데이트마다 학습률을 비율만큼 줄여주는 파라미터 (decay >= 0), 기본값 0.0

RMSprop

RMSprop 최적화 알고리즘은 학습이 진행될수록 가중치 업데이트 강도가 약해지는 Adagrad의 단점을 보완하고자 제안된 방법입니다.

RMSProp은 과거의 gradient 값은 잊고 새로운 gradient 값을 크게 반영해서 가중치를 업데이트합니다.

RMSprop

  • tf.keras.optimizers.RMSprop(lr) :
  • lr : 학습률, 기본값 0.1

Adam

Adam은 최적화 알고리즘 중 가장 발전된 기법입니다. RMSProp과 모멘텀(momentum)을 함께 사용함으로써, 진행 방향과 learning rate 모두를 적절하게 유지하면서 학습할 수 있도록 고안되었습니다.

Adam

  • tf.keras.optimizers.Adam(lr, beta_1, beta_2) :
  • lr : 학습률, 기본값 0.01
  • beta_1 : 모멘텀을 결정하기 위해 사용하는 파라미터 (beta_1 >= 0 ), 기본값 0.9
  • beta_2 : step size를 결정하기 위해 사용하는 파라미터 (beta_2 >= 0), 기본값 0.999

 

728x90