makemore batch norm 학습: 활성화 분포를 보며 학습 흔들림 이해하기 | DAKER 커뮤니티
batch normalization은 공식을 먼저 외우는 것보다, 학습 로그에서 무엇이 달라지는지 직접 보는 편이 이해에 더 도움이 됩니다. loss 숫자만 따라가면 왜 학습이 흔들리는지 놓치기 쉽지만, 활성화 평균과 표준편차, gradient 흐름을 함께 보면 원인을 훨씬 또렷하게 좁힐 수 있습니다.
이 글은 makemore batch norm 학습을 코드 없이 따라가는 작은 실습 안내입니다. layer의 활성화 값 분포를 일정하게 맞추는 과정이 학습 안정화와 어떻게 연결되는지, DAKER 학습 자료를 바탕으로 짧은 루프로 정리했습니다.

오늘 무엇을 보게 되나요
batch normalization을 배울 때는 공식보다 먼저 활성화 평균, 표준편차, gradient 흐름이 학습 로그에서 어떻게 바뀌는지 보는 것이 좋습니다. 2026년 7월 22일 KST 공개 학습 API 기준 예상 30분, 10개 스테이지, 학습자 24명, 조회 56회로 확인됩니다.
makemore batch norm 학습이란, layer의 활성화 값 분포를 일정하게 맞춰 학습이 갑자기 흔들리는 문제를 줄이는 실습입니다.
왜 지금 이 순서로 보는 것이 중요한가요
모델이 갑자기 학습되지 않는 순간을 loss 하나로만 보면 원인을 분리하기 어렵습니다. 활성화 값이 너무 커졌는지, 너무 작아졌는지, 초기화가 불안한지, 학습률이 과한지를 나눠서 보면 batch norm이 왜 필요한지 자연스럽게 이해됩니다.
특히 makemore처럼 작은 모델을 단계적으로 키우는 학습에서는, 성능 향상보다 먼저 분포가 어떻게 움직이는지 보는 습관이 중요합니다. hidden activation의 scale, logits의 자신감, gradient 분포를 함께 보면 좋은 초기화와 안정적인 학습 루프가 어떻게 이어지는지 확인할 수 있습니다.
핵심 개념은 무엇인가요
Karpathy식 makemore 수업은 모델을 키우며 생기는 문제를 일부러 관찰하는 흐름으로 진행됩니다. batch norm 단계에서는 hidden activation의 scale, logits의 자신감, gradient 분포를 보면서 학습이 흔들리는 이유를 추적합니다.
생성 결과보다 먼저 분포와 로그를 보면, batch norm이 왜 학습 안정화와 연결되는지 더 분명해집니다.
| 구분 | 오늘의 질문 | 남길 증거 |
|---|---|---|
| 입력 | makemore MLP 이후 batch normalization이 왜 학습을 안정화하는지 실습 흐름으로 이해하고 싶은 한국어 학습자 | 기준일과 샘플 기록 |
| 실험 | 가장 작은 확인 단위가 무엇인가요? | 10분 안에 확인한 로그 |
| 검증 | 성공과 실패를 어떻게 나눴나요? | 체크리스트 결과 |
작은 실습은 어떻게 시작하면 되나요
실습의 핵심은 모델을 크게 바꾸기 전에 로그를 나눠 보는 것입니다. 먼저 DAKER 학습에서 교재를 열고, MLP 로그에서 loss, logits 크기, hidden activation 범위를 따로 적어 보면 됩니다. 그다음 batch norm 전후의 평균과 표준편차가 어떻게 달라지는지 기록하면, 학습률이나 hidden 크기를 바꾸기 전에 무엇을 먼저 확인해야 하는지 감이 잡힙니다.
성공 기준도 생성 결과 하나로 두기보다, loss가 안정적으로 내려가는지와 분포가 어떻게 바뀌는지를 함께 보는 편이 좋습니다.
4~6컷 코믹 해설은 어떻게 보면 좋을까요

이 코믹 해설은 학습 로그를 읽는 순서를 짧게 보여 줍니다. 먼저 학습자가 loss가 흔들리는 로그를 보고 당황합니다. 이어서 activation 카드가 너무 큰 값과 너무 작은 값을 나누고, batch norm 카드가 평균과 표준편차를 맞추는 장면이 나옵니다. 그다음 gradient 흐름 카드가 안정된 업데이트 방향을 보여 주고, 마지막에는 생성 결과보다 분포 표를 먼저 본 뒤 다음 실험을 정하는 흐름으로 이어집니다.
자주 막히는 지점은 어디인가요
가장 흔한 문제는 batch norm을 단순히 성능을 올리는 장치처럼 이해하고, 실제 분포를 보지 않는 경우입니다. loss가 튄 직후 곧바로 모델 구조를 바꾸면 원인이 섞이기 쉽고, 초기 logits가 지나치게 자신감 있는지도 놓치기 쉽습니다. 또 학습 안정화와 최종 생성 품질을 같은 지표로 판단하면 중간 단계에서 무엇이 개선됐는지 분리하기 어렵습니다.
실수 방지 체크리스트
- batch norm 전후 평균과 표준편차를 따로 기록했나요?
- loss, logits, activation 범위를 같은 표에 넣었나요?
- 학습률 변경 전에 초기화 상태를 확인했나요?
- 안정화 지표와 생성 품질 지표를 분리했나요?
다음 학습은 어디로 이어지나요
카파시식 AI 학습법, Software 2.0 학습, micrograd 역전파 학습, makemore 문자 모델 학습, nanochat 프리트레이닝 학습, DAKER 학습 디렉터리 순서로 보면 작은 모델, 목적함수, 프리트레이닝 로그, 저수준 학습 로그를 오늘 실습과 자연스럽게 연결할 수 있습니다.
참고 자료
코드없이 배우는 머신러닝 첫걸음: 상, DAKER 학습 디렉터리
자주 묻는 질문
makemore batch norm 학습은 무엇부터 보면 되나요
loss 숫자만 보지 말고 hidden activation의 평균, 표준편차, 범위를 함께 기록하는 것부터 시작하면 됩니다.
batch norm은 왜 학습을 안정화하나요
layer 입력 분포가 크게 흔들리지 않게 만들어 다음 업데이트가 더 예측 가능한 방향으로 움직이게 돕기 때문입니다.
초기화와 batch norm은 어떻게 연결되나요
초기 logits나 activation이 과하게 크면 학습 초반이 흔들리므로, batch norm 전에도 초기 스케일을 확인해야 합니다.
다음 학습은 어디로 이어지나요
activation과 gradient 흐름을 본 뒤에는 더 깊은 MLP, WaveNet식 구조, Transformer로 넘어가며 같은 분포 체크를 반복하면 됩니다.
오늘은 전체를 한 번에 끝내기보다, 체크리스트에서 하나를 골라 작은 증거를 먼저 남겨 보면 어떨까요?