์ ๋ฒ ๊ธ์์๋ dependency parser์ ์ญ์ฌ์ neural net์ ์ด์ฉํด dependency parser๋ฅผ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ, ๊ทธ๋ฆฌ๊ณ neural net์ regularization์ ๋ํด ๊ฐ๋จํ ๋ค๋ฃจ์๋ค.
์ด๋ฒ ๊ธ์์๋ Language Modeling์ ๋ํด ๊ฐ๋จํ ๋ค๋ค๋ณธ ํ, RNN์ ๊ธฐ์ด์ ๋ํด ์ค๋ช ํ๋ค.
1. Language Modeling
Language Modeling์ด๋, ์ด๋ค ๋จ์ด๊ฐ ๋ค์์ ๋์ฌ์ง ์์ธกํ๋ ํ์คํฌ๋ฅผ ๋ปํ๋ค. ์ฆ, context์ ๋ํด ๋จ์ด๊ฐ ์ฃผ์ด์ง๋ฉด ๋ค์ ๋จ์ด๋ฅผ ์์ธกํ๋ ๊ฒ์ด๋ค.
์ด๊ฑธ ์ข ์์์ ๊ณ๋ค์ฌ ๋งํด๋ณด๋ฉด, ๋ค์๊ณผ ๊ฐ๋ค: ๋จ์ด x1, x2, .., xt์ ๋ํด x(t+1)์ ํ๋ฅ ๋ถํฌ๋ฅผ ๊ณ์ฐํ๋ ๊ฒ์ด๋ค.
ํ๋ฅ ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค:
Language Modeling์ ์ํด ๊ณ ์๋ ๋ฐฉ๋ฒ๋ค์ ๋ค์๊ณผ ๊ฐ๋ค:
1. N-gram Language Models
๋จผ์ n-gram์ด๋, n๊ฐ์ ์ฐ์๋ ๋จ์ด ๋ฉ์ด๋ฆฌ๋ฅผ ๋ปํ๋ค. n-gram์ ์ข ๋ฅ๋ก๋ unigram, bigram, trigram, 4-grams ๋ฑ์ด ์๋ค.
N-gram์ ํ์ฉํ language model์ ์์ด๋์ด๋ ๋ค์ํ ๋ฌธ์ฅ๋ค์ n-gram์ ๋ํ ํต๊ณ๋ฅผ ๊ตฌํ๊ณ , ํด๋น ํต๊ณ๋ฅผ ๋ค์ ๋จ์ด๋ฅผ ๊ตฌํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
Markov assumption
๋จผ์ , Markov assumption์ด๋ ๋จ์ด x(t+1)์ ์์ธก์ ์ง์ (n-1) ๊ฐ์ ๋จ์ด์๋ง ์์กดํ๋ค๋ ๊ฐ์ ์ด๋ค.
์ด ๊ฐ์ ์ ์ํ๋ฉด P(x(t+1) | x(t), x(t-1),..., x(1))์ ๋ค์๊ณผ ๊ฐ๋ค:
๊ทธ๋ฆฌ๊ณ ์กฐ๊ฑด๋ถ ํ๋ฅ ์ ํตํด ๋จ์ด์ ์์ธก ํ๋ฅ ์ ๊ตฌํ ์ ์๋๋ฐ, ์์์ ๋ํ๋ด๋ n-gram๊ณผ (n-1)-gram ํ๋ฅ ์ ์ด๋ป๊ฒ ๊ตฌํ ๊น ?
๊ทธ๊ฑด ๋ฐ๋ก ํฐ text์์ ํด๋น n-gram์ด ์ผ๋ง๋ ๋์ค๋์ง ์ง์ ์ธ์ด๋ณด๋ ๋ฐฉ์์ด๋ค.
์์๋ก ๋ค์ 4-gram language model์ ๋ณด์.
์์ ๋ฌธ์ฅ "students opened their ___"์์ ๋น์นธ์ ๋ค์ด๊ฐ ๋จ์ด์ ๋ํ ์์ธก ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค:
- 4-gram์ด๋ฏ๋ก ๋น์นธ์ ํฌํจํด์ ์์ 4 ๋จ์ด๋ง ๋จ๊ฒจ๋๊ณ ๋๋จธ์ง ๋จ์ด๋ ๋ชจ๋ ์ ์ธ์ํจ๋ค.
- ๋ณด์ ํ context์์ "students opened their"์ด ๋์จ ํ์๋ฅผ ๊ตฌํ๋ค.
- ๊ทธ์ค, "students opened their" ๋ค์์ ๋์จ ๋จ์ด๊ฐ ๊ฐ๊ฐ ๋ช ํ๊ฐ ๋์๋์ง ๊ตฌํ๋ค.
(์ ์์์์๋ "books"๊ฐ 400๋ฒ, "exams"๊ฐ 100๋ฒ์ด๋ค.) - ํด๋น ๋จ์ด๋ค์ ๋ํ ํ๋ฅ ๋ถํฌ๋ฅผ ๊ตฌํ๋ค.
ํ์ง๋ง ์ด๋ฐ ๋ฐฉ๋ฒ์๋ ๋ถ๋ช ๋ฌธ์ ๊ฐ ์๋ค.
Problems
- ๋จผ์ ์ฒซ ๋ฒ์งธ ๋ฌธ์ ๋ Sparsity Problem์ด๋ค. ์์์ ํ๋ฅ ์ ๊ตฌํ ๋ ์ฌ์ฉ๋ ์งํ๋ค์ ์ ๋ณด์.
- ๋จผ์ ๋ถ์๊ฐ 0์ด ๋ ๊ฐ๋ฅ์ฑ์ด ์๋ค. ์ด๋ "students opened their w"๊ฐ ๋์ context data์ ํ ๋ฒ๋ ๋์ค์ง ์์ ๊ฒฝ์ฐ๋ฅผ ๋ปํ๋ค.
์ด์ ๋ํ ํด๊ฒฐ๋ฐฉ์์ผ๋ก, ๋ชจ๋ ๋จ์ด w์ ๋ํด delta๋ฅผ ๋ํด์ 0์ด ๋์ง ์๋๋ก ํ๋ ๋ฐฉ๋ฒ์ด ์๋ค. ์ด ๋ฐฉ๋ฒ์ smoothing์ด๋ผ๊ณ ํ๋ค. - ๋ถ๋ชจ๊ฐ 0์ด ๋ ๊ฐ๋ฅ์ฑ๋ ์๋ค. ์ด๋ "students opened their"์ด๋ผ๋ ๋งฅ๋ฝ์ด ํ ๋ฒ๋ ์ผ์ด๋์ง ์์ ๊ฒฝ์ฐ๋ฅผ ๋ปํ๋ค.
์ด์ ๋ํ ํด๊ฒฐ๋ฐฉ์์ผ๋ก ์์ ์ฐ์๋ 3-gram์ "opened their"์ฒ๋ผ context๋ฅผ shorten ์ํค๋ ๋ฐฉ์์ด ์๋ค. ์ด๋ฅผ backoff๋ผ๊ณ ํ๋ค.
- ๋จผ์ ๋ถ์๊ฐ 0์ด ๋ ๊ฐ๋ฅ์ฑ์ด ์๋ค. ์ด๋ "students opened their w"๊ฐ ๋์ context data์ ํ ๋ฒ๋ ๋์ค์ง ์์ ๊ฒฝ์ฐ๋ฅผ ๋ปํ๋ค.
- ๋ ๋ฒ์งธ ๋ฌธ์ ๋ ๋ชจ๋ธ์ด ๋๋ฌด ํฌ๋ค๋ ๋ฌธ์ ์ด๋ค. n-gram์ ์ฌ์ฉํ๋ฉด, ๋ด๊ฐ ๋ณธ ๋ง๋ญ์น ๋ด์ ๋ชจ๋ n-gram count์ ๋ชจ๋ ์ ์ฅํด์ผ ํ๋ค. ์ฆ, ํ๋ฅ ์ ์ ์ฅํ๊ธฐ ์ํ ์์ฒญ๋๊ฒ ํฐ table์ด ํ์ํ ๊ฒ์ด๋ค. ์ด๋ ์ฌ์ค์ n-gram ๋ด์์๋ ํด๊ฒฐํ๊ธฐ ์ด๋ ค์ด ๋ฌธ์ ์ด๋ค.
N-gram language models in practice
๊ทธ๋ผ ์ด n-gram ๋ชจ๋ธ๋ค์ด ์ค์ ๋ก ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง์ ๋ํด ํ๋ฒ ์์๋ณด์.
์๋ฅผ ๋ค์ด, 170๋ง ๊ฐ์ ๋จ์ด ๋ญ์น ๋ฐ์ดํฐ๊ฐ ์๋ค๊ณ ๊ฐ์ ํ๊ณ , "today the ___" ์ด ๋ฌธ์ฅ์ ๋ํด ๋น์นธ์ ๋ค์ด๊ฐ ๋จ์ด ๋ฐ ๋ฌธ์ฅ์ ์์ฑํ๋ ค๊ณ ํ๋ค๊ณ ๊ฐ์ ํ์.
๊ทธ๋ฆฌ๊ณ ํ๋์ฉ random ํ๊ฒ sampling ํ๋ค๊ณ ํ์. ๊ทธ๋ผ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค:
์ด ๋ชจ๋ ๊ฒ์ด ๋ฐ๋ณต์ ์ผ๋ก ์งํ๋๋ฉด, ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ฅ์ด ๋ง๋ค์ด์ง๋ค:
์์ฑ๋ ๋ฌธ์ฅ์ ๋ดค์ ๋, ๋ฌธ๋ฒ์ ์ผ๋ก ๊ต์ฅํ ์ฐ์ํ ๋ฌธ์ฅ์์ ์ ์ ์๋ค. ๊ทธ๋ฌ๋, ๋ด์ฉ์ ์ ๋ง ๋ง๋ ์ ๋๊ธฐ ๋๋ฌธ์, ๋ด์ฉ์ ์ฐ์์ฑ์ ์ํด ํจ์ฌ ๋ ๋์ model์ด ํ์ํ๋ค.
2. Neural Language Models
๊ทธ๋์ ๋์จ ๋ชจ๋ธ์ด neural language model์ด๋ค. ์ฌ๊ธฐ์๋ ๊ฐ๋จํ fixed-window classifier๋ฅผ ๋จผ์ ์ดํด๋ณด๊ณ , RNN์ ๋ ๊น๊ฒ ๋ค๋ค๋ณผ ์์ ์ด๋ค.
๊ทธ๋ผ ์ด๋ป๊ฒ neural language model์ ๋ง๋ค ์ ์์๊น?
๋จผ์ , NER์์ ๋ดค๋ ๊ฒ์ฒ๋ผ window ์๋ฆฌ๋ฅผ ๋จผ์ ์ด์ฉํ๋ค.
๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค:
- n-gram๊ณผ ๊ฐ์ด ์์ ๋จ์ด๋ค์ ์ ๊ฑฐํ๊ณ window๋ฅผ ์กฐ์ ํ๋ค.
- input์ผ๋ก ๋ค์ด๊ฐ๋ ๋จ์ด๋ค์ one-hot vector๋ก ๋ํ๋ด๊ณ , word embedding์ ์ด์ฉํด ๋จ์ด ๋ฒกํฐ๋ค์ concatenate ํ๋ค.
- ํด๋น ๋ฒกํฐ๋ฅผ hidden layer์ ํต๊ณผ์ํค๊ณ
- ์ต์ข layer์ softmax classifier๋ฅผ ๋ถ์ฌ ๊ฒฐ๊ณผ๋ก ์ต์ข ๋จ์ด๋ฅผ ์์ธกํ๋ค.
์ด๋ ๊ฒ ๊ฒฐ๊ณผ๋ก books๋ laptops ๊ฐ์ ๋จ์ด๋ค์ด ์์ธก๋๋ค.
์ด classifier์ ์ฅ๋จ์ ์ ๋ค์๊ณผ ๊ฐ๋ค:
์ฅ์
- n-gram๊ณผ ๊ฐ์ด sparsity problem์ด ์กด์ฌํ์ง ์๋๋ค. ์๋ํ๋ฉด word embedding์ ์ฌ์ฉํจ์ผ๋ก์จ ์๋ฏธ์ ์ ์ฌํ ๋จ์ด๊ฐ ๋น์ทํ distribution์ ๋ง๋ค๊ธฐ ๋๋ฌธ์ด๋ค. ์๋ฅผ ๋ค์ด, ์ ์์์์ "students"๋ฅผ "people"๋ก ๋ฐ๊พธ๋ฉด n-gram์์๋ context๋ฅผ ๋ฐ๊ฟ์ ์ฐพ๋ ๋ฐ๋ฉด, neural lm์์๋ people์ students๋ฅผ ๋น์ทํ๊ฒ ์๊ฐํ๋ค.
- storing ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ค. Neural LM์ ์ฌ์ฉํ๋ฉด ๋จ์ด ๋ฒกํฐ, ๊ฐ์ค์น์ ์ ํ๋ ฌ๋ง storing ํ๋ฉด ๋๊ณ , ๊ตณ์ด ๋ชจ๋ ๋จ์ด์ ๋ํ ํ๋ฅ ์ ์ ์ฅํ์ง ์์๋ ๋๋ค.
๋ฌธ์ ์
- window๋ ๊ณ ์ ๋ผ ์๊ณ , ๋๋ฌด ์๋ค. ๊ทธ๋ฌ๋ ์ด window๋ฅผ ๋๋ฆฌ๋ฉด W๋ฅผ ํฌ๊ฒ ๋ง๋ค๊ณ , ๊ทธ๊ฒ์ ๊ฐ ๋จ์ด์ ๋ค๋ฅธ ๊ฐ์ค์น๊ฐ ๊ณฑํด์ง๋ค๋ ์ ์์ ํฐ ํผ๋์ ๊ฐ์ ธ์จ๋ค.
์ด๋ฐ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ์ด๋ค ๊ธธ์ด์ input์ด๋ผ๋ ๊ฐ๋นํ ์ ์๋ ์๋ก์ด neural architecture๊ฐ ํ์ํ๋ฐ, ์ด๋ฅผ ์ํด ๋์จ ๊ฒ์ด RNN์ด๋ค.
2. Recurrent Neural Networks (RNN)
(๋ณธ ๊ฐ์์์๋ ๋จผ์ simple RNN์ ๋ํด ์ค๋ช ํ๋ค.)
RNN์ core idea๋ ๊ฐ์ ๊ฐ์ค์น W๋ฅผ ๋ฐ๋ณตํด์ ์ ์ฉํ๋ ๊ฒ์ด๋ค.
classifier์ hidden layer๊ฐ ์๋ ๋์ , hidden state๋ฅผ ์ ์งํ๊ณ ์๊ธฐ ์์ ์๊ฒ feed back ํ๋ ๊ฒ์ด๋ค. ์ค์ค๋ก feed back ํ๋ ๊ฒ์ recurrent ํ๋ค๊ณ ๋งํ๋ค. ๊ณ์ฐ ๊ณผ์ ์ ๊ทธ๋ฆผ์ผ๋ก ์ดํด๋ณด์.
๊ณผ์ ์ ๊ธ๋ก ์ค๋ช ํ์๋ฉด ๋ค์๊ณผ ๊ฐ๋ค:
- input ๋จ์ด๋ค์ one-hot vector๋ก ๋ฐ๊พธ๊ณ word embedding์ ์ ์ฉํด์ ๋จ์ด๋ฅผ vector๋ก ํํํ๋ค.
- ๋ค์ ๊ณต์์ ์ฌ์ฉํด์ hidden state๋ฅผ ๊ณ์ฐํ๋ค: h(t) = tanh(W_h * h(t-1) + W_e * e(t) + b1)
- h(0)์ ๋ณดํต ๋ชจ๋ 0์ผ๋ก initialize ํ๋ค.
- W_e๋ Input embedding์ ๊ณฑํ๋ ์ฉ๋,
- W_h๋ ๋คํธ์ํฌ์ hidden state๋ฅผ update ํ๋ ์ฉ๋๋ก ์ฌ์ฉ๋๋ค.
- output distribution์ ๊ตฌํ๊ธฐ ์ํด์ ๋ค์ softmax ์์ ์ฌ์ฉํ๋ค: y^(t) = softmax(U*h(t) + b2)
- ์ ์์ ์ด์ฉํด์ ์ด๋ค ์์น์์๋ hidden state๋ฅผ ์ด์ฉํด์ ๋ค์ ๋จ์ด์ ๋ํ ํ๋ฅ ๋ถํฌ๋ฅผ ์ป๊ฒ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด RNN์ ์ฅ๋จ์ ์ ์ดํด๋ณด์.
์ฅ์
- ์ด๋ค ๊ธธ์ด์ input์ด๋ ์ง ํญ์ ์์ฑํ ์ ์๋ค.
- ๋ ๊ธด input context๊ฐ ์๊ธด๋ค๊ณ model size๊ฐ ์ปค์ง์ง ์๋๋ค. ์ค์ง W_h, W_e๋ง ์ฌ์ฉํ๋ค.
- ์ด๋ ๊ฒ ํ๋์ weight๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ๋์นญ์ฑ์ด ์๋ค.
๋จ์
- ๋๋ฆฌ๋ค. for ๋ฃจํ ์์์ ๊ณ์ฐ๋๋ฏ๋ก O(n)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค.
- ์ด๋ก ์์ผ๋ก๋ ๋จ์ด ์์ธก์ ์ํด ํจ์ฌ ์ ์ ๋จ์ด ์ ๋ณด๋ฅผ ์ฐธ๊ณ ํ ์ ์๋ค๊ณ ๋ ํ์ง๋ง, ์ค์ ๋ก๋ ์ฐธ๊ณ ํ์ง ๋ชปํ๋ค.
์ด๋ ๊ฒ language model๋ถํฐ simple RNN๊น์ง ์์๋ณด์๋ค. ๋ค์ ๊ธ์์๋ fancy RNN๊ณผ LSTM์ ๋ํด ์์๋ณผ ์์ ์ด๋ค.
'๐ ์คํฐ๋ > CS224N' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CS224N] 6, 7, 8. RNN, LSTM, Seq2seq, Attention & Transformers (1) | 2023.12.30 |
---|---|
[CS224N] 4. Syntactic Structure and Dependency Parsing (0) | 2023.11.18 |
[CS224N] 3. Natural Language Processing with Deep Learning (1) | 2023.11.14 |
[CS224N] 2. Neural Classifiers (0) | 2023.08.02 |
[CS224N] 1. Introduction and Word Vectors (0) | 2023.07.24 |