본문 바로가기

머신러닝 읽어주는 남자

[오직 컨셉]Gradient Descent

반응형

Gradient Descent

기본 개념

기울기 = 0인 즉 최대값인 상단 피크(concave) 또는 최소값인 하단 피크(convex 그래프)인 부분을 찾는 알고리즘, 

장점: 수학적으로 간단하다

단점: local maxima, local minima, saddle point도 여기에 포함된다.


Stochastic Gradient Descent

기존 방법은 전체 트레이닝 데이터를 보고 한번의 업데이트를 하는데 이러면 1 epoch 에 한번의 업데이트만 일어난다. 그래서 너무 오래걸리는 문제가 발생한다. 

그래서 매번 임의의 데이터 하나를 샘플하여 그 데이터에 대해서 gradient를 계산하여 업데이트를 해준다


장정: 업데이트 속도가 매우 빠르다.

단점: 데이터 하나만 보기 때문에 이상한 방향으로 업데이트가 될 확률이 높다 ==> 그래서 잘 안쓰임


mini-batch Gradient Descent

위의 두방법 중간의 방법

적당한 사이즈의 데이터를 보고 업데이트를 해준다.

요즘 제일 많이 쓰이는 방법으로 SGD라고 하면 이 방법을 지칭하는 경우가 많다.


장점: 그래도 몇십개의 데이터는 보기 때문에 이상한데로 가진 않는다. 수렴 속도도 뻐르다.

단점: SGD만큼 빠르진 않다.

반응형