본문 바로가기

딥러닝

4강 - 8. 경사하강법의 개념과 종류(p.129)

경사하강법이란 

오차가 최소화 되는 지점을 찾아가기 위해 global minimum 으로 내려오는 방법들

 

경사하강법의 종류

  1. SGD (Stochastic Gradient Descent)
  2. momentum
  3. Adagrade
  4. Adam
  5. RMSprop

경사하강법의 종류

1. SGD(Stochastic Gradient Descent) 

               확률적 

 GD (Gradient Descent) 는 학습데이터를 다 입력하고, 한걸음 이동하는 경사하강법

 SGD 는 일부 표본을 뽑아 입력하는데 미니배치에 GD를 결합한 방법 -- "확률적 경사하강법" 

 

경사하강법을 위에서 내려다본 모습

SGD 는 아래로 내려올 때 심하게 지그재그로 내려온다. 

SGD 의 문제점? local minimum에 잘 빠진다.

SGD 의 문제점

2. momentum : 

관성을 이용해서 local minimum 에서 빠져나가게 설계된 경사하강법 

(텐써플로우 2.0에는 모멘텀이 따로 없지만 Adam에 모멘텀의 장점이 포함되어있다)

 

3. Adagrade:

학습률(learning rate)를 자동 조절되게 하는 경사하강법

학습을 할 때 러닝레이트 (학습율) 가 너무 크면 발산을 해버리고,

학습을 할 때 러닝레이트가 너무 작으면 수렴을 못한다. (너무 작으면 내려오다가 중간에 끝남)

적절한 러닝레이트를 주는 게 중요한데 Adagrade는 러닝레이트를 자동조절해준다. 

그래서 산위에 있을 때는 큰 발걸음으로 크게 내려오고, 목적지에 도달했을 때 총총걸음으로 내려와서 목적지에 잘 수렴하게 한다.

 

4. Adam:

momentum의 장점+ Adagrade 장점을 살린 경사하강법

                  (관성 이용하여 local minimum 빠져나감 ) + ( 학습률 자동조절)

 

5. RMSprop :

Adagrade 의 장점을 더 좋게 만든 경사하강법

발걸음이 자동 조절되는데 목표지점에 도달할 때 이전에 내려오던 그 걸음걸이를 살펴서 발걸음(러닝레이트)를 조절합니다.