학습 방법 기본

미니 배치Mini-Batch

자료를 묶음으로 나눠 한 걸음씩 처리하는 방식

핵심 정리
  • 미니 배치는 학습 자료를 적당한 크기의 묶음으로 나눠 묶음 하나마다 값을 한 걸음씩 고치는 방식이에요.
  • 자료를 한 장씩 보면 판단이 들쭉날쭉하고, 전부 한꺼번에 보면 한 걸음 떼는 데 너무 오래 걸려요. 그 사이를 고른 방식이에요.
  • 묶음 안 자료들의 결과를 평균 내서 한 번의 방향을 만들어요. 한 장의 유별난 자료에 끌려가지 않게 해 줘요.
  • 묶음 크기는 그래픽 메모리에 올라가는 만큼이 상한이에요. 크기를 키우면 메모리가 함께 늘어요.
  • 크기를 바꾸면 알맞은 학습률도 함께 달라져요. 둘은 따로 떼어 생각하기 어려워요.
목차

1비유로 이해하기

김장하는 날 배추 백 포기를 한꺼번에 절일 만한 통은 집에 없어요. 그렇다고 한 포기씩 절이면 하루가 저물어요. 그래서 큰 대야에 열 포기쯤 담고 소금을 뿌려 한 대야를 절인 다음, 비우고 다음 열 포기를 담아요.

대야 하나가 끝날 때마다 절여진 상태를 손으로 확인해요. 이번 대야가 좀 짜게 됐다 싶으면 다음 대야에서는 소금을 조금 덜어요. 열 포기 중 한 포기가 유난히 억세도 나머지 아홉 포기가 있으니 판단이 크게 흔들리지는 않아요.

이 대야 하나가 미니 배치예요. 대야를 다 비우면 백 포기를 한 바퀴 돈 셈이고, 대야마다 한 번씩 소금 양을 손봤으니 한 바퀴에 열 번을 고친 게 돼요.

2자세히 알아보기

한 포기씩도, 백 포기 한꺼번에도 아니에요

자료 한 장마다 값을 고치면 걸음은 아주 자주 밟지만 방향이 매번 크게 흔들려요. 유별난 자료 한 장이 통째로 방향을 결정해 버리거든요. 계산 효율도 나빠요. 한 장씩 처리하면 여러 계산을 한꺼번에 몰아서 하는 장치의 힘을 거의 못 써요.

반대로 자료 전부를 보고 한 번만 고치면 방향은 아주 정확해요. 대신 자료가 수백만 장이면 한 걸음을 떼는 데 한참이 걸리고, 그 자료를 전부 메모리에 올릴 수도 없어요.

묶음으로 나누면 두 가지를 다 얻어요. 묶음 안에서 평균을 내니 방향이 크게 흔들리지 않고, 묶음이 끝날 때마다 걸음을 떼니 진행이 빨라요. 오늘날 거의 모든 학습이 이 방식으로 돌아가요.

묶음 크기를 무엇으로 정하나요

첫 번째 기준은 메모리예요. 묶음 안 자료를 한꺼번에 계산하려면 자료도, 중간 결과도 모두 올려 둬야 해요. 묶음을 두 배로 키우면 필요한 메모리도 대략 두 배가 돼요. 학습 도중 메모리가 모자란다는 오류를 만나면 가장 먼저 줄이는 것이 묶음 크기예요.

두 번째 기준은 흔들림이에요. 묶음이 작으면 방향이 매번 조금씩 달라지는데, 이 흔들림이 꼭 나쁘지만은 않아요. 어중간한 자리를 빠져나오는 데 도움이 되고, 새 자료에 대한 성적이 오히려 나은 경우도 있어요. 묶음이 아주 크면 걸음이 매끄러워지는 대신 한 번의 걸음이 아까워져요.

학습률과 함께 움직여요

묶음을 키우면 한 걸음의 방향이 그만큼 믿을 만해져요. 그래서 걸음 폭도 조금 키워 주는 것이 보통이에요. 묶음을 키워 놓고 학습률을 그대로 두면 한 바퀴에 밟는 걸음이 줄어든 만큼 학습이 느려져요.

모델을 여러 장치에 나눠 학습할 때는 장치마다 묶음을 하나씩 맡아 계산하고 결과를 합쳐요. 이때 실제 묶음 크기는 장치 수만큼 커지기 때문에, 학습률과 몸풀기 구간을 함께 손보지 않으면 초반에 학습이 망가지기 쉬워요.

남는 자료와 섞기

자료 수가 묶음 크기로 딱 나누어떨어지지 않으면 마지막 묶음만 작아져요. 이 자투리를 그대로 쓰기도 하고, 계산 크기를 맞추려고 버리기도 해요. 한 바퀴가 끝나면 자료를 다시 섞고 묶음을 새로 짜니까, 이번 바퀴에서 빠진 자료가 다음 바퀴에는 들어가요.

묶음을 짤 때 한 종류만 몰리지 않게 하는 것도 중요해요. 한 대야가 전부 같은 종류로 채워지면 그 걸음은 한쪽으로만 쏠려요. 자료를 잘 섞어 두는 것만으로 대부분 해결돼요.

길이가 제각각인 문장이나 크기가 다른 사진을 묶을 때는 한 묶음 안의 크기를 맞춰 주는 손질이 따로 필요해요. 짧은 문장 뒤를 빈칸으로 채우거나 사진을 같은 크기로 잘라 붙이는 식이죠. 이 손질까지 끝나야 묶음 하나를 한꺼번에 계산할 수 있어요.

3조금 더 정확하게

미니 배치 학습은 묶음 안 자료들의 기울기를 평균 낸 값으로 한 번의 갱신을 수행하는 방식이에요. 자료 한 장마다 갱신하는 방식과 전체 자료로 한 번 갱신하는 방식 사이에 있고, 오늘날 확률적 경사하강법이라고 부르는 것은 대부분 이 묶음 방식을 가리켜요. 묶음 크기는 계산 장치의 구조 때문에 2의 거듭제곱으로 잡는 관행이 있어요. 메모리가 모자란데 큰 묶음의 효과가 필요하면, 작은 묶음 몇 개의 결과를 모아 두었다가 한 번에 갱신하는 방법도 써요.

비유가 어긋나는 지점도 있어요. 김장 대야는 배추를 실제로 나눠 담지만, 미니 배치는 자료를 복사해 나누는 것이 아니라 순서를 정해 차례로 읽어 오는 것에 가까워요. 또 절인 배추는 다음 대야에 영향을 주지 않지만, 학습에서는 앞 묶음에서 고친 값이 다음 묶음의 계산에 그대로 반영돼요. 묶음의 순서가 결과에 영향을 준다는 점이 김장과는 다른 대목이에요.

4직접 해보기

5흔한 오해

  • 묶음이 클수록 학습이 잘 된다고 생각하기 쉽지만, 실제로는 메모리를 더 쓰는 대신 걸음 수가 줄어들고 새 자료에 대한 성적이 오히려 떨어지기도 해요.

  • 묶음 안 자료를 하나씩 차례로 계산한다고 여기기 쉽지만, 실제로는 한꺼번에 계산해서 평균을 내요. 이 점이 속도의 핵심이에요.

  • 묶음 크기는 아무 값이나 잡아도 된다고 생각하기 쉽지만, 실제로는 메모리 한도와 학습률에 함께 묶여 있어서 하나만 바꾸면 학습이 흔들려요.

7한 줄 요약

그러니까미니 배치는 자료를 대야만 한 묶음으로 나눠 묶음마다 한 걸음씩 고치는 방식이고, 그 크기가 속도와 흔들림을 함께 정해요.

잘못된 내용이나 더 좋은 비유가 있나요? 수정 제안 보내기 · 마지막 수정2026-09-02