๐ ๊ต๋ด '์ธ๊ณต์ง๋ฅ' ์์ ์ ํตํด ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ฒ์ ๋๋ค.
Recap
โจ RNN, LSTM
โพ RNN → gradient vanishing problem → LSTM
1๏ธโฃ NLP
โ Natural language processing
โผ NLP : ์ปดํจํฐ๋ก ์ธ๊ฐ์ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ
โผ Natural language
โผ example
๐จ machine translation
๐จ Sentiment classification
๐จ Spam filtering
๐จ Chat-bot
๐ ๋ง์ NLP ์์ฉ์ language model ์ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ ์๋ค.
โก Language model
(1) language model
โผ ์ฐ์๋ ๋จ์ด์ ๋ํ ํ๋ฅ ๋ถํฌ๋ฅผ ํ ๋นํ์ฌ ์ธ์ด ๋ชจ๋ธ์ ์์ฑํ๋ค.
โผ ์ผ๋ จ์ ๋จ์ด ๋ฐฐ์ด์ด ์์ ๋ ๊ทธ ๋ค์์ ์ฌ ๋จ์ด๋ฅผ ์์ธก
→ ๊ฐ์ฅ ํ๋ฅ ์ด ๋์ ๋จ์ด w5 ๋ฅผ ๊ทธ ๋ค์์ ์ฌ ๋จ์ด๋ก ์์ธกํ๋ค.
(2) How to represent words in Numbers
๐ค ๋จ์ด๋ฅผ input ์ผ๋ก ๋ฃ์ ๋ ์ด๋ค ์ซ์ ํํ๋ก ๋ฃ์ด์ฃผ์ด์ผ ํ๋๊ฐ
๐จ One-hot vector (Sparse representation)
- ๋จ์ด ์ฌ์ ์ ์ ์ํ๋ค : vocabularly ๐ ๊ฐ ๋จ์ด๋ง๋ค ์์์ ๋ํ index ๋ฅผ ๋ถ์ฌ
- vocab size ๋งํผ์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง ๋ฒกํฐ์์ ํด๋น ๋จ์ด๊ฐ ์์นํ ๊ณณ์์๋ง ๊ฐ์ด 1์ธ ์ํซ ๋ฒกํฐ๋ฅผ ์์ฑ
โพ ์ํซ๋ฒกํฐ ํํ์ ๋ฌธ์ ์
- ๊ฐ๋ฅํ ๋จ์ด ์๋ฅผ ์๊ฐํ๋ฉด ๋ฒกํฐ ์ฌ์ด์ฆ๊ฐ ๋๋ฌด ์ปค์ง๋ค → NN input ์ผ๋ก ์ฐ๊ธฐ ์ด๋ ค์
- 0๊ณผ 1์ ์ซ์๋ก๋ง ์ด๋ฃจ์ด์ง ๊ฐ์ด๋ฏ๋ก ์ฐ๊ด์ฑ ์๋ ๋จ์ด ๊ด๊ณ๋ฅผ ๋ฐ์ํ๊ธฐ ์ด๋ ต๋ค. ex) Queen-Woman
๐จ Embedding vector (Dense representation)
- ๋จ์ด์ ์ฐ๊ด์ฑ์ ๊ณ ๋ คํ์ฌ ์ซ์๋ก ํํํ ๋ฐฉ๋ฒ
- ๋จ์ด๊ฐ ์ ์ฌ์ฑ์ ํํํ ์ ์๋ ๋ํ ํน์ง (ex. Gender, Age.....) ๋ค์ ์์์ ์ซ์๋ก ํํํ ์ ์๊ฒ ํ๋ฉด์ ๋ฒกํฐ์ ํฌ๊ธฐ๋ฅผ ๊ณ ์ ๋๊ฒ ๋ง๋ฆ
- ๋ฒกํฐ ํฌ๊ธฐ๋ฅผ 300์ผ๋ก ๊ณ ์ ์ํจ๋ค๋ฉด, ํฌ๊ธฐ๊ฐ 300์ธ ๋ฒกํฐ์ ์ซ์ ๊ฐ์ด ์กด์ฌํ๊ฒ ๋๋ค.
- ๋ฒกํฐ๋ฅผ ์์ฑํ๋ ๊ณผ์ ์ feature extraction ์ผ๋ก ๋ณผ ์ ์์ผ๋ฉฐ, ์์ ์์ ์ ๊ฐ์ ํน์ฑ๋ค์ ๊ธฐ๊ณ๊ฐ ํ์ต์ ํตํด ๋์ถํด๋ธ๋ค.
2๏ธโฃ Word Embedding
โ Embedding table
โผ One-hot vector → (feature extraction) → Embeeding vector
- embeding table ์ด ์ฃผ์ด์ก์ ๋ ์ํซ๋ฒกํฐ์ ๊ณฑํด์ง๋ ๊ณผ์ ์ ํตํด ํน์ ๋จ์ด์ ๋ํ ์๋ฒ ๋ฉ ๋ฒกํฐ๋ฅผ ์์ฑํ๋ค
- ์๋ฒ ๋ฉ ํ ์ด๋ธ์์ ํน์ ๋จ์ด์ ๋์๋๋ ์ธ๋ฑ์ค ์นผ๋ผ์ ๋ถ๋ฌ์ค๋ ๊ณผ์ ์ผ๋ก ์๋ฒ ๋ฉ ๋ฒกํฐ๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ embedding lookup ์ด๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.
โญ embedding table ๊ฐ์ ๊ธฐ๊ณ 'ํ์ต'์ ํตํด์ ์ป๋๋ค. (ex. Word2Vec)
โก Word2Vec
โญ embedding vector ๋ฅผ ๋์ถํ๋ ๋ฐฉ๋ฒ
โญ key Idea : Distributional Hypothesis → ๊ฐ์ด ๋ฐ๋ณตํด์ ๋ฑ์ฅํ ๋จ์ด์ผ์๋ก ์ ์ฌ๋๊ฐ ๋์ ๊ฒ์ด๋ผ๋ ๊ฐ์
(1) CBOW
โผ window size ๋งํผ์ ์ฃผ๋ณ ๋จ์ด๋ฅผ ๋ฐํ์ผ๋ก ์ค์ฌ ๋จ์ด๋ฅผ ์์ธกํ๋ ๋ฐฉ์์ผ๋ก embedding table ์ ๋์ถํ๋ค. (์ผ์ข ์ ์ง๋ํ์ต ๋ฐฉ๋ฒ)
โผ input : ์ฃผ๋ณ ๋จ์ด์ ์ํซ๋ฒกํฐ (์ฐจ์ |v| : vocab size) ๋ค
๐จ input vector x W :๊ฐ input vector ์ ๋ํด ๊ฐ์ค์น๋ฅผ ๊ณฑํ์ฌ ๊ตฌํ ๋ฒกํฐ V ์ ๋ํด ํ๊ท ์ ๋ด๋ ค M ๋ฒกํฐ๋ฅผ ๋์ถํ๋ค.
๐จ output vector = M x W' : embedding vector M ๊ณผ ๋ ๋ค๋ฅธ ๊ฐ์ค์น ํ๋ ฌ W' ๊ฐ์ ๊ณฑํ์ฌ ์ค์ฌ ๋จ์ด ๋ฒกํฐ๋ฅผ ์์ธกํ๋ค.
โผ output : ์ค์ฌ ๋จ์ด์ ์ํซ๋ฒกํฐ
๐ 2๊ฐ์ weight matrix ๊ฐ ํ์ต ๊ณผ์ ์์ ๋์ถ๋๋๋ฐ, ๋ณดํต 2๊ฐ์ W matrix ๋ฅผ ํ๊ท ํ๊ฑฐ๋ ๋ ์ค ํ๋๋ฅผ ์ ํํ ๊ฒ์ด embedding table ์ด ๋๋ค.
(2) Skip-gram
โผ ์ฃผ๋ณ window ๋งํผ์ ๋จ์ด๋ฅผ ์ค์ฌ ๋จ์ด๋ฅผ ํตํด ์์ธกํ๋ค.
โผ input : ์ค์ฌ ๋จ์ด์ ์ํซ๋ฒกํฐ, output : ์ฃผ๋ณ ๋จ์ด์ ์ํซ๋ฒกํฐ
โผ softmax ๊ฒฐ๊ณผ์ Ground truth ๊ฒฐ๊ณผ ์ฌ์ด์ ์ค์ฐจ๋ฅผ ๊ณ์ฐํ์ฌ ๋์ถํ gradient ๋ก embedding table ์ embedding vector ์ ๋ํด ์ ๋ฐ์ดํธ๋ฅผ ์ํํ๋ค.
๐จ Negative sampling
- ๋จ์ด์ ๊ฐ์๊ฐ ๋ง์ ๊ฒฝ์ฐ embedding table ์ ์ฐจ์์ด ์ฆ๊ฐํ๋ฏ๋ก ๊ฐ์ ๋ชจ๋ ์ ๋ฐ์ดํธ ํ๋ ๋ฐ ์์ด cost ๊ฐ ์ฆ๊ฐํ๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ์ค์ด๊ธฐ ์ํด negative sampling ์ ์งํํ๋ค.
- window size ์ ํด๋น๋์ง ์๋ ๋จ์ด๋ค์ ๊ด๋ จ์ฑ์ด ์ ์ ๊ฒ์ด๋ผ๋ ํ๋จ ์๋์, ๊ทธ์ ํด๋น๋๋ ์๋ฒ ๋ฉ ๋ฒกํฐ๋ฅผ ์ ๋ฐ์ดํธ ํ๋ ๊ฒ์ ๋นํจ์จ์ ์ด๋ฏ๋ก, ์๋์ฐ ์ฌ์ด์ฆ ์ธ์ ์๋ ์๋ฒ ๋ฉ ๋ฒกํฐ ์ค ๋๋คํ๊ฒ ๋ฝ์ ์ํ๋ค์ ๋ํด์ ์๋ฒ ๋ฉ ๋ฒกํฐ์ ์ ๋ฐ์ดํธ๋ฅผ ์ํ
- positive sample : ์๋์ฐ ํฌ๊ธฐ์ ํด๋น๋๋ ๋ฒกํฐ
- negative sample : ๋๋คํ๊ฒ ๋ฝ์ ๋จ์ด ๋ฒกํฐ
- positive, negative label ์ classification ๋ฌธ์ ๊ฐ ๋๋ค.
โผ ์ ์ ๊ฐ์์ input ์ ๋นํด update ๋๋ ๋ถ๋ถ์ด ๋ง๊ธฐ ๋๋ฌธ์ (์ ์ ๊ฐ์์ input ์ผ๋ก ๋ง์ output ์ ์์ธกํ๋ ๊ผด) CBOW ๋ณด๋ค ์ฑ๋ฅ์ด ์ข์ skip-gram ๋ฐฉ์์ด ๋ง์ด ์ฌ์ฉ๋๋ค.
(3) Property of Word Embedding
โผ language model ์์ ๋ถํฌ ๊ฐ์ ์ ๊ธฐ๋ฐํ word embedding ๋ฐฉ๋ฒ์ ๊ต์ฅํ ์ค์ํ๋ค.
โผ ๋ค๋ฅธ ๋จ์ด์ ์ ์ฌ๋๋ฅผ ํตํด ์๋ก์ด ๋จ์ด๋ฅผ ์์ธกํ ์ ์๋ค → language model ์ ์ ์ ํ ํํ๋ฐฉ์
โข Pretrained Word embedding
โผ word embedding ์ ํ์ํ embedding table ์ ํ๋ จํ๋ ๊ฒ์, ๋จ์ด๊ฐ ๋ง์์๋ก ํ๋ ฌ ์ฐจ์์ด ๋งค์ฐ ํฌ๊ธฐ ๋๋ฌธ์ ๊ฝค๋ ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฐ๋ค.
โผ ๋ฐ๋ผ์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด๋์ embedding table , "pre-trained word embedding" ์ ์ฌ์ฉํ๋ค.
โผ Transfer learning : ๋ฏธ๋ฆฌ ์์ฑํ embedding table์ ์ฌ์ฉํ๋ ๊ฒ
3๏ธโฃ Machine Translation
โ Conditional Language model : Translation
โผ language model : ์ด๋ ํ ๋จ์ด๊ฐ ์ ๋ ฅ๋์์ ๋ ๊ทธ ๋ค์์ ๋ฑ์ฅํ ๋จ์ด๋ฅผ ์์ธก
โผ machine translation (Seq2Seq) : conditional language model ๋ก ์ด๋ ํ ๋ฌธ์ฅ์ด ์ฃผ์ด์ก์ ๋ (์กฐ๊ฑด๋ถ) ๊ทธ์ ๊ฑธ๋ง๋ ๋ฒ์ญ๋ ๋จ์ด๊ฐ ๋ฑ์ฅํ ํ๋ฅ ์ ๋ชจ๋ธ๋ง ํ๋ task ์ด๋ค.
โก ๊ฐ์ฅ ์ข์ ๋ฒ์ญ ๊ฒฐ๊ณผ ์ฐพ๊ธฐ
(1) Probability
โผ ๊ฐ์ฅ ์ข์ ๋ฒ์ญ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด์ ๊ฐ์ฅ ํ๋ฅ ์ด ๋์ ๋จ์ด์ ์กฐํฉ์ ์ฐพ๋๋ค.
(2) Greedy Search
โผ ๊ฐ step ๋ณ๋ก ๊ฐ์ฅ ๋์ ํ๋ฅ ์ ๊ฐ์ง output ์ ๋ด๋ ๋ฐฉ๋ฒ (huristic method)
- ๊ฐ step ๋ณ๋ก 1๋ง๋ฒ์ฉ search ๋ฅผ ํ์ฌ ๊ฐ์ฅ ๋์ ํ๋ฅ ์ ํด๋นํ๋ ๋จ์ด๋ฅผ ๋์ถํ๋ ๋ฐฉ๋ฒ์ผ๋ก, ์๋๊ฐ ๋น ๋ฅด์ง๋ง greedy ํ๊ฒ ํ์ํ๋ ๋ฐฉ๋ฒ์ด๊ธฐ ๋๋ฌธ์ ์ต๊ณ ์ ๊ฒฐ๋ก ์ ์๋ ์ ์๋ค. ์ฆ, ์ค์ ์ป๊ณ ์ ํ๋ ๋ฒ์ญ ๊ฒฐ๊ณผ์ ์ ๋ง์ง ์๋ ๊ฒฐ๊ณผ๊ฐ ๋์ถ ๋ ์๋ ์๋ค.
(3) Beam Search
โผ greedy search ๋จ์ ์ ๋ณด์ํ์ฌ ๋ฑ์ฅํ ํ์ ๋ฐฉ๋ฒ์ผ๋ก, greedy search ๋ ๊ฐ step ์์ ๊ฐ์ฅ ํฐ ํ๋ฅ ๊ฐ์ ๊ฐ์ง ํ๋์ ๊ฐ๋ง ๊ณ ๋ คํ๋ค๋ฉด beam search ์์๋ ๊ฐ์ฅ ๋์ ํ๋ฅ ์ k ๊ฐ ๊ฐ์ ธ์จ๋ค.
โผ greedy searh ๋ณด๋จ ์ข ๋ ๋ง์ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ณ ๋ คํ๋ฏ๋ก ๋ฒ์ญ์ ์ง์ด ์ฌ๋ผ๊ฐ๋ค.
โผ k = beam size
→ k=2 ์ด๋ฉด ๊ฐ step ๋ง๋ค ๊ฐ์ฅ ๋์ ํ๋ฅ ๊ฒฐ๊ณผ๋ฅผ 2๊ฐ์ฉ ๋์ถํด๋ธ๋ค.
โข Evaluation
โญ ๋ฒ์ญ์ ์ง์ ์ ๋์ ์ผ๋ก ์ธก์ (ํ๊ฐ) ํ๋ ๋ฐฉ๋ฒ
๐ค ๊ธฐ๊ณ๊ฐ ๋ฒ์ญํ ๊ฒฐ๊ณผ ๋ฌธ์ฅ๊ณผ ์ฌ๋์ด ๋ฒ์ญํ G.T ๋ฌธ์ฅ ๊ฒฐ๊ณผ์ ์ ์ฌ๋๋ฅผ ์ด๋ป๊ฒ ์ ๋์ ์ผ๋ก ์ธก์ ํ ์ ์์๊น
(1) Unigram precision
โผ ๊ธฐ๊ณ๋ฒ์ญ๋ ๋ฌธ์ฅ์์ ํน์ ๋จ์ด๊ฐ ์ ๋ต reference ํ๋ณด ๋ฌธ์ฅ์์ ๋ฑ์ฅํ๋์ง ์ฌ๋ถ๋ฅผ ์ธ์ด๋ณธ๋ค.
โญ unigram precision = (reference ๋ฌธ์ฅ๋ค์ ์กด์ฌํ๋ ํ๋ณด ๋ฌธ์ฅ ๋จ์ด์ ๊ฐ์) / (ํ๋ณด ๋ฌธ์ฅ์ ๋ณธ์ฌํ๋ ์ด ๋จ์ด ๊ฐ์)
(2) Modified Unigram precision
โผ unigram precision ์ ์น๋ช ์ ์ธ ๋จ์
โผ ๋ฐ๋ผ์ ์ค๋ณตํด์ count ๋๋ ๊ฒ์ ์์ ์ฃผ๋ ๋ฐฉ๋ฒ์ผ๋ก modified unigram precision ๋ฐฉ๋ฒ์ด ๋ฑ์ฅํ๋ค.
โญ Count_clip = min(Count, Max_Ref_Count)
- Count : ํด๋น๋๋ unigram ๊ฐ์ ๐ candidate ๋ฌธ์ฅ์์ ๋ฑ์ฅํ the ์ ๊ฐ์๋ 7
- Max_Ref_Count : unigram ์ด ํ๋์ reference ์ ๋ฑ์ฅํ ์ต๋ ๊ฐ์ ๐ reference1 ์ 'the' ๋ผ๋ ๋จ์ด๊ฐ 2๋ฒ, reference2 ์์๋ 1๋ฒ ๋ฑ์ฅํ์ผ๋ฏ๋ก ์ต๋ 2๋ฒ ๋ฑ์ฅ
- Count_clip(the) = min(7,2) = 2
โญ modified unigram precision = Sum (Count_clip(unigram)) / Sum(Count(unigram))
- candidate ๋ฌธ์ฅ์ ๊ฐ (์ค๋ณต๋์ง ์๋ ๊ณ ์ ์) ๋จ์ด unigram ๋ณ๋ก, Count_clip ๋ฅผ ๊ตฌํด์ ๋ชจ๋ ๋ํ ๊ฐ๊ณผ, Count ๋ฅผ ๊ตฌํด์ ๋ํ ๊ฐ์ ๋๋์ด ์ฃผ๋ฉด ๋จ โโ ์ฃผ์ โโ
- ํด๋น Candidate ๋ฌธ์ฅ์๋ ๊ตฌ๋ถ๋๋ unigram ๋จ์ด๊ฐ 'the' ๋ฟ์ด๋ฏ๋ก Count_clip(the) / Count(the) ๋ฅผ ๊ณ์ฐํ๋ฉด ๋จ
- Count(the) ๋ candidate ๋ฌธ์ฅ ๋ด์ the ๊ฐ 7๋ฒ ๋ฑ์ฅํ๋ฏ๋ก 7 ์ด๊ณ Count_clip(the) ๋ ์์์ ๊ตฌํ 2์ด๋ฏ๋ก 2/7์ด ์ ๋ต
(3) Modified n-gram precision
โผ Unigram ๋ง ๋ณด๋ฉด ๋จ์ด์ ์์๊ฐ ์ ํ ๊ณ ๋ ค๋์ง ์๊ธฐ ๋๋ฌธ์ N-gram precision ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
โญ ๊ผญ ์์ผ๋ก ์ง์ ๊ณ์ฐํด๋ณผ๊ฒ!
(4) BLEU
โผ bilingual evaluation understudy
โผ ๊ธฐ๊ณ๋ฒ์ญ์ ์ ๋์ ์ง์ ํ๋จํ ์ ์๋ metric
โผ Wn : n-gram precision ๋ณ๋ก ๋ค๋ฅด๊ฒ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ๋ค. ๋ง์ฝ N=4 ๋ผ๋ฉด unigram, biagram, trigram 4-gram ๋ณ๋ก ๊ฐ๊ฐ w1, w2, w3, w4 ์ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ๋ค. ์ด๋ ๊ฐ์ค์น๋ค์ ์ดํฉ์ 1์ด ๋๋๋ก ํ๋ค.
โผ Pn : modified n-gram score
โผ BP : ๋ฌธ์ฅ ๊ธธ์ด์ ๋ํ ํจ๋ํฐ ๊ฐ์ผ๋ก, ๋ฌธ์ฅ ๊ธธ์ด๊ฐ ์งง์ ๊ฒฝ์ฐ ํจ๋ํฐ๋ฅผ ๋ถ์ฌํ๋ค.
- ๊ธฐ๊ณ๋ฒ์ญ์ ๊ฒฐ๊ณผ๊ฐ ์งง์์๋ก n-gram precision ์ด ๋์์ง๋ ๊ฒฝํฅ์ฑ์ด ์๋ค.
- ๋ง์ฝ ํ๋ณด๋ฌธ์ฅ์ ๊ธธ์ด๊ฐ ์ฐธ์กฐ๋ฌธ์ฅ์ ๊ธธ์ด๋ณด๋ค ๊ธธ๋ฉด BP=1 ๋ก ํจ๋ํฐ๊ฐ ์๊ณ
- ํ๋ณด๋ฌธ์ฅ์ ๊ธธ์ด๊ฐ ์ฐธ์กฐ๋ฌธ์ฅ์ ๊ธธ์ด๋ณด๋ค ์งง์ผ๋ฉด ์ ์์ ๋ํ ํจ๋ํฐ๋ฅผ e^(r/c) ๋งํผ ๋ถ์ฌํ๋ค.
- c : candidate ๋ฌธ์ฅ์ ๊ธธ์ด, r : reference ๋ฌธ์ฅ์ ๊ธธ์ด
'1๏ธโฃ AIโขDS > ๐ Deep learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ธ๊ณต์ง๋ฅ] GAN (0) | 2022.06.13 |
---|---|
[์ธ๊ณต์ง๋ฅ] Transformer Models (0) | 2022.06.11 |
[์ธ๊ณต์ง๋ฅ] RNN (0) | 2022.06.07 |
[์ธ๊ณต์ง๋ฅ] Regularization (0) | 2022.04.26 |
[์ธ๊ณต์ง๋ฅ] ๋ค์ํ CNN ๋ชจ๋ธ (0) | 2022.04.26 |
๋๊ธ