9강 / 20강
정규화 층 — 중간 값들의 눈금을 맞춘다
배치 정규화와 층 정규화
/ml 3강에서 입력의 눈금을 맞췄습니다.
그런데 층을 지나면 값의 크기가 다시 제멋대로가 됩니다.
그래서 중간에도 맞춰 줍니다.
z 를 그 층에서 평균 0, 분산 1 로 만든 뒤
그 위에 배울 수 있는 γ(크기)와 β(치우침)를 얹는다
ẑ = (z − μ) / σ
out = γ · ẑ + β ← γ, β 도 학습된다
초기화가 <b>조금만</b> 어긋나도 폭발하거나 사라집니다. 정규화가 그것을 막아요.
Python
브라우저에서 실행
두 가지 — 무엇을 기준으로 평균을 내나
| 배치 정규화 | 층 정규화 | |
|---|---|---|
| 평균·분산을 재는 축 | 배치 안의 표본들을 가로질러 | 한 표본의 특징들을 가로질러 |
| 배치 크기에 의존 | 한다 — 배치가 작으면 불안정 | 안 한다 |
| 학습/예측이 다른가 | 다르다 — 예측 때는 누적 통계를 쓴다 | 같다 |
| 주로 쓰는 곳 | 합성곱 신경망 (11강) | 트랜스포머 (14강) |
세 번째 줄이 실수하기 쉬운 자리입니다. 배치 정규화는 학습할 때와 예측할 때가 다르게 동작해요 — 드롭아웃과 같은 종류의 전환입니다(8강).
🤔 확인 문제
배치 정규화를 쓴 모형을 예측에 쓸 때 주의할 점은?
해설 예측 배치에서 평균을 다시 내면 같은 표본이 어떤 배치에 들어가느냐에 따라 답이 달라집니다. 학습 중에 모아 둔 통계를 고정해 써야 해요.