๐Ÿ’ฟ Data/๋ถ€ํŠธ์บ ํ”„

[TIL] 79. ์ธ์ฝ”๋”-๋””์ฝ”๋”, Attention

Jayden1116 2022. 3. 8. 14:51

์ธ์ฝ”๋”-๋””์ฝ”๋”

  • RNN์˜ ๋‹ค๋Œ€์ผ(many to one) ๊ตฌ์กฐ๋Š” ์ฃผ๋กœ ๋ถ„๋ฅ˜ ๋ฌธ์ œ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.(๋ฌธ์žฅ์ด ๋“ค์–ด์˜ค๋ฉด ๊ธ์ •์ธ์ง€ ๋ถ€์ •์ธ ํŒ๋‹จํ•˜๋Š” ๊ฐ์„ฑ๋ถ„์„ ๋“ฑ)
  • ๋‹ค๋Œ€๋‹ค(many to many) ๊ตฌ์กฐ๋Š” ์ฃผ๋กœ ๊ฐœ์ฒด๋ช… ์ธ์‹, ํ’ˆ์‚ฌ ํƒœ๊น…๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ํ’€๊ฒŒ๋ฉ๋‹ˆ๋‹ค.
  • ์ธ์ฝ”๋”-๋””์ฝ”๋”์˜ ๊ตฌ์กฐ๋Š” ํ•˜๋‚˜์˜ RNN์„ ์ธ์ฝ”๋”, ๋˜ ๋‹ค๋ฅธ ํ•˜๋‚˜์˜ RNN์„ ๋””์ฝ”๋”๋กœ ๋‘๋Š” ๊ตฌ์กฐ ๋‘๊ฐœ์˜ RNN์„ ์—ฐ๊ฒฐํ•ด์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์ธ์ฝ”๋”-๋””์ฝ”๋” ๊ตฌ์กฐ๋Š” ์ฃผ๋กœ ์ž…๋ ต ๋ฌธ์žฅ๊ณผ ์ถœ๋ ฅ ๋ฌธ์žฅ์˜ ๊ธธ์ด๊ฐ€ ๋‹ค๋ฅผ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋Œ€ํ‘œ์ ์œผ๋กœ ๋ฒˆ์—ญ๊ธฐ, ํ…์ŠคํŠธ ์š”์•ฝ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

seq2seq(Sequence to Sequence)

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

image


image


์œ„์™€ ๊ฐ™์€ ๊ตฌ์„ฑ์„ ์ด๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์ฝ”๋”๋Š” ์ž…๋ ฅ ๋ฌธ์žฅ์˜ ๋ชจ๋“  ๋‹จ์–ด๋“ค์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ž…๋ ฅ๋ฐ›์€ ๋’ค ๋งˆ์ง€๋ง‰์— ํ•˜๋‚˜์˜ ๋ฒกํ„ฐ๋กœ ์••์ถ•ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ด ๋ฒกํ„ฐ๋ฅผ ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ(context vector)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
์ด ํ›„ ์ด ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋ฅผ ๋””์ฝ”๋”๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ๋””์ฝ”๋”๋Š” ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋ฅผ ๋ฐ›์•„ ๋ฒˆ์—ญ๋œ ๋‹จ์–ด๋ฅผ ํ•œ๊ฐœ์”ฉ ์ˆœ์ฐจ์ ์œผ๋กœ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.


image

์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋Š” ์ธ์ฝ”๋” RNN ์…€์˜ ๋งˆ์ง€๋ง‰ ์‹œ์ ์˜ ์€๋‹‰ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ๋””์ฝ”๋” ์ดˆ๊ธฐ ์ž…๋ ฅ์œผ๋กœ ์ด ์€๋‹‰ ์ƒํƒœ๊ฐ’๊ณผ sos(start of sequence)๋ผ๋Š” ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›์•„ ์ฒซ๋ฒˆ์งธ ๋‹จ์–ด๋ฅผ ์ถœ๋ ฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์…€์€ ์ด ์˜ˆ์ธก๊ฐ’๊ณผ ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋ฅผ ํ•จ๊ป˜ ๋ฐ›์•„ ๊ทธ ๋‹ค์Œ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ํ–‰์œ„๋Š” ๋ฌธ์žฅ์˜ ๋์„ ์˜๋ฏธํ•˜๋Š” eos(end of sequence)๊ฐ€ ์˜ฌ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค.
์ค‘์š”ํ•˜๊ฒŒ ๊ธฐ์–ตํ•  ๊ฒƒ์€ ์ง€๊ธˆ ์œ„์˜ ๊ณผ์ •์€ seq2seq ๋ชจ๋ธ์˜ ํ…Œ์ŠคํŠธ ๊ณผ์ •์ด๋ผ๋Š” ์ ์ž…๋‹ˆ๋‹ค.
ํ•™์Šต ๊ณผ์ •์—์„œ๋Š” ๋””์ฝ”๋”๋ฅผ ํ•™์Šตํ•  ๋•Œ, ์ธ์ฝ”๋”์˜ ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ์™€ ์‹ค์ œ ์ •๋‹ต ์ƒํ™ฉ์ธ sos ~ ๋ฌธ์žฅ์„ ์ž…๋ ฅ ๋ฐ›์•˜์„ ๋•Œ, ~ eos๊ฐ€ ๋‚˜์™€์•ผ ํ•œ๋‹ค๊ณ  ์ •๋‹ต์„ ์•Œ๋ ค์ฃผ๋ฉด์„œ ํ›ˆ๋ จํ•ฉ๋‹ˆ๋‹ค.

Attention ๋ฉ”์ปค๋‹ˆ์ฆ˜

์œ„์˜ seq2seq ๋ชจ๋ธ์€ ์ธ์ฝ”๋”์—์„œ ์ž…๋ ฅ ์‹œํ€€์Šค๋ฅผ ํ•˜๋‚˜์˜ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜, ๋””์ฝ”๋”๋Š” ์ด ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋ฅผ ํ†ตํ•ด ์ถœ๋ ฅ ์‹œํ€€์Šค๋ฅผ ๋งŒ๋“ค์–ด๋ƒˆ์Šต๋‹ˆ๋‹ค.

seq2seq์˜ ๋‹จ์ 

  • ํ•˜๋‚˜์˜ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ๋ฒกํ„ฐ(์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ ; ๋งˆ์ง€๋ง‰ ์…€์˜ ํžˆ๋“  ์Šคํ…Œ์ดํŠธ)์— ๋ชจ๋“  ์ •๋ณด๋ฅผ ์••์ถ•ํ•˜๋ ค๋‹ค ๋ณด๋‹ˆ ์ •๋ณด ์†์‹ค ๋ฐœ์ƒ
  • RNN์˜ ๊ณ ์งˆ์ ์ธ ๋ฌธ์ œ์ธ ๊ธฐ์šธ๊ธฐ ์†Œ์‹ค๋ฌธ์ œ ์กด์žฌ

Attention ์•„์ด๋””์–ด

  • ๋””์ฝ”๋”์—์„œ ์ถœ๋ ฅ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋งค ์‹œ์ (time step)๋งˆ๋‹ค ์ธ์ฝ”๋”์—์„œ์˜ ์ „์ฒด ์ž…๋ ฅ ๋ฌธ์žฅ์„ ์ฐธ๊ณ 
  • ๋‹จ, ์ž…๋ ฅ ๋ฌธ์žฅ์˜ ํ† ํฐ๋“ค์„ ์ „๋ถ€ ๋™์ผํ•œ ๋น„์œจ๋กœ ์ฐธ๊ณ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ํ•ด๋‹น ์‹œ์ ์—์„œ ์˜ˆ์ธกํ•ด์•ผํ•  ๋‹จ์–ด์™€ ์—ฐ๊ด€์ด ์žˆ๋Š” ๋‹จ์–ด ๋ถ€๋ถ„์„ ์ข€๋” ์ง‘์ค‘(Attention)ํ•ด์„œ ๋ด„

image


Attention(Q, K, V) = Attention Value

  • Q : Query ; t ์‹œ์ ์˜ ๋””์ฝ”๋” ์…€์—์„œ์˜ ์€๋‹‰์ƒํƒœ(์ฆ‰, ์šฐ๋ฆฌ๊ฐ€ ์•Œ๊ณ ์‹ถ์€ ๊ฐ’)
  • K : Keys ; ๋ชจ๋“  ์‹œ์ ์˜ ์ธ์ฝ”๋” ์…€ ์€๋‹‰ ์ƒํƒœ๋“ค
  • V : Values ; ๋ชจ๋“  ์‹œ์ ์˜ ์ธ์ฝ”๋” ์…€ ์€๋‹‰ ์ƒํƒœ๋“ค
  1. ์ฃผ์–ด์ง„ ์ฟผ๋ฆฌ์— ๋Œ€ํ•ด ๋ชจ๋“  ํ‚ค์™€์˜ ์œ ์‚ฌ๋„๋ฅผ ๊ฐ๊ฐ ๊ตฌํ•ฉ๋‹ˆ๋‹ค.
  2. ๊ตฌํ•ด๋‚ธ ์œ ์‚ฌ๋„๋ฅผ ํ‚ค์™€ ๋งตํ•‘๋˜์–ด์žˆ๋Š” ๊ฐ๊ฐ์˜ ๊ฐ’์— ๋ฐ˜์˜
  3. ๋ฐ˜์˜๋œ ๊ฐ’์„ ๋ชจ๋‘ ๋”ํ•ด์„œ ๋ฆฌํ„ด -> ๋ฆฌํ„ดํ•œ ๊ฐ’์„ ์–ดํ…์…˜ ๊ฐ’

์ฆ‰, Attention์„ ์ด์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๊ฐ ์ธ์ฝ”๋”์˜ time step ์—์„œ์˜ ํžˆ๋“  ์Šคํ…Œ์ดํŠธ๊ฐ’์ด key์™€ value๋กœ ์ž‘๋™ํ•˜๊ฒŒ ๋˜๊ณ  ๋””์ฝ”๋”์˜ ๊ฐ time step ๋งˆ๋‹ค์˜ ํžˆ๋“  ์Šคํ…Œ์ดํŠธ๋ฅผ query๋กœ ํ•˜์—ฌ ๊ฐ๊ฐ์„ ๋งค์นญ ์‹œ์ผœ ์ ์ˆ˜๊ฐ€ ๋” ๋†’์€ ๋‹จ์–ด์— ๊ฐ€์ค‘์น˜๋ฅผ ์ฃผ๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.


์ถœ์ฒ˜ ๋ฐ ์ฐธ๊ณ 
Wikidocs : ๋”ฅ๋Ÿฌ๋‹์„ ์ด์šฉํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ์ž…๋ฌธ