1. 확률적 경사하강법이란?

여태 한 방법 앞으로의 방법(SGD)
파라미터를 한번 업데이트하기 위해 n개의 샘플이 모두 모델을 통과했어야 함 전체 데이터셋을 통과시키지 않고 랜덤 샘플링한 K개의 샘플을 모델에 통과
- 데이터셋이 클 경우 문제

→ 결국 한번 업데이트를 위해 전체 데이터를 모델에 통과시키는 건 너무 비효율적이다! | - 비복원 추출을 함

예시. SGD를 이용한 파라미터 업데이트

  1. 첫번째

Untitled

  1. 두번째

Untitled

→ 남아있는 모든 데이터셋이 다 돌아야 빨간색 처리된 데이터셋이 다시 모델에 들어갈 수 있음

→ 이렇게 한번 모델에 모든 데이터셋이 들어가 학습을 완료하는걸 에포크라고 함

→ 한개의 미니배치를 모델에 통과시키는 것을 이터레이션이라고 함.

Untitled

: 데이터셋의 크기 N과 파라미터 업데이트(이터레이션) 횟수, 에포크 횟수, 그리고 미니배치 크기 K는 위와 같은 관계를 가짐

||은 소수점 값을 올림하는 연산을 의미함.

미니배치의 크기가 작아질 수록 파라미터 업데이트 횟수가 늘어남

→ SGD를 구현하기 위해선 이중 for - loop가 자연스럽게 만들어짐!