
masked-mean-pool-v1 의 max 버전. 문장 임베딩, pointer network, 일부 분류 헤드에서 mean 대신 max 로 풀링하기도 함.
pad 위치를 −∞ 로 채워 max 가 무시되게 만듬:
neg = -np.inf
x_masked = np.where(mask[..., None], x, neg)
return x_masked.max(axis=1)
mask[..., None] 로 (B, L) → (B, L, 1) 브로드캐스트 → (B, L, d) 와 결합.
함수 masked_max_pool(x, mask) 를 완성하세요.
x: shape (B, L, d).mask: shape (B, L) bool (True = 유효).(B, d).| # | 이름 | 검증 |
|---|---|---|
| 1 | shape (B, d) | |
| 2 | mask 전부 True → 평범한 max | |
| 3 | pad 값 무관 | pad 에 큰 수 넣어도 출력 불변 |
| 4 | 차원별 max | 각 dim 에 다른 위치 max 가능 |
| 5 | 서로 다른 유효 길이 | 배치마다 올바른 후보 집합 |
코드를 작성하고 Run 을 눌러보세요.