망둥어집
배치 사이즈에 따른 gradient descent 본문
stochastic gradient descent (mini batch size = 1) :
- 장점
- local optimal에 빠질 확률이 적다.
- 1 step에 걸리는 시간이 짧아 수렴 속도가 빠르다.
- 단점
- vector 방향이 부적확
- shooting으로 인해 global optimal을 찾지 못할 가능성 존재.
- 데이터를 한개씩 처리하여 gpu 자원 사용성 저하.
batch gradient descent (mini batch size == batch size):
- 장점 :
- update 횟수가 적다.
- optimal로의 수렴이 안정적이다.
- 단점
- 한 스텝에 모든 학습 데이터 셋을 사용하여 학습이 오래 걸린다.
- 전체 학습 데이터에 대한 error를 모두 축적해야하여 메모리 사용량이 높다.
- local optimal에서의 빠져나오기가 힘듬.
mini batch gradient descent( SGD와 혼용하여 부르기도 함.)
- 전체 데이터 셋 -> N개의 mini batch -> N개의 기울기 -> 1개의 평균 기울기.
- 장점 :
- BGD보다 local optimal에 빠질 위험 감소.
- sgd보다 병렬처리에 유리.
- 메모리 사용이 BGD보다 적음
- 단점 :
- batch size를 설정해야함.
- (batch size는 2의 제곱수를 이용, 많은 벡터 계산이 2의 제곱수일때 빠르기 때문이라 한다.)
- SGD보다 메모리 사용이 높다.
Comments