C.W.K.
Stream
Lesson 04 of 07 · published

Attention 과 Normalization

~9 min · layers

Level 0Keras 도제
0 XP0/97 lessons0/20 achievements
0/120 XP to next level120 XP to go0% complete

MultiHeadAttention — Transformer 의 심장

MultiHeadAttention 은 Transformer 패밀리 전체가 그 둘레로 지어진 layer 야. sequence 의 모든 위치가 다른 모든 위치를 보고 뭐가 relevant 한지 정하게 해 — 그게 "attention" — 그리고 그 lookup 을 여러 독립 head 로 동시에 돌려서 model 이 서로 다른 관계를 병렬로 attend 할 수 있어. 인자 둘이 의미 대부분을 짊어져 — num_heads 는 병렬 attention 패턴 몇 개 학습할지, key_dim 은 각 head 의 query/key 공간 폭.

query·key·value 에 같은 tensor 넘기면 self-attention (sequence 가 자기 자신이랑 관계 맺기), key/value 에 다른 소스 넘기면 cross-attention (encoder-decoder 연결).

Normalization — 깊은 망을 학습 가능하게 유지

Normalization layer 는 activation 을 안정된 분포로 rescale 해서 깊이가 늘어도 gradient 가 터지거나 사라지지 않게 해. 어느 축으로 normalize 하느냐로 종류가 갈려:

Layer정규화 단위적합
BatchNormalizationbatch 별 (sample 가로질러)CNN, 일반 학습
LayerNormalizationsample 별 (feature 가로질러)Transformer, RNN
GroupNormalization채널 group 별작은 batch

이 갈림이 중요한 이유 — BatchNormalization 은 batch 통계에 의존해서 batch 가 작거나 sequence 길이가 들쭉날쭉하면 취약해. 반면 LayerNormalization 은 각 sample 을 *제 안에서* (feature 차원 평균/분산) 정규화해서 batch 1 이어도 안정 — Transformer 와 RNN 이 이걸 잡는 이유야. 보통 attention / FFN block 의 *전* (pre-norm) 또는 *후* (post-norm) 에 박혀.

Code

Flash Attention 켠 MultiHeadAttention·python
# Multi-head attention (Transformer key component)
layers.MultiHeadAttention(
    num_heads=8,          # Number of attention heads
    key_dim=64,           # Dimension of each head
    flash_attention=True,  # Enable Flash Attention (3.7+)
)

External links

Exercise

MultiHeadAttention + LayerNormalization 으로 Transformer encoder block 을 pre-norm 스타일로 짜 — x → LayerNorm → MHA → +residual → LayerNorm → FFN (Dense→Dense) → +residual. random 데이터로 작은 sanity fit 돌려서 loss 가 실제로 떨어지는지 확인. 그 다음 LayerNorm 하나 빼보고 학습이 망가지는 거 봐 — principle callout 이 왜 타협 불가인지 몸으로 느껴.
Hint
pre-norm 은 LayerNorm 이 sublayer *앞*에 오고, 그 다음 원래 입력을 residual 로 다시 더해. residual 더하기가 맞아떨어지게 key_dim × num_heads 를 model 폭이랑 같게 둬.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.