seq2seq๋ ์ฑ๋ด(chatBot), ๊ธฐ๊ณ ๋ฒ์ญ(machine-traslation), STT(Speach-to-Text)๋ฑ์์ ์ฌ์ฉ๋๋ ๋ชจ๋ธ์ด๋ค.
seq2seq๋ฅผ ์์ธํ ๋ณด๋ฉด Encoder์ Decoder๋ก ์ด๋ฃจ์ด์ ธ์๋ค.
์ธ์ฝ๋
๋ชจ๋ ๋จ์ด๋ค์ ์์ฐจ์ ์ผ๋ก ์ ๋ ฅ ๋ฐ์ ๋ง์ง๋ง์ ๋ชจ๋ ๋จ์ด ์ ๋ณด๋ค์ ์์ถํด context vector๋ฅผ ๋ง๋ ๋ค.
๋์ฝ๋
context vector๋ฅผ ์ ๋ ฅ์ผ๋ก ํ์ฌ ๋ฒ์ญ๋ ๋จ์ด๋ฅผ ํ๊ฐ์ฉ ์์ฐจ์ ์ผ๋ก ์ถ๋ ฅํ๋ค.
์ ๊ทธ๋ฆผ์ ์กฐ๊ธ ๋ ์์ธํ ๊ทธ๋ ค๋ณด๋ฉด
์ฌ์ค ์ธ์ฝ๋์ ๋์ฝ๋๋ ๋๊ฐ์ RNN์ด๋ค.
์ธ์ฝ๋๋ฅผ ์์ธํ ์ดํด๋ณด๋ฉด ์ ๋ ฅ ๋ฌธ์ฅ์ ๋จ์ด ํ ํฐํ๋ฅผ ํตํด ๋จ์ด ๋จ์๋ก ์ชผ๊ฐ์ง๊ณ ๋จ์ด ํ ํฐ ๊ฐ๊ฐ์ RNN ์ ๊ฐ ์์ ์์ ์ ๋ ฅ์ด ๋๋ค.
์ธ์ฝ๋ฐ RNN ์ ์ ๋ชจ๋ ๋จ์ด๋ฅผ ์ ๋ ฅ ๋ฐ์ ๋ค ์ธ์ฝ๋ RNN ์ ์ ๋ง์ง๋ง ์์ ์ ์๋์ํ๋ฅผ ๋์ฝ๋ RNN ์ ๋ก ๋๊ฒจ์ฃผ๋๋ฐ ์ด๋ฅผ Context ๋ฒกํฐ๋ผ๊ณ ํ๋ค.
๋์ฝ๋๋ ์ด๊ธฐ ์ ๋ ฅ์ผ๋ก ๋ฌธ์ฅ์ ์์ํ๋ ์ฌ๋ณผ <sos>๊ฐ ๋ค์ด๊ฐ๋ค. <sos>๊ฐ ์ ๋ ฅ๋๋ฉด ๋ค์์ ๋ฑ์ฅํ ํ๋ฅ ์ด ๋์ ๋จ์ด๋ฅผ ์์ธกํ๋ค. ์ด ํ์๋ ๋ฌธ์ฅ ๋์ ์๋ฏธํ๋ ์ฌ๋ณผ์ธ <eos> ๊ฐ ๋ค์ ๋จ์ด๋ก ์์ธก ๋ ๋๊น์ง ๋ฐ๋ณต๋๋ค.
seq2seq๋ ํ๋ จ ๊ณผ์ ๊ณผ ํ ์คํธ ๊ณผ์ (๋๋ ์ค์ ๋ฒ์ญ๊ธฐ๋ฅผ ์ฌ๋์ด ์ธ ๋)์ ์๋ ๋ฐฉ์์ด ์กฐ๊ธ ๋ค๋ฅด๋ค. ์์ ๋ด์ฉ๋ค์ ํ ์คํธ ๊ณผ์ ์ด๊ณ
ํ๋ จ ๊ณผ์ ์์๋ ์ธ์ฝ๋๊ฐ ๋ณด๋ธ ์ปจํ ์คํธ ๋ฒกํฐ์ ์ค์ ์ ๋ต์ธ <sos> je suis étudiant๋ฅผ ์ ๋ ฅ ๋ฐ์์ ๋, je suis étudiant <eos>๊ฐ ๋์์ผ ๋๋ค๊ณ ์ ๋ต์ ์๋ ค์ฃผ๋ฉด์ ํ๋ จํ๋ค.
๋ฐ๋ฉด ํ ์คํธ ๊ณผ์ ์์๋ ์์ ์ค๋ช ํ ๊ณผ์ ๊ณผ ๊ฐ์ด ๋์ฝ๋๋ ์ค์ง ์ปจํ ์คํธ ๋ฒกํฐ์ <sos>๋ง์ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ํ์ ๋ค์์ ์ฌ ๋จ์ด๋ฅผ ์์ธกํ๊ณ , ๊ทธ ๋จ์ด๋ฅผ ๋ค์ ์์ ์ RNN ์ ์ ์ ๋ ฅ์ผ๋ก ๋ฃ๋ ํ์๋ฅผ ๋ฐ๋ณตํ๋ค.
๋์ฝ๋์์ ์ถ๋ ฅ ๋จ์ด๋ก ๋์ฌ ์ ์๋ ๋จ์ด๋ค์ ๋ค์ํ๋ค. seq2seq ๋ชจ๋ธ์ ์ ํ๋ ์ ์๋ ๋ชจ๋ ๋จ์ด๋ค๋ก๋ถํฐ ํ๋์ ๋จ์ด๋ง์ ๋ฝ์๋ด์ผ ํ๋ค. ์ถ๋ ฅ ์ธต ๋ง์ง๋ง ๋จ์ softmax ํจ์๋ฅผ ํตํด ์ถ๋ ฅ ์ํ์ค์ ๋จ์ด๋ณ ํ๋ฅ ๊ฐ ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ ๊ฒฐ์ ํ๊ฒ ๋๋ค.
ํ์ง๋ง ์ด๋ฌํ RNN ๊ธฐ๋ฐ์ seq2seq ๋ชจ๋ธ์ ํฌ๊ฒ ๋๊ฐ์ง ๋ฌธ์ ์ ์ด ์๋ค.
1. ๊ณ ์ ๋ ํฌ๊ธฐ์ context ๋ฒกํฐ์ ๋ชจ๋ ์ ๋ณด๋ฅผ ์์ถํ๊ฒ ๋๋ฏ๋ก ์ ๋ณด ์์ค์ด ๋ฐ์ํ๋ค.
2. RNN์ ๊ณ ์ง์ ์ธ ๋ฌธ์ ์ฅ๊ธฐ์์กด์ฑ ๋ฌธ์
๊ทธ๋์ ๊ธฐ๊ณ ๋ฒ์ญ ๋ถ์ผ์์ ์ ๋ ฅ ๋ฌธ์ฅ์ด ๊ธธ์ด์ง ์๋ก ๋ฒ์ญ ํ์ง์ด ๋จ์ด์ง๋ ํ์์ด ๋ฐ์ํ๊ธฐ๋ ํ๋ค.
์ด๋ฅผ ์ํด ์ ๋ ฅ ๊ธธ์ด๊ฐ ๊ธธ์ด์ง๋ฉด ์ถ๋ ฅ ๋ฌธ์ฅ์ ์ ํ๋๋ฅผ ๋ณด์ ํด์ฃผ๊ธฐ ์ํ ์ดํ ์ ๊ธฐ๋ฒ์ด ๋ฑ์ฅํ์๋ค.
์ดํ ์ ์ ๊ธฐ๋ณธ ์์ด๋์ด๋ ๋์ฝ๋์์ ์ถ๋ ฅ ๋จ์ด๋ฅผ ์์ธกํ๋ ๋งค ์์ ๋ง๋ค ์ธ์ฝ๋์์์ ์ ์ฒด ์ ๋ ฅ ๋ฌธ์ฅ์ ๋ค์ ์ฐธ๊ณ ํ๋ค๋ ์ ์ด๋ค.
์ ๋ ฅ ๋ฌธ์ฅ์ ๋์ผํ ๋น์จ๋ก ์ฐธ๊ณ ํ๋ ๊ฒ์ด ์๋๋ผ ์์ธกํด์ผ ํ ๋จ์ด์ ์ฐ๊ด์ด ์๋ ์ ๋ ฅ ๋จ์ด ๋ถ๋ถ์ ์กฐ๊ธ ๋ ์ง์ค(attention)ํด์ ๋ณด๊ฒ ๋๋ค.
์ดํ ์ ํจ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
Attention(Q, K, V) = Attention Value
Q = Query : t ์์ ์ ๋์ฝ๋ ์
์์์ ์๋ ์ํ
K = Keys : ๋ชจ๋ ์์ ์ ์ธ์ฝ๋ ์
์ ์๋ ์ํ๋ค
V = Values : ๋ชจ๋ ์์ ์ ์ธ์ฝ๋ ์
์ ์๋ ์ํ๋ค
๋ท-ํ๋ก๋ํธ ์ดํ ์ (dot-product attention)
์ดํ ์ ์ ๋ค์ํ ์ข ๋ฅ๊ฐ ์๋๋ฐ ๊ทธ์ค์์ ๋ท-ํ๋ก๋ํธ ์ดํ ์ ์ ์ดํด ๋ณด๋๋ก ํ๊ฒ ๋ค.
์ฒซ๋ฒ์งธ, ๋๋ฒ์งธ ์ถ๋ ฅ์ ์ง๊ธ ์ค๋ช ํ๋ ์ธ๋ฒ์งธ ์ถ๋ ฅ๊ณผ ๊ฐ์ ์์์ด๋ฏ๋ก ์ด๋ฏธ ์งํํ๋ค๊ณ ๊ฐ์ ํ๊ณ ์ธ๋ฒ์งธ ์์๋ฅผ ๋ณด๊ฒ ๋ค.
๋์ฝ๋์ ์ธ๋ฒ์งธ LSTM ์ ์ ์ถ๋ ฅ ๋จ์ด๋ฅผ ์์ธกํ๊ธฐ ์ํด ์ธ์ฝ๋์ ๋ชจ๋ ์ ๋ ฅ ๋จ์ด๋ค์ ์ ๋ณด๋ฅผ ๋ค์ ์ฐธ๊ณ ํ๋ค.
์ํํธ๋งฅ์ค ํจ์๋ฅผ ํตํด ๋์จ ๊ฒฐ๊ณผ๊ฐ์ I, am, a, student ๋จ์ด ๊ฐ๊ฐ์ด ์ถ๋ ฅ ๋จ์ด๋ฅผ ์์ธกํ ๋ ์ผ๋ง๋ ๋์์ด ๋๋์ง์ ์ ๋๋ฅผ ์์นํํ ๊ฐ์ด๋ค. ์์ ๊ทธ๋ฆผ์์๋ ๋นจ๊ฐ ์ง์ฌ๊ฐํ์ ํฌ๊ธฐ๋ก ์ํํธ๋งฅ์ค ํจ์์ ๊ฒฐ๊ณผ๊ฐ์ ํฌ๊ธฐ๋ฅผ ํํํ๋ค. ์ง์ฌ๊ฐํ์ ํฌ๊ธฐ๊ฐ ํด ์๋ก ๋์์ด ๋๋ ์ ๋์ ํฌ๊ธฐ๊ฐ ํฌ๋ค.
1. ์ดํ ์ ์ค์ฝ์ด(attention score)๋ฅผ ๊ตฌํ๋ค.
์ธ์ฝ๋์ ๋์ฝ๋์ ์๋์ํ๋ ๋ชจ๋ 4์ฐจ์์ผ๋ก ๋์ผํ ์ํ์ด๋ฉฐ, ๊ฐ input์ ๋ํ ์๋ ์ํ๋ฅผ h1, h2, h3, h4๋ผ ํ ๋
๋์ฝ๋์ ํ ์์ t์์ ๋์ฝ๋์ ์๋ ์ํ๋ฅผ st๋ผ๊ณ ํ์. ๊ทธ๋ฆฌ๊ณ ๋์ฝ๋์์ t๋ฒ์งธ ๋จ์ด๋ฅผ ์์ธกํ๊ธฐ ์ํ ์ดํ ์ ๊ฐ(attention value)๋ฅผ at๋ผ๊ณ ํ์. at๋ ํ ๋์ฝ๋ t์์ ์์ ๋จ์ด๋ฅผ ์์ธกํ๊ธฐ ์ํด ์ธ์ฝ๋์ ๋ชจ๋ ์๋ ์ํ ๊ฐ๊ฐ์ด ๋์ฝ๋์ ํ ์์ ์ ์๋ ์ํ st์ ์ผ๋ง๋ ์ ์ฌํ์ง ํ๋จํ๋ ๊ฐ์ ๋งํ๋ค.
์ฐ์ st๋ฅผ ์ ์น(transpose)ํ๊ณ ๊ฐ ์๋ ์ํ์ ๋ด์ ํ๋ค.
st์ ์ธ์ฝ๋์ ๋ชจ๋ ์๋ ์ํ์ ์ดํ ์ ์ค์ฝ์ด์ ๋ชจ์ ๊ฐ์ et๋ผ๊ณ ํ ๋ ์์์ผ๋ก ๋ํ๋ธ๋ค๋ฉด ์๋์ ๊ฐ๋ค.
2. ์ํํธ๋งฅ์ค ํจ์๋ฅผ ํตํด ์ดํ ์ ๋ถํฌ๋ฅผ ๊ตฌํ๋ค.
์ดํ ์ ์ค์ฝ์ด ๊ฐ๋ค et๋ฅผ ์ํํธ๋งฅ์ค ํจ์์ ๋ฃ์ด ํ๋ฅ ๋ถํฌ๋ฅผ ์ป๋๋ค.
3. ๊ฐ ์ธ์ฝ๋์ ์ดํ ์ ๊ฐ์ค์น์ ์๋ ์ํ๋ฅผ ๊ฐ์คํฉ ํ์ฌ ์ดํ ์ ๊ฐ์ ๊ตฌํ๋ค.
์ดํ ์ ์ ์ต์ข ๊ฒฐ๊ณผ๊ฐ์ ์ป๊ธฐ ์ํด์ ๊ฐ ์ธ์ฝ๋์ ์๋ ์ํ์ ์ดํ ์ ๊ฐ์ค์น๊ฐ๋ค์ ๊ณฑํ๊ณ , ์ต์ข ์ ์ผ๋ก ๋ชจ๋ ๋ํ๋ค.
์ด at(์ดํ ์ ๊ฐ)๋ ์ข ์ข ์ธ์ฝ๋์ ๋ฌธ๋งฅ์ ํฌํจํ๊ณ ์๋ค๊ณ ํด ์ปจํ ์คํธ ๋ฒกํฐ๋ผ๊ณ ํ๋ค. ์์ ๋์จ seq2seq์ ์ปจํ ์คํธ ๋ฒกํฐ์๋ ๋์กฐ๋๋ค.
4. ์ดํ ์ ๊ฐ๊ณผ ๋์ฝ๋์ t ์์ ์ ์๋ ์ํ๋ฅผ ์ฐ๊ฒฐํ๋ค.(Concatenate)
at(์ดํ ์ ๊ฐ)๊ณผ st๋ฅผ ๊ฒฐํฉํ์ฌ ํ๋์ ๋ฒกํฐ๋ก ๋ง๋๋ ์์ ์ ์ํํ๋ค. ์ด๋ก๋ถํฐ ๊ตฌํ vt๋ฅผ y^ ์์ธก ์ฐ์ฐ์ ์ ๋ ฅ์ ์ฌ์ฉํ๋ฏ๋ก์ ์ธ์ฝ๋๋ก๋ถํฐ ์ป์ ์ ๋ณด๋ฅผ ํ์ฉํด y^์ ๋ ์ ์์ธกํ ์ ์๊ฒ ๋๋ค.
5. ์ถ๋ ฅ์ธต ์ฐ์ฐ์ ์ ๋ ฅ์ด ๋๋ s~t๋ฅผ ๊ณ์ฐํฉ๋๋ค.
6. s~t๋ฅผ ์ถ๋ ฅ์ธต์ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํ๋ค.
* ๊ทธ ์ธ์ ๋ค๋ฅธ ์ดํ ์ ํจ์๋ค
์ค์ฝ์ด ํจ์๋ง ๋ค๋ฅด๊ฒ ๋ํ๋๋ค.
์ฐธ๊ณ ๋ฌธํ :
'NLP ๐ฃ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
one-hot encoding (0) | 2022.01.21 |
---|
๋๊ธ