์˜ค๋Š˜์€ ํŠธ๋žœ์Šคํฌ๋จธ์˜ ์ธ์ฝ”๋” ๋ถ€๋ถ„์„ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๊ณ ์žํ•จ.

๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ํŠธ๋žœ์Šคํฌ๋จธ์˜ ๊ธฐ๋ฒ•์— ๋Œ€ํ•ด์„œ ๋ฌผ์–ด๋ณด๋ฉด "Self-attention ๊ธฐ๋ฒ• ์‚ฌ์šฉ... ํŠน์ • ๋‹จ์–ด์— ํฌ์ปค์‹ฑ.." ํ˜น์€ "Q,K,V ์‚ฌ์šฉํ•ด์„œ...์กฐํ•ฉํ•ด์„œ ๊ฐ€์ค‘์น˜์ฃผ๋Š” ๊ธฐ๋ฒ•..." ์ •๋„๋กœ๋งŒ ๋Œ€๋‹ตํ•จ.

์‹ค์ œ ์–ด๋–ค ์‹์œผ๋กœ ๋Œ์•„๊ฐ€๋Š”์ง€ ์‰ฝ๊ณ  ์ž์„ธํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ๋ณธ ํฌ์ŠคํŒ…์„ ์ง„ํ–‰ํ•จ.

์• ๋งคํ•˜๊ฒŒ ์•„๋Š” ๋ถ„ ํ™˜์˜

ํŠธ๋žœ์Šคํฌ๋จธ์˜ ์ธ์ฝ”๋” ๋ ˆ์ด์–ด๋Š” ๊ทธ๋ฆผ์—์„œ ๋ณด์ด๋‹ค ์‹ถ์ด ํฌ๊ฒŒ 3๊ฐ€์ง€๋กœ ๋‚˜๋ˆ ๋ณผ ์ˆ˜ ์žˆ์Œ.

- ๋ฉ€ํ‹ฐํ—ค๋“œ ์…€ํ”„์–ดํ…์…˜

- ํฌ์ง€์…”๋‹ ์™€์ด์ฆˆ ํ”ผ๋“œํฌ์›Œ๋“œ ๋‰ด๋Ÿด๋„คํŠธ์›Œํฌ

- ์—๋””์…˜ ์•ค ๋ ˆ์ด์–ด ๋…ธ๋ง๋ฆฌ์ œ์ด์…˜

ํ•œ๊ธ€๋กœ ์“ฐ๋‹ˆ ํ˜•ํŽธ์—†์–ด ๋ณด์ด๊ธด ํ•˜์ง€๋งŒ ๊ทธ๋ƒฅ ๋„˜์–ด๊ฐ€๊ฒ ์Œ.

 

์ผ๋‹จ ์ž…๋ ฅ ๋ฌธ์žฅ์ด ๋ชจ๋ธ์— ์ž…๋ ฅ๋˜๋ฉด > ํฌ์ง€์…”๋‹ ์ธ์ฝ”๋”ฉ์„ ํ†ต๊ณผ >  ๋ฒกํ„ฐํ™”(๊ฐ ๋‹จ์–ด์˜ ์œ„์น˜์ •๋ณด๊ฐ€ ํฌํ•จ)๋œ ์ž…๋ ฅ ๋ฌธ์žฅ์ด ๋“ค์–ด์˜ด.

์ด ๋ฒกํ„ฐ๊ฐ’์€ ํŠธ๋žœ์Šคํฌ๋จธ์˜ ์ธ์ฝ”๋”๋กœ ๋“ค์–ด์˜ด.

๊ทธ๋Ÿฌ๋ฉด ๊ทธ๋ฆผ์˜ ๊ฐ€์žฅ ์ขŒ์ธก์ฒ˜๋Ÿผ ์ž…๋ ฅ๊ฐ’์ด ํ•˜๋‚˜๋Š” ๋ฐ”๋กœ Add&Norm์œผ๋กœ ๊ฐ€๊ณ , ํ•˜๋‚˜๋Š” 3๊ฐœ๋กœ ๋‚˜๋ˆ ์ ธ์„œ Multi-head self attention ์„œ๋ธŒ๋ ˆ์ด์–ด๋กœ ๋“ค์–ด๊ฐ. ์ด ์„œ๋ธŒ๋ ˆ์ด์–ด๋ฅผ ํ†ต๊ณผํ•˜๋‹ˆ ๋‹ค์‹œ ํ•˜๋‚˜์˜ ์ถœ๋ ฅ๊ฐ’์œผ๋กœ ๋ณ€ํ•˜๊ณ , ๊ณง๋ฐ”๋กœ Add&Norm์œผ๋กœ ๊ฐ”๋˜ ์ž…๋ ฅ๊ฐ’๊ณผ ๋ฉ€ํ‹ฐํ—ค๋“œ์…€ํ”„์–ดํ…์…˜ ์„œ๋ธŒ๋ ˆ์ด์–ด์—์„œ ๋‚˜์˜จ ์ถœ๋ ฅ๊ฐ’์ด ๋”ํ•ด์ง€๊ณ  ์ผ๋ฐ˜ํ™”๋จ. ์ด ๊ฐ’์„ ๋˜ ๋‘˜๋กœ ๋‚˜๋ˆ ์„œ ํ•˜๋‚˜๋Š” ๋‹ค์ด๋ ‰ํŠธ๋กœ ๊ฐ€๊ณ  ํ•˜๋‚˜๋Š” Position-wise FFNN ์„œ๋ธŒ๋ ˆ์ด์–ด๋ฅผ ๊ฐ”๋‹ค๊ฐ€ ๋˜ ํ•ฉ์ณ์ง. ์ด๊ฒŒ ํŠธ๋žœ์Šคํฌ๋จธ์˜ Encoder ๋์ž„.

์ด์ œ ํ•˜๋‚˜์”ฉ ์„ค๋ช…ํ•˜๊ฒ ์Œ.

 

๋จผ์ € Attention์ด ๋ญ”์ง€๋ถ€ํ„ฐ ์•Œ์•„์•ผํ•จ.

์–ดํ…์…˜(Attention)์ด๋ž€ ๊ฐ ๋ฌธ์žฅ์—์„œ ๊ฐ๊ฐ์˜ ๋‹จ์–ด๊ฐ€ ์„œ๋กœ ์–ด๋–ค ์—ฐ๊ด€์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด์ธ๋ฐ, ์‰ฝ๊ฒŒ๋งํ•ด์„œ ํŠน์ • ๋‹จ์–ด์— ์ง‘์ค‘ํ•˜๋Š” ๊ฑฐ์ž„. ์–ด๋ผ? It์ด ๋ญ˜ ๋œปํ•˜๋Š” ๊ฑฐ์ง€? ์•„, The Monkey ํ˜น์€ that banana์— ์ง‘์ค‘ํ•˜๊ณ  ์žˆ๊ตฌ๋‚˜. ์ด๋Ÿฐ ๋Š๋‚Œ.

์ด Attention ๊ธฐ์ˆ ์„ ์ ์šฉํ•˜๋ฉด ์ „๋ฐ˜์ ์ธ ์ž…๋ ฅ ๋ฌธ์žฅ์— ๋Œ€ํ•ด ๋ชจ๋ธ์ด ๋ฌธ๋งฅ ์ •๋ณด๋ฅผ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์Œ.

 

Transformer์€ ์–ดํ…์…˜ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ์™œ ์•ž์— Self-attention์ด๋ผ๊ณ  ํ•˜๋ƒ๋ฉด, ํ•˜๋‚˜์˜ ๋ฌธ์žฅ ๋‚ด์—์„œ ์–ดํ…์…˜์„ ์ทจํ•˜๊ณ  ์žˆ๋Š”๊ฑฐ๋ผ์„œ ์•ž์— ์…€ํ”„๊ฐ€ ๋ถ™์Œ. ์ฆ‰, ๊ฐ๊ฐ์˜ ๋ฌธ์žฅ๊ฐ„์˜ ์ง‘์ค‘์ด ์•„๋‹Œ, ํ•˜๋‚˜์˜ ๋ฌธ์žฅ ๋‚ด์—์„œ ๊ฐ ๋‹จ์–ด๊ฐ€ ๋ญ์— ์ง‘์ค‘ํ•˜๋Š”์ง€๋ฅผ ๋ณด๋Š”๊ฑฐ์ž„.

์ด๋Ÿฐ ์…€ํ”„ ์–ดํ…์…˜์€ ๋‹ค๋ฅธ๋ง๋กœ (Scaled dot product Attention)์ด๋ผ๊ณ  ๋งํ•จ.

 

 

์ž, ์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ž…๋ ฅ ๋ฌธ์žฅ์ด ๋ฒกํ„ฐํ™” ๋˜๊ณ  ๊ฐ€์žฅ ๋จผ์ € ๊ฐ€๋Š” ์„œ๋ธŒ๋ ˆ์ด์–ด๋Š” Multi-Head Attention ๋ ˆ์ด์–ด์ž„.

์ด๋ฅผ ํฌ๊ฒŒ๋ณด๋ฉด ๊ฐ€์šด๋ฐ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋˜๊ณ , ์—ฌ๊ธฐ์„œ Scaled Dot product attention (=Self-Attention) ๋ ˆ์ด์–ด๋ฅผ ํ™•๋Œ€ํ•ด๋ณด๋ฉด ์ขŒ์ธก์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Œ.

๋จผ์ € ์šฉ์–ด๋ถ€ํ„ฐ ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ• ๊ฒŒ์š”.

์ขŒ์ธก ๊ทธ๋ฆผ ์ƒํ•˜๋‹จ์„ ๋ณด๋ฉด MatMul์ด๋ผ๊ณ  ์žˆ๋Š”๋ฐ, ์ด๊ฑด Matrix Multiplication์˜ ์•ฝ์ž๋กœ ํ•œ๊ตญ์–ด๋Š” "ํ–‰๋ ฌ๊ณฑ์…ˆ"์ž„.

Scale์€ ์Šค์ผ€์ผ๋ง(Scailing)ํ•˜๋Š”๊ฑด๋ฐ, ์ด๊ฒŒ ํ–‰๋ ฌ๊ณฑ์…ˆํ•˜๋ฉด์„œ ๋ฒกํ„ฐ๊ฐ’์ด ์ ์  ์ปค์ง€๋Š”๋ฐ ์ด๊ฒŒ ๊ทธ ์œ„์— Softmax๋ฅผ ํ†ต๊ณผํ• ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋Œ. ์ด๊ฒŒ ๋ฒกํ„ฐ๊ฐ’์ด ํฌ๋ฉด ์ถœ๋ ฅ๊ฐ’์ด Gradient Vanishing(๊ฐ€์ค‘์น˜ ์†Œ์‹ค) ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ €๊ธฐ Scale ์„œ๋ธŒ๋ ˆ์ด์–ด์—์„œ๋Š” Scale Factor๋ผ๋Š” ํŠน์ˆ˜ ๊ฐ’์„ ๋ฒกํ„ฐ์— ๊ณฑํ•ด์„œ ์ž…๋ ฅ๊ฐ’์„ ์ž‘๊ฒŒ๋งŒ๋“ค์–ด์คŒ. ์ด๋Ÿฌ๋ฉด ์†Œํ”„ํŠธ๋งฅ์Šค ํ•จ์ˆ˜ ์ถœ๋ ฅ๊ฐ’์ด ์•ˆ์ •์ ์ด๊ฒŒ ๋Œ.

์ดํ•ด์•ˆ๋˜์—ˆ๋‹ค๋ฉด ์ด๋”ฐ ๋” ์‰ฝ๊ฒŒ ์„ค๋ช…ํ• ํ…Œ๋‹ˆ ์ผ๋‹จ ํŒจ์Šค

 

 

์ž ๊ฐ๊ฐ์˜ ์„œ๋ธŒ๋ ˆ์ด์–ด๋ฅผ ํ•˜๋‚˜์”ฉ ์ž์„ธํ•˜๊ฒŒ ๋ด๋ด…์‹œ๋‹ค.

๋…ผ๋ฌธ์—์„œ ๋ชจ๋ธ์˜ ์ž…๋ ฅ์ฐจ์›์€ 512๋กœ ์„ค์ •ํ•˜์˜€๊ณ , num_head๋Š” 8๋กœ ์ •ํ–ˆ์–ด์š”.

์ด๋ง์ด ๋ญ๋ƒ, ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด ์ž…๋ ฅ๋œ ๋ฌธ์žฅ์—์„œ ํ•˜๋‚˜์˜ ๋‹จ์–ด๋ฅผ ํ•˜๋‚˜์˜ ๋ฒกํ„ฐ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์„ ๋•Œ, ๊ฐ ๋ฒกํ„ฐ์˜ ๊ธธ์ด๊ฐ€ 512๋ผ๋Š” ์–˜๊ธฐ์ž…๋‹ˆ๋‹ค. ์ฆ‰, Student๋ผ๋Š” ๋‹จ์–ด๋Š” 512๊ฐœ์˜ ๊ธธ์ด๋ฅผ ๊ฐ€์ง„ ๋ฒกํ„ฐ๋กœ ์น˜ํ™˜๋œ๋‹ค ์ƒ๊ฐํ•˜๋ฉด ๊ตณ.

num_head๋Š” ๊ฐ๊ฐ์˜ ์ด ์…€ํ”„ ์–ดํ…์…˜์„ ์ด ๋ช‡๊ฐœ๋ฅผ ๋ณ‘๋ ฌ๋กœ ๊ณ„์‚ฐํ• ๊ฑฐ๋ƒ ๋ผ๋Š” ๊ฐ’์ธ๋ฐ, ๋…ผ๋ฌธ์—์„œ๋Š” ํ•œ๋ฒˆ์— 8๊ฐœ๊ฐ€ ๋™์‹œ์— ๋ณ‘๋ ฌ์ ์œผ๋กœ ๊ณ„์‚ฐ๋˜๋„๋ก ์„ค์ •ํ•˜์˜€์Œ.

 

512 ์ฐจ์›์˜ ๋‹จ์–ด๋ฒกํ„ฐ๋ฅผ [๋ชจ๋ธ์˜ dimension, ๋ชจ๋ธ์˜ dimension/numhead]๊ฐ’์ธ [512,512/8] = [512, 64]์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๋Š” ๊ฐ€์ค‘์น˜ ํ–‰๋ ฌ์„ ๋งŒ๋“ค์–ด์„œ ์ด๋ฅผ ๊ณฑํ•ด์ค˜์„œ Q,K,V๋ฅผ ๋งŒ๋“ฌ.


์ด๊ฒŒ ๋‹ค๋ฅธ ์„ค๋ช…๊ฐ™์€๋ฐ์„œ ๋ณด๋ฉด ๊ฐ€์ค‘์น˜ ํ–‰๋ ฌ์„ ์›๋ž˜ ๊ฐ’์— ๊ณฑํ•ด์„œ ๋งŒ๋“ ๋‹ค ์ •๋„๋กœ๋งŒ ์„ค๋ช…ํ•˜๋Š”๋ฐ ๋” ์‰ฝ๊ฒŒ ์ดํ•ดํ• ๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Œ.

๊ทธ๋ฆผ ์•„๋ž˜์— ์žˆ๋Š” ์ฝ”๋“œ์ฒ˜๋Ÿผ,  512์ฐจ์›์˜ ์ž…๋ ฅ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์œผ๋ฉด 64์ฐจ์›์œผ๋กœ ๋‚˜์˜ค๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž„.
์ผ€๋ผ์Šค ํ…์„œํ”Œ๋กœ์šฐ์—์„œ๋Š” ์ผ๋ฐ˜์ ์ธ Dense์ธต์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด๋Œ.

๊ฐ๊ฐ์˜ Linear ๋ ˆ์ด์–ด๋ฅผ ๋งŒ๋“ค์–ด์„œ 64์ฐจ์›์˜ Query, Key, Value ๋ฒกํ„ฐ๊ฐ’์„ ๋งŒ๋“œ๋Š”๊ฒŒ ๋์ž„.

 

๊ทธ๋ฆผ์„ ์˜ˆ์‹œ๋กœ ๋ณด๋ฉด [1,512] ์งœ๋ฆฌ ๋ฒกํ„ฐ (=Student) ๊ฐ€ ๊ฐ ๋ ˆ์ด์–ด ํ†ต๊ณผํ•ด์„œ ์„œ๋กœ ๋‹ค๋ฅธ [1,64] ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๋Š” ๋ฒกํ„ฐ๊ฐ€ 3๊ฐœ ๋งŒ๋“ค์–ด์ง€๋Š”๊ฑฐ์ž„.

 

 

๋ฐฉ๊ธˆ ์ „์—๋Š” 1๊ฐœ์˜ ๋‹จ์–ด ๋ฒกํ„ฐ์— ๋Œ€ํ•ด์„œ ์–˜๊ธฐํ•œ๊ฑฐ๊ณ , ์‹ค์ œ ๋ฉ€ํ‹ฐํ—ค๋“œ์–ดํ…์…˜์€ ๋ชจ๋“  ์ž…๋ ฅ์— ๋Œ€ํ•ด ๋ณ‘๋ ฌ์ ์œผ๋กœ ๋™์‹œ์— ์ง„ํ–‰ํ•จ.

๋˜‘๊ฐ™์€ ์›๋ฆฌ๋กœ ํ•˜๋‚˜์˜ ์ž…๋ ฅ ๋ฌธ์žฅ์— ๋Œ€ํ•ด 512์ฐจ์›์„ ๊ฐ๊ฐ ๋‹ค๋ฅธ 64์ฐจ์› ๋ฒกํ„ฐ๋กœ ๋‚˜์˜ค๊ฒŒ ํ•˜๋ฉด ์ด ์„œ๋ธŒ๋ ˆ์ด์–ด์˜ ์—ญํ• ์€ ๋์ž„.

 

Q,K,V๊ฐ€ ๋งŒ๋“ค์–ด์กŒ์œผ๋ฉด ์ด ๊ฐ’๋“ค์€ Scaled Dot Product Attention, ์ฆ‰ Self Attention ๋ ˆ์ด์–ด๋กœ ๋“ค์–ด๊ฐ.
์ด ์…€ํ”„์–ดํ…์…˜ ๋ ˆ์ด์–ด๋Š” ์™ผ์ชฝ์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Œ.
๋จผ์ € Q,K๊ฐ’์ด MatMul(ํ–‰๋ ฌ๊ณฑ์…ˆ)์„ ์ง„ํ–‰ํ•จ.
์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ ๋ณด๋ฉด ์•„๊นŒ ๋งŒ๋“  Q์™€ K๋ฅผ ํ–‰๋ ฌ๊ณฑํ•ด์„œ [64,64] ํฌ๊ธฐ๋ฅผ ๊ฐ™์€ ์–ดํ…์…˜ ์Šค์ฝ”์–ด ๋งคํŠธ๋ฆญ์Šค๋ฅผ ๋งŒ๋“ฌ

๊ทธ๋ฆผ๋งŒ ๋ณด๋ฉด [2,4] * [4,2] = [4,4]์ด๋ผ์„œ ํ—ท๊ฐˆ๋ฆฐ๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ,

์•„๊นŒ ์˜ˆ์‹œ์˜€๋˜ 4๊ฐœ์˜ ๋‹จ์–ด I am a student์—์„œ ๊ฐ๊ฐ์˜ ๋‹จ์–ด๋Š” 512๊ฐœ์˜ ๊ธธ์ด๋ฅผ ๊ฐ€์ง€๋Š” ๋ฒกํ„ฐ์˜€๊ณ , Q,K,V์—์„œ 64๋กœ ์ค„์˜€์œผ๋‹ˆ ํ•˜๋‚˜์˜ ๋‹จ์–ด๋Š” ์ง€๊ธˆ ๊ธธ์ด๊ฐ€ 64์ธ ๋ฒกํ„ฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด๋Œ.

๊ทธ๋Ÿฐ๋‹ค์Œ ์ด ์–ดํ…์…˜ ์Šค์ฝ”์–ด ๋ฉ”ํŠธ๋ฆญ์Šค๋ฅผ ์Šค์ผ€์ผ๋ง์„ ํ•จ.
์ด์œ ๋Š” ์•„๊นŒ ๋งํ•œ ๊ฒƒ์ฒ˜๋Ÿผ > ํ–‰๋ ฌ๊ณฑ์…ˆํ•˜๋ฉด์„œ ๋ฒกํ„ฐ๊ฐ’์ด ์ปค์ง€๋Š”๋ฐ Softmax๋ฅผ ์ทจํ• ๋•Œ ๋ฐฑํ„ฐ๊ฐ’์ด ํฌ๋ฉด  ์ถœ๋ ฅ๊ฐ’์ด 0 or 1๊ฐ’์ด ๋งŽ์•„์ง€๊ธฐ ๋–„๋ฌธ์— Gradient Vanishing(๊ฐ€์ค‘์น˜ ์†Œ์‹ค) or Exploding(ํญ๋ฐœ) ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ณ , Scale Factor๋ฅผ ๊ณฑํ•ด์„œ ์ž…๋ ฅ๊ฐ’์„ ์ž‘๊ฒŒ๋งŒ๋“ค์–ด์„œ Softmax ํ•จ์ˆ˜์˜ ์ถœ๋ ฅ ๊ฐ’์„ ์•ˆ์ •์ ์œผ๋กœ ๋งŒ๋“ค์–ด์คŒ.

์ € ์œ„์˜ ๊ทธ๋ž˜ํ”„๊ฐ€ Softmax function์ธ๋ฐ ๋ณด๋‹ค์‹ถ์ด ์ž…๋ ฅ๊ฐ’์ด ๊ณ„์† ๊ณฑํ•ด์ง€๋ฉด์„œ ๊ฐ’์ด ์ปค์ง€๋ฉด 1์— ๊ทผ์ ‘ํ•œ ์ถœ๋ ฅ๊ฐ’๋งŒ ๋‚˜์˜ค๊ณ  ์ž‘์•„์ง€๋ฉด 0์— ๊ทผ์ ‘ํ•œ ์ถœ๋ ฅ๊ฐ’์ด ๋‚˜์˜ค๊ฒ ์ฃ ?

๊ทธ๋ž˜์„œ Q๋ž‘ K๋ž‘ ํ–‰๋ ฌ๊ณฑ ํ•œ๋‹ค์Œ์— ๋‚˜๋ˆ ์ฃผ๋Š”๊ฑฐ์ž„.

 

๋งˆ์Šคํฌ๋Š” ๊ฑด๋„ˆ ๋›ฐ์—ˆ๋Š”๋ฐ, ์˜†์— ์˜ต์…˜์ด๋ผ๊ณ  ๋ถ™์–ด์žˆ๋Š”๋ฐ, padding์€ ๋ณดํ†ต Max len์„ ์ •ํ•ด๋’€์„๋–„ ์ž…๋ ฅ ๋ฌธ์žฅ์ด ์ด๋ณด๋‹ค ์ž‘์„ ๋•Œ ์ตœ๋Œ€ ๊ธธ์ด๋ฅผ ๋งž์ถฐ์ฃผ๊ธฐ ์œ„ํ•ด ์•„์ฃผ ์ž‘์€ ์Œ์ˆ˜๊ฐ’์„ ์ฃผ๋Š” ๊ฒƒ์ž„.
๊ต‰์žฅํžˆ ์ž‘์€ ์Œ์ˆ˜๊ฐ’์„ ์ฃผ๊ฒŒ๋˜๋ฉด ์†Œํ”„ํŠธ ๋งฅ์Šค๋ฅผ ์ง€๋‚˜๋ฉด 0์— ๊ฐ€๊น๊ฒŒ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์–ดํ…์…˜ ํ•™์Šต์ด ์•ˆ๋Œ.
ํ˜„์žฌ ์˜ˆ์‹œ์—์„œ๋Š” ํŒจ๋”ฉ์ด ํ•„์š”์—†๊ธฐ์— ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค.
์ „๋‹จ๊ณ„์—์„œ ์Šค์ผ€์ผ๋ง ํ•œ ๊ฐ’์„ ์†Œํ”„ํŠธ ๋งฅ์Šค ๋ ˆ์ด์–ด์— ๋„ฃ์–ด์„œ ์ด ํ•ฉ์ด 1์ธ ํ™•๋ฅ ๊ฐ’ ๋งคํŠธ๋ฆญ์Šค, ์Šค์ฝ”์–ด ๋ฉ”ํŠธ๋ฆญ์Šค๋กœ ๋งŒ๋“ค์–ด์คŒ.

์ฆ‰, [0.2, 0.1, 0.3, 0.4] ์ฒ˜๋Ÿผ ๋งŒ๋“œ๋Š”๊ฑฐ์ž„.

 

๊ทธ๋Ÿฌ๊ณ ๋‚˜์„œ Score Metrix๋ฅผ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด Value ๋ฒกํ„ฐ๊ฐ’๊ณผ ๊ณฑํ•ด์„œ Attention Value Metrix์„ ๋งŒ๋“ฌ.

์ด๊ฒŒ ๊ทธ๋ฆผ ๋งจ์œ„์—์žˆ๋Š” ์–ดํ…์…˜ ์ˆ˜์‹์„ ์ „๋ถ€ ์„ค๋ช…ํ•œ๊ฑฐ์ž„.

์Šค์ผ€์ผ ๋‹ท ํ”„๋กœ๋•ํŠธ ์–ดํ…์…˜์€ ์ด๋ ‡๊ฒŒ ๋์ด ๋‚ฌ์ง€๋งŒ, ๊ทธ๋ฆผ์— h๋ผ๊ณ  ํ‘œ์‹œ๋œ Num Head ์ˆ˜๋งŒํผ ๋ณ‘๋ ฌ์ ์œผ๋กœ ๋™์‹œ์— ์ง„ํ–‰ํ•˜๊ธฐ ๋–„๋ฌธ์— ์ด 8๊ฐœ์˜ ์–ดํ…์…˜ ๋ฒจ๋ฅ˜ ๋ฉ”ํŠธ๋ฆญ์Šค๊ฐ€ ๋‚˜์˜ด.

์ด๋ฅผ Concat์„ ํ•จ.

Concat์„ ํ•˜๋ฉด [4,64]์˜€๋˜ ์–ดํ…์…˜ ๋ฒจ๋ฅ˜ ๋ฉ”ํŠธ๋ฆญ์Šค๊ฐ€ 8๊ฐœ๊ฐ€ ๋ถ™์–ด [4,512]์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๋Š” ํ•˜๋‚˜์˜ ํ…์„œ๊ฐ’์„ ์–ป์Œ.

 

์ด ๊ฐ’์„ ๋ฆฌ๋‹ˆ์–ด ๋ ˆ์ด์–ด์— ๊ทธ๋Œ€๋กœ ๋„ฃ์–ด์„œ Representation์„ ํ•จ.
๋”ฅ๋Ÿฌ๋‹์—์„œ "Representation"๋ž€, ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ์˜๋ฏธ ์žˆ๋Š” ํ‘œํ˜„์„ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•จ. 
์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ ๊ฒฝ๋ง์— ์ฃผ์ž…ํ•˜๋ฉด, ์‹ ๊ฒฝ๋ง์ด ์ด๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๊ฐ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์ ์ ˆํ•œ ํ‘œํ˜„์„ ์ถ”์ถœํ•˜๋Š” ๊ฒƒ์ž„

์•„๊นŒ๋ž‘ ๋˜‘๊ฐ™์ด ์ž…์ถœ๋ ฅ ํฌ๊ธฐ๊ฐ€ ๊ฐ™์€ Linear ๋ ˆ์ด์–ด์— ๋ฒกํ„ฐ๊ฐ’์„ ๋„ฃ๋Š”๊ฑฐ์ž„. (ํ…์„œํ”Œ๋กœ๋กœ ์„ค๋ช…ํ•˜์ž๋ฉด ์ž…์ถœ๋ ฅํฌ๊ธฐ๊ฐ€ ๊ฐ™์€ Dense ๋ ˆ์ด์–ด)์ด ๊ฐ’์„ ๋ฆฌ๋‹ˆ์–ด ๋ ˆ์ด์–ด์— ๊ทธ๋Œ€๋กœ ๋„ฃ์–ด์„œ Representation์„ ํ•จ.
๋”ฅ๋Ÿฌ๋‹์—์„œ "Representation"๋ž€, ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ์˜๋ฏธ ์žˆ๋Š” ํ‘œํ˜„์„ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•จ. 
์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ ๊ฒฝ๋ง์— ์ฃผ์ž…ํ•˜๋ฉด, ์‹ ๊ฒฝ๋ง์ด ์ด๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๊ฐ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์ ์ ˆํ•œ ํ‘œํ˜„์„ ์ถ”์ถœํ•˜๋Š” ๊ฒƒ์ž„

์•„๊นŒ๋ž‘ ๋˜‘๊ฐ™์ด ์ž…์ถœ๋ ฅ ํฌ๊ธฐ๊ฐ€ ๊ฐ™์€ Linear ๋ ˆ์ด์–ด์— ๋ฒกํ„ฐ๊ฐ’์„ ๋„ฃ๋Š”๊ฑฐ์ž„. (ํ…์„œํ”Œ๋กœ๋กœ ์„ค๋ช…ํ•˜์ž๋ฉด ์ž…์ถœ๋ ฅํฌ๊ธฐ๊ฐ€ ๊ฐ™์€ Dense ๋ ˆ์ด์–ด)

๋ฉ€ํ‹ฐํ—ค๋“œ ์–ดํ…์…˜์€ ๋๋‚ฌ๊ณ ,

๊ทธ๋ฆผ์„ ๋ณด๋ฉด ์ž…๋ ฅ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ๊ฐ’๊ณผ ๋ฉ€ํ‹ฐํ—ค๋“œ์–ดํ…์…˜์—์„œ ๋‚˜์˜จ ์ถœ๋ ฅ๊ฐ’์ด Addition & Layer Normalization๋กœ ๊ฐ.

์ผ๋‹จ ์ž…๋ ฅ๊ณผ ๋ฉ€ํ‹ฐํ—ค๋“œ์–ดํ…์…˜ ์ถœ๋ ฅ์€ ๋™์ผํ•œ ์ฐจ์›์„ ๊ฐ–๊ณ  ์žˆ์Œ.

 

Addition & Layer Normalization์€ ๋ง๊ทธ๋Œ€๋กœ ๋”ํ•˜๊ณ  ๋ ˆ์ด์–ด ๋…ธ๋ง๋ฆฌ์ œ์ด์…˜์„ ํ†ตํ•ด ์ผ๋ฐ˜ํ™” ํ•˜๋Š” ์„œ๋ธŒ ๋ ˆ์ด์–ด์ž„.
์ž…์ถœ๋ ฅ์ด ๊ฐ™์€ ์ฐจ์›์„ ๊ฐ€์ง€๋‹ˆ ๋”ํ•  ์ˆ˜ ์žˆ์Œ.

์ž”์ฐจ ์—ฐ๊ฒฐ(residual connection)์€ ๋”ฅ๋Ÿฌ๋‹ ๋„คํŠธ์›Œํฌ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์ค‘์น˜ ์†์‹ค(gradient vanishing) ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ , ํ•™์Šต ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ์žฅ์ ์ด ์žˆ์Œ.
๋„คํŠธ์›Œํฌ๊ฐ€ ๊นŠ์–ด์งˆ์ˆ˜๋ก ์—ญ์ „ํŒŒ ํ•˜๋ฉด ๊ทธ๋ž˜๋””์–ธํŠธ ๊ฐ’์ด ์ž‘์•„์ ธ ์‚ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์„œ๋ธŒ๋ ˆ์ด์–ด์— ๋“ค์–ด๊ฐ€๊ธฐ ์ „์˜ ๊ฐ’์„ ์ถ”๋ ฅ๊ฐ’๊ณผ ๋”ํ•ด์„œ ์™„ํ™”์‹œํ‚ด.

์ด ์„œ๋ธŒ๋ ˆ์ด์–ด๋ฅผ ์ฝ”๋“œ๋กœ ์„ค๋ช…ํ•˜์ž๋ฉด ๋ ˆ์ง€๋“€์–ผ ์ปค๋„ฅ์…˜ ์•„์›ƒํ’‹์„ ๋ ˆ์ด์–ด ๋…ธ๋ง๋ฆฌ์ œ์ด์…˜ ํ•˜๊ณ  ๋“œ๋ž์•„์›ƒํ•˜๋Š” ๊ฒŒ ๋์ž„

 

์ฐธ๊ณ ๋กœ ์™œ Layer Norm์„ ํ–ˆ๋ƒ? Batch Norm์€?? ๋ผ๊ณ  ๋ฌผ์–ด๋ณธ๋‹ค๋ฉด,
Batch Norm๊ณผ ๋™์ผํ•˜์ง€๋งŒ ์ ์šฉ๋˜๋Š” Dimension์ด ๋‹ค๋ฆ„. ์ž์—ฐ์–ด๋Š” ์ด๋ฏธ์ง€์™€ ๋‹ฌ๋ฆฌ ์ž…๋ ฅ ์‹œํ€€์Šค๊ฐ€ ๋งค๋ฒˆ ๋‹ค๋ฅด๊ธฐ์— Padding์„ ๋„ฃ์–ด์ฃผ๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ํŠน์„ฑ๋•Œ๋ฌธ์— Batch normalization์œผ๋กœ Layer Norm์ด ์ ํ•ฉํ•จ. ๋” ์ž์„ธํ•˜๊ณ  ๊นŠ๊ฒŒ ๋ฐฐ์šธ๋ ค๋ฉด ๊ฒ€์ƒ‰ ใ„ฑใ„ฑ

 

๋ ˆ์ง€๋“€์–ผ ์ปค๋„ฅ์…˜ ์•„์›ƒํ’‹ ๊ฐ’์€ ๋˜‘๊ฐ™์ด Addition & Layer Normalization๊ณผ Feed Forward๋กœ ๊ฐ.

์—ฌ๊ธด ์ฝ”๋“œ๋กœ ์„ค๋ช…ํ•˜๋Š”๊ฒŒ ๋” ์‰ฌ์›Œ๋ณด์ž„.

 

๊ทธ ๋ฒกํ„ฐ๊ฐ’์ด ์ง€๊ธˆ 512์ฐจ์›์ด๋‹ˆ, ์ด๋ฅผ 4๋ฐฐ ๋Š˜๋ ธ๋‹ค๊ฐ€ ๋‹ค์‹œ 4๋ฐฐ ์ค„์ด๋Š” ๋ ˆ์ด์–ด์ž„.

์™œ ๋Š˜๋ ธ๋‹ค ์ค„์—ฌ! ๋ผ๊ณ  ํ•˜๋ฉด,

4๋ฐฐ ๋Š˜๋ฆฐ๋‹ค : ๋ฐ์ดํ„ฐ๋ฅผ ๋” ๋„“์€ ๊ณต๊ฐ„์—์„œ ํ‘œํ˜„ํ•ด๋ณธ๋‹ค.

4๋ฐฐ ์ค„์ธ๋‹ค: ๋„“์€ ๊ณต๊ฐ„์—์„œ ํ‘œํ˜„ํ•œ ๋ฐ์ดํ„ฐ ์ค‘์— ๋” ์ค‘์š”ํ•œ ํŠน์ง•๋“ค์„ ์„ ํƒํ•˜๊ณ  ํ•™์Šตํ•˜๋„๋ก ํ•œ๋‹ค.

์ฆ‰, Representation ํ•˜๋Š”๊ฑฐ์ž„.

 

์ด๋Ÿฌ๋ฉด ํŠธ๋žœ์Šคํฌ๋จธ์˜ ์ธ์ฝ”๋” ๋ถ€๋ถ„ ์„ค๋ช… ๋์ž„!

์ด ํฌ์ŠคํŒ…์ด ๋„์›€์ด ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‹ค์‹œ ์—ฐ๊ตฌํ•˜๋Ÿฌ ๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค

728x90
๋ฐ˜์‘ํ˜•
Liky