
v1 은 토큰 + 위치 두 개. BERT (Devlin 2019) 는 세 가지 임베딩 + LayerNorm:
세 벡터 덧셈 후 크기가 불안정 → LayerNorm 으로 feature dim 기준 정규화:
여기서 는 마지막 차원 기준.
함수 bert_embedding(tok_emb, seg_emb, pos_emb, idx_tok, idx_seg, gamma, beta, eps=1e-5) 를 완성하세요.
tok_emb (V, d), seg_emb (S, d), pos_emb (max_L, d).idx_tok (B, L), idx_seg (B, L), 정수.gamma, beta: shape (d,).(B, L, d).| # | 이름 | 검증 |
|---|---|---|
| 1 | shape (B, L, d) | |
| 2 | LN 후 mean ≈ 0 (per position) | |
| 3 | LN 후 std ≈ 1 (per position, γ=1) | |
| 4 | γ=0 → 출력 = β | |
| 5 | segment 변경 → 출력 변경 | |
| 6 | position 변경 → 출력 변경 | |
| 7 | batch broadcasting: pos/gamma/beta 공유 |
코드를 작성하고 Run 을 눌러보세요.