๋๋์ด ๋๋ฅผ ๊ดด๋กญํ๋ ์ดํ ์ ์ ๊ดํด ์ดํดํ ํ, ์ค์ค๋ก ์ฒ์๋ถํฐ ์ ๋ฆฌํด๋ณด์๋ค!!!
ํธ๋์คํฌ๋จธ ๋ฑ์ฅ ์
ํธ๋์คํฌ๋จธ ์ ์๋ RNN, CNN์ ํ์ฉํ ์์ฐ์ด์ฒ๋ฆฌ๊ฐ ์ด๋ฃจ์ด์ก๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ๋ฐฉ๋ฒ์ ์ํ์ค๊ฐ ๊ธธ์ด์ง๋ฉด ์์ ์ ๋ณด๊ฐ ์ํ์ง๊ณ (๊ธฐ์ต๋ ฅ์ด ์งง์), ๊ฐ์ ๋ชจ๋์ ๊ฑฐ์น๋ฉฐ ์ฐ์ฐ์ ๋ฐ๋ณตํ์ฌ ์ ๋ณด์ ์ ์ค์ด ๋ง์ด ์ผ์ด๋ฌ๋ค.
ํธ๋์คํฌ๋จธ์ ๋ฑ์ฅ -> NO MORE RNN,CNN!!
ํธ๋์คํฌ๋จธ์ ๊ตฌ์กฐ
์ด๋ก์์ ์ธ์ฝ๋, ๋นจ๊ฐ์์ ๋์ฝ๋ ์ด๋ค. ์ฆ, ํธ๋์คํฌ๋จธ๋ ์ธ์ฝ๋์ ๋์ฝ๋๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ด ๋ฑ์ฅํ๋ ๋จ์ด๊ฐ Attention....Attention์ด ๋ญ๊น???? (์ฌ๊ธฐ์ ๋ง์ด ์ด๋ ค์ํ๊ณ ํฌ๊ธฐํ๊ธฐ ์ฝ๋ค..๊ทธ์น๋ง ์ต๋ํ ์ฝ๊ฒ ์ ๋ฆฌํด๋ณด๊ฒ ๋ค!)
์ดํ ์ ์ ์ฃผ๋ชฉ์ด๋ค.
Looking for attention ๋์ผ๊ฒ ์ด
ํ์คํ๊ฒ ๋๋ก ๋ง๋ค๊ฒ ์ด
You got me looking for attention
You got me looking for attention
๊ฐ๋์ ์ ๋ง ํท๊ฐ๋ฆฌ์ง๋ง
๋ถ๋ช
ํ ๊ฑด
Got me looking for attention
๋ด์ง์ค์ ์ดํ ์ ์์๋ ์ ์ ์๋ฏ์ด attention์ ์ฃผ๋ชฉ ๊ด์ฌ, ๊ทธ๊ฒ๋ ๋์๊ฒ๋ง ์ด๋ผ๋ ๊ฒ์ด๋ค. ์ฆ,
์ด๋์ ๋ ์ฃผ๋ชฉ(๊ฐ์ค์น๋ฅผ ๋๊ฒ)ํด์ผํ๋๊ฐ?๋ฅผ ์๋ ค์ฃผ๋ ๊ฒ์ด ๋ฐ๋ก attention๊ธฐ๋ฒ์ด๋ค.
๋ง์ฝ ๋ฒ์ญ๊ธฐ์ ์ ์ฅ์์ ๋๊ตฐ๊ฐ '๋๋ ํ์์ ๋๋ค.'๋ฅผ ์ ๋ ฅํ๋ค๊ณ ํ์. ๊ทธ๋ฌ๋ฉด ๊ฐ์ฅ ๋จผ์ I๋ผ๋ ๋จ์ด๋ฅผ ๋ด๋ฑ๊ธฐ ์ํด์ ๋/๋/ํ์/์ ๋๋ค ์ค์์ ์ด๋์ ์ ์ผ ์ฃผ๋ชฉํด์ผํ ๊น? ์ ๋ต์ '๋'์ด๋ค. ๋/๋/ํ์/์ ๋๋ค 4๊ฐ์ง๋ฅผ ๋ชจ๋ ๊ณ ๋ คํ๋ค 4๊ฐ ๋จ์ด์ ๋ํ softmaxํ๋ฅ ๊ฐ์ ๊ณ์ฐํ๋ค. ์ด๋ฅผ attention score๋ผ๊ณ ํ๊ณ , score๊ฐ ๊ฐ์ฅ ํฐ ๊ฐ์ attentionํ๋ ๊ฒ์ด attention ๊ธฐ๋ฒ์ ์ฝ์ ์ด๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
ํธ๋์คํฌ๋จธ์ ์ดํ ์
ํธ๋์คํฌ๋จธ์์ Multi-Head Attention ์ ์ ํ์ดํ ์ ์ด๋ค. ์ดํ ์ ๊ณผ์ ์ฐจ์ด๋ ์ ํ์ดํ ์ ์ ์๊ธฐ ์์ ์๊ฒ ์ดํ ์ ๊ธฐ๋ฒ์ ์ ์ฉํ๋ค๋ ๊ฒ์ด๋ค.
'๋๋ ํ ๋ผ๋ฅผ ํค์. ๊ทธ๋ฅผ ์ข์ํ๋ ์ฌ๋๋ค์ด ๋ง์.'
๋ผ๋ ๋ฌธ์ฅ์์ '๊ทธ'์ ์ ํ ์ดํ ์ ์ ์ ์ฉํ๋ฉด? ํ ๋ผ์ ๊ฐ์ฅ ๋ง์ attention score๊ฐ ์ฃผ์ด์ง ๊ฒ์ด๊ณ ๊ทธ๋ค์์ด ํค์ ์์ผ๋ก ์ด์ด์ง ๊ฒ์ด๋ค.
์ด์ฒ๋ผ ์ ํ ์ดํ ์ ์ ๋จ์ด ๊ฐ์ ๊ด๊ณ๋ฅผ ์๋ ค์ฃผ์ด ์ฐ๊ด์ฑ(์ ์ฌ๋)์ด ๋์ ๋จ์ด๋ผ๋ฆฌ ์ฐ๊ฒฐํด์ฃผ๊ธฐ ์ํด ์ฐ๋ ๊ฒ์ด๋ค. ์ฆ ๋งฅ๋ฝ์ ๋ถ์ฌํ๋ ๊ฒ์ด๋ค.
ํธ๋์คํฌ๋จธ์์๋ '๊ทธ'์๋ง ์ ํ ์ดํ ์ ์ ์ ์ฉํ๋ ๊ฒ์ด ์๋๋ผ '๋๋' ๋ถํฐ ๋ชจ๋ ์ ๋ ฅ ์ํ์ค์ ์ดํ ์ ์ ์ํํ๋ค.
ํธ๋์คํฌ๋จธ์ ์ธ์ฝ๋์ ๋์ฝ๋์๋ ๋ชจ๋ ์ ํ์ดํ ์ ์ด ์ ์ฉ๋๋ค.
์ดํ ์ ํจ์
์ดํ ์ ์ ๊ณ์ฐํ๋๋ฐ์๋ 3๊ฐ์ง ์์๋ฅผ ์์์ผํ๋ค. ๋ฐ๋ก ์ฟผ๋ฆฌ(Query), ํค(Key), ๋ฒจ๋ฅ(value)์ด๋ค.
์ดํ ์ ํจ์ Attention(Q,V,K) = Attention Value ์ ๊ณผ์ ์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๊ฐ๋จํ๊ฒ ํํํ ์ ์๋ค.
์ฟผ๋ฆฌ(Query), ํค(Key), ๋ฒจ๋ฅ(value)๊ฐ ๋์ฒด ๋ฌด์์ธ๊ฐ?
์์ ์์๋ฅผ ๋ค์ ๊ฐ์ ธ์์ '๋๋ ํ ๋ผ๋ฅผ ํค์. ๊ทธ๋ฅผ ์ข์ํ๋ ์ฌ๋๋ค์ด ๋ง์.'๋ผ๋ ๋ฌธ์ฅ์์
'๊ทธ'์ ์ ํ ์ดํ ์ ์ ์ ์ฉํ์๋ '๊ทธ' = ์ฟผ๋ฆฌ, '๋๋ ํ ๋ผ๋ฅผ ํค์. ๊ทธ๋ฅผ ์ข์ํ๋ ์ฌ๋๋ค์ด ๋ง์.'= ํค , ๋ฒจ๋ฅ = ๊ฐ ๋จ์ด์ value
ํธ๋์คํฌ๋จธ์์ ๋จ์ด๋ฅผ ์ ๋ ฅํ๋ฉด -> ๋ฒกํฐ๋ก ๋ณํ๋์ด -> ์ด๋ค ๊ณ์ฐ ๊ฑฐ์ณ ์ฟผ๋ฆฌ, ํค, ๋ฒจ๋ฅ๋ก ๋ณํ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ ๋ ฅ๋๋ ๋ฌธ์ฅ์ด 6๊ฐ ๋จ์ด์ธ ๊ฒฝ์ฐ, self-attention ๋์์ ์ฟผ๋ฆฌ ๋ฒกํฐ 6๊ฐ, ํค ๋ฒกํฐ 6๊ฐ, ๋ฒจ๋ฅ ๋ฒกํฐ 6๊ฐ, ์ด 18๊ฐ ๋ฒกํฐ ์ ๋๋ค.
์ฌ๊ธฐ๊น์ง ๋ณด๊ณ , ๋ค์ ํธ๋์คํฌ๋จธ ๊ตฌ์กฐ๋ก ๋์ด๊ฐ ์ ๋ ฅ์ธต๋ถํฐ ๋ด ์๋ค.
์ ํ ์ดํ ์ ์ ์ ๋ ฅ์ธต
์ธ์ฝ๋์ ์ ๋ ฅ๋ถ๋ถ๋ง ๋ผ์ ๊ฐ์ ธ์์ต๋๋ค. ํธ๋์คํฌ๋จธ์ ์ธํ์ ์ ๋ ฅ์๋ฒ ๋ฉ+ํฌ์ง์ ๋ ์ธ์ฝ๋ฉ ์ด๋ค. ํฌ์ง์ ๋ ์ธ์ฝ๋ฉ์ ์์น ์ ๋ณด๋ก ๋ช ๋ฒ์งธ ๋จ์ด์ธ์ง ๋ํ๋ด๋ ๋ฒกํฐ์ ๋๋ค. '๋๋ ํ ๋ผ๋ฅผ ํค์. ๊ทธ๋ฅผ ์ข์ํ๋ ์ฌ๋๋ค์ด ๋ง์.'์์
๋๋ + positional encoding#1
ํ ๋ผ๋ฅผ + positional encoding#2
ํค์+ positional encoding#3......์ด๋ฐ์์ผ๋ก ๋ํด์ ธ์ ๋ค์ด๊ฐ๊ฒ ๋๋ ๊ฒ์ด์ฃ
์ ํ ์ดํ ์ ์ ์ถ๋ ฅ์ธต
๋์ฝ๋์ ์ถ๋ ฅ๋ถ๋ถ์ ๋๋ค.
๋ชจ๋ธ์ ์ต์ข ์ถ๋ ฅ์ target์ธ์ด์ ์ดํ ์๋งํผ์ ์ฐจ์์ ๊ฐ์ง๋ ๋ฒกํฐ๊ฐ ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ํํธ๋งฅ์ค๋ฅผ ์ทจํ๊ธฐ์ ์์๊ฐ์ ๋ชจ๋ ๋ํ๋ฉด 1์ด๋ฉ๋๋ค.
ํธ๋์คํฌ๋จธ์์ ํ์ต์ ์ธ์ฝ๋์ ๋์ฝ๋์ ์ ๋ ฅ์ด ์ฃผ์ด์ก์ ๋ ๋ชจ๋ธ์ ์ต์ข ์ถ๋ ฅ์์ ์ ๋ต์ ํด๋นํ๋ ๋จ์ด์ ํ๋ฅ ๊ฐ์ ๋์ด๋ ๋ฐฉ์์ผ๋ก ์ํ๋ฉ๋๋ค.
์ฌ๊ธฐ๊น์ง ํธ๋์คํฌ๋จธ์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋ณด์๊ณ , ๋ค์ ์ ํ์ดํ ์ ์ผ๋ก ๋์๊ฐ ๊ทธ ๊ณผ์ ์ ๊น๊ฒ ์ดํด๋ด ์๋ค.
์ ํ ์ดํ ์ ๊ณผ์
1. ์ฟผ๋ฆฌ, ํค, ๋ฒจ๋ฅ๋ฅผ ๋ง๋ค์
๋ฐฉ๊ธ ๋ดค๋ ์ ๋ ฅ์ธต์ ๊ฑฐ์น ๊ฐ(์ ๋ ฅ ๋ฒกํฐ ์ํ์ค)์ X๋ผ๊ณ ํ ๋, ์ฟผ๋ฆฌ ํค ๋ฒจ๋ฅ๋ X์ ๊ฐ๊ฐ์ ํด๋นํ๋ ํ๋ ฌ (Wq,Wk,Wv)๋ฅผ ๊ณฑํ๊ฐ์ด๋ค
์ฟผ๋ฆฌ = X * Wq, ํค=X*Wk , ๋ฒจ๋ฅ=X *Wv
***Wq,Wk,Wv๋ ํ์คํฌ(ex-๋ฒ์ญ)์ ์ ์ํํ๋๋ก ์ ๋ฐ์ดํธ๋๋ค.
2. self-attention ์ ์
Attention(Q,V,K) = Attention Value ๋ฅผ ๋ค์ ์ ๋ฆฌํ๋ฉด,
์ฟผ๋ฆฌ์ ํค๋ฅผ ํ๋ ฌ๊ณฑํ ๋ค, ํด๋น ํ๋ ฌ์ ๋ชจ๋ ์์๊ฐ์ ํค์ ์ฐจ์์๋ฆ ์ ๊ณฑ๊ทผ์ผ๋ก ๋๋๊ณ , ์ด ํ๋ ฌ์ ๋ํด ํ ๋จ์๋ก ์ํํธ๋งฅ์ค๋ฅผ ์ทจํด ์ค์ฝ์ด ํ๋ ฌ๋ก ๋ง๋ค์ด์ฃผ๊ณ ๋ฒจ๋ฅ๋ฅผ ํ๋ ฌ๊ณฑํ๋ค.
๋ฉํฐ ํค๋ ์ดํ ์
= ์ ํ ์ดํ ์ ์ ์ฌ๋ฌ ๋ฒ ์ํํ๋ ๊ฒ์ด๋ค.
'์์ฐ์ด ์ฒ๋ฆฌ > Today I learned :' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๊น ํ์ด์ค์ ํธ๋์คํฌ๋จธ ๐ค Huggingface's Transformers (0) | 2023.01.16 |
---|---|
ํธ๋์คํฌ๋จธ์ ์ดํ ์ ์ ๋ฆฌ --2 (0) | 2023.01.16 |
transfomers ๋ฅผ ์ฌ์ฉํ ๊ฐ๋จํ ๋ถ๋ฅ ์์ (BertForSequenceClassification) (0) | 2023.01.12 |
Word Embedding (0) | 2023.01.05 |
[์์ฐ์ด ์ฒ๋ฆฌ] ํ์ดํ ์น LSTM ๊ตฌํ (0) | 2023.01.05 |