Chapter 06

배치 (한꺼번에 계산)

배치. 여러 샘플을 묶어 한 번에 계산하는 단위이다.

챕터별 딥러닝 도식화

챕터를 하나씩 진행할 때마다 아래 도식이 조금씩 채워져요. 지금까지의 구조예요.

그래서 결과 Y도 한 표로 한 번에 나와요.

입력 표 X
X1
X2
X3
샘플 1
샘플 2
샘플 3
한 열 = 한 샘플
같은 W, b한 번에 계산
결과 Y
샘플 1
샘플 2
샘플 3
Y1
Y2
Y3
← 같은 W, b로 한 번에 나온 결과

그래서 입력을 한 표로 묶으면, 결과 Y도 한 표로 한 번에 나와요.

딥러닝에서 보는 배치

배치(Batch)여러 개의 입력(샘플)을 하나의 표(행렬)로 묶어서, 같은 가중치로 한 번에 계산하는 방식이에요. 표에서 한 열 = 한 샘플(한 장의 이미지, 한 문장, 한 사용자 등)이라고 보면 돼요.

비유하면, 시험지를 한 장씩 채점하는 것보다 30장을 한꺼번에 채점 기계에 넣는 게 훨씬 빠르죠? 배치도 마찬가지로, 여러 입력을 묶으면 GPU가 동시에 처리할 수 있어서 수십~수백 배 빨라요.

배치의 핵심: 같은 W(가중치)와 b(편향)를 모든 샘플에 똑같이 적용해요. 샘플마다 다른 건 입력 X뿐이고, 계산 규칙(W, b)은 모두 같아요. 그래서 행렬 곱 한 번으로 여러 샘플의 결과를 동시에 구할 수 있어요.

미니배치: 학습할 때 데이터 전체를 한 번에 넣지 않고, 32개·64개·128개처럼 작은 묶음(미니배치)으로 나눠서 한 묶음씩 계산하고 가중치를 조금씩 수정해요. 이렇게 하면 메모리도 덜 쓰고, 학습도 더 안정적이에요.

속도: GPU는 동시에 많은 연산을 하는 데 최적화되어 있어요. 배치로 묶으면 GPU를 꽉 채워서 쓰기 때문에, 하나씩 계산할 때보다 훨씬 빠르게 학습하고 추론할 수 있어요.

학습 안정성: 데이터 1개만 보고 가중치를 바꾸면 결과가 들쭉날쭉해요. 미니배치 평균으로 기울기를 구해서 수정하면 안정적으로 학습돼요. 배치 크기(32, 64, 128 등)는 학습 속도와 품질을 정하는 핵심 설정이에요.

메모리: 데이터가 수백만 개면 한 번에 GPU에 올릴 수 없어요. 미니배치로 나눠서 한 묶음씩 처리하고, 기울기를 구한 뒤 가중치를 업데이트하는 걸 반복해요.

챗봇·번역 서비스: 여러 사용자의 질문을 배치로 묶어서 한 번에 GPU에 넣어요. 동시 접속이 많아도 응답 지연을 줄일 수 있어요. 휴대폰에서는 배치 크기를 1에 가깝게 줄여서 메모리를 아끼기도 해요.

이미지 인식 학습: 수백만 장의 사진(강아지·고양이 등)으로 학습할 때 미니배치(예: 64장)씩 나눠서, 한 묶음마다 예측하고 기울기를 구한 뒤 가중치를 수정해요.

추천: 수천 명의 사용자에게 추천 점수를 줄 때, 사용자를 배치(행렬)로 묶어서 한 번에 행렬 곱으로 점수를 구해요. 검색에서 여러 문서를 한꺼번에 비교할 때도 배치로 처리해요.

여러 입력 동시 처리: 여러 장의 사진을 한꺼번에 ‘강아지/고양이’로 분류하거나, 여러 문장을 한꺼번에 번역할 때도 배치 구조를 써요.

Z = W·X + b에서 X가 여러 열: 각 열이 하나의 샘플이에요. 같은 W, 같은 b를 써서 각 열마다 결과를 구하면 돼요. 빈 칸이 어느 열의 어느 행인지 확인하고, 그 열의 숫자만 사용해서 계산하세요.

덧셈/뺄셈/곱/평균: 배치 연산에서 덧셈·뺄셈·곱은 같은 위치(같은 행, 같은 열)끼리 해요. 평균(영평균 등)은 열 단위로 평균을 내요. 빈 칸이 있으면 해당 열의 숫자들로만 계산하면 돼요.

검산 팁: 배치의 각 열은 독립적이에요. 한 열의 결과가 다른 열에 영향을 주지 않으니까, 한 열씩 따로 검산하면 실수를 찾기 쉬워요.

여러 샘플을 행렬의 열로 쌓은 것이 배치입니다. 같은 W, b로 한 번에 Y=WX+bY = W \cdot X + b 를 계산합니다.

Batch X
{1}
{2}
{3}
X1
3
1
-1
X2
1
-2
3
·
W
1
0
0
1
+
b
1
0
=
Z
{1}
{2}
{3}
Z1
4
2
0
Z2
1
-2
3

열 하나 = 샘플 하나. 같은 W, b로 모든 열에 한 번에 Z=WX+bZ = W \cdot X + b 적용.

예시: 한 열(샘플)의 계산 과정(열 1: X₁=3, X₂=1)

Z1 = (W 1·이 열)+b[0] = (1×3+0×1)+(1) = 4
Z2 = (W 2·이 열)+b[1] = (0×3+1×1)+(0) = 1

문제

배치 연산(가중치 곱하고 편향 더하기, 더하기, 빼기, 곱하기, 평균 빼기, 합계, 평균 등)에서 빈 칸(?)을 채우세요.

각 줄에서 그 줄의 평균을 빼서 빈칸을 채우세요.

{1}
{2}
{3}
Y1
3
-1
-1
Y2
-1
-3
-2
μ
0
-2
=
{1}
{2}
{3}
Y1
3
-1
Y2
1
-1
0
(행 평균 → 0)
1 / 20