* 각각의 개념들에 대해선 다른 게시글에서 확인바랍니다 *
* 이 게시글은 두 알고리즘을 비교하기 위해 만들어졌습니다 *
Gradient Descent (GD) : 경사 하강법
- 1차 근삿값 발견용 최적화 알고리즘
- 기본 개념은 함수의 기울기(approximate gradient)를 구하고 경사의 반대 방향으로 계속 이동시켜 극값에 이를 때까지 반복시키는 것.
Stochastic Gradient Descent (SGD) : 확률적 경사 하강법
- 학습 데이터셋에서 무작위로 한 개의 샘플 데이터 셋을 추출하고, 그 샘플에 대해서만 기울기를 계산하는 것이 특징.
mini-Batch Gradient Descent (mini-BGD) : 미니 배치 경사 하강법
여기서 mini-BGD가 나오는 이유는 너무 자연스럽다.
mini-BGD이 어떻게 동작하는 지를 보자
우선 Batch 크기를 줄이고, SGD를 사용하는 기법이다.
각각의 mini-Batch 하나당 한번씩 SGD를 진행하는데 예를 들어 다음과 같은 상황이 있다 가정해보자
train data : 100
batch-size : 10
1개의 batch를 기준으로 100개의 train data를 돌기위해 iteration은 10이 되고 이 과정이 모두 끝나야 epoch이 1이 된다.
이 과정을 수행하는 mini-Batch Gradient Descent를 일반적으로 SGD라고 한다.
그냥 single-Batch Gradient Descent를 SGD라고 이해하자.
다음은 GD와 SGD를 나타내는 수식이다
위의 설명에서도 설명했지만 식을 보게되면 명확한 의미를 찾을 수 있다.
Gradient Descent 는 Linear한 과정을 갖게 되고
Stochastic Gradient Descent는 back&forth한 과정으로 목적지에 다다르게 된다.
(여기서 말하는 목적지란 loss의 최소값)
즉, 다음의 그림과 같이 설명할 수 있다.
'MACHINE LEARNING > Artificial Neural Network' 카테고리의 다른 글
Few-Shot Learning? 관련 논문을 중심으로 이해해보자! (0) | 2022.12.27 |
---|---|
BART 논문 리뷰 / BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension (0) | 2022.11.28 |
ML / Metric 종류 및 특징 정리 (0) | 2022.09.09 |
NLP / BERT vs GPT 모델 비교 (0) | 2022.08.10 |
BIDAF / Bidirectional Attention Flow for Machine Comprehension 논문 요약 (0) | 2022.08.07 |