
v1 max, mean pool 은 양 극단. GeM (Radenović 2018) 은 하나의 파라미터 로 그 사이를 매끄럽게 잇는다:
이 이미지 retrieval 에서 가장 흔한 기본값. CNN feature map pooling 에 특히 효과적.
분수 제곱 가 음수 입력에서 문제 → max(x, eps) 로 클램프:
x_clip = np.maximum(x, eps)
num = ((x_clip ** p) * mask[..., None]).sum(axis=1)
cnt = mask.sum(axis=1, keepdims=True).clip(min=1.0)
return (num / cnt) ** (1.0 / p)
함수 gem_pool(x, mask, p=3.0, eps=1e-6) 를 완성하세요.
x shape (B, L, d), mask (B, L) bool.(B, d).| # | 이름 | 검증 |
|---|---|---|
| 1 | shape (B, d) | |
| 2 | p=1 → masked mean (양수 입력) | |
| 3 | p → ∞ 극한 → masked max 접근 | p=100 |
| 4 | pad 값 무관 | |
| 5 | p 증가 → 출력 증가 (monotone) | 양수 입력 |
| 6 | 모든 값 동일 → 그 값 | c · 1 → c |
| 7 | 알려진 toy 값 |
코드를 작성하고 Run 을 눌러보세요.