확률적 경사하강법(Stochastic Gradient Descent)
만약 우리가 모든 데이터 세트를 가지고 모델을 학습 시킨다면 예측의 정확성은 높일 수 있으나, 매우 오랜 시간이 걸릴 것 입니다. 확률적 경사하강법은 랜덤으로 단 한 개의 데이터를 추출하여(배치 크기가 1) 기울기를 얻어 냅니다. 이러한 과정을 반복해서 학습하여 최적점을 찾아내는 것이 확률적 경사하강법입니다.
Cf. 확률적(Stochastic): 기울기를 구하는데 필요한 한 개의 데이터가 무작위로 선택 됨
경사하강법과 확률적 경사하강법의 비교
|
경사하강법 |
확률적 경사하강법 |
1회의 학습에 사용되는 데이터 |
모든 데이터 사용 |
랜덤으로 추출된 1개의 데이터 사용(중복 선택 가능) |
반복에 따른 정확도 |
학습이 반복 될 수록 최적해에 근접 |
학습이 반복 될 수록 최적해에 근접 |
노이즈 |
거의 없음 |
비교적 노이즈가 심함 |
해를 찾는 과정의 이미지 비교 |
|
|
=> 한 번 학습할 때 마다 모든 데이터를 계산하여 최적의 한 스텝을 나아가는 경사하강법과 달리, 확률적 경사하강법은 랜덤하게 추출한 하나의 데이터만 계산하여 빠르게 다음 스텝으로 넘거 갑니다. 그 결과 더 빠르게 최적점을 찾을 수 있게 되었지만 그 정확도는 낮아집니다.
배치(Batch)란?
확률적 경사하강법을 설명할 때 배치(Batch)의 크기가 1이다라는 말을 하였습니다. 배치란, 단일 반복에서 기울기를 계산하는 데 사용하는 예의 총 개수를 의미합니다.
예를 들어, 배치의 크기가 1인 경우에는 기울기를 구하는데 사용되는 데이터가 1개이고 배치의 크기가 10인 경우는 기울기를 구하는데 사용되는 데이터가 10개라는 것입니다.
미니 배치 확률적 경사하강법(Mini-batch SGD: 확률적 경사하강법의 한계를 보완하다
'Muchine Learning > Google MLCC' 카테고리의 다른 글
06-01 학습 및 평가 세트 (0) | 2018.08.13 |
---|---|
05-01 일반화: 과적합과 일반화 (0) | 2018.08.13 |
03-02_손실 줄이기: 학습률(Learning Rate) (0) | 2018.08.12 |
03-02_손실 줄이기: 경사하강법Gradient Descent) (0) | 2018.08.12 |
03-01_손실 줄이기: 반복 방식 (0) | 2018.08.12 |