[NLP] RNN - LSTM, GRU
๐ง๐ป๐ป์ฉ์ด ์ ๋ฆฌ
Neural Networks
RNN
LSTM
Attention
RNN์ sequence ์ ๋ณด๋ฅผ ํ์ตํ๊ณ ์ ํ๋๋ฐ,
๋ค๋ก ๊ฐ์๋ก ์์ ํ์ตํ ๊ฒ๋ค์ ์ ์์ด๋ฒ๋ฆฌ๋ "Long Term Dependency" ๋ฌธ์ ๊ฐ ์กด์ฌํฉ๋๋ค.
๊ทธ๋์ LSTM๊ณผ GRU๊ฐ ๋์์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ด ์ดํด๋ด ์๋ค.
Long Short-Term Memory (LSTM)
- Capable of learning long-term dependencies.
- LSTM networks introduce a new structure called a memory cell.
- An LSTM can learn to bridge time intervals in excess of 1000 steps.
- Gate units that learn to open and close access to the past
- input gate
- forget gate
- output gate
- neuron with a self-recurrent
- LSTM networks introduce a new structure called a memory cell.
์ ์ฌ๊ธฐ์ ๋ ์ดํด๋ด ์๋ค.
์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ๋ค์ด ์ถ๊ฐ๋์์ต๋๋ค.
์ฌ๊ธฐ์ ๊ณ์ฐ๋ ๊ฒ์ด, ํ์ฌ ๋จ์ด๋ณด๋ค ๋ ์ค์ํ, ๋ ๋ง์ด ๋ฐ์ํด์ผํ๋ ๋ถ๋ถ์ด ์๋ค๋ฉด ๊ทธ๊ฒ์ ๋ ๋ฐ์ํด๋ณด์ !
๋ผ๋ ์์ด๋์ด์์ gate๋ค์ด ์ถ๊ฐ๋์์ต๋๋ค.
- input gate๋
- ์๋ก์ด input์ด ๋ค์ด์์ ๋, ์ง๊ธ์ ๊ฐ์ ์ผ๋ง๋ ๋ฐ์ํด์ผํด?์ ๋ํ ๊ฒ์ ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ , forget gate๋
- s t-1๋ฅผ ๊ทธ๋๋ก ๋ฐ์ํ ์ง, ์๋๋ฉด ์ด๋์ ๋๋ง ๋ฐ์ํ ์ง๋ฅผ ๊ฒฐ์ ํด๋ณด์!์ ๋๋ค.
- output gate๋
- ์ต์ข ์ ์ผ๋ก ๊ณ์ฐ๋ g ๊ฐ์ ์ผ๋ง๋ ์ฌ์ฉํ ์ง์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ , RNN๊ณผ ์ฐจ์ด์ ์
internal memory์ธ c t์ hidden state์ธ s t๊ฐ ์์ต๋๋ค.
๋ ๋ค ๊ฐ์ hidden state์ด์ง๋ง, s t๋ ์์ ๊ฑฐ๋ ์๊ณ ์๋ก์ด ๊ฒ์ ์ป์ ๊ฑฐ๋ฉด ์ป์ด๋ผ. ๋ณต์กํ ์ฐ์ฐ.
c t๋ ๊ณผ๊ฑฐ๋ฅผ ์ ๊ธฐ์ตํ๊ธฐ ์ํ ๋จ์ํ ์ฐ์ฐ.
RNN -> ์ ๋ ฅ์ด ๋ค์ด์ค๋ฉด ์ด์ hidden state๋ฅผ ๊ฐ์ง๊ณ ๊ฐ์ด ๊ณ์ฐ์ด ๋๋ ๊ฒ์ ๋๋ค.
LSTM => g ๊ตฌํ๋ ๊ฒ๊น์ง ๊ฐ์ง๋ง, ์ด๊ฒ์ด hidden state ๊ตฌํ๋ ์ค๊ฐ๊ณผ์ ์ค ํ๋์ ๋๋ค.
์ฌ๊ธฐ์ g t๋ฅผ ๊ตฌํด๋๊ณ , ์ด๊ฒ์ c t -1๊ณผ ๋ํฉ๋๋ค. ๋จ์ํ๊ฒ ๋ํ๊ธฐ๋ง ํ์ฌ ์ญ ๊ทธ๋๋ก c t+1 ๊ณ์ฐ ๋ ๋๋ ์ด๊ฒ์ฒ๋ผ ๋ํ๊ธฐ ์ฐ์ฐ๋ง ๋จ์ํ๊ฒ ์กด์ฌํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ, ์ฌ๊ธฐ์ ์กฐ๊ธ ๋ฌ๋ผ์ง๋๋ค.
์ผ๋ง๋ ์์ ๊ฒ์ธ์ง๋ฅผ ๊ณ์ฐํ๋ f t๊ฐ ๋ฑ์ฅํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ, g t๋ hidden state์ด๊ณ , i, f, o ๋ sigmoid๋ก ๊ณ์ฐ๋ ๊ฐ์ด๊ธฐ ๋๋ฌธ์, -1 ~ 1 ์ฌ์ด์ ๊ฐ์ด ๋ฉ๋๋ค.
๋ค์ ๊ทธ๋ฆผ์ผ๋ก ๋์์์,
์ด ๊ฐ f์ ์ด์ hidden state์ธ c t-1๊ณผ ๊ณฑํ์ฌ ๋ํ์ฌ ์ค๋๋ค.
๊ทธ๋ ๋ค๋ฉด, f t์ ๊ฐ์ด 0~ 1 ์ฌ์ด์ ๊ฐ์ด๋ผ๋ฉด, ๋ค์๊ณผ ๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ์ต๋๋ค.
- f t -> 1 => ๊ธฐ์ตํด๋ผ
- f t -> 0 => ์์ด๋ผ.
forget์ด ์ ๋์ด์ผ ํ๋ค๊ณ ํ๋ฉด, ์์ผ๋ ค๊ณ ํ๋ฉด 0์ ๊ฐ๊น๊ฒ, ๊ธฐ์ตํด์ผํ๋ฉด 1์ ๊ฐ๊น๊ฒ ๊ณฑํด์ฃผ๋ ๊ฒ์ ๋๋ค.
Backpropagation์์ loss์ ๋ฐ๋ผ U, W ๊ฐ๋ค์ด ๋ฐ๋๋ฉฐ forget gate์ ๊ฐ์ด ๋ฐ๋๋๋ค.
g t๋ ํ์ฌ hidden state ์ธ๋ฐ, h t-1 ๊ณผ x t๋ฅผ ๊ฐ์ง๊ณ ์ผ๋ง๋ ๋ฐ์ํ ๊ฒ์ธ์ง๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ๊ทธ๋ ๊ฒ ๊ณฑํด์ ๋ํด์ค๋๋ค.
๊ทธ๋ฐ๋ฐ, ์ฌ๊ธฐ์ ์ต์ข ์ ์ผ๋ก ๊ตฌํด์ง c t๋ฅผ ๊ฐ์ง๊ณ , ๋ฐ๋ก ์ฐ์ง ์๊ณ , c t๋ฅผ ๊ฐ์ง๊ณ ์ด๊ฒ์ ์ผ๋ง๋ ์จ์ผํ๋๋ฅผ ๋ณด๋ ๊ฒ์ด o t์ ๋๋ค.
์ด ๊ฐ๋ 0~ 1์ ๊ฐ์ด๋ฏ๋ก ์ด๊ฒ์ด ๊ณฑํด์ ธ, h t๋ฅผ ์์ฑ์ํต๋๋ค.
์์ ๊ฐ์ด LSTM์ด ์๊ฒผ์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ ์ฐ๋์ง๋ฅผ ๋ค์ ์ง๊ณ ๋์ด๊ฐ๊ฒ ์ต๋๋ค.
Why LSTM?
-> RNN ๋ณด๋ค ๋ Long-Term Dependency๊ฐ ์ฐ์ํ๋ค ์ ๋๋ก ์๊ณ ๋์ด๊ฐ๋ฉด ๋๊ฒ ์ต๋๋ค.
-> RNN ์ฑ๋ฅ์ด ์ ์ ๋์ค๋ฉด LSTM์ ์๋ํด๋ณผ ์ ์๊ฒ ์ต๋๋ค.
RNN๊ณผ ๋น์ทํ๋ฐ, c t์ s t๋ฅผ ๋ณธ๋ค.
์ด๊ฒ์ c t๋ internal memory์ด๊ณ , s t๋ hidden state์ด๋ค. ๊ฐ๊ฐ ๋์ํ๋ ๋ฐฉ์ ๋ค๋ฅด๋ค.
- c t๋ ์ด์ state ์ผ๋ง๋ ์์๋, ์๋ก์ด ๊ฒ์ ์ผ๋ง๋ ๊ธฐ์ตํด์ผํ๋๋ฅผ ๋ด ๋๋ค.
- s t๋ ์ต์ข ์ ์ผ๋ก ๊ณ์ฐ๋ ๊ฒ์ ๊ฐ์ง๊ณ Output gate๊ฐ ์ผ๋ง๋ ๋ฐ์์ด ๋๋.
Long Term์ ์ ํ๋ ์ด์ ๋ ๋ฌด์์ผ๊น์?
์์ ๊ฐ์ด Backpropagation์ ์งํํ๊ธฐ ๋๋ฌธ์ ๋๋ค !
์ด๋ฅผ ResNet๊ณผ ๋น๊ตํด๋ด ์๋ค.
์์ ์ ์ผ๋ก Backpropagationํ๊ธฐ ์ํด, ๋ฏธ๋ถํ ๊ฒ์ Residual network ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ๊ฒ๋ค์๊ฒ๋ gradient๋ฅผ ์ฐ๊ฒฐํ๋ฉด layer๊ฐ ๊น์ด๋ gradient๋ฅผ ์ ์ฐ์ฐํ ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
GRU๋ ๋น์ทํ ๊ฐ๋ ์ผ๋ก, reset gate์ update gate๊ฐ ์กด์ฌํฉ๋๋ค.
๊ฒฐ๊ตญ ๊ณตํต๋ ๊ฒ์ ํ์ฌ ๊ฒ์์ ์ผ๋ง๋ update ์ํฌ ๊ฒ์ธ๊ฐ์ ์ค์ ์ ๋ก๋๋ค.
๊ฒฐ๊ตญ, RNN์ ๋งค๋ฒ ๊ฐ์ ์ฐ์ฐ์ ํ๋ฉฐ ์์ ๊ฒ์ ๊ณ์ํด์ ๊น๋จน์ง๋ง,
GRU, LSTM์ ๊ณตํต์ผ๋ก ๋ ์ค์ํ ์ ๋ณด๋ ์ ๋ฃ์ง ์๊ณ , ์ค์ํ ๊ฒ์ ์ ๋ณด๋ฅผ 1์ ๊ฐ๊น๊ฒ ๋ฃ์ด ๋ ์ ๊ธฐ์ตํ๋๋ก ํฉ๋๋ค.
๋ชจ๋ sequence model์ sequence ์ ํ์ด ํ์ํฉ๋๋ค.
code ์ , max length ๊ฐ ์ ํด์ ธ ์์ต๋๋ค.
'Artificial Intelligence > Natural Language Processing' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[NLP] Attention (0) | 2023.04.12 |
---|---|
[NLP] Sequential Data Modeling (0) | 2023.04.10 |
[NLP] RNN (0) | 2023.04.04 |
[NLP] Word Embedding - GloVe [practice] (0) | 2023.03.31 |
[NLP] Word Embedding - GloVe (0) | 2023.03.31 |