← 문제 목록/Padding Mask (가변 길이)
문제 해설

Padding Mask (가변 길이)

신경망 · easy

preview

Padding Mask

배치 내에서 문장 길이가 다를 때, 짧은 문장을 <pad> 로 채워 모양을 맞춤. 하지만 pad 위치는 attention / loss 에서 무시해야 함.

lengths (B,) 로부터 키 패딩 마스크 (B, L) 를 만듭니다:

Mb,j={Truej<lengths[b]Falsejlengths[b]  (pad)M_{b,j} = \begin{cases} \text{True} & j < \text{lengths}[b] \\ \text{False} & j \ge \text{lengths}[b] \;(\text{pad}) \end{cases}

예: lengths=[3,5,2], L=5

[[ T  T  T  F  F ],
 [ T  T  T  T  T ],
 [ T  T  F  F  F ]]

과제

함수 padding_mask(lengths, L) 를 완성하세요.

  • lengths: shape (B,), 각 시퀀스의 실제 길이.
  • L: 최대 길이 (int).
  • 반환: shape (B, L) bool.
  • 힌트: np.arange(L)[None, :] < lengths[:, None].

테스트 케이스

#이름검증
1shape (B, L), bool
2행마다 True 개수 = lengths
3pad 위치 Falsej ≥ lengths[b]
4전부 가득 찬 경우lengths=[L,L,L] → 모두 True
5길이 0 포함빈 행 전부 False
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.