๋ฐ์ํ
์ ์ ์ผ๋ ๋ด์ฉ์ ์ด์ด์ ์จ๋ณด๊ฒ ์ต๋๋ค.
ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง (CNN Model)๊ณผ ๋น๊ตํ Self-Attention
CNN์ *Convolution filter(ํฉ์ฑ๊ณฑ ํํฐ)๋ผ๋ ํน์ํ ์ฅ์น๋ฅผ ์ด์ฉํด์ Sequence์ ์ง์ญ์ ์ธ ํน์ง์ ์ก์๋ด๋ ๋ชจ๋ธ์ ๋๋ค.
- ์ฌ๊ธฐ์ Convolution filter(ํฉ์ฑ๊ณฑ ํํฐ)๋ ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง์ ๊ตฌ์ฑํ๋ ํ๋์ ์์-ํํฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฒด์ ์ผ๋ก ํ์ผ๋ฉด์ ์ธ์ ํ ์ ๋ณด๋ฅผ ์ถ์ถํ๋ ์ญํ ์ ํฉ๋๋ค.
- ์์ฐ์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก Sequence(๋จ์ด ํน์ ํํ์์ ๋์ด)์ด๊ณ ํน์ ๋จ์ด ๊ธฐ์ค ์ฃผ๋ณ ๋ฌธ๋งฅ์ด ์๋ฏธ ํ์ฑ์ ์ค์ํ ์ญํ ์ ํ๊ณ ์์ผ๋ฏ๋ก, CNN์ด ์์ฐ์ด ์ฒ๋ฆฌ์ ๋๋ฆฌ ์ฐ์ด๊ณ ์์ต๋๋ค.
- ์์ ๊ทธ๋ฆผ์ CNN ๋ฌธ์ฅ์ Encoding ๋ฐฉ์์ ๋๋ค. Convolution filter(ํฉ์ฑ๊ณฑ ํํฐ)๊ฐ ๋จ์ด๋ฅผ ํ๋์ฉ ๋๊ธฐ๋ฉด์ ์ฐจ๋ก๋๋ก ์ฝ์ด ๋ค์ด๋๊ฑธ ์ ์ ์์ต๋๋ค.
- ๊ทธ๋ฐ๋ฐ, CNN์ ํฉ์ฑ๊ณฑ ํํฐ ํฌ๊ธฐ๋ฅผ ๋์ด๊ฐ๋ ๋ฌธ๋งฅ์ ์ฝ์ด๋ด๊ธฐ ์ด๋ ต๋ค๋ ๋จ์ ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด์ ํํฐ์ ํฌ๊ธฐ๊ฐ 3์ด๋ฉด 4์นธ ์ด์ ๋จ์ด์ ์๋ ๋จ์ด ์ฌ์ด์ ์๋ฏธ๋ ์บ์นํ๊ธฐ ์ด๋ ต์ต๋๋ค.
์ํ์ ๊ฒฝ๋ง (RNN)๊ณผ ๋น๊ตํ Self-Attention
์ํ์ ๊ฒฝ๋ง (RNN)์ Sequence(์ํ์ค)์ ๋ณด๋ฅผ ์์ถํ๋๋ฐ ๊ฐ์ ์ด ์๋ ๊ตฌ์กฐ์ ๋๋ค.
- ์๋ฅผ ๋ค์ด์ Source ์ธ์ด Sequence์ธ '์ด์ , ์นดํ, ๊ฐ์์ด, ๊ฑฐ๊ธฐ, ์ฌ๋, ๋ง๋๋ผ' ๋ฅผ Encodingํด์ผ ํ๋ค๋ฉด ๊ฐ์ ํด๋ฉด?
- RNN์ ์์๋๋ก Source Sequence๋ฅผ ์ฐจ๋ก๋๋ก ์ฒ๋ฆฌํฉ๋๋ค.
- ๊ทธ๋ฌ๋ RNN์ Sequence์ ๊ธธ์ด๊ฐ ๊ธธ์ด์ง์๋ก ์ ๋ณด๋ฅผ ์์ถํ๋๋ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
- ์ด์ ๋ RNN์ ํน์ฑ๋๋ฌธ์ ๋๋ค. RNN์ ์ ๋ ฅ ์ ๋ณด๋ฅผ ์ฐจ๋ก๋๋ก ์ฒ๋ฆฌํ๊ณ ์ค๋์ ์ ์ฝ์๋ ๋จ์ด๋ ์์ด๋ฒ๋ฆฌ๋ ๊ฒฝํฅ์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ์ ๋ฆฌํ๋ฉด, RNN์ ์ค๋์ ์ ์ ๋ ฅ๋ ๋จ์ด๋ ์์ด๋ฒ๋ฆฌ๊ฑฐ๋, ํน์ ๋จ์ด ์ ๋ณด๋ฅผ ๊ณผ๋ํ๊ฒ ๋ฐ์ํด ์ ์ฒด ์ ๋ณด๋ฅผ ์๊ณกํ๋ ๊ฒฝ์ฐ๊ฐ ์์ฃผ ์๊น๋๋ค.
Encoder์์ ์ํํ๋ Self-Attention
- Encoder Block์ ์ ๋ ฅ์ ์ด์ ๋ธ๋ก์ ๋จ์ด Vector Sequence, ์ถ๋ ฅ์ ์ด๋ฒ ๋ธ๋ก ์ํ ๊ฒฐ๊ณผ๋ก ๋์ถ๋ ๋จ์ด Vector Sequence ์ ๋๋ค.
- ์๋ฅผ ๋ค์ด์ ์ฟผ๋ฆฌ๊ฐ '์ด์ ' ์ธ๊ฒฝ์ฐ, '์นดํ' ์ธ๊ฒฝ์ฐ์ Softmax ํ๋ฅ ๊ฐ ๋ค์ ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ด์์ต๋๋ค.
Decoder์์ ์ํํ๋ Self-Attention
- Decoder์์์ Self-Attention์ ๋ฐํ์ฌ ์์๋ณด๊ธฐ ์ ์ Mask Multi-Head Attention์ ๋ฐํ์ฌ ์์๋ณด๊ฒ ์ต๋๋ค.
- Mask Multi-Head Attention์ Transformer ๋ชจ๋ธ์ Decoder ๋ถ๋ถ์์ ์ฌ์ฉ๋๋ฉฐ, Sequence๋ฅผ ์์ฑํ ๋, ๊ฐ ์์ ์์๋ง ๊ณผ๊ฑฐ์ ์ ๋ณด๋ฅผ ๋ณผ ์ ์๋๋ก ํฉ๋๋ค.
- ์ด๋ ๋ฏธ๋์ ์ ๋ณด๋ฅผ ์ฐธ์กฐ ํ์ง ์๋๋ก ํฉ๋๋ค. ํ๋ฒ ์๋ฅผ ๋ค์ด์ ์ค๋ช ํด ๋ณด๊ฒ ์ต๋๋ค.
- ์์ ์ผ์ชฝ ๊ทธ๋ฆผ์ Target ์ธ์ด์ ๋จ์ด Vector Sequence๋ฅผ ๊ณ์ฐํ ๋์์ ๋๋ค.
- ๊ทผ๋ฐ ์ฌ๊ธฐ์๋ Input Sequence๊ฐ ์์ด๋ก ๋ด๋์์๋ฟ, Decoder์ชฝ Self-Attention๊ณผ ํฌ๊ฒ ๋ค๋ฅธ์ ์ ์์ต๋๋ค.
- ์์ ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ Query(์ฟผ๋ฆฌ)๊ฐ cafe์ธ ๊ฒฝ์ฐ Mask Multi-Head Attention์ ๋ํ๋ธ๊ฒ์
๋๋ค.
- ๊ทธ๋ฆผ์ ๋ณด๋ฉด ์ฌ๊ธฐ์์ Multi-Head Attention์ Encoder, Decoder ์ ๋ณด๋ฅผ ๋ชจ๋ ํ์ฉํฉ๋๋ค.
- Encoder์์์ ๋์ด์จ ์ ๋ณด๋ Source ์ธ์ด์ ๋ฌธ์ฅ("์ด์ ์นดํ ๊ฐ์์ด ๊ฑฐ๊ธฐ ์ฌ๋ ๋ง๋๋ผ")์ ๋จ์ด Vector Sequence ์ ๋๋ค.
- Decoder์ ์ ๋ณด๋ Target ์ธ์ด์ ๋ฌธ์ฅ ("<s> I went to the cafe yesterday There ...")์ ๋จ์ด Vector Sequence ์ ๋๋ค.
- ์ฌ๊ธฐ์ ์ ์๋ฅผ Key(Encoder ์ ๋ณด), ํ์๋ฅผ Query(Decoder ์ ๋ณด)๋ก ์ผ์์ Self-Attention ๊ณ์ฐ์ ์ํํฉ๋๋ค.
- ์์ ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ ์ฟผ๋ฆฌ ๋จ์ด๊ฐ cafe์ธ Multi-Head Attention ๊ณ์ฐ์ ๋ํ๋ธ ๊ฒ์
๋๋ค.
- ๋ง์ฝ ํ์ต์ด ์ ๋์๋ค๋ฉด, ์ฟผ๋ฆฌ(ํ๊น ์ธ์ด ๋ฌธ์ฅ), ํค(์์ค ์ธ์ด ๋ฌธ์ฅ)๋ก๋ถํฐ ๊ณ์ฐํ ์ํํธ๋งฅ์ค ํ๋ฅ ๊ฐ์ด๋ฐ, ์ฟผ๋ฆฌ์ ๋์ํ๋ ํด๋น ์ฅ์๋ฅผ ์ง์นญํ๋ ๋จ์ด๊ฐ ๋์ ๊ฐ์ ์ง๋๊ฒ์ ๋๋ค.
- Softmax ํ๋ฅ ๊ฐ๋ค๊ณผ Value ๋ฒกํฐ๋ฅผ ๊ฐ์คํฉํด์ ์ ํ ์ดํ ์ ๊ณ์ฐ์ ๋ง์นฉ๋๋ค.
์ฌ๊ธฐ์ ๋ณด๋ฉด ํ์ต(Training)๊ณผ์ ์์ ์ฝ๊ฐ์ Trick์ ์ผ์ต๋๋ค.
๋ค์๊ธ์์ ์์ธํ ํธ๋์คํฌ๋จธ ๋ชจ๋ธ์ ๋ฐํ์ฌ ๊ธ์ ์ฐ๊ฒ ์ง๋ง,
ํธ๋์คํฌ๋จธ ๋ชจ๋ธ์ ์ต์ข ์ถ๋ ฅ์ ํ๊ฒ ์ํ์ค ๊ฐ๊ฐ์ ๋ํ ํ๋ฅ ๋ถํฌ, ๋ฌธ์ฅ์ ๋ค์ ๋จ์ด๊ฐ ์ด๋ค ๊ฒ์ด ์ ์ ํ ์ง์ ๊ดํ ํ๋ฅ ์ ๋ํ๋ ๋๋ค.
- ์ธ์ฝ๋์ ์ด์ ์นดํ ๊ฐ์์ด ๊ฑฐ๊ธฐ ์ฌ๋ ๋ง๋๋ผ๊ฐ, ๋์ฝ๋์ <s>๊ฐ ์ ๋ ฅ๋ ์ํฉ์ด๋ฉด, ํธ๋์คํฌ๋จธ ๋ชจ๋ธ์ ๋ค์ ์์ด ๋จ์ด I๋ฅผ ๋ง์ถ๋๋ก ํ์ตํฉ๋๋ค. → ๊ทผ๋ฐ ๋ชจ๋ธ์ด ๋ง์ถฐ์ผ ํ๋ ์ ๋ต์ธ I๋ฅผ ์๋ ค์ฃผ๋ฉด ํ์ต ํ๋ ์๋ฏธ๊ฐ ์์ต๋๋ค.
- ๊ทธ๋์, ์ ๋ต์ ํฌํจํ ๋ฏธ๋ ์ ๋ณด๋ฅผ ์ ํ ์ดํ ์ ๊ณ์ฐ์์ ์ ์ธํฉ๋๋ค. → ๊ทธ๋์ ๋์ฝ๋ ๋ธ๋ก์ ์ฒซ๋ฒ์งธ Attention์ ๋ง์คํฌ ๋ฉํฐ-ํค๋ ์ดํ ์ (Masked Multi-Head Attention)์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
- Masking์ ํ๋ฅ ์ด 0์ด ๋๋๋ก ํ์ฌ, ๋ฐธ๋ฅ์์ ๊ฐ์คํฉ์์ ํด๋น ๋จ์ด ์ ๋ณด๋ค์ด ๋ฌด์๋๊ฒ๋ ํ๋ ๋ฐฉ์์ผ๋ก ์ํ๋ฉ๋๋ค.
- ๋์ฝ๋ ๋ง์ง๋ง ๋ธ๋ก์ I ๋ฒกํฐ์๋ ์์ค ๋ฌธ์ฅ(์ด์ … ๊ฐ๋๋ผ)๊ณผ <s> I ์ฌ์ด์ ๋ฌธ๋งฅ์ ๊ด๊ณ์ฑ์ด ๋ น์ ์์ต๋๋ค.
- ํธ๋์คํฌ๋จธ ๋ชจ๋ธ์ ์ด I ๋ฒกํฐ๋ฅผ ๊ฐ์ง๊ณ went๋ฅผ ๋งํ๋๋ก ํ์ต๋ฉ๋๋ค. → ์ ๋ต went์ ๊ดํ ํ๋ฅ ์ ๋์ด๊ณ ๋ค๋ฅธ ๋จ์ด๋ค์ ํ๋ฅ ์ ๋ฎ์์ง๋๋ก ํฉ๋๋ค.
- ์๋ ๊ทธ๋ฆผ์ ๋ณด๋ฉด, Encoder์ ์ด์ ์นดํ ๊ฐ์์ด ๊ฑฐ๊ธฐ ์ฌ๋ ๋ง๋๋ผ๊ฐ, ๋์ฝ๋์ <s> I went๊ฐ ์ ๋ ฅ๋ ์ํฉ์ ๋๋ค.
- ๋ฐ๋ผ์ ์ด๋์ Masked Multi-Head Attention ์ ์ ๋ต ๋จ์ด to ์ดํ์ ๋ชจ๋ ํ๊น ์ธ์ด ๋จ์ด๋ค์ ๋ชจ๋ธ์ด ๋ณด์ง ๋ชปํ๋๋ก ํ๋ ๋ฐฉ์์ผ๋ก ์ํํฉ๋๋ค.
- ๋์ฝ๋ ๋ง์ง๋ง ๋ธ๋ก์ went ๋ฒกํฐ์๋ ์์ค ๋ฌธ์ฅ๊ณผ <s> I went ์ฌ์ด์ ๋ฌธ๋งฅ์ ๊ด๊ณ์ฑ์ด ๋ น์์์ต๋๋ค.
- ํธ๋์คํฌ๋จธ ๋ชจ๋ธ์ ์ด went์ ํด๋นํ๋ ๋ฒกํฐ๋ฅผ ๊ฐ์ง๊ณ to๋ฅผ ๋ง์ถ๋๋ก ํ์ต → ๋ค์ ๋งํด ์ ๋ต to์ ๊ดํ ํ๋ฅ ์ ๋์ด๊ณ ๋ค๋ฅธ ๋จ์ด๋ค์ ํ๋ฅ ์ ๋ฎ์์ง๋๋ก ํฉ๋๋ค.
ํ์ต์ด ๋ง์น ๋ชจ๋ธ์ด ์ํํ๋ ๊ณผ์
- ์์ค ์ธ์ด(ํ๊ตญ์ด) ๋ฌธ์ฅ์ ์ธ์ฝ๋์ ์ ๋ ฅํด ์ธ์ฝ๋ ๋ง์ง๋ง ๋ธ๋ก์ ๋จ์ด ๋ฒกํฐ ์ํ์ค๋ฅผ ์ถ์ถํฉ๋๋ค.
- ์ธ์ฝ๋์์ ๋์ด์จ ์์ค ์ธ์ด ๋ฌธ์ฅ ์ ๋ณด์ ๋์ฝ๋์ ํ๊น ๋ฌธ์ฅ ์์์ ์๋ฆฌ๋ ์คํ์ ํ ํฐ <s>๋ฅผ ๋ฃ์ด์, ํ๊น ์ธ์ด(์์ด)์ ์ฒซ ๋ฒ์งธ ํ ํฐ์ ์์ฑํฉ๋๋ค.
- ์ธ์ฝ๋ ์ชฝ์์ ๋์ด์จ ์์ค ์ธ์ด ๋ฌธ์ฅ ์ ๋ณด์ ์ด์ ์ ์์ฑ๋ ํ๊น ์ธ์ด ํ ํฐ ์ํ์ค๋ฅผ ๋์ฝ๋์ ๋ฃ์ด์ ๋ง๋ ์ ๋ณด๋ก ํ๊น ์ธ์ด์ ๋ค์ ํ ํฐ์ ์์ฑํฉ๋๋ค.
- ์์ฑ๋ ๋ฌธ์ฅ ๊ธธ์ด๊ฐ ์ถฉ๋ถํ๊ฑฐ๋ ๋ฌธ์ฅ ๋์ ์๋ฆฌ๋ ์คํ์ ํ ํฐ </s>๊ฐ ๋์ฌ ๋๊น์ง 3์ ๋ฐ๋ณตํฉ๋๋ค.
- ํํธ </s>๋ ๋ณดํต ํ๊น ์ธ์ด ๋ฌธ์ฅ ๋งจ ๋ง์ง๋ง์ ๋ถ์ฌ์ ํ์ต. ์ด ํ ํฐ์ด ๋ํ๋ฌ๋ค๋ ๊ฒ์ ๋ชจ๋ธ์ด ํ๊น ๋ฌธ์ฅ ์์ฑ์ ๋ง์ณค๋ค๋ ์๋ฏธ์ ๋๋ค.
๋ค์๊ธ์ Transformer ๋ชจ๋ธ์ ๊ดํ ๊ธ์ ๋ค๊ณ ์ค๊ฒ ์ต๋๋ค^^
๋ฐ์ํ
'๐ NLP (์์ฐ์ด์ฒ๋ฆฌ) > ๐ Natural Language Processing' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[NLP] Thesaurus(์์๋ฌ์ค), Co-occurence Matrix(๋์๋ฐ์ ํ๋ ฌ) (0) | 2024.05.18 |
---|---|
[NLP] Transformer Model - ํธ๋์คํฌ๋จธ ๋ชจ๋ธ ์์๋ณด๊ธฐ (0) | 2024.03.07 |
[NLP] Attention - ์ดํ ์ (0) | 2024.02.17 |
[NLP] Word Embedding - ์๋ ์๋ฒ ๋ฉ (0) | 2024.02.12 |
[NLP] Word2Vec, CBOW, Skip-Gram - ๊ฐ๋ & Model (0) | 2024.02.03 |