์ธ์ฝ๋-๋์ฝ๋
- RNN์ ๋ค๋์ผ(many to one) ๊ตฌ์กฐ๋ ์ฃผ๋ก ๋ถ๋ฅ ๋ฌธ์ ์ ์ฌ์ฉ๋ฉ๋๋ค.(๋ฌธ์ฅ์ด ๋ค์ด์ค๋ฉด ๊ธ์ ์ธ์ง ๋ถ์ ์ธ ํ๋จํ๋ ๊ฐ์ฑ๋ถ์ ๋ฑ)
- ๋ค๋๋ค(many to many) ๊ตฌ์กฐ๋ ์ฃผ๋ก ๊ฐ์ฒด๋ช ์ธ์, ํ์ฌ ํ๊น ๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ํ๊ฒ๋ฉ๋๋ค.
- ์ธ์ฝ๋-๋์ฝ๋์ ๊ตฌ์กฐ๋ ํ๋์ RNN์ ์ธ์ฝ๋, ๋ ๋ค๋ฅธ ํ๋์ RNN์ ๋์ฝ๋๋ก ๋๋ ๊ตฌ์กฐ ๋๊ฐ์ RNN์ ์ฐ๊ฒฐํด์ ์ฌ์ฉํฉ๋๋ค.
- ์ธ์ฝ๋-๋์ฝ๋ ๊ตฌ์กฐ๋ ์ฃผ๋ก
์ ๋ ต ๋ฌธ์ฅ
๊ณผ์ถ๋ ฅ ๋ฌธ์ฅ
์๊ธธ์ด๊ฐ ๋ค๋ฅผ ๋
์ฌ์ฉํฉ๋๋ค. - ๋ํ์ ์ผ๋ก ๋ฒ์ญ๊ธฐ, ํ ์คํธ ์์ฝ ๋ฑ์ด ์์ต๋๋ค.
seq2seq(Sequence to Sequence)
- ์ ๋ ฅ๋ ์ํ์ค๋ก๋ถํฐ ๋ค๋ฅธ ๋๋ฉ์ธ์ ์ํ์ค๋ฅผ ์ถ๋ ฅํ๋ ๋ชจ๋ธ
- ์ฑ๋ด, ๊ธฐ๊ณ ๋ฒ์ญ ๋ฑ ๋ค์ํ ๋ถ์ผ์์ ํ์ฉ๋๊ณ ์์ต๋๋ค.
- ์ ๋ ฅ ์ํ์ค๋ฅผ ์ง๋ฌธ, ์ถ๋ ฅ ์ํ์ค๋ฅผ ๋๋ต ์ผ๋ก ๊ตฌ์ฑํ๋ฉด ์ฑ๋ด/ ์ ๋ ฅ์ ์ ๋ ฅ ๋ฌธ์ฅ, ์ถ๋ ฅ์ ๋ฒ์ญ ๋ฌธ์ฅ์ผ๋ก ํ๋ฉด ๋ฒ์ญ๊ธฐ๊ฐ ๋ฉ๋๋ค.
์์ ๊ฐ์ ๊ตฌ์ฑ์ ์ด๋ฃจ๊ณ ์์ต๋๋ค. ์ธ์ฝ๋๋ ์
๋ ฅ ๋ฌธ์ฅ์ ๋ชจ๋ ๋จ์ด๋ค์ ์์ฐจ์ ์ผ๋ก ์
๋ ฅ๋ฐ์ ๋ค ๋ง์ง๋ง์ ํ๋์ ๋ฒกํฐ๋ก ์์ถํ๊ฒ ๋๋๋ฐ, ์ด ๋ฒกํฐ๋ฅผ ์ปจํ
์คํธ ๋ฒกํฐ(context vector)๋ผ๊ณ ํฉ๋๋ค.
์ด ํ ์ด ์ปจํ
์คํธ ๋ฒกํฐ๋ฅผ ๋์ฝ๋๋ก ์ ์กํฉ๋๋ค. ๋์ฝ๋๋ ์ปจํ
์คํธ ๋ฒกํฐ๋ฅผ ๋ฐ์ ๋ฒ์ญ๋ ๋จ์ด๋ฅผ ํ๊ฐ์ฉ ์์ฐจ์ ์ผ๋ก ์ถ๋ ฅํฉ๋๋ค.
์ปจํ
์คํธ ๋ฒกํฐ๋ ์ธ์ฝ๋ RNN ์
์ ๋ง์ง๋ง ์์ ์ ์๋ ์ํ์
๋๋ค. ๋์ฝ๋ ์ด๊ธฐ ์
๋ ฅ์ผ๋ก ์ด ์๋ ์ํ๊ฐ๊ณผ sos(start of sequence)๋ผ๋ ์
๋ ฅ๊ฐ์ ๋ฐ์ ์ฒซ๋ฒ์งธ ๋จ์ด๋ฅผ ์ถ๋ ฅํ๊ฒ ๋ฉ๋๋ค. ๋ค์ ์
์ ์ด ์์ธก๊ฐ๊ณผ ์ปจํ
์คํธ ๋ฒกํฐ๋ฅผ ํจ๊ป ๋ฐ์ ๊ทธ ๋ค์ ๋จ์ด๋ฅผ ์์ธกํ๊ฒ ๋ฉ๋๋ค. ์ด ํ์๋ ๋ฌธ์ฅ์ ๋์ ์๋ฏธํ๋ eos(end of sequence)๊ฐ ์ฌ ๋๊น์ง ๋ฐ๋ณต๋ฉ๋๋ค.
์ค์ํ๊ฒ ๊ธฐ์ตํ ๊ฒ์ ์ง๊ธ ์์ ๊ณผ์ ์ seq2seq ๋ชจ๋ธ์ ํ
์คํธ ๊ณผ์
์ด๋ผ๋ ์ ์
๋๋ค.ํ์ต ๊ณผ์
์์๋ ๋์ฝ๋๋ฅผ ํ์ตํ ๋, ์ธ์ฝ๋์ ์ปจํ
์คํธ ๋ฒกํฐ์ ์ค์ ์ ๋ต ์ํฉ์ธ sos ~ ๋ฌธ์ฅ์ ์
๋ ฅ ๋ฐ์์ ๋, ~ eos๊ฐ ๋์์ผ ํ๋ค๊ณ ์ ๋ต์ ์๋ ค์ฃผ๋ฉด์ ํ๋ จํฉ๋๋ค.
Attention ๋ฉ์ปค๋์ฆ
์์ seq2seq ๋ชจ๋ธ์ ์ธ์ฝ๋
์์ ์
๋ ฅ ์ํ์ค๋ฅผ ํ๋์ ๊ณ ์ ๋ ํฌ๊ธฐ์ ์ปจํ
์คํธ ๋ฒกํฐ๋ก ๋ณํ, ๋์ฝ๋
๋ ์ด ์ปจํ
์คํธ ๋ฒกํฐ๋ฅผ ํตํด ์ถ๋ ฅ ์ํ์ค๋ฅผ ๋ง๋ค์ด๋์ต๋๋ค.
seq2seq์ ๋จ์
- ํ๋์ ๊ณ ์ ๋ ํฌ๊ธฐ์ ๋ฒกํฐ(์ปจํ ์คํธ ๋ฒกํฐ ; ๋ง์ง๋ง ์ ์ ํ๋ ์คํ ์ดํธ)์ ๋ชจ๋ ์ ๋ณด๋ฅผ ์์ถํ๋ ค๋ค ๋ณด๋ ์ ๋ณด ์์ค ๋ฐ์
- RNN์ ๊ณ ์ง์ ์ธ ๋ฌธ์ ์ธ
๊ธฐ์ธ๊ธฐ ์์ค
๋ฌธ์ ์กด์ฌ
Attention ์์ด๋์ด
- ๋์ฝ๋์์ ์ถ๋ ฅ ๋จ์ด๋ฅผ ์์ธกํ๋ ๋งค ์์ (time step)๋ง๋ค ์ธ์ฝ๋์์์ ์ ์ฒด ์ ๋ ฅ ๋ฌธ์ฅ์ ์ฐธ๊ณ
- ๋จ, ์ ๋ ฅ ๋ฌธ์ฅ์ ํ ํฐ๋ค์ ์ ๋ถ ๋์ผํ ๋น์จ๋ก ์ฐธ๊ณ ํ๋ ๊ฒ์ด ์๋, ํด๋น ์์ ์์ ์์ธกํด์ผํ ๋จ์ด์ ์ฐ๊ด์ด ์๋ ๋จ์ด ๋ถ๋ถ์ ์ข๋ ์ง์ค(Attention)ํด์ ๋ด
Attention(Q, K, V) = Attention Value
- Q : Query ; t ์์ ์ ๋์ฝ๋ ์ ์์์ ์๋์ํ(์ฆ, ์ฐ๋ฆฌ๊ฐ ์๊ณ ์ถ์ ๊ฐ)
- K : Keys ; ๋ชจ๋ ์์ ์ ์ธ์ฝ๋ ์ ์๋ ์ํ๋ค
- V : Values ; ๋ชจ๋ ์์ ์ ์ธ์ฝ๋ ์ ์๋ ์ํ๋ค
- ์ฃผ์ด์ง
์ฟผ๋ฆฌ
์ ๋ํด ๋ชจ๋ํค
์์ ์ ์ฌ๋๋ฅผ ๊ฐ๊ฐ ๊ตฌํฉ๋๋ค. - ๊ตฌํด๋ธ ์ ์ฌ๋๋ฅผ ํค์ ๋งตํ๋์ด์๋ ๊ฐ๊ฐ์
๊ฐ
์ ๋ฐ์ - ๋ฐ์๋ ๊ฐ์ ๋ชจ๋ ๋ํด์ ๋ฆฌํด -> ๋ฆฌํดํ ๊ฐ์
์ดํ ์ ๊ฐ
์ฆ, Attention์ ์ด์ฉํ๊ฒ ๋๋ฉด ๊ฐ ์ธ์ฝ๋์ time step ์์์ ํ๋ ์คํ ์ดํธ๊ฐ์ด key์ value๋ก ์๋ํ๊ฒ ๋๊ณ ๋์ฝ๋์ ๊ฐ time step ๋ง๋ค์ ํ๋ ์คํ ์ดํธ๋ฅผ query๋ก ํ์ฌ ๊ฐ๊ฐ์ ๋งค์นญ ์์ผ ์ ์๊ฐ ๋ ๋์ ๋จ์ด์ ๊ฐ์ค์น๋ฅผ ์ฃผ๋ ๋ฐฉ์์ ๋๋ค.
์ถ์ฒ ๋ฐ ์ฐธ๊ณ
Wikidocs : ๋ฅ๋ฌ๋์ ์ด์ฉํ ์์ฐ์ด ์ฒ๋ฆฌ ์
๋ฌธ
'๐ฟ Data > ๋ถํธ์บ ํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL] 81. Section4 Sprint2 (0) | 2022.03.09 |
---|---|
[TIL] 80. Transformer (0) | 2022.03.09 |
[TIL]78. ์ํ ์ ๊ฒฝ๋ง(RNN) (0) | 2022.03.04 |
[TIL]77. ๋จ์ด ๋ถ์ฐ ํํ(Distributed Representation) (0) | 2022.03.03 |
[TIL]76. NLP(Natural Language Processing) (0) | 2022.03.02 |