๐ก ์ฃผ์ : Seq2Seq , Attention, ๊ธฐ๊ณ๋ฒ์ญ
๐ ํต์ฌ
- Task : machine translation ๊ธฐ๊ณ๋ฒ์ญ
- Seq2Seq
- Attention
๊ธฐ๊ณ๋ฒ์ญ์ ๋ํ์ ์ธ Seq2Seq ํํ์ ํ์ฉ ์์ ์ค ํ๋์ด๊ณ , attention ์ด๋ผ๋ ๋ฐฉ๋ฒ๋ก ์ ํตํด ์ฑ๋ฅ์ด ๊ฐ์ ๋์๋ค.
1๏ธโฃ Machine Translation
1. ๊ธฐ๊ณ๋ฒ์ญ
โ ์ ์
- ์ ๋ ฅ์ผ๋ก ๋ค์ด์จ Source language ๋ฅผ target language ํํ๋ก ๋ฒ์ญํ๋ Task
โ ์ญ์ฌ
โฐ 1950's : The early history of MT
- ๋ฌ์์์ด๋ฅผ ์์ด๋ก ๋ฒ์ญํ๋ ๋ฑ์ ๊ตฐ์ฌ ๋ชฉ์ ์ผ๋ก ๊ฐ๋ฐ๋๊ธฐ ์์ํ์๋ค.
- Rule-based ์ ๋ฒ์ญ ์์คํ ์ผ๋ก ๊ฐ์ ๋ป์ ๋จ์ด๋ฅผ ๋์ฒดํ๋ ๋จ์ํ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
โฐ 1990s - 2010s : Statistical Machine Translation SMT
- ํต์ฌ ์์ด๋์ด : parallel ๋ฐ์ดํฐ๋ก๋ถํฐ ํ๋ฅ ๋ชจ๋ธ์ ํ์ต์ํจ๋ค ๐ ์๋ก๋ค๋ฅธ ๋ ์ธ์ด์ parallel ๋ฐ์ดํฐ๋ก๋ถํฐ ํ๋ฅ ๋ชจ๋ธ์ ๊ตฌ์ถ
- ์ ๋ ฅ๋ฌธ์ฅ x ์ ๋ํด ์กฐ๊ฑด๋ถ ํ๋ฅ ์ ์ต๋ํ ํ๋ ๋ฒ์ญ๋ฌธ์ฅ y๋ฅผ ์ฐพ๊ธฐ
- By Bayes rule ๐จ Translation model + Language model
0. Parallel data
- ๋ฒ์ญํ ๋ฌธ์ฅ๊ณผ ์ด์ ๋์๋๋ ๋ฒ์ญ๋ ๋ฌธ์ฅ ํํ์ data pair : ๋ฒ์ญ์ด ๋ ๋ฌธ์ฅ์
- ๊ฐ๋ น ์ธ๊ฐ์ด ๋ฒ์ญํ ํ๋์ค์ด์ ์์ด ๋ฌธ์ฅ์ pair ์์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ๋ฅผ ์๋ฏธํ๋ค.
1. Translation model
- ๊ฐ ๋จ์ด์ ๊ตฌ๊ฐ ์ด๋ป๊ฒ ๋ฒ์ญ๋์ด์ผ ํ ์ง๋ฅผ ์๋ก ๋ค๋ฅธ ๋ ์ธ์ด๋ก ๊ตฌ์ฑ๋ parallel data ๋ก๋ถํฐ ํ์ตํ๋ค.
- Fidelity ๋ฒ์ญ ์ ํ๋
2. Language model
- ์ด๋ป๊ฒ ํ๋ฉด ์ข์ ๋ฒ์ญ๋ฌธ์ฅ์ ์์ฑํ ์ง ๋ชจ๋ธ๋งํ๋ค.
- ๊ฐ์ฅ ๊ทธ๋ด๋ฏํ target ๋ฌธ์ฅ์ ์์ฑํ๋๋ก ๋จ์ผ ์ธ์ด ๋ฐ์ดํฐ๋ก๋ถํฐ ํ์ต๋๋ค.
- fluency ์ข์ ๋ฌธ์ฅ ์์ฑ
- Ex. RNN, LSTM, GRU
โฐ 2014s~ : Neural Machine Translation NMT
- Single end-to-end neural network model ์ธ๊ณต์ ๊ฒฝ๋ง
- 2๊ฐ์ RNN ์ผ๋ก ๊ตฌ์ฑ๋ sequence to sequence model ๐ Encoder - Decoder
- ์ญ์ ํ๋ฅผ ํ์ฉํ์๊ธฐ์ feature engineering ๋จ๊ณ๊ฐ ์๊ณ ๋ชจ๋ source-target pair ์ ๋ํด ๋์ผํ ๋ฐฉ๋ฒ์ ์ ์ฉํ์ฌ ํ์ต์ด ๊ฐ๋ฅํ๋ค.
- SMT ๋ณด๋ค ์ฑ๋ฅ์ด ๋ฐ์ด๋๊ธฐ ๋๋ฌธ์ ํ์ฌ๋ ๋๋ถ๋ถ NMT ๊ธฐ๋ฐ์ ๋ฒ์ญ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ค.
- ๋ค๋ง ์ฌ๋ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ฒ๋ผ ํด์๋ ฅ์ด ๋ถ์กฑํ๊ณ , Rule ์ด๋ guideline ์ ์ ์ฉํ๊ธฐ ์ฝ์ง ์๋ค๋ ๋ฌธ์ ์ ์ด ์กด์ฌํ๋ค.
โ SMT ๊ฐ์
์ฃผ์ด์ง ๋ฐฉ๋ํ Parallel data ๋ก๋ถํฐ ํ๋ฅ ๋ชจ๋ธ์ ๊ตฌ์ถํ๋ค.
- By Bayes rule ๐จ Translation model + Language model
๐ค Translation model ์ ์ด๋ป๊ฒ ํ๋ จ์ํฌ๊น?
Source-target ๋ฌธ์ฅ ๊ฐ์ correspondence ๋ฅผ ๋งคํํ๋ alignment ๋ฅผ ์ฌ์ฉํ๋ค.
- alignment : source~target ๋ฌธ์ฅ์์ ์ผ์นํ๋ ๋จ์ด ๋๋ ๊ตฌ๋ฅผ ์ฐพ์์ ์ง์ ์ง์ด์ฃผ๋ ์์
- source ์ target ๋ฌธ์ฅ์ ๋จ์ด ๋จ์๋ก ๋งคํ์ํฌ ๋ ์ธ์ด๋ณ ์ด์์ ์ฐจ์ด๋ฅผ ๋ฐ์ํ๊ธฐ ์ํด ๋งคํ๋ ๋จ์ด์ ๋ฐฐ์ด์ ๋ณด๋ฅผ ๋ด๋ alignment ๋ผ๋ ์ ๋ณด๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ค.
- ๋ณดํต alignment ๊ฐ ์์ ๊ทธ๋ฆผ์ฒ๋ผ 1:1๋ก ๋ช ํํ ์ ์ํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. alignment ๋ฅผ ํ์ตํ๋ ๋ฐฉ๋ฒ์ด ๋ณต์กํด์ง๊ณ ์ฌ๋ฌ ํ์ต ์๊ณ ๋ฆฌ์ฆ๋ค์ด ์ฐ๊ตฌ๋์ด ์๋ค. ๐ EM ์๊ณ ๋ฆฌ์ฆ ๊ฐ์ ํ์ต ๋ฐฉ๋ฒ์ด ์ฌ์ฉ๋๋ค.
Alignmnet is Complex ๐ ๊ธฐ๊ณ๋ฒ์ญ์ ์ํํ๋ SMT ๋ชจ๋ธ ์ฑ๋ฅ์ ์ ํ์ํค๋ ์์ธ์ด ๋จ
* ์ผ์ชฝ์ด source, ์ค๋ฅธ์ชฝ์ด target
1. No counterpart
2. Many to one
3. One to many
source ์ ํน์ ํ ํ๋์ ๋จ์ด๊ฐ ๋งค์ฐ ๋ง์ ๋ป์ ํฌํจํ์ฌ ์๋นํ ๋ง์ ๋ฒ์ญ ๋จ์ด์ ๋์๋๋ ๊ฒฝ์ฐ → Very fertile
4. Many to many _ phrase level
many-to-many ํํ์ alignment ๋ก ํ์ต์ด ์ด๋ฃจ์ด์ ธ์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ณต์กํจ
๐จ Translation model ์ ๋จ์ด์ ์์น, ๋ฒ์ญ ๋จ์ด ๋์ ๊ฐ์ ๋ฑ์ ๊ณ ๋ คํ ๋ค์ํ ํํ์ ์กฐํฉ์ ํ์ตํด์ผํจ
- Probability of particular words aligning also depends on position in sent
- Probability of particular words having particular fertility (number of corresponding words)
โ Decoding for SMT
Decoding ๐ ํ์ตํ translation model ๊ณผ language model ์ ํตํด ์ต์ ์ ๋ฒ์ญ ๋ฌธ์ฅ์ ์์ฑํ๋ ๊ณผ์
- ๊ฐ๋ฅํ ๋ชจ๋ ๋ฒ์ญ๋ฌธ y ์ ํ๋ฅ ์ ๋น๊ตํ๋ ๊ฒ์ ๋๋ฌด ๋ง์ ๊ณ์ฐ๋์ ํ์๋ก ํ๋ค.
- Answer : ์ฌ๋ฌ factor ๋ก ๋ถ๋ฆฌํ๊ณ ๊ฐ๊ฐ์ ์ต์ ํด ์กฐํฉ์ผ๋ก global optimal (๊ฐ์ฅ ์ ์ ํ ๋ฒ์ญ๋ฌธ) ์ ์ฐพ๋ Dynamic programming ๋ฐฉ์์ผ๋ก decoding ํ๋ค ๐ Heuristic search algorithm
Decoding ๊ณผ์
โ SMT ์ ๋จ์
- Extremely complex : alignment ๊ฐ์ ๋ง์ ํ์ ์์คํ (subcomponents) ์ผ๋ก ์ ์ฒด ์์คํ ์ ์ค๊ณํ๊ธฐ ๋๋ฌธ์ ๊ณผ์ ์ด ๋ณต์กํ๋ค.
- ์ฑ๋ฅํฅ์์ ์ํด ํน์ ํ ์ธ์ด ํ์์ ํฌ์ฐฉํด์ผํ๋ฏ๋ก Feature enginnering ์ด ํ์ํ๋ค.
- ์ฑ๋ฅ์ ์ํด ๋์ผํ ์๋ฏธ๋ฅผ ๊ฐ์ง ๋ฌธ์ฅ์ด๊ตฌ๋ฅผ ํ๋ณดํ๋ ๋ฑ์ ์ถ๊ฐ์ ์ธ resource ๊ฐ ํ์ํ๋ค.
- ๋ชจ๋ธ์ ๊ฐ๋ฐ ๋ฐ ์ ์ง๋ฅผ ์ํด ์ฌ๋์ ๋ ธ๋ ฅ์ด ๋ง์ด ํ์ํ๋ค : paried dataset ๊ตฌ์ถ, subcomponent ์ ํ์ต ๋ฑ
2๏ธโฃ Sequence to Sequence
1. neural Machine Translation
โ Sequence to Sequence ๊ฐ์
- 2๊ฐ์ RNN ์ผ๋ก ๊ตฌ์ฑ๋ ๋ชจ๋ธ
Encoder ๐จ source sentence encoding
- source ๋ฌธ์ฅ์ context ์ ๋ณด๋ฅผ ์์ฝํ๋ค.
- context ์์ฝ ์ ๋ณด์ธ last hidden state ๋ฅผ decoder ๋ก ์ ๋ฌํ์ฌ initial hidden state ๋ก ์ฌ์ฉํ๋ค.
Decoder ๐จ generates target sentence
- encoding ์ condition ์ผ๋ก target sentence ๋ฅผ ์์ฑํ๋ conditional language model
- target sentence ํน์ ๋จ์ด๊ฐ ์ฃผ์ด์ก์ ๋, ๊ทธ ๋ค์์ ์ฌ ๋จ์ด๋ฅผ ์์ธกํ๊ธฐ ๋๋ฌธ์ language model ์ด๋ผ ์นญํ ์ ์๋ค.
- source sentence ์ context ์์ฝ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก target sentence ๋ฅผ ์์ฑํ๋ค.
๐จ Train : target sentence ์ ๊ฐ timestep ๋ณ ๋จ์ด๊ฐ ๋ค์ timestep ์ ๋จ์ด๋ฅผ ์์ธกํ๊ธฐ ์ํ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉ๋๋ค.
๐จ Test : target ๋ฌธ์ฅ์ด ์ฃผ์ด์ง์ง ์๋๋ค๊ณ ๊ฐ์ ํ๊ณ , Decoder RNN ์ timestep ๋ณ output ์ด ๋ค์ timestep ์ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉ๋๋ค.
โ Teach-Forcing : train ์ decoder ์์ ์ค์ ์ ๋ต ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ๋น์จ์ ์ค์ ํ๋ ํ์ดํผ ํ๋ผ๋ฏธํฐ
- ์ด๊ธฐ์ ์๋ชป ์์ฑํ ๋จ์ด๋ก ์ธํด ๊ณ์ํ์ฌ ์๋ชป๋ ๋ฌธ์ฅ์ด ์์ฑ๋์ด ํ์ต์ด ์ ์๋๋ ๊ฒ์ ๋ฐฉ์ง
- ๊ณผ์ ํฉ ๋์ง ์๋๋ก ์ ์ ํ ์ค์ ํด์ฃผ์ด์ผ ํจ
โ Sequence to Sequence ํ์ฉ
- ์ฌ๋ฌ text task ํ๋ จ ๋ชจ๋ธ๋ก ํ์ฉ๋๋ค.
1. Machine Translation ๋ฒ์ญ
2. Dialogue ๋ค์ ๋ํ ๋ด์ฉ์ ์์ธก
3. Parsing ๋ฌธ์ฅ ๊ตฌ๋ฌธ ๋ถ์
4. time series ์๊ณ์ด
5. Text summarization ํ ์คํธ ์์ฝ
6. voice generation
7. Code generation
โ NMT ์ train
- SMT ๋ ๋ฒ ์ด์ฆ๋ฃฐ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ 2๊ฐ๋ก ๋ถ๋ฆฌํด ํ๋ จํ ๋ฐ๋ฉด, NMT ๋ conditional probaility ๋ฅผ ์ง์ ๊ณ์ฐํ๋ค.
- How ? ๐ big parallel corpus + End-to-End training
- ์ญ์ ํ๋ฅผ ์ฌ์ฉํ๋ NN ์ loss min ๋ฌธ์ ๋ก ์ ์ํจ ๐ negative log likelihood ๋ฅผ ๊ณ์ฐํ์ฌ loss ๋ก ์ฌ์ฉ
2. Seq2Seq
โ Multi-layer RNNs
- Time step ์ ์งํ๊ณผ ํํํ๊ฒ layer ๋ฅผ ์ถ๊ฐํ์ฌ ์ข ๋ ๋์ ๋ ๋ฒจ์ feature ๋ฅผ ํ์ตํ ์ ์๊ฒ ํจ
- ์ข์ ์ฑ๋ฅ์ ๋ด๋ RNN ๋ชจ๋ธ์ ๋๋ถ๋ถ Multi-layer RNN ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ค. ๊ทธ๋ฌ๋ ์ผ๋ฐ์ ์ธ NN ์ด๋ CNN ์ฒ๋ผ ๋งค์ฐ ๊น์ ๊ตฌ์กฐ๋ ์ฌ์ฉ๋์ง ์๋๋ค.
- Encoder 2~4๊ฐ, Decoder 4๊ฐ layer ๐จ ๊ฐ์ฅ ์ข์ ์ฑ๋ฅ์ ๋ณด์๋ค๊ณ ํจ
- ์ดํ Transformer base model ๋ฑ์ฅ ์ดํ 12 or 24๊ฐ layer ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ์๊น (BERT)
โ NMT Decoding method
1) Greedy decoding
- ๋งค step ๋ง๋ค ๊ฐ์ฅ ํ๋ฅ ์ด ๋์ ๋ค์ ๋จ์ด๋ฅผ ์ ํํ๋ ๋ฐฉ๋ฒ ๐จ argmax word
- ์ต์ ์ ํด๋ฅผ ๋ณด์ฅํ์ง ์๊ธฐ ๋๋ฌธ์, ์ด๋ฏธ ์ ํํ ๋จ์ด๋ฅผ ์ดํ ๋จ์ด์์ ์กฐํฉ์ ์ฌ์ฉํ์ฌ ๋ฒ๋ณตํ ์ ์์ด, ๋ถ์์ฐ์ค๋ฌ์ด ๋ฌธ์ฅ์ด ์์ฑ๋ ์ ์๋ค.
- Exhaustive ๋ฐฉ๋ฒ๋ณด๋ค ํจ์จ์ ์ผ๋ก ๋์
2) Exhaustice search decoding
- ์์ฑ๋ ์ ์๋ ๋ชจ๋ target ๋ฌธ์ฅ์ ๋น๊ตํ์ฌ ํ๋ฅ ์ด ๊ฐ์ฅ ๋์ ๋ฌธ์ฅ์ ์ ํํ๋ ๋ฐฉ๋ฒ
- O(V) ๊ณ์ฐ ๋ณต์ก๋๊ฐ ๋๋ฌด ํฌ๋ค๋ ๋จ์
3) Beam Search decoding
- ํต์ฌ ์์ด๋์ด : K ๊ฐ์ best translation ์ ์ ์งํ๋ฉฐ decoding ํ๋ ๋ฐฉ์
- ๋ณดํต k (beam size) ๋ 5~10 ์ฌ์ด์ ์ซ์๋ก ์ค์ ํ๋ค.
- k*k ๊ฐ์ ํ๋ณด๊ตฐ์ ๋น๊ตํ๊ณ k ๊ฐ์ best hypotheses ๋ฅผ ์ ํํ๋ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
- ์ต์ ํด๋ฅผ ๋ณด์ฅํ์ง ์์ผ๋, ๋ ๋ค์ํ ๋ฒ์ญ๋ฌธ์ด ๋ฑ์ฅํ ์ ์๊ธฐ ๋๋ฌธ์ greedy search ๊ฐ ๋์น ์ ์๋ ๋ ๋์ ํ๋ณด๊ตฐ์ ์ ์งํ ์ ์๋ค.
- EOS ํ ํฐ์ ๋ฑ์ฅ์ด๋ ์ฌ์ ์ ์ ์๋ max timestep T, ๋๋ n ๊ฐ์ ์์ฑ๋ ๋ฌธ์ฅ์ ์ข ๋ฃ์กฐ๊ฑด์ผ๋ก ํ๋ค. ์ด๋ฅผ ํตํด ๋์ฝ๋ฉ ๊ณผ์ ์ด ๋๋ฌด ๊ธธ์ด์ง๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์๋ค.
- log likelihood ๊ฐ์ด ํฐ ๋ ๊ฐ์ ํ๋ณด๋ฅผ ๊ณ์ํด์ ์ ํํ๋ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉฐ, EOS ํ ํฐ์ด ์์ฑ๋๋ ๋ฌธ์ฅ ์ข ๋ฃ์๊น์ง ๋ฐ๋ณตํ๋ค.
- NLL loss ํฉ์ ์์ฑ๋ ๋ฌธ์ฅ ๊ธธ์ด๋ก ๋๋ ์ normalize ํจ ๐log likelihood ํฉ์ผ๋ก ์์ฑ๋ ๋จ์ด ์กฐํฉ์ ๋น๊ตํ ๋ ๋ ๊ธด ๋ฌธ์ฅ์์ log likelihood ํฉ์ด ์์์ ธ ์งง์ ๋ฌธ์ฅ์ ์ฐ์ ์ ์ผ๋ก ์ ํํ๋ ๊ฒ์ ๋ง๊ธฐ ์ํด ๋ฌธ์ฅ ๊ธธ์ด๋ก likelihood ๋ฅผ ๋๋๋ normalize ๊ณผ์ ์ด ์ถ๊ฐ๋ก ์ฌ์ฉ๋๋ค.
3. NMT ์ฅ๋จ์
๐ ์ฅ์
- Better Performance : more fluent, better use of context, better use of phrase similarities
- Single NN to be optimized end to end : subcomponent ๊ฐ ํ์ ์๋ค.
- less human engineering effort
๐ ๋จ์
- difficult to control : rule, guideline ์ ์ฉ์ด ์ด๋ ค์
- less interpretable → hard to debug
4. BLEU Bilingual Evaluation Understudy
๊ธฐ๊ณ๋ฒ์ญ ์ฑ๋ฅ ํ๊ฐ ์งํ ๐ N-gram precision ๋ฐฉ์์ ์ฌ์ฉ
- ๊ธฐ๊ณ๋ฒ์ญ๋ ๋ฌธ์ฅ๊ณผ ์ฌ๋์ด ๋ฒ์ญํ ๋ฌธ์ฅ์ ์ ์ฌ๋๋ฅผ ๊ณ์ฐํ์ฌ, ๋์ฝ๋ฉ ๊ณผ์ ์ดํ ์์ฑ๋ ๋ฌธ์ฅ์ ์ฑ๋ฅ์ ํ๊ฐํ๋ค.
- N-gram precision ๊ธฐ๋ฐ์ similarity score + penalty for too short translation
- ๊ทธ๋ฌ๋ ์ ์ฑ์ ์ผ๋ก ๋ ์ข์ ๋ฌธ์ฅ์์๋ score ๊ฐ ๋ฎ๊ฒ ๋์ฌ์ ์๋ ๋ถ์์ ํ ์งํ์ด๋ค.
5. NMT ํ๊ณ์
- ๊ด์ฉํํ ํด์ ์ค๋ฅ
- Bias ํ์ต : source ์ธ์ด์์ ์ฑ๋ณ์ ๋ํ ์ธ๊ธ์ด ์์์์๋ ๋ฒ์ญ๋ฌธ์์ ์ง์ ์ ๋ํ ์ฑ๋ณ bias ๋ฅผ ๊ฐ์ง๊ณ ์์
- Uninterpretable : ํด์ํ ์ ์๋ ํํ์ ๋ํด ๋ฒ์ญ ๋ชจ๋ธ์ ์์์ ๋ฌธ์ฅ์ ์์ฑํ๋ค ๐ ์ฌ๋๊ณผ ๋ฌ๋ฆฌ ๋ชจ๋ธ์์ ํ์ตํ์ง ์์ ์ ๋ ฅ์ ๋ํด ์ทจ์ฝํ๋ค.
- Out of vocabulary words
- Domain mismatch between train and test data
- Maintaining context over longer text
- Low-resource language pairs
3๏ธโฃ Attention
1. Bottleneck problem
โ source ๋ฌธ์ฅ์ ๋ง์ง๋ง encoding ๋ง์ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉ
- information bottleneck ์ ๋ณด์ ์์ค์ด ๋ฐ์ํ๋ค.
- ์ ์ ํ ๋ฒ์ญ๋ฌธ์ ์์ฑํ๋ ค๋ฉด ์ธ์ฝ๋ฉ์ด source ๋ฌธ์ฅ์ ํ์ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ด์ผ ํ๋๋ฐ ๋๋ถ๋ถ ๊ทธ๋ฌ๊ธฐ์ ์ถฉ๋ถํ์ง ์์
2. Attention
โ bottleneck problem ์ ํด๊ฒฐ์ฑ
- Decoder ์ ๊ฐ step ์์ source sentence ์ ํน์ ๋ถ๋ถ์ ์ง์คํ ์ ์๋๋ก Encoder ์ Connection ์ ์ถ๊ฐํ๋ค.
โ Attention ์ด decoding ์ ๋ฐ์๋๋ ์์
โ Encoder ์ step ๋ณ encoding ๊ณผ Decoder hidden state ์ dot product ๋ฅผ ํตํด similarity ๋ฅผ ๊ณ์ฐํ์ฌ attention score ๋ฅผ ๊ฒ์ฐํ๋ค.
โก softmax ๋ฅผ ํต๊ณผ์์ผ attention distribution (attention weight) ์ ๊ณ์ฐํ๋ค.
โข Attention distribution ์ ์ฌ์ฉํด encoder hidden state ๋ฅผ ๊ฐ์คํฉํ์ฌ attention output ์ ๊ณ์ฐํ๋ค.
โฃ Attention output ๊ณผ decoder hidden state ๋ฅผ concat ํ๊ณ ํด๋น step ์ word ๋ฅผ ์์ฑํ๋ค.
โค ๊ฐ step ๋ณ decoder hidden state ๋ง๋ค ์ ์ฉ
โ ์์์ผ๋ก ์ดํด๋ณด๊ธฐ
โ Attention is great
1. NMT ์ ์ฑ๋ฅ ํฅ์ ๐จdecoder ๊ฐ source sentence ์ ํน์ ์์ญ์ ์ง์คํ ์ ์๋๋ก ํจ
2. Source sentence ์ ๋ชจ๋ ์๋ฒ ๋ฉ์ ์ฐธ๊ณ ํ๋ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํด bottleneck problem ์ ํด๊ฒฐํจ
3. Shortcut ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ๋ฅผ ์ค์ + connection ์ ๋ฉ๋ฆฌ ๋จ์ด์ง hidden state ๊ฐ์ ์ง๋ฆ๊ธธ์ ์ ๊ณตํ์ฌ ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐ
4. Attention probability ๋ฅผ ํตํด ๊ฒฐ๊ณผ์ ๋ํ ํด์๋ ฅ์ ์ ๊ณตํจ
โ Attention ์ ๋ฅ๋ฌ๋ ๊ธฐ์ ์ ํด๋นํ๋ค.
๐ Example
- ์ฐจ๋ ๋ฆฌ๋ทฐ ๋ฐ์ดํฐ๋ฅผ ํตํด ๋ฌธ์ฅ์ ๊ธ๋ถ์ ์ ๋ถ๋ฅํ๋ ๊ฐ์ ๋ถ์์ ์ํํ๋ค.
- ๋ฌธ์ฅ๋จ์, ๋จ์ด ๋จ์๋ก attention layer ๋ฅผ ์ฌ์ฉํ๋ ๊ณ์ธต์ attention module ์ ๋ชจ๋ธ๋ก ์ฌ์ฉํ๋ค.
- ๋ถ์ ์ ์ผ๋ก ํ๊ฐํ ๊ฒฐ๊ณผ์ ๋ํด ์ด๋ค ๋ฌธ์ฅ๊ณผ ์ด๋ค ๋จ์ด์ ๋ํด attention score ๊ฐ ๋์๋์ง ํ์ธํด ๋ณผ ์ ์๋ค.
๐ Attention ์ ์ผ๋ฐ์ ์ธ ์ ์
'1๏ธโฃ AIโขDS > ๐ NLP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[cs224n] 10๊ฐ ๋ด์ฉ ์ ๋ฆฌ (0) | 2022.05.13 |
---|---|
[cs224n] 9๊ฐ ๋ด์ฉ ์ ๋ฆฌ (0) | 2022.05.09 |
[cs224n] 7๊ฐ ๋ด์ฉ ์ ๋ฆฌ (0) | 2022.04.21 |
[cs224n] 6๊ฐ ๋ด์ฉ ์ ๋ฆฌ (0) | 2022.03.24 |
[cs224n] 5๊ฐ ๋ด์ฉ ์ ๋ฆฌ (0) | 2022.03.22 |
๋๊ธ