← 문제 목록/Bag of Embeddings (평균)
문제 해설

Bag of Embeddings (평균)

신경망 · easy

preview

Bag of Embeddings

여러 토큰의 임베딩(88)평균해 하나의 벡터로 뭉치는 간단한 문장/문서 표현. Word2Vec 이전 시대에 텍스트 분류에서 강력한 베이스라인으로 통했고, fastText 나 recommender 에서도 기본 블록.

수식:

sb=1Ll=1LEidxb,l\mathbf{s}_b = \frac{1}{L} \sum_{l=1}^{L} E_{\text{idx}_{b,l}}

shape: idx_batch (B, L) → output (B, D).

순서 정보는 버림

  • 장점: 빠름, 순서 불변(permutation invariance).
  • 단점: "고양이가 쥐를 잡았다" vs "쥐가 고양이를 잡았다" 구별 불가 — Transformer 가 해결.

과제

함수 bag_of_embeddings(E, idx_batch) 를 완성하세요.

  • E shape (V, D).
  • idx_batch shape (B, L) 정수.
  • 반환: shape (B, D).
  • E[idx_batch] → shape (B, L, D).mean(axis=1).

테스트 케이스

#이름검증
1shape (B, D)
2L=1 → embedding_lookup 와 동일
3같은 토큰 반복 → 그 벡터 그대로
4평균 수식 일치
5다양한 B, L3×4, 5×2 등
코드 작성
Loading...
실행 결과

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