[๋…ผ๋ฌธ์ •๋ฆฌ๐Ÿ“ƒ] Attention Is All You Need

Attention Is All You Need

- Self Attention -

๋…ผ๋ฌธ์›๋ณธ๐Ÿ˜™

์ด๋ฒˆ ๋…ผ๋ฌธ์€ ์š”์ฆ˜ ์•ˆ์“ฐ๋Š” ์‚ฌ๋žŒ์ด ์—†๋‹ค๋Š” self-attention ์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ธฐ ์œ„ํ•ด ๋ฆฌ๋ทฐํ•˜์˜€๋‹ค. ์ •ํ™•ํžˆ๋Š” vision transformer(vit) ์— ๋Œ€ํ•ด์„œ ์ดํ•ดํ•˜๋ ค๋‹ˆ ๋จผ์ € ์ด Attention is all you need ๋…ผ๋ฌธ์€ ์ฝ๊ณ  attention์ด ๋ฌด์—‡์ธ์ง€ ์ดํ•ดํ•œ ํ›„์— vit๋กœ ๋„˜์–ด์˜ค๋ฉด vit์˜ ์ดํ•ด์— ๋„์›€์ด ๋œ๋‹ค๊ณ  ํ•œ๋‹ค.

์‹ค์ œ๋กœ ๋จผ์ € ViT ์ฝ๋Š”๋ฐ ๋ฌด์Šจ ์†Œ๋ฆฐ์ง€ ๋ชฐ๋ผ ๋‹นํ™ฉํ–ˆ๋Š”๋ฐ ใ…Žใ…Ž ์ด ๋…ผ๋ฌธ์„ ์ฝ์œผ๋‹ˆ ํ™•์‹คํžˆ ์ดํ•ด๊ฐ€ ๋˜์—ˆ๋‹ค.

์ด๋ฒˆ ๋ฆฌ๋ทฐ๋Š” ๊ทธ๋ฆผ๋„ ๋งŽ๊ณ  ์ดํ•ดํ•ด์•ผํ•  ๊ฒƒ๋„ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์•„์ฃผ ๋จธ๋‚˜๋ฉด ์—ฌ์ •์ด ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ์ด ๋œ๋‹ค๐Ÿ˜ฌ๐Ÿ˜ฌ ใ…Žใ…Ž ๊ทธ๋Ÿผ ์ด์ œ ์—ด์‹ฌํžˆ ๋‹ฌ๋ ค๋ด…์‹œ๋‹ค ๐Ÿ‘


๐ŸŒŸ Background

๊ทธ ๋™์•ˆ RNN์€ ์–ธ์–ด ๋ชจ๋ธ๋ง๊ณผ ๊ธฐ๊ณ„๋ฒˆ์—ญ๊ณผ ๊ฐ™์€ ์‹œ๊ณ„์—ด ๋ฒˆ์—ญ์— ์žˆ์–ด์„œ SOTA ์„ฑ๋Šฅ์„ ๋ณด์˜€๋‹ค. ํ•˜์ง€๋งŒ ์ž…๋ ฅ ์‹œํ€€์Šค ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ตฌ์กฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ด ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ์˜ ์ œ์•ฝ์œผ๋กœ batch์— ์ œํ•œ์ด ์ƒ๊ฒจ ์‹œํ€€์Šค์˜ ๊ธธ์ด๊ฐ€ ๊ธธ์–ด์งˆ์ˆ˜๋ก long term dependecy ๋ฌธ์ œ๊ฐ€ ์‹ฌํ•ด์ง„๋‹ค.

Long term dependecy ๋ž€?

์ž…๋ ฅ์‹œํ€€์Šค๊ฐ€ ๊ธธ์–ด์งˆ ์ˆ˜๋ก ๋ฌธ์žฅ ๋งจ ์•ž์— ๋‚˜์˜ค๋Š” ์ž…๋ ฅ๊ฐ’์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์†์‹ค๋˜๋Š” ๊ฒƒ

RNN ๊ตฌ์กฐ์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ์ดํ•ดํ•ด๋ณด์ž

์บก์ฒ˜

RNN(Recurrent Neural Network) ๊ตฌ์กฐ๋Š” ์Šค์Šค๋กœ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ์ด์ „๋‹จ๊ณ„์—์„œ ์–ป์€ ์ •๋ณด๊ฐ€ ์ง€์†๋˜๋„๋ก ํ•˜๋Š” ๊ตฌ์กฐ์ด๋‹ค. A๋ฅผ RNN์˜ ํ•œ ๋ฉ์–ด๋ฆฌ๋กœ ๋ณด์ž! A๋Š” input $x_t$๋ฅผ ๋ฐ›์•„์„œ $h_t$๋ฅผ ๋‚ด๋ณด๋ƒ„๊ณผ ๋™์‹œ์— ๊ด€๋ จ ์ •๋ณด(information)๋ฅผ ๋‹ค์Œ step์˜ network(cell)์— ๋„˜๊ฒจ์ค€๋‹ค. ๊ทธ๋Ÿผ ๋‹ค์Œ step์—์„œ๋Š” ๋ฐ›์€ ์ •๋ณด์™€ ํ•ด๋‹น step์—์„œ ๋ฐ›์€ $x_t$(input)๊ฐ’์„ ์—ฐ์‚ฐํ•ด ๋‹ค์Œ $h_t$ ๊ฐ’์„ ์ฐพ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค.

์ด๋ ‡๊ฒŒ ๋งฅ๋ฝ์„ ๋‹ค์Œ step์— ๋„˜๊ฒจ์คŒ์œผ๋กœ์จ ์ž์—ฐ์–ด์ฒ˜๋ฆฌ, ์ฃผ๊ฐ€ ์˜ˆ์ธก ๋“ฑ ๋‹ค์–‘ํ•œ ์‹œ๊ณ„์—ด ๋ถ„์„์ด ๊ฐ€๋Šฅํ•ด์กŒ๋‹ค. ํ•˜์ง€๋งŒ step ์ด ๊ธธ์–ด์ง€๋ฉด์„œ(๋ฌธ์žฅ์ด ๊ธธ์–ด์ง€๋ฉด์„œ) ์˜ˆ์ „์— ํ–ˆ๋˜ ๋ง ์ฆ‰, ๋ฌธ์žฅ์˜ ์•ž๋ถ€๋ถ„์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์†์‹ค๋˜์–ด ์•ž์˜ ๋ฌธ๋งฅ์ด ๋’ค๊นŒ์ง€ ์ด์–ด์ง€์ง€ ๋ชปํ•˜๋Š” Long-Term Dependency ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.


Long-Term Dependency ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ œ์•ˆ๋œ LSTM(long-short term memory) ์ด๋‹ค.

แ„†แ…ฎแ„Œแ…ฆ 2

ํ•ด๋‹น ์ •๋ณด๋ฅผ ์–ผ๋งˆ๋‚˜ ๊นŒ๋จน๊ณ (forget gate), ์–ผ๋งˆ๋‚˜ ๋‹ค์Œ Step์œผ๋กœ ๋ฐ”๋กœ ์ด์–ด์ค„์ง€ ์ •ํ•˜๋Š” Gate๋ฅผ ๋„ฃ๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ด๋‹ค. ๊ทธ ๊ณผ์ •์ด ๊ฐ€์šด๋ฐ ์‹œ๊ทธ๋งˆ, tanh ๋“ฑ์œผ๋กœ ๊ณ„์‚ฐ๋˜์–ด์„œ ์ •๋ฆฌ๋˜์–ด ์ถœ๋ ฅ๋œ๋‹ค.


LSTM์„ ์‚ฌ์šฉํ•œ ๊ฐ„๋‹จํ•œ encoder-decoder ๊ตฌ์กฐ์ด๋‹ค. ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค๋กœ ์ง„ํ–‰์ด ๋œ๋‹ค.

แ„†แ…ฎแ„Œแ…ฆ

์ด๋Ÿฐ ์‹์œผ๋กœ ํ•ด๋‹น step์˜ ์ž…๋ ฅ๊ฐ’๊ณผ ๋ฐ›์€ ์ •๋ณด๊ฐ’์„ ๊ฐ€์ง€๊ณ  ๊ฐ’์„ ์˜ˆ์ธกํ•˜๋Š”๋ฐ, encoder ์—์„œ ์‹œํ€€์Šค ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ๋ฒกํ„ฐ๊ฐ’์œผ๋กœ ์••์ถ•ํ•œ ํ›„์— decoder ์—์„œ ์ฐจ๋ก€๋Œ€๋กœ ์ถœ๋ ฅ์„ ํ•˜๊ฒŒ ๋œ๋‹ค.

์ด ๋…ผ๋ฌธ์—์„œ๋Š” recurrence๋ฅผ ํ”ผํ•˜๋Š” ๋Œ€์‹  input๊ณผ output ์‚ฌ์ด์˜ global dependecy๋ฅผ ์ฐพ๋Š” attention mechanism๋งŒ ์‚ฌ์šฉํ•˜๋Š” Transformer ๊ตฌ์กฐ๋ฅผ ์ œ์•ˆํ•œ๋‹ค. Transformer๋Š” ๋” ๋งŽ์€ ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ state-of-the-art ์ˆ˜์ค€์„ ๋ณด์ธ๋‹ค.


๐ŸŒŽ Transformer

์ด ๋…ผ๋ฌธ์—์„œ ์‚ฌ์šฉํ•˜์˜€๋‹ค๊ณ  ํ•˜๋Š” transformer์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ด…์‹œ๋‹ค~ transformer์˜ ์ „์ฒด์ ์ธ ๊ตฌ์กฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™๊ณ  ๊ตฌ์ฒด์ ์œผ๋กœ๋Š” ๋งˆ์ง€๋ง‰์— ํ•œ ๋ฒˆ ๋” ์„ค๋ช…ํ•˜๊ฒŒ ๋  ํ…Œ๋‹ˆ ์ผ๋‹จ ๊ตฌ์กฐ๋งŒ ์ตํ˜€๋‘๊ณ  ๋„˜์–ด๊ฐ€๊ธฐ~

แ„†แ…ฎแ„Œแ…ฆ

์ด์ œ transformer์—์„œ ์‚ฌ์šฉ๋˜๋Š” Attention์— ๋Œ€ํ•ด ์ฐฌ์ฐฌํžˆ ๋œฏ์–ด๋ด…์‹œ๋‹ค! ์œ„์˜ ๊ตฌ์กฐ๋ฅผ ๋ณด๋ฉด attention ๋ ˆ์ด์–ด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ, attention์ด๋ž€ ๊ฐ„๋‹จํžˆ ๋งํ•˜์ž๋ฉด ๊ด€๋ จ ์žˆ๋Š” ์ •๋ณด, ์ค‘์š”ํ•œ ์ •๋ณด์— ๋” ๊ด€์‹ฌ์„ ๋‘”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ง๊ทธ๋Œ€๋กœ attention(์ฃผ๋ชฉ~) ์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ์“ด ๊ฒƒ ๊ฐ™์•„์š”.

๐ŸŒ Attention

self_attention

Attention์€ query๋ฅผ key-value ์ง๊ณผ ๋งคํ•‘์‹œ์ผœ output์œผ๋กœ ๋‚ด๋Š” ๊ฒƒ์ด๋‹ค. ์—ฌ๊ธฐ์„œ key, value, query๋Š” ๋ฒกํ„ฐ๊ฐ’์ด๋ฉฐ output์€ value์˜ weighted sum์œผ๋กœ ๊ณ„์‚ฐ๋œ๋‹ค.

Query์™€ key ์˜ dot-product๋ฅผ ๊ณ„์‚ฐํ•ด์„œ ์ด ๋‘˜ ์‚ฌ์ด์˜ ์œ ์‚ฌ๋„๋ฅผ ๊ตฌํ•œ ํ›„ ๊ธฐ์šธ๊ธฐ vanishing ๋ฌธ์ œ๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด์„œ key์˜ ์ฐจ์›๊ฐ’์œผ๋กœ ํ•œ์ฐจ๋ก€ ๋‚˜๋ˆ  ์ค€ ๋‹ค์Œ์— softmax ๋ฅผ ๊ณ„์‚ฐํ•ด์ค€๋‹ค. ์ด ํ›„ value ๊ฐ’์œผ๋กœ ๊ณฑํ•œ๋‹ค.

softmax๋ฅผ ๊ฑฐ์นœ ๊ฐ’์„ value์— ๊ณฑํ•ด์ค€๋‹ค๋ฉด, query์™€ ์œ ์‚ฌํ•œ value์ผ ์ˆ˜ ๋ก, ์ฆ‰ ์ค‘์š”ํ•œ value์ผ ์ˆ˜๋ก ๋” ๋†’์€ ๊ฐ’์„ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ์ •๋ณด์— ๋” ๊ด€์‹ฌ์„ ๋‘”๋‹ค๋Š” attention์˜ ์›๋ฆฌ๋ฅผ ์—ฌ๊ธฐ์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

key, value, query ์˜ ์„ธ ๋ฒกํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š”์ง€ ๊ทธ๋ฆผ๊ณผ ํ•จ๊ป˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค

แ„†แ…ฎแ„Œแ…ฆ

๋‚˜๋Š” ์ง€๊ธˆ ์†ŒํŒŒ์— ๋ˆ„์›Œ์žˆ๋‹ค๋ผ๋Š” ์ž…๋ ฅ ์‹œํ€€์Šค๊ฐ€ ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์˜จ๋‹ค๋ฉด ์ด๊ฒƒ์„ x ํ–‰๋ ฌ๋ฒกํ„ฐ๋กœ ์ž„๋ฒ ๋”ฉ์„ ์‹œ์ผœ์ค€ ํ›„, ๊ฐ query, key, value ์˜ weight ํ–‰๋ ฌ๋ฒกํ„ฐ (๊ฐ, $W^Q$, $W^K$, $W^V$) ์™€ ๊ณฑํ•ด์ฃผ์–ด query, key, value ๋ฒกํ„ฐ๋ฅผ ์–ป์–ด๋‚ธ๋‹ค. ์ด์ œ ์ด ์„ธ๊ฐ€์ง€ ๋ฒกํ„ฐ ๊ฐ’๋“ค๋กœ attention ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค! ๐Ÿ˜ฒ๐Ÿ‘

Key: ์˜ํ–ฅ์„ ์ฃผ๋Š” ๋‹จ์–ด

value : ์˜ํ–ฅ ๊ฐ€์ค‘์น˜

Query : ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋‹จ์–ด


attention ์—ฐ์‚ฐ์„ ์ฐจ๋ก€๋กœ ์ „๊ฐœํ•ด ๋ณธ ๊ฒฐ๊ณผ์ด๋‹ค. ๋งŒ๋“œ๋Š๋ผ ํŒ” ๋น ์ง€๋Š” ์ค„โ€ฆ

โญ๏ธ ์—ฐ์‚ฐ ์ˆœ์„œ

1) Query์™€ key ์˜ dot product๋ฅผ ๊ณ„์‚ฐํ•ด์„œ ์ด ๋‘˜ ์‚ฌ์ด์˜ ์œ ์‚ฌ๋„๋ฅผ ๊ตฌํ•œ๋‹ค 2) ๊ธฐ์šธ๊ธฐ vanishing ๋ฌธ์ œ๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด์„œ key์˜ ์ฐจ์›๊ฐ’($\sqrt{d_k}$)์œผ๋กœ ํ•œ์ฐจ๋ก€ ๋‚˜๋ˆˆ๋‹ค. 3) softmax ๊ณ„์‚ฐ 4) value ๊ฐ’์œผ๋กœ ๊ณฑํ•œ๋‹ค 5) summation

แ„†แ…ฎแ„Œแ…ฆ แ„†แ…ฎแ„Œแ…ฆ 2 แ„†แ…ฎแ„Œแ…ฆ 3แ„†แ…ฎแ„Œแ…ฆ 3


๐ŸŒ Multi-Head Attention

์ด๋ ‡๊ฒŒ ์ฐจ๊ทผ์ฐจ๊ทผ ๊ณ„์‚ฐํ•˜๋ฉด output๊ฐ’์ด ์ถœ๋ ฅ์ด ๋˜๋Š”๋ฐ, transformer ๊ตฌ์กฐ๋ฅผ ๋‹ค์‹œ ์ž์„ธํžˆ ๋ณด๋ฉด Multi-Head Attention ๋ ˆ์ด์–ด๋ฅผ ์“ด๋‹ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์œ„์—์„œ ๊ณต๋ถ€ํ•œ self-attention์„ ๋ณ‘๋ ฌ๋กœ h๋ฒˆ (๋…ผ๋ฌธ์—์„œ๋Š” 8๋ฒˆ์ด๋ผ๊ณ  ์ œ์‹œํ•จ) ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰๋œ๋‹ค๊ณ  ํ•œ๋‹ค.์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๊ฐ v, k, q ์— ๋Œ€ํ•ด์„œ self-attention์„ 8๋ฒˆ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋‚˜์˜จ ๊ฒฐ๊ณผ(8๊ฐœ)๋ฅผ concat ํ•ด์ค€ ํ›„ linear ํ•˜๊ฒŒ projection ํ•œ ๊ฐ’์„ output ์œผ๋กœ ํ•ด์ค€๋‹ค.

แ„†แ…ฎแ„Œแ…ฆ

๋‹ค์‹œ ๋ฒกํ„ฐ์˜ ๊ทธ๋ฆผ ์œผ๋กœ ํ•œ๋ฒˆ ์‚ดํŽด ๋ณด๋ฉด, K, Q, V ์„ธ ๋ฒกํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š” ์—ฐ์‚ฐ์„ 8๋ฒˆ ๋ฐ˜๋ณต, ์ด๊ฒƒ์œผ๋กœ attention ์—ฐ์‚ฐ์„ 8๋ฒˆ ๋ฐ˜๋ณตํ•ด ๋‚˜์˜จ ์ถœ๋ ฅ๊ฐ’ $z_0$ ~ $z_7$ ์„ ๋ชจ๋‘ concat ์„ ์ง„ํ–‰์‹œ์ผœ์ฃผ๋ฉด 4x32 ์˜ ๋งคํŠธ๋ฆญ์Šค๊ฐ€ ์ƒ์„ฑ์ด ๋œ๋‹ค. ์ตœ์ข… ์ถœ๋ ฅ๊ฐ’์˜ ์ฐจ์›์„ ๋งž์ถฐ์ฃผ๊ธฐ ์œ„ํ•ด 32 by 4 ์˜ weighted matrix $W^O$๋ฅผ ์—ฐ์‚ฐํ•ด์ฃผ์–ด ์ตœ์ข… $z$ ๊ฐ’์„ ์ถœ๋ ฅํ•ด์ค€๋‹ค.

แ„†แ…ฎแ„Œแ…ฆ 2


๐ŸŒ Positional Embedding

Self-attention์€ ์ž…๋ ฅ ์‹œํ€€์Šค ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— Positional encoding ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. Positional encoding์€ ์ž…๋ ฅ ์‹œํ€€์Šค์—์„œ ๋‹จ์–ด์˜ ์ˆœ์„œ๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์ž„๋ฒ ๋”ฉ ๋ฐฉ๋ฒ•์œผ๋กœ (-1 ~ 1) ๋ฒ”์œ„์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

แ„†แ…ฎแ„Œแ…ฆ

Sin, cos ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์˜€๊ณ  ์ด๋Ÿฐ ์ˆ˜์‹์„ ์‚ฌ์šฉํ•œ ์ด์œ ๋Š” ๊ด€๋ จ ํฌ์ง€์…˜์— ๋Œ€ํ•ด์„œ ๋ชจ๋ธ์ด ์‰ฝ๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์„๊ฑฐ๋ผ ๊ฐ€์„ค์„ ์„ธ์› ๋‹ค๊ณ  ํ•œ๋‹ค.

PE ์—ฐ์‚ฐ์œผ๋กœ ๋‚˜์˜จ ๋งคํŠธ๋ฆญ์Šค ๋ฒกํ„ฐ๋Š” ๋‹จ์–ด์˜ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ์™€ ๋”ํ•ด์ ธ์„œ ๊ฒฐ๊ตญ ์ƒ๋Œ€์  ์œ„์น˜์˜ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ ์ตœ์ข… ํ–‰๋ ฌ์ด encoder๊ณผ decoder์˜ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ๋“ค์–ด๊ฐ„๋‹ค.


๐Ÿช Transformer Details

์ด์ œ ๊ณต๋ถ€ํ•œ ๊ฒƒ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ „์ฒด์ ์ธ transformer์˜ ๊ตฌ์กฐ๋ฅผ ํŒŒ์•…ํ•ด๋ณด์ž. ๋จผ์ €, encoder ๋ถ€๋ถ„์ด๋‹ค residual ์—ฐ๊ฒฐ์„ ์ž˜ ํŒŒ์•…ํ•˜๋ฉด์„œ ๋ณด์ž!

แ„†แ…ฎแ„Œแ…ฆ

์ž…๋ ฅ ํ† ํฐ์ด 2๊ฐœ๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ณ  input ๊ฐ’์„ 1์ฐจ์›์˜ ๋ฒกํ„ฐ๊ฐ’์œผ๋กœ ์ž„๋ฒ ๋”ฉํ•œ ๊ฐ’๊ณผ PE ๊ฐ’์„ ๋”ํ•ด self-attention ์„ ์ทจํ•ด์ค€ ํ›„ ๋‚˜์˜จ ouput ๊ฐ’ $z$ ๋ฅผ layernorm ์˜ input ์œผ๋กœ ๋‘๊ณ , attention ์— ๋“ค์–ด๊ฐ€๊ธฐ ์ „์˜ ๊ฐ’($x$)๋„ ํ•จ๊ป˜ layernorm ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๋Š”๋ฐ, ์ด ๋‘ input ๊ฐ’์„ ๋”ํ•ด์ค€ ํ›„, ์ •๊ทœํ™”๋ฅผ ์‹œ์ผœ์ค€๋‹ค. ์ •๊ทœํ™”๋กœ ๋‚˜์˜จ ๋ฒกํ„ฐ ๊ฐ’์„ ๊ฐ๊ฐ feed forward ์‹œ์ผœ์ค€ ํ›„ ์•„๊นŒ์™€ ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค๋กœ Add & Normalization ์„ ์ฒ˜๋ฆฌํ•ด์ค€๋‹ค. ์ด๊ฒŒ ํ•˜๋‚˜์˜ ์ธ์ฝ”๋”์ด๋ฉฐ ์ด๊ฒƒ์ด N ๋ฒˆ ์ˆ˜ํ–‰๋œ๋‹ค. (๋…ผ๋ฌธ์—์„œ๋Š” 6๋ฒˆ์œผ๋กœ ํ•จ)

๋‹ค์Œ์€ encoder์™€ decoder๋ฅผ ๋‘ ๊ฐœ๋งŒ ์žˆ๋‹ค๊ณ  ๊ฐ€์ • ํ•œ ์ „์ฒด์ ์ธ encoder-decoder ํ”„๋กœ์„ธ์Šค์ธ๋ฐ, decoder๋Š” encoder์™€ ๋‹ค๋ฅด๊ฒŒ Encoder-Decoder Attention์ด๋ผ๋Š” ๋ ˆ์ด์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋‚˜๋จธ์ง€ ํ”„๋กœ์„ธ์Šค๋Š” ๊ฐ™์ง€๋งŒ, ์ด ๋ถ€๋ถ„์„ ๋ณด๋ฉด Q, V, K ๊ฐ’ ์ค‘, Q๋Š” decoder ์˜ output ๊ฐ’์œผ๋กœ ๋‚˜์˜จ ๋ฒกํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , K, V ๋ฒกํ„ฐ๋Š” ๋งˆ์ง€๋ง‰ encoder ์—์„œ ๋‚˜์˜จ output ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•ด ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋œ๋‹ค

แ„†แ…ฎแ„Œแ…ฆ 2

์ด๋Ÿฐ์‹์œผ๋กœ ๊ฐ ๊ฐ’์„ ๋‹ฌ๋ฆฌ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š”, ์ฒซ ๋ถ€๋ถ„์—์„œ ๋ฐฐ์šด ์ธ์ฝ”๋”-๋””์ฝ”๋”์˜ ๊ธฐ๋ณธ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ๋‹ค. ํ˜„์žฌ state์˜ input ๊ฐ’๊ณผ ๊ทธ ์ „ lstm ์—์„œ ๋‚˜์˜จ ์ด์ „ ์ •๋ณด ๊ฐ’์„ ๊ฐ–๊ณ  ํ•จ๊ป˜ output ๊ฐ’์„ ๋‚ด๋Š” ์›๋ฆฌ๋กœ ์ž‘๋™์„ ํ•œ๋‹ค! ๋”ฐ๋ผ์„œ transformer๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์—ฌ๊ธฐ decoder, encoder ์—๋„ ๋น„์Šทํ•œ ํ”„๋กœ์„ธ์Šค๋กœ ์ง„ํ–‰์„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์˜ํ–ฅ์„ ์ฃผ๋Š” ๊ฐ’์ธ key์™€ ์˜ํ–ฅ ๊ฐ€์ค‘์น˜์ธ value ๊ฐ’์„ encoder์˜ ์ตœ์ข… ouput ๊ฐ’์—์„œ ๊ฐ€์ ธ์˜ค๊ณ , decoder์˜ ouput ์—์„œ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๊ฐ’์ธ query ๋ฅผ ๊ฐ€์ ธ์™€ ์„ธ ๊ฐ€์ง€์˜ ๋ฒกํ„ฐ๋กœ self-attention ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
์ด๋ ‡๊ฒŒ self-attention ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด, decoder๊ฐ€ ์ž…๋ ฅ ์‹œํ€€์Šค ๋ฐ์ดํ„ฐ์˜ ์ ์ ˆํ•œ ์œ„์น˜์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

แ„†แ…ฎแ„Œแ…ฆ

๋‹จ, self-attention์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ, ๊ฐ ๋‹จ์–ด(ํ† ํฐ)๋“ค์˜ ์ค‘์š”๋„๋ฅผ ์ˆ˜์น˜ํ™”ํ•œ ์ •๋ณด๋ฅผ ๋ณ‘๋ ฌ๋กœ ์—ฐ์‚ฐ์ฒ˜๋ฆฌํ•˜์—ฌ ์†์‹ค์ด ์ผ์–ด๋‚˜์ง€ ์•Š์•„ long term dependecy ๋ฌธ์ œ์ ์€ ํ•ด๊ฒฐํ•˜๋ฉด์„œ, ๋” ๊นŠ์€ ๋„คํŠธ์›Œํฌ sequence์—์„œ๋„ SOTA ์„ฑ๋Šฅ์„ ๋‚ด์—ˆ๋‹ค๋Š” ๊ฒƒ์— ๋‹ค์‹œ ํ•œ ๋ฒˆ ์˜์˜๋ฅผ ๊ฐ€์ง„๋‹ค!



๋งˆ์ง€๋ง‰์œผ๋กœ ๋‚ด์˜ ๐Ÿ”ฅ์—ด์ฉก!๐Ÿ”ฅ์„ ๋ณด์—ฌ์ฃผ๋Š” ๋ ˆํผ๋Ÿฐ์Šค ๋ฆฌ์ŠคํŠธ๋“ค.. ใ…Žใ…Ž

์ฐธ๊ณ 

[1] https://dgkim5360.tistory.com/entry/understanding-long-short-term-memory-lstm-kr

[2] https://omicro03.medium.com/attention-is-all-you-need-transformer-paper-%EC%A0%95%EB%A6%AC-83066192d9ab

[3] https://www.youtube.com/watch?v=KT58deB6oPQ

[4] https://www.youtube.com/watch?v=mxGCEWOxfe8

[5] https://www.youtube.com/watch?v=bgsYOGhpxDc

ํƒœ๊ทธ: ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ:

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ