π Attention Is All You Need
π reference link
π
Self-Attention
μ μκΈ°μμ λ¬Έμ₯μ λν λ¨μ΄λΌλ¦¬μ μ μ¬λλ₯Ό ꡬνλ λ°©λ²μ΄λ©°,
Attention ν¨μμ μ’ λ₯λ λ€μνλ€.ν΄λΉ λ Όλ¬Έμμλ
Scaled-dot product
ν¨μλ₯Ό μ¬μ©νλ©°,
μ΄λ, Nμ°¨μμΌλ‘ μΆμν Q, K, V 벑ν°λ₯Ό μ΄μ©,
Nκ²Ήμ Attentionμ λ³λ ¬λ‘ μ²λ¦¬νκ³ concatenationμ ν΅ν΄ ν©μΉλ
Multi-head Attention
λ°©λ²μ μ μ©νλ€.
Β
π‘ μ λ ₯ λ¬Έμ₯ λ΄μ λ¨μ΄λ€λΌλ¦¬, μ¦ μκΈ°μμ λ¬Έμ₯μ λν μ μ¬λλ₯Ό ꡬνμ¬ λ¬Έλ§₯μ νμ
Self Attentionμ `Q, K, V` = μ λ ₯ λ¬Έμ₯μ λͺ¨λ λ¨μ΄ 벑ν°λ€
- Queryμ λν λͺ¨λ Keyμμ
μ μ¬λ
λ₯Ό κ³μ° !
Β
Queryμ λν΄μ λͺ¨λ Keyμμ μ μ¬λ
λ₯Ό κ³μ°
μ μ¬λ = κ°μ€μΉ, κ° Keyμ λμλλ Value κ°μ λ°μ
Weighted Sum of Value
Β
λ¨μ΄ 벑ν°
λ€μ κ°μ§κ³ μνQ, K, V
벑ν°λ‘ λ³ννμ¬ μ΄μ©num_heads = 8
Β
π‘ Attention mechanism
κ° Q 벑ν°λ λͺ¨λ K 벑ν°μ λνμ¬
Attention score
λ₯Ό κ³μ° ; μ μ¬λAttention scoreλ₯Ό μ΄μ©νμ¬ λͺ¨λ V 벑ν°λ₯Ό
κ°μ€ν©
Return `Context vector`
- μ΄ν μ ν¨μμ μ’ λ₯λ λ€μνλ€
Β
μ°μ° κ°λ
Input
[ I am a student ]
벑ν°λΌλ¦¬ Dot-product
Q, K, V 벑ν°
λ₯Ό μ΄μ©μ€μΌμΌλ§
Attention score
Attention value
Context vector
Β
κ° λ¨μ΄μ λν΄ λ²‘ν° μ°μ°μ νλ λμ , λ¬Έμ₯ λ¨μ
μ νλ ¬μ μ΄μ©νμ¬ μ°μ°
νλ ¬
μ λμ
Context matrix
μμμ μ¬μ©λ νλ ¬ ν¬κΈ° μ 리
μ λ ₯ λ¬Έμ₯μ κΈΈμ΄ | |
---|---|
λ¬Έμ₯ νλ ¬μ ν¬κΈ° | |
Q, K 벑ν°μ μ°¨μ | |
V 벑ν°μ μ°¨μ | |
Q, K νλ ¬μ ν¬κΈ° | |
V νλ ¬μ ν¬κΈ° | |
μμ κ°μ μ λ°λ₯΄λ©΄, | κ°μ€μΉ νλ ¬μ ν¬κΈ° μΆμ κ°λ₯ |
μ΄λ, λ Όλ¬Έμ λ°λ₯΄λ©΄, | μ΄λ―λ‘, |
Attention Value Matrix |
Β
π‘ Why Multi-head?
μ¬λ¬ κ°μ Attention head = `μ¬λ¬ κ°μ μκ°`
μ¦, λ€μν μκ°μμ μ μ¬λ μ 보λ₯Ό μμ§νκΈ° μν¨
Β
μ΄ν μ ν€λμ κ°μλ§νΌ λ³λ ¬ μ΄ν μ μ°μ°
Attention head
Β
μ°μ° μ μ°¨
κ°κΈ° λ€λ₯Έ κ°μ€μΉ νλ ¬μ μ΄μ©ν λ³λ ¬ μ΄ν μ μν
Attention head
λͺ¨λ Attention head μ°κ²°
concatenated matrix
κ°μ€μΉ νλ ¬ κ³±νκΈ°
Return Multi-head Attention Matrix
λμΌ ν¬κΈ° μ μ§
π Matrix ν¬κΈ°κ° μ μ§λμ΄μΌ νλ μ΄μ ?
- Transformer - λμΌν ꡬ쑰μ `encoder`λ₯Ό 6 layer μμ ꡬ쑰 β λ€μ `encoder`μ λ€μ μ λ ₯λκΈ° μν¨