| 여태 한 방법 | 앞으로의 방법(SGD) |
|---|---|
| 파라미터를 한번 업데이트하기 위해 n개의 샘플이 모두 모델을 통과했어야 함 | 전체 데이터셋을 통과시키지 않고 랜덤 샘플링한 K개의 샘플을 모델에 통과 |
| - 데이터셋이 클 경우 문제 |
→ 결국 한번 업데이트를 위해 전체 데이터를 모델에 통과시키는 건 너무 비효율적이다! | - 비복원 추출을 함


→ 남아있는 모든 데이터셋이 다 돌아야 빨간색 처리된 데이터셋이 다시 모델에 들어갈 수 있음
→ 이렇게 한번 모델에 모든 데이터셋이 들어가 학습을 완료하는걸 에포크라고 함
→ 한개의 미니배치를 모델에 통과시키는 것을 이터레이션이라고 함.

: 데이터셋의 크기 N과 파라미터 업데이트(이터레이션) 횟수, 에포크 횟수, 그리고 미니배치 크기 K는 위와 같은 관계를 가짐
||은 소수점 값을 올림하는 연산을 의미함.
→ 미니배치의 크기가 작아질 수록 파라미터 업데이트 횟수가 늘어남
→ SGD를 구현하기 위해선 이중 for - loop가 자연스럽게 만들어짐!