
78번 Dropout 은 각 원소를 독립적으로 끕니다. CNN의 feature map 에서는 이게 별로 효과적이지 않아요 — 한 채널 안의 공간적 인접한 값들이 강하게 상관 되기 때문에, 몇 개만 꺼도 다른 픽셀이 거의 같은 정보를 전달합니다.
Spatial Dropout (Tompson et al. 2015): feature map 한 채널 전체 를 통째로 drop.
입력 (batch, channel, height, width).
훈련 시:
(N, C).inverted dropout-v1 관례 유지 (inference 시 스케일 없이 씀).
Dropout2d, Keras SpatialDropout2D.함수 spatial_dropout-v1(x, p, seed, training) 을 완성하세요.
x shape (N, C, H, W). 정수 seed, bool training.training=False → x 그대로.training=True → 마스크 (N, C) Bernoulli, 브로드캐스트 후 x * mask / (1-p).p=1 에선 0 division 피하도록 방어 (하지만 테스트는 0 < p < 1).| # | 이름 | 검증 |
|---|---|---|
| 1 | training=False → 그대로 | |
| 2 | 채널 단위 drop (한 채널 전체 0 또는 전체 정상) | 픽셀별 아님 |
| 3 | 기대값 보존 | 평균 ≈ 입력 평균 |
| 4 | 시드 재현성 | |
| 5 | dropped 채널은 정확히 0 |
코드를 작성하고 Run 을 눌러보세요.