목차(클릭하세요)
경사하강법의 세 가지 방식(Batch GD / SGD / Mini-batch GD)은 “몇 개의 데이터로 기울기를 계산하느냐” 의 차이만 있을 뿐, 가중치는 항상 전부 동시에 업데이트됨.
1. 경사하강법(Gradient Descent) 기본 구조
1-1. 한 번의 업데이트 과정
경사하강법의 업데이트는 항상 아래 순서로 진행됨.
1.
데이터를 신경망에 통과시켜 오차(Loss) 계산
2.
역전파로 모든 가중치의 편미분(∂E/∂w) 동시 계산
3.
계산된 편미분으로 모든 가중치 동시 업데이트
1-2. 랜덤으로 선택하는 것은 “가중치”가 아니라 “데이터”
SGD에서 헷갈리기 쉬운 부분.
•
•
2. 경사하강법의 세 가지 방식 비교
2-1. 핵심 비교표
구분 | Batch GD | SGD | Mini-batch GD |
한 번에 쓰는 데이터 | 전체 | 1개 | 일부 (batch size 단위) |
Epoch당 업데이트 횟수 | 1번 | N번 | N/BS번 |
오차 수렴 방향 | 정확 | 지그재그 (노이즈 많음) | 중간 |
오차 수렴 속도 | 중간 | ||
실제 사용 여부 | 거의 안 씀 | 거의 안 씀 | 사실상 표준 |
2-2. 업데이트 횟수 계산 예시
데이터 100개, batch size = 10, Epoch = 5일 때:
Batch GD : 1회 × 5 Epoch = 5번
SGD : 100회 × 5 Epoch = 500번
Mini-batch : 10회 × 5 Epoch = 50번
Plain Text
복사
3. Epoch과 배치의 관계
3-1. Epoch이란
1 Epoch = 전체 데이터를 한 바퀴 도는 것.
•
Epoch 수는 전체 데이터를 몇 바퀴 돌리느냐의 문제
•
배치 방식과 독립적인 설정
3-2. Mini-batch의 전체 흐름
Mini-batch는 전체 데이터를 일정 크기의 묶음으로 나누어 순서대로 모두 사용하는 방식.
데이터 100개, BS=10 → 10묶음으로 분할
Epoch 1: 묶음1 → 묶음2 → ... → 묶음10 (업데이트 10번)
Epoch 2: 묶음1 → 묶음2 → ... → 묶음10 (업데이트 10번)
...
총 업데이트: 10 × Epoch 수
Plain Text
복사
전체 데이터를 못 쓰는 상황은 학습을 중간에 강제로 끊을 때 발생함. Epoch 수가 적다고 데이터를 못 쓰는 것이 아님.
3-3. Epoch 수와 과적합
Epoch 수 | 문제 |
너무 적음 | 과소적합 (Underfitting) |
너무 많음 | 과적합 (Overfitting) |
→ 적절한 Epoch 수를 찾는 것도 하이퍼파라미터 튜닝의 하나.
4. 시뮬레이터 활용 포인트
4-1. 확인할 수 있는 것
•
세 방식에서 데이터가 어떻게 선택되는지 단계별로 시각화
•
슬라이더로 데이터 수 / 배치 크기 / Epoch 수를 조정하며 업데이트 횟수 변화 확인
•
하단 요약 카드로 세 방식의 총 업데이트 횟수 실시간 비교
4-2. 핵심 관찰 포인트
총 업데이트 횟수 비교 (N=100, BS=10, Epoch=5)
- Batch GD : 5번 → 안정적이나 느림
- SGD : 500번 → 빠르나 노이즈 많음
- Mini-batch : 50번 → 균형점
Plain Text
복사

