[NLP] Overview NLP
๐ง๐ป๐ป ์ฃผ์ ์ ๋ฆฌ
NLP
Word Embedding
Modeling Sequence
MLP
CNN
RNN
Language Modeling
Autoregressive Language Modeling
Machine Translation
Seq2Seq
Attention
Transformer
๋ฐฐ๊ฒฝ ์ง์
NLP๋ฅผ ๋ฐฐ์ฐ๊ธฐ ์ํด์ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์ฑ์์๋ค์ ์์์ผ ํฉ๋๋ค.
ํจ๊ป ์์๋ด ์๋ค.
Word Embedding
์ปดํจํฐ๋ ์ธ๊ฐ์ ์ธ์ด๋ฅผ ์์๋ฃ์ง ๋ชป ํฉ๋๋ค.
๊ทธ๋์ ์ฐ๋ฆฌ๋ ์ด ๋ฌธ์๋ค์, ์ด Semantic ๋จ์ด๋ฅผ ์ด๋ค ์ซ์๋ก mapping ์์ผ์ฃผ์ด์ผ ํฉ๋๋ค.
์ด๋ฅผ word embedding ์์ ์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
Each word can be represented as a vector based on the Distributed hypothesis.
Modeling Sequences
๋ชจ๋ text๋, ์ฆ ๋ชจ๋ ์์ฐ์ด๋ ๊ฐ๊ฐ ๋ค๋ฅธ ๋ฌธ์ฅ ๊ธธ์ด, ๋ค๋ฅธ ๋จ์ด์ ๊ธธ์ด๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์ด๋ฌํ sequence๋ค์ ์ฐ๋ฆฌ๊ฐ modelingํ๋ ์์ ์ด ํ์ํด์ง๋๋ค.
์ด๋ฅผ modeling sequences๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
๋ ์์ธํ ์์๋ด ์๋ค.
MLP
๋จผ์ , sequence์ length๋ฅผ ๋ฐ๊ฟ๋ณด๋ฉด ์ด๋จ๊น์?
MLP๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๊ณ ์ ๋ Length๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์,
๋ค์๊ณผ ๊ฐ์ issue๊ฐ ์์ต๋๋ค.
- We cannot reuse the same network for handling sequences in different length
- It is because the network parameter bounds the length of the sequences
๊ทธ๋ ๋ค๋ฉด ์ฐ๋ฆฌ๋ ์ด๋ค Length๋ฅผ ์ ํํ๋ ๊ฒ ๋ฐ๋์งํ ๊น์?
1. ์ ์ผ ์งง์ ๊ฒ
2. ์ ์ผ ๊ธด ๊ฒ. ๋จ์ ๊ฒ์ padding (๊ณต๋ฐฑ)
์ด๊ฒ์ ๊ณผ์ ์ ๋ฐ๋ผ ๋ค๋ฅผ ๊ฒ์ ๋๋ค.
CNN
CNN์ ์ฌ์ฉํ์ฌ sequence์ ๊ธธ์ด๋ฅผ ๋ฐ๊พธ๋ฉด ์ด๋จ๊น์?
We can resue the same network by sliding convolution filters over the sequence.
CNN์ Computer Vision์์์ ๊ฐ์ด,
์ด๋ฅผ ํ ๋ฉด 28 x 28 ํฌ๊ธฐ์ ๊ณ ์ ๋ length๋ ์ ์ฒ๋ฆฌํ์ง๋ง, ๋ณํํ๋ ๊ฒ์ ์ ์ฒ๋ฆฌํ์ง ๋ชป ํฉ๋๋ค.
CNN์ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ issue๊ฐ ๋ฐ์ํฉ๋๋ค.
- The hidden representation grow with the length of the sequence.
- The receptive field is fixed.
๊ทธ๋ ๋ค๋ฉด, ์ด๋ค ๊ฒ์ด ๊ฐ์ฅ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์ผ๊น์?
์ค์ NLP ๋ถ์ผ์์ ์ค์ํ ๊ฒ์ ๋ฐ๋ก,
Recursion
์ ๋๋ค.
๋ฐ๋ณต์ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ด์ ์ด ์กด์ฌํฉ๋๋ค.
- A model that reads each input one at a time.
- Parameters can simply be reused (or shared) for each input in a recurrent computation.
์ฌ๊ธฐ์ RNN์ ์ฑํํฉ๋๋ค.
RNN์ ํตํด sequence pattern ๋ถ์์ด ๊ฐ๋ฅํ๊ณ , sequence์ ๊ธธ์ด ๋งํผ ์ ๋ ฅ์ด ๋ค์ด๊ฐ๋๋ค.
Language Modeling
A language model captures the distribution over all possible sentences
ํน์ ๋จ์ด input์ ๋ํด ๊ทธ ๋ค์ ๋จ์ด์ ๋ํ์ฌ ์์ธกํ์ฌ output์ ๋ด๋์ต๋๋ค.
- input : a sentence
- output : the probability of the input sentence
์ฌ๊ธฐ์ ํ๋ฅ ์ด ์ถ๋ ฅ์ผ๋ก ๋์จ๋ค๋ ๊ฒ์ scoring์ด ๊ฐ๋ฅํ ๊ฒ์ ๋๋ค.
์ฆ, ์ฐ๋ฆฌ๊ฐ ๋ฌธ์๋ฅผ ์ซ์๋ก ๋ํ๋ผ ์ ์๊ฒ ๋์๋ค๋ ๋ง์ด์ฃ !!!
์ด๋ ์ฐ๋ฆฌ๊ฐ sequenct generating์ ํ๋ ๋ฐ ์์ด ํฐ ์ํฅ๋ ฅ์ ๊ฐ์ ธ์ต๋๋ค.
์ฌ๊ธฐ์ ์กฐ๊ธ ๋ ๋์๊ฐ๋ฉด,
Autoregressive Language Modeling
The distribution over the next toen is based on all the previous tokens.
ํ๊ท์ ์ผ๋ก ์์์๋ถํฐ ์ฐจ๊ทผ์ฐจ๊ทผ ํ๋ฅ ์ ๊ณ์ฐํ๋ ๊ฒ์ ๋๋ค.
์ด์ ๋จ์ด๋ก ๋ค์ ๋จ์ด๋ฅผ ์์ธกํ๋ Model์ ๋๋ค.
์ ์์ ํ ๋๋ก ์ดํด๋ณด๋ฉด, ์กฐ๊ฑด๋ถํ๋ฅ ๋ถํฌ์ ์ผ์นํ๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
์์ ๊ฐ์ด I๊ฐ ์ ๋ ฅ ๋์์ ๋, like๊ฐ ์ฌ ํ๋ฅ ์ ๊ณ์ฐํ๋ ๊ฒ์ ๋๋ค.
Machine Translation
Machine Translation is a task of translating a sentence in one language to another.
์ด model์ ๋ชจ๋ generation์ ํฌํจ๋๋ model์ ๋๋ค.
Seq2Seq model์ด๋ฉฐ encoder์ decoder ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ model์ ๋๋ค.
Sequence to Sequence Learning
์ ๋ชจ๋ธ์ Encoder, Decoder๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Encoder : Encodes the source sentence into a set of sentence representation vectors.
- Decoder : Generates the target sentence conditioned on the source sentence.
๊ฐ๋จํ๊ฒ ๋ณด๋ฉด, input sentence๋ฅผ vector๋ก ๋ฐ๊พธ๋ ๊ฒ์ด Encoder, ์ด vectors๋ค์ ๊ฐ์ง๊ณ target sentence, ์ฆ ์ํ๋ ๊ฒฐ๊ณผ๊ฐ์ด ๋์ค๋๋ก ํ๋ ๊ฒ์ด Decoder์ ๋๋ค.
Attention Mechanism
Attention focus on a relevant part of the source sentence for predicting the next target token.
Attention ์์๋ RNN Encoder์ RNN Decoder๋ฅผ ์ฌ์ฉํ์ฌ ์กฐ๊ธ ๋ ๊ด๋ จ ์๋ ๊ฐ๋ค์ ๋ณด๊ณ ์ ํฉ๋๋ค.
๋จ์ด๋ค ์ ๋ ฅ์ ํ ๋ฒ์ ๋ฃ๊ณ , output๋ ํ๋์ฉ ๋์ต๋๋ค.
๋จ์ด ๊ฐ์ 4๊ฐ ์ง๋ฆฌ sentence๋ฅผ ๋จ์ด์ ๊ฐ์๋งํผ 4๋ฒ ๋ด์ ๊ฒฐ์ ํ๋ค.
๊ทธ๋ฌ๋ transformer์์ ์ด๊ฒ์ ํ ๋ฒ์ผ๋ก ๊ฐ๋ฅํฉ๋๋ค.
Transformer
<paper : https://arxiv.org/abs/1706.03762 >
ํด๋น ๋ ผ๋ฌธ์ ํตํด transformer๊ฐ ๋์ ๋์์ต๋๋ค.
๋ฐฐ๊ฒฝ์
- No more RNN or CNN modules
- No more sequential processing
์ ๋๋ค.
์ด transformer๋ CNN ๋ถ์ผ, ์ด๋ฏธ์ง ์ธ์ ๋ถ์ผ์์๋ ํ๋ฐํ๊ฒ ์ฐ์ด๊ณ ์์ต๋๋ค.
์ด๋ Seq2Seq model์ด์ง๋ง attention๋ง ๊ฐ์ง๋ model์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
์ด transformer๋ฅผ ์ฌ๋ฌ๊ฒน ์์์ ์ฑ๋ฅ์ ํฅ์์ํฌ ์๋ ์์ต๋๋ค.
Transformer๊ฐ ๋์ค๊ณ ์ฌ๋ฌ ๊ฐ์ง ๊ธฐ์ ๋ค์ด ๋ง์ด ๋ฐ์ ๋์์ต๋๋ค.
- GPT-1
- BERT
- XLNet
- ALBERT
- RoBERTa
- Reformer
- T5
2017๋ ์ ๊ฐ๋ฐ๋ ์ด transformer๋ ๋ ๋น ๋ฅธ ์ฑ์ฅ์ ๊ฐ์ ธ์์ต๋๋ค.
2023๋ ์ธ ํ์ฌ๋ ๊ณ์ํด์ ์ฐ์ด๊ณ ์์ต๋๋ค.
BERT
Improve performance of various NLP tasks recently
Learn through masked language model task and next sentence prediction task
Transformer์ encoder ๋ถ๋ถ์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
GPT-2
Language Models are Unsupervised Multitask Learners
Transformer์ decoder๋ถ๋ถ์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
๋ ๋ง์ด ์๊ณ ํ์ต์ ๋ง์ด ์ํจ ๊ฒ์ด ์ง๊ธ์ ๋ง์ด ์์ฉํ ๋์ด์๋ ChatGPT3, ChatGPT4๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
GPT3๋ GPT2 ๋ณด๋ค parameter ๊ฐ์๋ก๋ง ๋ด๋ 100๋ฐฐ๊ฐ ์ฐจ์ด ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ , GPU ๊ฐ์๋ 1000 ~ 10000๋ฐฐ ์ฐจ์ด๋ฉ๋๋ค.
์ ๊ธฐ์ ๋ค์ ๋ค์๊ณผ ๊ฐ์ ๋ถ์ผ์ ์ฌ์ฉ๋๊ฒ ์ต๋๋ค.
- Machinbe Reading Comprehension
- Document Summarization
- Extractive summarization
- Abstractive summarization
- Neural Conversational Model
'Artificial Intelligence > Natural Language Processing' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[NLP] Word Embedding - Word2Vec (0) | 2023.03.27 |
---|---|
[NLP] Word Embedding - Skip Gram (0) | 2023.03.27 |
[NLP] Word Embedding - CBOW (1) | 2023.03.27 |
[NLP] Introduction to Word Embedding (0) | 2023.03.26 |
[NLP] Introduction to NLP (0) | 2023.03.21 |