์ž์—ฐ์–ด ์ฒ˜๋ฆฌ/Today I learned :

ํŠธ๋žœ์Šคํฌ๋จธ์™€ ์–ดํƒ ์…˜ ์ •๋ฆฌ --1

์ฃผ์˜ ๐Ÿฑ 2023. 1. 15. 00:20
728x90

๋“œ๋””์–ด ๋‚˜๋ฅผ ๊ดด๋กญํžˆ๋˜ ์–ดํƒ ์…˜์— ๊ด€ํ•ด ์ดํ•ดํ•œ ํ›„, ์Šค์Šค๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค!!! 


ํŠธ๋žœ์Šคํฌ๋จธ ๋“ฑ์žฅ ์ „

ํŠธ๋žœ์Šคํฌ๋จธ ์ „์—๋Š” 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

'๊ทธ'์— ๋Œ€ํ•œ ์…€ํ”„ ์–ดํƒ ์…˜ ๊ฒฐ๊ณผ๋กœ ๊ฐ ๋‹จ์–ด์— ๋Œ€ํ•œ attention score๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋˜๊ณ ,
๊ฐ ๊ฐ€์ค‘์น˜(score)์— ๊ฐ ๋‹จ์–ด์— ๋Œ€ํ•œ ๋ฒจ๋ฅ˜ ๋ฒกํ„ฐ๋ฅผ ๊ณฑํ•ด ๋”ํ•˜๋ฉด '๊ทธ'์— ๋Œ€ํ•œ attention 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 ๋ฅผ ๋‹ค์‹œ ์ •๋ฆฌํ•˜๋ฉด,

์ฟผ๋ฆฌ์™€ ํ‚ค๋ฅผ ํ–‰๋ ฌ๊ณฑํ•œ ๋’ค, ํ•ด๋‹น ํ–‰๋ ฌ์˜ ๋ชจ๋“  ์š”์†Œ๊ฐ’์„ ํ‚ค์˜ ์ฐจ์›์ˆ˜๋ฆ ์ œ๊ณฑ๊ทผ์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ์ด ํ–‰๋ ฌ์— ๋Œ€ํ•ด ํ–‰ ๋‹จ์œ„๋กœ ์†Œํ”„ํŠธ๋งฅ์Šค๋ฅผ ์ทจํ•ด ์Šค์ฝ”์–ด ํ–‰๋ ฌ๋กœ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ๋ฒจ๋ฅ˜๋ฅผ ํ–‰๋ ฌ๊ณฑํ•œ๋‹ค. 

 

๋ฉ€ํ‹ฐ ํ—ค๋“œ ์–ดํƒ ์…˜

 = ์…€ํ”„ ์–ดํƒ ์…˜์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 

 

๋ฐ˜์‘ํ˜•