[NLP] RNN
๐ง๐ป๐ป์ฉ์ด ์ ๋ฆฌ
Neural Networks
RNN
LSTM
Attention
RNN์ด ์ ๋์์๊น์?
์ค๋์ ๊ทธ ์ด์ ์ ๋ํด ์ดํด๋ณด๋๋ก ํฉ์๋ค.
ํ ๋ง๋๋ก ์ ๋ฆฌํ์๋ฉด,
Sequential Data๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํด์ ๋์จ ๊ฒ์ด RNN์ ๋๋ค.
text Datas๋ ๋ณดํต sequential Data๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
์ด๋ฅผ ๋ ์ ํ์ต์ํค๊ธฐ ์ํ RNN ๊ธฐ๋ฐ์ ๊ตฌ์กฐ๊ฐ ๋ฑ์ฅํ์ต๋๋ค.
๋ฌผ๋ก CNN๋ local ํ๊ฒ Convolution์ ํ์ตํ๋ ๊ฒ์ด ๊ฐ๋ฅํ์ง๋ง, RNN ๋งํผ์ ์ฑ๋ฅ์ด ๋์ค์ง ์์์ต๋๋ค.
RNN (Recurrent Neural Network)
Sequential Data Modeling
- Sequential Data
- Most of data are sequential
- Speech, Text, image, ...
- Deep Learnings for Sequential Data
- Convolutional Neural Networks (CNN)
- Try to find local features from a sequence
- Recurrent Neural Networks : LSTM, GRU
- Try to capture the feature of the past
- Convolutional Neural Networks (CNN)
์์ ๊ฐ์ด NN ๊ตฌ์กฐ์์ ์๋์ ์ถ๊ฐ๋ ๊ฐ๋ค์ด ๋ณด์ด๋ ๊ฒ์ด ์์ต๋๋ค.
์ด๋ฌํ ํํ๋ฅผ RNN ํํ๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
๋๊ฐ์ด input, hidden, output layer ๊ฐ NN์ฒ๋ผ ์กด์ฌํ์ง๋ง,
์ด์ representation์ด ๊ฐ์ด ๋ค์ด์จ๋ค๋ ๊ฒ์ด RNN์์ ์ค์ํ ๊ฐ๋ ์ ๋๋ค.
์ผ๋จ Text์ ํํ๋ฅผ ๋ณด๊ณ ๊ฐ์๋ค.
Text์์ ๋จ์ด ํ๋ํ๋๊ฐ vector๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ด๊ฒ์ One-Hot vector๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
๋งจ ์ฒ์์ ์ hidden layer์ ๋ค์ด์จ ๊ฒ์ด ์ ์ฅ๋์ด ๋ค์ input์ด ๋ค์ด์ฌ ๋๋ ์ฌ์ฉ๋๊ณ , ๊ธฐ์กด NN์ฒ๋ผ output ๊ณ์ฐํ ๋๋ ๋ค์ด์ต๋๋ค.
์ฆ, ํ์ฌ Input์ ๊ณ์ฐํ๋ ๋ฐ ์์ด, ์ด์ Input๋ค์ ๊ฐ์ด ํ์ฌ์ input์ ์ํฅ์ ์ค๋ค๋ ๊ฒ์ ๋๋ค.
์ด๋ฌํ ๊ตฌ์กฐ๋ก ์ํฅ์ ๋ฐ์ต๋๋ค.
์ฆ, ์์๋ก ๋ณด๋ฉด,
Cat์ด๋ผ๋ ๋จ์ด๋ฅผ ์ฐ์ฐํ ๋, ์ด์ ๋จ์ด๋ The๊ฐ ๊ฐ์ด ์ฐ์ฐ๋์ด hidden state์ ๋ฐ์๋ฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด, ๋ค์ ๋จ์ด sat์ด๋ผ๋ ๋จ์ด๋ ์๋๋ hidden state๋ง ๊ณ์ฐํ์ง๋ง, ์ด์ ๋จ์ด๊น์ง ๋ฐฐ์ ๋ ๊ฒ์ ๊ฐ์ง๊ณ ์ฐ์ฐ์ด ์ด๋ฃจ์ด์ง๋๋ค.
์ด๋ ๊ฒ Recurrentํ๊ฒ ๋ฐ๋ณต๋๋ ๊ตฌ์กฐ๋ฅผ Recurrent Neural Network๋ผ๊ณ ํฉ๋๋ค.
์ด๋ ๊ฒ ์ด๋ฃจ์ด์ ธ ์๋ ๊ฒ์ธ RNN์ ๊ธฐ๋ณธ์ ์ธ ํด์ ๋๋ค.
์ด๋์ ๋ ์ดํด๊ฐ ๋์ จ๋์?
๊ทธ๋ผ ๋ค์ ๊ทธ๋ฆผ๋ ๋ณด์์ฃ !
๊ทธ๋ ๋ค๋ฉด ์ง๊ธ๊น์ง์ ๋ฌผ์ ์์ ๊ฐ์ ๊ทธ๋ฆผ ๊ตฌ์กฐ๋ก ์ ๋ฆฌํด๋ณผ ์ ์๊ฒ ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ , ์์์ผ๋ก ์์ ๊ฐ์ด ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค.
x t๋ t์์ input,
x t์์ ๊ตฌํ hidden state ๊ฐ์ด h t ์ ๋๋ค.
์ด๊ฒ์ด ๊ฐ weight U, W๋ฅผ ๊ฐ๊ฐ input์ธ x t์ ๊ณฑํด์ง๊ณ h t-1์ ๊ณฑํด์ง๋ฉฐ ๊ทธ๊ฒ์ ๋ํ ๊ฐ์ด activation function f๋ฅผ ํต๊ณผํฉ๋๋ค.
hidden state์์์ ๊ฐ์ด ์์์ ๋งํ ๋ฐ์ ๊ฐ์ด input๊ณผ ์ด์ ๊น์ง์ input์ ๋ํ๋ด๋ h t -1์ด weighted sum ๋์ด hidden state์ ๊ฐ์ด ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด ๊ฐ์ด ๋ค์ weight ๊ณฑํด์ ธ์ ๋ ๋ค๋ฅธ output actvation function์ ์ง๋๊ฒ ๋ฉ๋๋ค.
์ ๋ ฅ์ ๊ธฐ์กด์ NN๊ณผ ๋ค๋ฅด๊ฒ,
Sequence๊ฐ ์กด์ฌํ๋ฏ๋ก, sequence์ ๊ธธ์ด๋งํผ ์กด์ฌํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด ๊ฐ๊ฐ์ sequence๋ One-Hot vector๋ก ์ด๋ฃจ์ด์ ธ ์์ด, ์ด vecto์ ๊ธธ์ด๊ฐ ๊ฝค ํฌ๊ฒ 100000์ ๊ธธ์ด๊ฐ ๋ ์๊ฐ ์์ต๋๋ค.
์ ๊ตฌ์กฐ์ ๊ฐ์ด input์ด ์ฌ๋ฌ ์ฐจ์ ์กด์ฌํ๊ณ , output๋ ์ฌ๋ฌ ์ฐจ์ ์กด์ฌํ๋ ๊ฒ์ "Many-to-Many"๋ผ๊ณ ํฉ๋๋ค.
๊ตฌ์กฐ์ ํด๋นํ๋ ๊ฒ์ ๋ด๊ฐ ํ๊ณ ์ํ๋ ๊ฒ์ ๋ฐ๋ผ RNN๊ตฌ์กฐ๋ฅผ ์ค์ ํ๋ฉด ๋ฉ๋๋ค.
์ ๊ทธ๋ฆผ์์ h3๋ x1 ~ x3์ Input์ด ๋ฐ์๋ hidden state์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง hidden state์ธ h5๋ฅผ sequence์ embedding์ด๋ผ ํ๋ฉฐ,
์ด๊ฒ์ sentence embedding์ด๋ผ ํฉ๋๋ค.
์ฌ๊ธฐ์ input์ ๋ ์ดํด๋ด ์๋ค.
The [ 1 0 0 0 0 ]
The ๋ผ๋ ๋จ์ด๋ฅผ ์์ ๊ฐ์ด ๋ํ๋ธ๋ค๋ฉด,
์ด๋ฅผ Word2vec์ด๋ GloVe๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅด๊ฒ ๋ํ๋ผ ์๋ ์์ต๋๋ค.
์ด ๋ค๋ฅด๊ฒ ๋ํ๋ธ ๊ฒ์ ํน์ context์ ๋ํ Vector ๊ฐ์ด๋ผ๊ณ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ Pre-trained embedding์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
์ด๊ฒ๋ค์ input์ผ๋ก ๋ฃ์ผ๋ฉด ๋ ์ ์๋ฏธํ embedding์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
Long Term Dependency
h t๋ x 1 ~ x t-1๊น์ง์ ์ ๋ณด๊ฐ ๋ชจ๋ encoding๋ ์ ๋ณด์ ๋๋ค.
RNN์ ์ด๋ฌํ recurrent ๊ตฌ์กฐ๋ก ํ๋ํ๋์ฉ ์ฐ๊ฒฐ๋๋ ๊ตฌ์กฐ๋ก ํ์ต๋์๊ธฐ ๋๋ฌธ์, Long Term Dependency๋ฅผ ๊ฐ์ง๋๋ค.
์ด Sequence ๊ธธ์ด๊ฐ ์์ฒญ๋๊ฒ ๊ธธ๋ค๋ฉด, ์ด๊ฒ์ด ์ ์ง๋ ๊น์?
RNN์ sequence ์ ๋ณด๋ฅผ ํ์ตํ๊ณ ์ ํ๋๋ฐ,
๋ค๋ก ๊ฐ์๋ก ์์ ํ์ตํ ๊ฒ๋ค์ ์ ์์ด๋ฒ๋ฆฌ๋ "Long Term Dependency" ๋ฌธ์ ๊ฐ ์กด์ฌํฉ๋๋ค.
LSTM๊ณผ GRU๊ฐ ๋์์ต๋๋ค.
'Artificial Intelligence > Natural Language Processing' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[NLP] Sequential Data Modeling (0) | 2023.04.10 |
---|---|
[NLP] RNN - LSTM, GRU (0) | 2023.04.04 |
[NLP] Word Embedding - GloVe [practice] (0) | 2023.03.31 |
[NLP] Word Embedding - GloVe (0) | 2023.03.31 |
[NLP] Word Embedding - CBOW and Skip-Gram (2) | 2023.03.27 |