https://getacherryontop.tistory.com/140
μ§λλ²κΉμ§ νΈλμ€ν¬λ¨Έμ μ λ ₯κ³Ό μΆλ ₯, μ΄ν μ ν¨μμ λν΄ μμ보μλ€.
μΈμ½λμ λμ½λμ λν΄ μ 리νλ μ€ μ± μμ μ’ μ΄μν λΆλΆμ΄ μμ΄ λͺ ννκ² μ΄ν΄λμ§ μμ λΆλΆμ λν΄ μ§λ¬Έμ ν΅ν΄ ν΄κ²°νλ€!
μλ¬΄νΌ μ΄λ²μλ νΈλμ€ν¬λ¨Έμ μΈμ½λμ λμ½λμ λν΄ μ 리νκ² λ€.
μΌμͺ½ μ¬μ§μΈ νΈλμ€ν¬λ¨Έ μ 체 ꡬ쑰μμ μ΄λ‘μμ μΈμ½λ, λΉ¨κ°μμ λμ½λμ΄λ€. μ€λ₯Έμͺ½ μ¬μ§μ μΈμ½λμ λμ½λλ₯Ό κ°μνν λμμ΄λ€.
νλμ© μ°¨λ‘λ‘ μ΄ν΄λ³΄μ
νΈλμ€ν¬λ¨Έμ μΈμ½λ
νΈλμ€ν¬λ¨Έλ‘ νκ΅μ΄->μμ΄ λ²μμ νλ €κ³ νλ€. μ΄λ₯Ό μν΄μλ μΈμ½λμλ νκ΅μ΄λ¬Έμ₯μ΄, λμ½λμλ νκ΅μ΄μ ν΄λΉνλ μμ΄λ¬Έμ₯μ΄ μ λ ₯μΌλ‘ λ€μ΄κ°λ€. μ λ²μ νλ μμλ¬Έμ₯μ κ°μ Έμ 보면 ,
<νκ΅μ΄->μμ΄ λ²μ>
μΈμ½λ μ λ ₯λ¬Έμ₯ : 'λλ ν λΌλ₯Ό ν€μ. λͺ¨λ μ¬λμ΄ κ·Έλ₯Ό μ’μν΄.'
λμ½λ μ λ ₯λ¬Έμ₯ : 'I have a rabbit. Everyone likes him.'
μ λ£μ΄μΌ νλ€.
μ λ ₯μ μ λ²κΈμ μ€λͺ νλ κ²μ²λΌ input embedding+positional embeddingμΌλ‘ λ€μ΄κ°λ€.
Multi-Head Attention
μΈμ½λμμ μ²μμΌλ‘ νκ΅μ΄ λ¬Έμ₯μ΄ λ§μ£Όνλ κ²μ λ©ν°ν€λ μ΄ν μ μ΄λ€. μ΄λ λ©ν°ν€λ μ΄ν μ μ μ ν μ΄ν μ κ³Ό κ°λ€.
λλ/ν λΌλ₯Ό/ν€μ/λͺ¨λ /μ¬λμ΄/κ·Έλ₯Ό/μ’μν΄ - νλμ© μ νμ΄ν μ μ μννλ€.
μ¦, μΏΌλ¦¬κ° 'λλ' μΌλ ν€λ λλ/ν λΌλ₯Ό/ν€μ/λͺ¨λ /μ¬λμ΄/κ·Έλ₯Ό/μ’μν΄ -> attention value κ³μ°,
μΏΌλ¦¬κ° ν λΌλ₯Ό μΌλ ν€λ λλ/ν λΌλ₯Ό/ν€μ/λͺ¨λ /μ¬λμ΄/κ·Έλ₯Ό/μ’μν΄ -> attention value κ³μ°,,,, λ°λ³΅νλ μ νμ΄ν μ μ νλ κ²μ΄λ€ .
λ¬Όλ‘ 1νΈμμ μ€λͺ νλ κ²μ²λΌ 쿼리,ν€ λ²¨λ₯ λ§λ€κΈ°λΆν° μμμ΄λ€!
Feed Forward
Feed Forward NN = FFNNμ΄λΌκ³ λ νλ€. (νΌλν¬μλ λ΄λ΄λ€νΈμν¬)
μμ λ©ν°ν€λ μ΄ν μ μ κ°λ³ μΆλ ₯ 벑ν°λ€μ κ°μ§κ³ κ³μ°νλ€.
Feed Forward κ³μ° κ³Όμ
μ λ ₯μΈ΅, μλμΈ΅, μΆλ ₯μΈ΅μ κ°μ§ μ κ²½λ§μΌλ‘, xμ ν΄λΉνλ κ°μ€μ°¨λ€μ κ³±ν ν©μ νΈν₯μ λν΄ μλμΈ΅μ μμ±νκ³ , νμ±ν¨μμΈ ReLUλ₯Ό ν΅κ³Όμν¨ κ°μ μΆλ ₯μΌλ‘ νλ€. (νΈλμ€ν¬λ¨Έμμ νμ±ν¨μλ ReLUμ΄λ€)
λ 루ν¨μλ μμμ λ ₯μ κ·Έλλ‘ μΆλ ₯νκ³ , μμμ λ ₯μ 0μΌλ‘ μΆλ ₯νλ ν¨μμ΄λ€. f(x) = max(0,x)
pythonμΌλ‘ ꡬνν΄λ³΄λ©΄ λ€μκ³Ό κ°λ€.
b1,b2=1,-1
x= torch.tensor([2,1])
w1 = torch.tensor([[3,2,-4],[2,-3,1]])
w2 = torch.tensor([[3,4],[-3,5],[1,-1]])
hidden = torch.matmul(x,w1)+b1
h = torch.nn.functional.relu(hidden)
y = torch.matmul(h,w2)+b2
μ°Έκ³ λ‘ νΈλμ€ν¬λ¨Έμμλ μλμΈ΅μ λ΄λ°κ°μ(=μ°¨μ μ)λ₯Ό μ λ ₯μΈ΅μ 4λ°°λ‘ μ€μ νλ€. κ°λ Ή FFNNμ μ λ ₯ μ ν°κ° 768μ°¨μμ΄λΌλ©΄, μλμΈ΅μ 12048μ°¨μμ΄μλ€κ° μΆλ ₯μΈ΅μμ λ€μ 768μ°¨μμΌλ‘ μ€μ΄λ λ€.
residual connection μμ°¨ μ°κ²°
건λλ°κΈ° κ²½λ‘λ₯Ό νλ λλ€κ³ μκ°νλ©΄ λλ€. μ΄λ κ²!
μ΄λ κ² νλ©΄ λκ° μ’μκΉ?
κ²½λ‘λ₯Ό λ€μνκ² λ μΌλ‘μ¨ νμ΅μ΄ 무μλΉνκ² κΈΈμ΄μ§μ λ°©μ§νκ³ μ’ λ μ½λλ‘ νλ€.
Layer Normalization λ μ΄μ΄ μ κ·ν
λ―Έλλ°°μΉ λ¨μμ μΈμ€ν΄μ€(x)λ³λ‘ νκ· μ λΉΌμ£Όκ³ νμ€νΈμ°¨λ‘ λλ μ κ·ν νλ λ°©λ²μ΄λ€.
***λ Όλ¬Έμμλ μ΄λ¬ν μΈμ½λ λΈλ‘μ 6κ°, λμ½λ λΈλ‘μ 6κ° μμλ€. 6λ²μ© λ°λ³΅νλ€λ κ²μ΄λ€. μ΄ λΈλ‘μ λͺκ°λ₯Ό λ μμ μλ, λ μμ μλ μλ€!
νΈλμ€ν¬λ¨Έμ λμ½λ
λ§μ°¬κ°μ§λ‘ νκ΅μ΄-> μμ΄ λ²μμ μννλ€κ³ ν λ,
λμ½λ μΈνμΌλ‘ μμ΄ λ¬Έμ₯μ λ£μ΄ μ€λ€. 'I have a rabbit. Everyone likes him.'
Masked Multi-Head Attention
μμ λ΄€λ μΈμ½λμ λΉμ·ν λ©ν°ν€λ μ΄ν μ (μ νμ΄ν μ )μ΄λ€.
μ°¨μ΄μ 1. 쿼리μ ν€κ° μμ΄ λ¬Έμ₯μ΄λΌλ μ
μ°¨μ΄μ 2. masked
- '<s>I have a rabbit. Everyone likes him.</s>'μμ <s>κ° μ£Όμ΄μ§λ©΄ I λ₯Ό λ§νλλ‘ νμ΅μ΄ λμ΄μΌ νλλ° μ
νμ΄ν μ
μΌλ‘ 미리 λ€ μλ €μ£Όλ©΄ νμ΅μ λμμ΄ νλλ μλ¨ λ°λΌμ <s>κ° μ£Όμ΄μ§λ©΄ I λΆν°λ λ€ λ§μ€νΉνμ¬ Iλ₯Ό λ§νλλ‘νκ³ , <s> I κ° μ£Όμ΄μ§λ©΄ λ€μλ λ€ λ§μ€νΉνκ³ <s> I λ‘ have μμΈ‘νλλ‘ νμ΅νκ³ .... λ°λ³΅νλ€.
Multi-Head Attention
- μ νμ΄ν μ μ΄ μλλ€! μ μΌ ν·κ°λ Έλ λΆλΆ
μμ°ν λ§νμλ©΄ cross attentionλΌκ³ νλ€. μμΈν 보면 νμ΄νκ° μΈμ½λμμ μ€λ κ²μ μ μ μλ€. 쿼리μ μμ΄, ν€μ νκ΅μ΄ λ¬Έμ₯ λ°°μΉ , μΈμ½λμμ λμ΄μ¨ μμ€μΈμ΄(νκ΅μ΄) λ¬Έμ₯ μ 보μ λμ½λμ νκΉλ¬Έμ₯μ μμμ μ리λ ν ν° <s>λ₯Ό λ£μ΄ νκΉμΈμ΄(μμ΄)μ 첫λ ν ν° μμ±, μ΄μ μ μμ±λ νν·μΈμ΄ ν ν° μνμ€λ₯Ό λμ½λμ λ£μ΄ λ§λ μ λ³΄λ‘ λ€μ ν ν°μ μμ±νλ€. μμ±λ λ¬Έμ₯ κΈΈμ΄κ° μΆ©λΆνκ±°λ λ§μ§λ§μ μ리λ ν ν° </s>κ° λμ¬λκΉμ§ μ΄ κ³Όμ μ λ°λ³΅λλ€.
Q1. νΈλμ€ν¬λ¨Έμμ λ©ν°ν€λ μ΄ν μ = μ ν μ΄ν μ μ΄λ€?
μλλ€! λμ½λμμ λ©ν°ν€λμ΄ν μ (Decoder-encoder attention)μ μ ν μ΄ν μ μ΄ μλ ν¬λ‘μ€ μ΄ν μ μ΄λ€
'μμ°μ΄ μ²λ¦¬ > Today I learned :' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λ²νΈλ₯Ό νμ©ν μν리뷰 λΆλ₯ (0) | 2023.01.16 |
---|---|
νκΉ νμ΄μ€μ νΈλμ€ν¬λ¨Έ π€ Huggingface's Transformers (0) | 2023.01.16 |
νΈλμ€ν¬λ¨Έμ μ΄ν μ μ 리 --1 (1) | 2023.01.15 |
transfomers λ₯Ό μ¬μ©ν κ°λ¨ν λΆλ₯ μμ (BertForSequenceClassification) (0) | 2023.01.12 |
Word Embedding (0) | 2023.01.05 |