๐ NLP (์์ฐ์ด์ฒ๋ฆฌ)/๐ Natural Language Processing
์ ์ ์ผ๋ ๋ด์ฉ์ ์ด์ด์ ์จ๋ณด๊ฒ ์ต๋๋ค. ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง (CNN Model)๊ณผ ๋น๊ตํ Self-Attention CNN์ *Convolution filter(ํฉ์ฑ๊ณฑ ํํฐ)๋ผ๋ ํน์ํ ์ฅ์น๋ฅผ ์ด์ฉํด์ Sequence์ ์ง์ญ์ ์ธ ํน์ง์ ์ก์๋ด๋ ๋ชจ๋ธ์
๋๋ค. ์ฌ๊ธฐ์ Convolution filter(ํฉ์ฑ๊ณฑ ํํฐ)๋ ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง์ ๊ตฌ์ฑํ๋ ํ๋์ ์์-ํํฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฒด์ ์ผ๋ก ํ์ผ๋ฉด์ ์ธ์ ํ ์ ๋ณด๋ฅผ ์ถ์ถํ๋ ์ญํ ์ ํฉ๋๋ค. ์์ฐ์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก Sequence(๋จ์ด ํน์ ํํ์์ ๋์ด)์ด๊ณ ํน์ ๋จ์ด ๊ธฐ์ค ์ฃผ๋ณ ๋ฌธ๋งฅ์ด ์๋ฏธ ํ์ฑ์ ์ค์ํ ์ญํ ์ ํ๊ณ ์์ผ๋ฏ๋ก, CNN์ด ์์ฐ์ด ์ฒ๋ฆฌ์ ๋๋ฆฌ ์ฐ์ด๊ณ ์์ต๋๋ค. ์์ ๊ทธ๋ฆผ์ CNN ๋ฌธ์ฅ์ Encoding ๋ฐฉ์์
๋๋ค. Convolution filter(ํฉ์ฑ๊ณฑ ํํฐ)๊ฐ ..
๐ NLP (์์ฐ์ด์ฒ๋ฆฌ)/๐ Natural Language Processing
1. Attention Attention์ CS ๋ฐ ML์์ ์ค์ํ ๊ฐ๋
์ค ํ๋๋ก ์ฌ๊ฒจ์ง๋๋ค. Attention์ ๋งค์ปค๋์ฆ์ ์ฃผ๋ก Sequence Data๋ฅผ ์ฒ๋ฆฌํ๊ฑฐ๋ ์์ฑํ๋ ๋ชจ๋ธ์์ ์ฌ์ฉ๋ฉ๋๋ค. -> Sequence ์
๋ ฅ์ ์ํํ๋ ๋จธ์ ๋ฌ๋ ํ์ต ๋ฐฉ๋ฒ์ ์ผ์ข
Attention์ ๊ฐ๋
์ Decoder์์ ์ถ๋ ฅ์ ์์ธกํ๋ ๋งค์์ (time step)๋ง๋ค, Encoder์์์ ์ ์ฒด์ ์
๋ ฅ ๋ฌธ์ฅ์ ๋ค์ ํ๋ฒ ์ฐธ๊ณ ํ๊ฒ ํ๋ ๊ธฐ๋ฒ์
๋๋ค. ๋จ, ์ ์ฒด ์
๋ ฅ ๋ฌธ์ฅ์ ์ ๋ถ ๋ค ์ข
์ผํ ๋น์จ๋ก ์ฐธ๊ณ ํ๋ ๊ฒ์ด ์๋๋ผ, ํด๋น ์์ ์์ ์์ธกํด์ผ ํ ์์์ ์ฐ๊ด์ด ์๋ ์
๋ ฅ ์์ ๋ถ๋ถ์ Attention(์ง์ค)ํด์ ๋ณด๊ฒ ํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ด ๋ฌธ๋งฅ์ ํ์
ํ๋ ํต์ฌ์ ๋ฐฉ๋ฒ์ด๋ฉฐ, ์ด๋ฌํ ๋ฐฉ์์ DL(๋ฅ๋ฌ๋)๋ชจ๋ธ์ ์ ์ฉํ๊ฒ์ด 'Attent..
๐ NLP (์์ฐ์ด์ฒ๋ฆฌ)/๐ Natural Language Processing
1. Word Embedding? Word Embedding, ์๋์๋ฒ ๋ฉ ์ด๋? ํ
์คํธ ๋ฐ์ดํฐ๋ฅผ ์์นํ ๋ฒกํฐ๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์
๋๋ค. ๋ค๋ฅธ ์๋ฏธ๋ก ๋งํ๋ฉด Text๋ด์ ๋จ์ด๋ค์ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ Vector์ ํํ๋ก ๋ณํํ๋๊ฒ์ ๋งํฉ๋๋ค. ์ฆ, ๋จ์ด๋ฅผ ๊ณ ์ฐจ์ ๊ณต๊ฐ์ ์ ์ฐจ์ ๋ฒกํฐ๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์
๋๋ค. Word Embedding ๊ณผ์ ์ ๊ฑฐ์น Vector๋ ๋จ์ด์ ์๋ฏธ(mean), ๋ฌธ๋งฅ(context), ์ ์ฌ์ฑ(similar) ๋ฑ์ ์์นํ ํด์ ํํํ ์ ์์ต๋๋ค. ์๋ ์๋ฒ ๋ฉ์ ๊ณผ์ ์ ํฌ๊ฒ ๋ณด๋ฉด 2๊ฐ์ง์ ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค. 2. Word Embedding์ ๋ฐฉ๋ฒ Word Embedding์ ๋ฐฉ๋ฒ์ ํฌ๊ฒ ๋ณด๋ฉด 2๊ฐ์ง์ ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ฃจ์ด ์ง๋ค๊ณ ํ์ต๋๋ค. ํ๋๋ Count๊ธฐ๋ฐ ๋ฐฉ๋ฒ, ๋ค๋ฅธ ํ๋๋ ์์ธก ๊ธฐ..
๐ NLP (์์ฐ์ด์ฒ๋ฆฌ)/๐ Natural Language Processing
1. What is Word2Vec? Word2Vec์ ๋จ์ด๋ฅผ ๋ฒกํฐ๋ก ๋ณํํ๋๋ฐ ์ฌ์ฉ๋๋ ์ธ๊ธฐ์๋ ์๊ณ ๋ฆฌ์ฆ ์
๋๋ค. ์ฌ๊ธฐ์ ๋จ์ด๋ ๋ณดํต 'Token' ํ ํฐ ์
๋๋ค. ์ด ์๊ณ ๋ฆฌ์ฆ์ ๋จ์ด(Token)๋ค ์ฌ์ด์ ์๋ฏธ์ ๊ด๊ณ๋ฅผ Vector ๊ณต๊ฐ์ ์ ํํํ ์ ์๋ ๋ฐฉ๋ฒ์ ํ์ตํ๋ ๋น์ง๋๋ฐฉ์(Unsupervised learning)์ผ๋ก ์ค๊ณํ ์๊ณ ๋ฆฌ์ฆ ์
๋๋ค. ์ฃผ๋ณ ๋จ์ด๋ค(๋ฌธ๋งฅ)์ ํตํด์ ๊ฐ ๋จ์ด๋ค์ ์์ธกํ๊ฑฐ๋, ๋ฐ๋๋ก ๊ฐ ๋จ์ด๋ค์ ํตํด ์ฃผ๋ณ์ ๋จ์ด๋ค์ ๋ณด๊ณ ์์ธกํ๋ ๋ฐฉ์์ผ๋ก ์๋ํฉ๋๋ค. ๋น์ ํ์๋ฉด ์ด๋ฏธ์ง๋ฅผ ํ์ตํ๋ฏ, ๋จ์ด๋ฅผ Vector๋ก ๋ณด๊ณ ํ์ตํฉ๋๋ค. ์ด๋ ๊ฒ Word2Vec์ ๋จ์ด๋ค ์ฌ์ด์ ์๋ฏธ์ ์ธ ๊ด๊ณ๋ฅผ ํ์
ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ , ์์ ๊ทธ๋ฆผ์ ์๋ ๋ฌธ์ฅ์ ์ด์ฉํด ๋ชจ๋ธ์ ํ์ต ์ํค๊ธฐ ์ํด์ ๊ฐ ๋จ์ด(Token..
๐ NLP (์์ฐ์ด์ฒ๋ฆฌ)/๐ Natural Language Processing
1. GRU Model์ ๋ฌด์์ผ๊น? GRU (Gated Recurrent Unit)๋ ์ํ ์ ๊ฒฝ๋ง(RNN)์ ํ ์ข
๋ฅ๋ก, ์์์ ์ค๋ช
ํ LSTM(Long Short-Term Memory)๋ชจ๋ธ์ ๋จ์ํ๋ ํํ๋ก ๋ณผ ์ ์์ต๋๋ค. GRU Model์ LSTM Model๊ณผ ๋น์ทํ ๋ฐฉ์์ผ๋ก ์๋ํ์ง๋ง, ๋ ๊ฐ๋จํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. LSTM Model์ ์ฅ์ ์ ์ ์งํ๋, Gate(๊ฒ์ดํธ)์ ๊ตฌ์กฐ๋ฅผ ๋จ์ํ๊ฒ ๋ง๋ ๋ชจ๋ธ์ด GRU Model ์
๋๋ค. ๋ํ GRU, LSTM Model์ ๋๋ค Long-Term Dependency(์ฅ๊ธฐ ์์กด์ฑ) ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ์ฌ ๋ง๋ค์ด ์ก์ต๋๋ค. LSTM Model์ ์ค๋ช
ํ ๊ธ์์ ์ค๋ช
ํ์ง๋ง LSTM Model์ "Cell State(์
์ํ)"์ "Hidden state(์จ..
๐ NLP (์์ฐ์ด์ฒ๋ฆฌ)/๐ Natural Language Processing
1. LSTM Model์ ๋ฌด์์ผ๊น?LSTM์ Long Short-Term Memory์ ์ฝ์์
๋๋ค. RNN - Recurrent Neural Network (์ํ ์ ๊ฒฝ๋ง)์ ๋ฌธ์ ์ธ Long-Term Dependency (์ฅ๊ธฐ ์์กด์ฑ) ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ ์๋ ๋ชจ๋ธ์
๋๋ค.๊ธฐ์กด์ RNN(์ํ ์ ๊ฒฝ๋ง)๋ชจ๋ธ์ ์๊ฐ & ๊ณต๊ฐ์ ํจํด์ ํ์ตํ๊ณ ์์ธกํ๋๋ฐ ์ ์ฉํฉ๋๋ค. ๊ทธ๋์ ์์ฐจ์ ์ธ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋๋ฐ์๋ ๊ฐ์ ์ด ์๋ ๋ชจ๋ธ์
๋๋ค.๋ค๋ง Long-Term Dependency(์ฅ๊ธฐ ์์กด์ฑ) ๋ฌธ์ ๊ฐ ์์ด์ ๊ธด Sequence์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋๋ฐ ์ด๋ ค์์ด ์์ต๋๋ค.Long-Term Dependency(์ฅ๊ธฐ ์์กด์ฑ)์ ๋ํ ์ค๋ช
์ ์๋์ ๊ธ์ ์ ํ์์ผ๋๊น ์ฐธ๊ณ ํด์ฃผ์ธ์. [NLP] Vanilla RNN Model, Lo..
๐ NLP (์์ฐ์ด์ฒ๋ฆฌ)/๐ Natural Language Processing
1. ๊ธฐ๋ณธ RNN ๋ชจ๋ธ (Vanilla RNN Model)์ ํ๊ณRNN๋ถ๋ถ์ ์ค๋ช
ํ ๊ธ์์ ๊ธฐ๋ณธ RNN Model์ ์์๋ณด๊ณ ๊ตฌํํด ๋ณด์์ต๋๋ค.๋ณดํต RNN Model์ ๊ฐ์ฅ ๋จ์ํ ํํ์ RNN ์ด๋ผ๊ณ ํ๋ฉฐ ๋ฐ๋๋ผ RNN (Vanilla RNN)์ด๋ผ๊ณ ํฉ๋๋ค.๊ทผ๋ฐ, Vanilla RNN ๋ชจ๋ธ์ ๋จ์ ์ผ๋ก ์ธํ์ฌ, ๊ทธ ๋จ์ ๋ค์ ๊ทน๋ณตํ๊ธฐ ์ํ ๋ค์ํ RNN ๋ณํ Model์ด ๋์์ต๋๋ค.๋ํ์ ์ผ๋ก LSTM, GRU ๋ชจ๋ธ์ด ์๋๋ฐ, ์ผ๋จ ์ด๋ฒ๊ธ์์๋ LSTM Model์ ๋ํ ์ค๋ช
์ ํ๊ณ , ๋ค์ ๊ธ์์๋ GRU Model์ ๋ํ์ฌ ์ค๋ช
์ ํ๋๋ก ํ๊ฒ ์ต๋๋ค.Vanilla RNN์ ์ด์ ์ ๊ณ์ฐ ๊ฒฐ๊ณผ์ ์์กดํ์ฌ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด ๋
๋๋ค.์ด๋ฌํ ๋ฐฉ์์ Vanilla RNN์ ์งง์ Sequence์๋ ํจ๊ณผ๊ฐ ์์ง๋ง, ๊ธด..
๐ NLP (์์ฐ์ด์ฒ๋ฆฌ)/๐ Natural Language Processing
1. RNN ์ด๋?RNN์ Sequence data๋ฅผ ์ฒ๋ฆฌ ํ๊ธฐ ์ํ ์ ๊ฒฝ๋ง ๊ตฌ์กฐ ์
๋๋ค.์ฃผ๋ก ์์ฐ์ด์ฒ๋ฆฌ(NLP)๋ฅผ ํฌํจํ ์ฌ๋ฌ Sequence Modeling ์์
์์ ์ฌ์ฉ๋ฉ๋๋ค.ํน์ง์ผ๋ก๋ ์๊ฐ์ , ๊ณต๊ฐ์ ์์ ๊ด๊ณ์ ์ํ์ฌ Context๋ฅผ ๊ฐ์ง๋ ํน์ฑ์ด ์์ต๋๋ค.๐ก exampleI want to have an apple์ด 'apple'์ ํ๋ฒ ์ฃผ๋ชฉํด ๋ณด๊ฒ ์ต๋๋ค.์ด apple์ด๋ผ๋ ๋จ์ด๋ ๋ฌธ๋งฅ์ด ํ์ฑํ๋ ์ฃผ๋ณ์ ๋จ์ด๋ค์ ํจ๊ป ์ดํด๋ด์ผ ํ๋จํ ์ ์์ต๋๋ค.2. RNN์ ๋ํ์ฌRNN์ ํน์ง์ ์ด๋ค๊ฒ์ด ์์๊น์?RNN์ ์๋์ธต(hidden layer)์ node์์ ํ์ฑํ ํจ์(activation function)์ ํตํด ๋์จ ๊ฒฐ๊ณผ๊ฐ์ ์ถ๋ ฅ์ธต ๋ฐฉํฅ์ผ๋ก ๋ณด๋ด๋ฉด์, hidden layer node์ ๋ค์ ๊ณ์ฐ..
๐ NLP (์์ฐ์ด์ฒ๋ฆฌ)/๐ Natural Language Processing
1..sequence-to-sequence ๐ก ํธ๋์คํฌ๋จธ(Transformer) ๋ชจ๋ธ์ ๊ธฐ๊ณ ๋ฒ์ญ(machine translation) ๋ฑ ์ํ์ค-ํฌ-์ํ์ค(sequence-to-sequence) ๊ณผ์ ๋ฅผ ์ํํ๊ธฐ ์ํ ๋ชจ๋ธ์
๋๋ค. sequence: ๋จ์ด ๊ฐ์ ๋ฌด์ธ๊ฐ์ ๋์ด์ ์๋ฏธํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ฌ๊ธฐ์ sequence-to-sequence๋ ํน์ ์์ฑ์ ์ง๋ ์ํ์ค๋ฅผ ๋ค๋ฅธ ์์ฑ์ ์ํ์ค๋ก ๋ณํํ๋ ์์
(Task) ์
๋๋ค. ๊ทธ๋ฆฌ๊ณ sequence-to-sequence๋ RNN์์ many-to-many ๋ชจ๋ธ์ ์ฌ์ฉํ๊ณ ์๋๋ฐ, RNN์.. ์ถํ์ ์ค๋ช
ํ๋๋ก ํ๊ฒ ์ต๋๋ค. ๐ก example ๊ธฐ๊ณ ๋ฒ์ญ: ์ด๋ค ์ธ์ด(์์ค ์ธ์ด, source language)์ ๋จ์ด ์ํ์ค๋ฅผ ๋ค๋ฅธ ์ธ์ด(๋์ ์ธ์ด, target la..
๐ NLP (์์ฐ์ด์ฒ๋ฆฌ)/๐ Natural Language Processing
Pre-Trained Language Model - ๋ฏธ๋ฆฌ ํ์ต๋ ์ธ์ด๋ชจ๋ธ ๐ก ์ธ์ด ๋ชจ๋ธ(Language Model) → ๋จ์ด ์ํ์ค์ ๋ถ์ฌํ๋ ๋ชจ๋ธ (๋จ์ด ์ํ์ค๋ฅผ ์
๋ ฅ๋ฐ์ ํด๋น ์ํ์ค๊ฐ ์ผ๋ง๋ ๊ทธ๋ด๋ฏํ์ง ํ๋ฅ ์ ์ถ๋ ฅ์ผ๋ก ํ๋ ๋ชจ๋ธ) ๋ฌธ์ฅ์์ i๋ฒ์งธ๋ก ๋ฑ์ฅํ๋ ๋จ์ด๋ฅผ ๐คn ์ด๋ ๊ฒ ํ๊ธฐํ๋ฉด n๋ฒ์งธ๋ก ๋ฑ์ฅํ๋ ์ธ์ด๋ชจ๋ธ์ ๋ฑ์ฅํ ํ๋ฅ (์์ 1) ex) ๋ํญ์ด๋ผ๋ ๋จ์ด ๋ฑ์ฅํ์ ์ด์ ์ด๋ผ๋ ๋จ์ด๊ฐ ๋ํ๋ ํ๋ฅ ? → ์กฐ๊ฑด๋ถ ํ๋ฅ ์ด๋ผ๊ณ ํ๋ค. ์กฐ๊ฑด๋ถ ํ๋ฅ ํ๊ธฐ์ ๊ฒฐ๊ณผ๊ฐ ๋๋ ์ฌ๊ฑด(์ด์ )์ ์์, ์กฐ๊ฑด์ด ๋๋ ์ฌ๊ฑด(๋ํญ)์ ๋ค์ ์ด๋ค ์กฐ๊ฑด์ด ๋๋ ์ฌ๊ฑด์ด ์ฐ๋ณ ๋ถ์์ ์ผ๋ถ, ๊ทธ๋ฆฌ๊ณ ์ฐ๋ณ ๋ถ๋ชจ๋ฅผ ๊ตฌ์ฑํ๊ณ ์์์ ๋ณผ ์ ์์ = ์ด๋ ๊ฒฐ๊ณผ๊ฐ ๋๋ ์ฌ๊ฑด(์ด์ )์ ์กฐ๊ฑด์ด ๋๋ ์ฌ๊ฑด(๋ํญ)์ ์ํฅ์ ๋ฐ์ ๋ณํ๋ค๋ ๊ฐ๋
์ ๋ดํฌ..