
v1 Dropout 은 각 원소를 독립 drop. CNN feature map (N, C, H, W) 에서는 효과가 약함 — 공간적으로 인접한 픽셀은 강한 상관 을 가지므로 한 픽셀 drop 해도 이웃이 대체. Spatial Dropout (Tompson et al. 2015) 은 전체 채널 단위로 drop:
즉 한 샘플의 한 채널이 통째로 0 되거나, 그대로 유지 (스케일업 포함).
nn.Dropout2d 가 이 방식.(N, C, 1, 1) (broadcast 로 H, W 에 확장).x * mask / (1 - p) (inverted dropout).함수 spatial_dropout_2d(x, p, seed, training) 를 완성하세요.
x shape (N, C, H, W).p: drop 확률.training=False: 원본 그대로.training=True: 채널 단위 mask + 1/(1-p) 스케일.| # | 이름 | 검증 |
|---|---|---|
| 1 | training=False → 원본 | |
| 2 | p=0 → 원본 (train 이어도) | |
| 3 | drop 된 (n, c) 의 모든 (h, w) 가 0 | 공간 일관성 |
| 4 | survived 채널은 원본 · 1/(1-p) | |
| 5 | 기대값 보존 (큰 샘플) | E[y] = x |
| 6 | 시드 재현성 | |
| 7 | 각 채널 drop 은 독립 (다른 샘플 간) |
코드를 작성하고 Run 을 눌러보세요.