
v1 RMSNorm 은 마지막 축 전체로 정규화. GroupNorm (Wu & He 2018) 은 채널을 G 개 그룹으로 나눠 그룹 내부에서 정규화:
| Norm | 정규화 축 | 배치 크기 의존 |
|---|---|---|
| BatchNorm | (N, H, W) per channel | O (유리/불리) |
| LayerNorm | (C, H, W) per sample | X |
| InstanceNorm | (H, W) per (sample, channel) | X |
| GroupNorm | (C/G, H, W) per (sample, group) | X |
GroupNorm 은 LayerNorm 과 InstanceNorm 사이에 있음:
입력 shape (N, C, H, W), 그룹 ( 는 의 배수 가정):
(N, G, C/G, H, W).(n, g) 에 대해 평균 와 분산 계산 (마지막 세 축).(N, C, H, W).(C,)).함수 group_norm(x, gamma, beta, num_groups, eps) 를 완성하세요.
x shape (N, C, H, W).gamma, beta shape (C,).num_groups: , 를 나눠야 함.(N, C, H, W).| # | 이름 | 검증 |
|---|---|---|
| 1 | shape 유지 | |
| 2 | γ=1, β=0: 각 (n, g) 의 정규화된 값 평균 0, 분산 1 | |
| 3 | G=1 → LayerNorm (전체 채널 공유) | |
| 4 | G=C → InstanceNorm (각 채널 독립) | |
| 5 | γ, β 채널별 affine | |
| 6 | 상수 입력 → NaN 없음 (eps) | |
| 7 | torch F.group_norm 과 일치 |
코드를 작성하고 Run 을 눌러보세요.