article thumbnail image
Published 2022. 1. 20. 16:51

📌 이 글은 권철민님의 딥러닝 CNN 완벽 가이드를 바탕으로 정리한 내용입니다.


목차

  1. Optimizer : Gradient Descent를 최적화 해주는 것
  2. Optimizer의 메커니즘
  3. 주요 Optimizer
    1. Momentum : Gradient 보정
      1. Momentum의 효과
    2. AdaGrad : Learning Rate를 조절, Gradient를 Adaptive하게 적용
    3. RMSProp : Learning Rate를 조절
    4. ADAM : Momentum + RMSProp : Learning Rate를 조절, Gradient 보정

Optimizer

 = 최적화 해주는 것

Gradient Descent를 다양한 기법들로 최적화 해주는 것을 Optimizer 라고 한다.

최적에 수렴하는 Global Minimum을 찾기 위한 여러 기법들을 통칭해서 Optimizer라고 한다.

최소 Loss 값으로 보다 빠르고 안정적으로 수렴하게 하는 기법들이 있다.


Optimizer의 메커니즘

진흙구덩이에 빠진 차는 진흙구덩이에서 빨리 탈출을 해야 한다. 이때 그냥 엑셀만 밟지 않고, 기어도 바꿔보고, 엑셀 강도도 다르게 해서 밟아보고 한다. 이런 것처럼 Learning rate를 바꿔보거나 Gradient 보정을 해보거나 한다.


주요 Optimizer

  1. Momentum : Gradient 보정
  2. AdaGrad : Learning Rate를 조절, Gradient를 Adaptive하게 적용
  3. RMSProp : Learning Rate를 조절
  4. ADAM : Momentum + RMSProp : Learning Rate를 조절, Gradient 보정

Momentum

관성의 뜻을 가지고 있다.

Momentum은 과거의 Gradient를 반영해서 새로운 Gradient를 계산해준다.

Weight를 계속 업데이트 할 때마다 이전의 Gradient들의 값을 일정 수준 반영하면서 새로운 Weight로 업데이트 한다.

 


Momentum의 효과

SGD(Stochastic Gradient Descent)의 경우는 random한 데이터를 기반으로 Gradient를 계산하므로 최소점을 찾기 위한 최단 스텝 형태로 가중치가 Update되지 못하고 지그재그 형태의 Update가 발생하기 쉬움.
Momentum을 통해서 이러한 지그재그 형태의 Update를 일정 수준 개선이 가능하다.


AdaGrad (Adaptive Gradient)

'🖼 Computer Vision > CNN' 카테고리의 다른 글

CNN - Image Array  (0) 2022.01.20
CNN - Training Epoch, Batch Size, Learning Rate  (0) 2022.01.20
CNN - Cross Entropy  (0) 2022.01.20
CNN - Loss function  (0) 2022.01.20
CNN - Activation function (활성화 함수)  (0) 2022.01.20
복사했습니다!