[Deep Learning] Recurrent Neural Network (1)
๐ง๐ป๐ป์ฉ์ด ์ ๋ฆฌ
Neural Networks
Feed-forward
Backpropagation
Convolutional Neural Network
Recurrent Neural Network
Propagation
unfolding
fold
unfolding computational graph
์ฐ๋ฆฌ๊ฐ ์ง๊ธ๊น์ง, ์ฌ๋ฌ ๊ฐ์ง ๊ธฐ์ ๋ค์ MLP๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ณต๋ถํด์์ต๋๋ค.
๊ทธ๋ฌํ ๊ฒ์ผ๋ก๋ถํฐ Deep MLP๋ถํฐ ์ฑ๊ณต์ ์ธ ๊ตฌ์กฐ์ธ CNN๊น์ง ๊ณต๋ถ๋ฅผ ํด๋ดค์ต๋๋ค.
๋ ๋ค๋ฅธ ์ฑ๊ณต์ ์ธ ๊ตฌ์กฐ์ธ RNN์ ๋ํด ๊ณต๋ถํด๋ณด๊ฒ ์ต๋๋ค.
Recurrent Neural Network
์ด RNN model๋ 1986๋ ์ ์ด๋ฏธ ์ ์์ด ๋์ด์จ model์ ๋๋ค.
๊ฒฐ๊ตญ ์ด RNN๋ Neural Network์ specialized form์ ๋๋ค.
์ด RNN์ data๊ฐ sequential ํ ๋, ๋ ์ ์๋ํ๋ form์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
์ด๋ฌํ ๊ฐ๋ค์ด x 1๋ถํฐ x t๊ทธ๋ฆฌ๊ณ x ํ์ฐ ์์ ๊น์ง ์์ฐจ์ ์ธ sequence๋ฅผ ์ด๋ฃจ๋ ๊ตฌ์กฐ๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
๊ทธ๋์ ์๋ ๊ทธ๋ฆผ์์ input, hidden, output node์ ๋ชจ์ต์ด ์ด์ด์ง ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
์ผ์ชฝ์ ์๋ ๊ฒ์ ์ค๋ฅธ์ชฝ์ ์๋ ๊ฒ์ผ๋ก ํผ์น๋ฉด unfold ์ ์ผ๋ฉด fold ํํ๊ฐ ๋ฉ๋๋ค.
hidden์์ ์ํํ๋ ํํ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ , ์ฃผ์๊น๊ฒ ๋ณผ ๋ถ๋ถ์, input, state, output์ t ์์ ์ด ์กด์ฌํ์ง๋ง, W, V, U๋ผ๋ parameter๋ ํญ์ ๋๊ฐ์ ๊ฐ์ด ๋ค์ด์ค๊ฒ ๋ฉ๋๋ค.
์์์ ๋ฐฐ์ด parameter sharing์ ๊ฐ๋ ์ด ์ ์ฉ๋ ํํ์ ๋๋ค.
๊ทธ๋์ Unfolding์ ๊ฐ๋ ์ ๋ค์๊ณผ ๊ฐ์ด ๋ณผ ์ ์์ต๋๋ค.
parameter sharing์ ํ๋ฉฐ, ๋ฐ๋ณต์ ์ผ๋ก operation์ด ๋๋ structure ํน์ chain of events์ ๋๋ค.
์ ์์๊ณผ ๊ฐ์ด,
t ์์ ์ state๋ฅผ s t-1์ ํํ์ ๋ํด์ ์ธํ๋ผ๋ parameter๋ฅผ ๊ฐ์ง๊ณ ๋ณํํ๋ ๊ฒ์ ๋๋ค.
๊ทธ๋์ ์ด ์ธํ๋ ์ธํ t๊ฐ ์๋ ๋งค ์์ ๋ง๋ค ๊ฐ์ parameter๊ฐ์ด ์ ์ฉ๋๋ค๋ ๊ฒ์ ๋๋ค.
Unfolding Computational Graph
๊ทธ๋์ ์ด ์ธํ ๊ฐ์ ์ํด state๊ฐ ๊ณ์ ๋ณํํด ๋๊ฐ๋๋ค.
์ฌ๊ธฐ์ ์ ์ฉ๋๋ function์ ์ธํ์ ๋ํ function์ ๋๋ค.
์ด๊ฒ์ Directed acyclic computational graph๋ผ๊ณ ํฉ๋๋ค.
๋ฐฉํฅ์ ๊ฐ์ง๋ ์ํ๋์ง ์๋ NN์ computational graph์ ๋๋ค.
์ด๊ฒ์ ๋ค์์ ํน์ง์ ๊ฐ์ง๋๋ค.
- Traditional dynamical system
- Without any recurrence
์ด๋ฌํ ๊ฒ๋ค์ state transition model์ด๋ผ๊ณ ํฉ๋๋ค.
state๊ฐ ๊ณ์ ๋ณํํ๋ model์ ๋๋ค.
์ด๊ฒ์ ์์ง๊น์ง ์ํ์ ์ธ ํน์ฑ์ ๊ฐ์ง๊ณ ์์ง ์์ต๋๋ค.
๊ทธ๋ฅ state๊ฐ transition๋ ๋ฟ์ด์ฃ .
์ฌ๊ธฐ์ ์ ๋ ฅ์ ๋งค ์์ ๋ง๋ค ๋ฃ์ด์ค๋ค๋ฉด,
์ ๋ ฅ์ ๋ฐ๋ผ state๊ฐ ์ํ๋๋ ์์ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋๋ค.
t ์์ ์์ input์ ๋ํด์ hidden state๋ฅผ ๋ง๋๋๋ฐ, ๋๊ฐ์ U๋ผ๋ parameter๊ฐ ๋ค์ด๊ฐ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ฌ๊ธฐ์ ์ด์ ์์ ์ hidden ์ ๋ณด๊ฐ ๋ค์ ์์ ์ผ๋ก transition๋๋ฉฐ W parameter๊น์ง ํจ๊ป ๊ณ ๋ ค๋ฉ๋๋ค.
ํน์ ๋ค๋ฅธ state transition ๊ด์ ์์ ์๊ฐํด๋ณด๋ฉด,
state๊ฐ transitionํ๋ model์ธ๋ฐ, ๊ฐ ์์ ์ input signal์ด ๋ค์ด์ค๋ ๊ฒ์ผ๋ก ๋ณผ ์๋ ์์ต๋๋ค.
์ด ๊ฒฝ์ฐ, hidden state๋ฅผ ๋ง๋๋ ์, ์ด์ ์์ ์ hidden state์ input์ด ์ํฅ์ ๋ฏธ์น๋ฉฐ,
์ฌ๊ธฐ์ parameter ์ธํ๋ U์ W์ set์ด ๋ ๊ฒ์ ๋๋ค.
์ด๋ ๊ฒ ์ํ๋๋ ๊ตฌ์กฐ์์๋,
์ด๋ค ์์ ์ hidden state๋ ๊ทธ ์ ์์ ์ ๋ชจ๋ ์ ๋ ฅ signal๋ค์ ์ด ํฉ์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
๊ทธ๋์ ์์ ๊ฐ์ด t ์์ ์ hidden state๋ lossy summary๋ก ์ ๋ณด๋ฅผ ๋ค์ ์์ด๋ฒ๋ฆฌ๋ summary๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
ํ์ง๋ง ์ฒซ input๋ถํฐ ๋ชจ๋ t๊น์ง์ ๋ชจ๋ input๋ค์ summaryํ๋ค๊ณ ๋ด ๋๋ค.
๋, t ์์ ์ hidden state๋ ๋ค์ ์ ๋ณด๋ค์ ์์ด๋ฒ๋ฆด์ง๋ผ๋ ์ต๊ทผ ์ ๋ณด๋ค์ ์์ฃผ๋ก ์ ๋ณด๋ฅผ ์์ฝํด ๋์ต๋๋ค.
์ chain์ด ๊ธธ์ด์ง๋ฉด ๊ณผ๊ฑฐ์ ์ ๋ณด๋ค์ ๊ฝค๋ ์์คํ๊ฒ ๋ ๊ฒ์ ๋๋ค.
parameter๊ฐ ๊ณฑํด์ง๋ฉฐ ์ค๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ต๊ทผ ๋ช ์์ ์ ์ ํธ๋ค์ ๋จ์์์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
์ด๋ก ์ ์ผ๋ก ๋งํ์๋ฉด, t์์ ์ด์ ์ ๋ชจ๋ input signal๋ค์ ๊ฐ์ด t ์์ ์ hidden state์ ์ ์ฅ์ด ๋๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
๊ทธ๊ฒ์ ๊ทธ๋ฆผ์ผ๋ก ํํํ๋ฉด ์์ ๊ฐ์ต๋๋ค.
ํด๋น ์ํฅ์ ์ฃผ๋ function์ g(t)๋ผ๊ณ ํ๋ค๋ฉด,
x1 ~ x t๊น์ง์ ๊ฐ๋ค์ด ๋ชจ๋ t์์ ์ hidden state์ ์์๊ฐ์ด ์ํฅ์ ์ค๋๋ค.
๊ณผ๊ฑฐ์ ๋ชจ๋ signal์ ๊ฐ์ ํ์์ ์ state์ ๊ณ์ํด์ ๋์ ํด ๋๊ฐ๋ ๊ฒ์ ๋๋ค.
RNN์ ์ฌ๋ฌ ๊ฐ์ง ๊ตฌ์กฐ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
1๋ฒ๊ณผ ๊ฐ์ด hidden์์ ๋งค๋ฒ recurrent connections์ด ๋ฐ์ํ๋ฉฐ ๋งค ์๊ฐ output์ด ๋์ต๋๋ค.
์ด 1๋ฒ์ด ๋ํ์ ์ธ ๊ตฌ์กฐ์ด์ง๋ง,
์์๋ Transformer์ ๊ฐ์ ๊ตฌ์กฐ๋ค์ด ๋ง์ด ๋์์ ๋ํ๊น์ง ๋ณด๊ธฐ ์ด๋ ต์ง๋ง default๋ก ์๊ฐ๋ฉ๋๋ค.
2๋ฒ์งธ๋ ๊ทธ ์ ์์ ์ output์์ ๊ทธ ๋ค์ ์์ ์ hidden state๋ก ์ํ์ด ์ด๋ฃจ์ด์ง๋๋ค.
3๋ฒ์งธ๋ ์ ์ฒด sequence๋ฅผ ํตํ์ด output์ด ํ๋๊ฐ ์กด์ฌํ๋ ๊ตฌ์กฐ์ ๋๋ค.
pattern 1
์ฒซ ๋ฒ์งธ ํจํด์ ๋ณด๊ฒ ์ต๋๋ค.
๋งค ์์ ์ input์ด hidden state๋ก ๊ฐ๊ณ , hidden state๊ฐ output์ผ๋ก ๊ฐ๊ณ , output์ ๋ํด loss๊ฐ ๊ณ์ฐ๋๋๋ฐ, loss ๊ณ์ฐ์ ์ํด์ y๊ฐ์ด ํ์ํ์ฌ y๊ฐ๋ ๋ค์ด์ค๋ ๊ตฌ์กฐ์ ๋๋ค.
์์ ๊ฐ์ด hidden state ์ฌ์ด์์ ์ํ์ด ๋๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ฅ ๋ํ์ ์ธ RNN ๊ตฌ์กฐ๋ก ๋ณผ ์ ์์ต๋๋ค.
์ข์ธก์ fold๋ ์ฌ์ง์์ ํ์ดํ๋ Weight๊ฐ ๊ณฑํด์ ธ์ ์ํ์ด ๋๋ ๊ตฌ์กฐ์์ ์๋ฏธํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ Weight set์ด ์์ ์ ์๊ด ์์ด parameter sharing์ ํตํด ์ ์ฉ๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
pattern 2
๋ ๋ฒ์งธ ํจํด์,
์ ์์ ์ output์์ ๋ค์ ์์ ์ hidden state๋ก ์ํ์ด ๋๋ ๊ตฌ์กฐ์ ๋๋ค.
hidden state ์์ฒด๋ฅผ ๊ณ์ํด์ ๋์ ํ๋ ๊ฑฐ๋, ํ ๋ฒ ์ ๋ณด๋ฅผ ์๊ณก์ ์ํค๊ณ (์ฆ, softmax๋ฅผ ํตํ ํ๋ฅ ๊ฐ ๋ณํ) , ์ด๋ฌํ ํ๋ฅ ๊ฐ์ ์ฃผ๋ ๊ฒ์ด๋ ์ ๋ณด๊ฐ ๋ง์ด ๋ฌ๋ผ์ง ๊ฒ์ ๋๋ค.
์ด๋ฌํ ์ด์ ๋ก ์ด pattern์ ์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
pattern 3
์์ ๊ฐ์ด,
input์ด ๋งค ์์ ์ ์กด์ฌํ๊ณ ์ํ์ hidden state์์ ๋์ง๋ง output์ ๋์ ํ๋๋ง ๋์ค๋ ๊ตฌ์กฐ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์์ ๊ฐ์ด loss๋ ๊ณ์ฐํ๋ ๊ตฌ์กฐ์ ๋๋ค.
์ด ๊ตฌ์กฐ๋ ๋ง์ด ์ฌ์ฉ๋๋ฉฐ,
encoder, decoder ๊ตฌ์กฐ์์ ์์ฉ๋์ด ์ฌ์ฉ๋ฉ๋๋ค.
Forward Propagation
ํด๋น forward propagation์ pattern 1์ ๋ํด ๋ค๋ฃจ๊ฒ ์ต๋๋ค.
์ฌ์ค ์ด ๊ณผ์ ์ MLP์ ํฌ๊ฒ ๋ค๋ฅผ ๊ฒ ์์ต๋๋ค.
์ a์ ๊ฐ์ summation ๊ฐ์ผ๋ก ์๊ฐํ์๋ฉด ๋ฉ๋๋ค. ์ฐ๋ฆฌ๊ฐ ์์์ ๋ค๋ฃฌ net์ ๊ฐ์ด์ฃ .
์ ์์์ ๋ฐ๋ผ๊ฐ๋ฉด h๋ฅผ ๊ตฌํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ RNN์์๋ tanh๊ฐ ๊ธฐ๋ณธ activation func. ์ ๋๋ค.
b, c๋ bias ๊ฐ์ ๋๋ค.
Backpropagation
Backpropagation ์ ํตํด ์ค๋ฅ๊ฐ ๋ชจ๋ ์์ ์ ๋ฌ ๋์ด์ผ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ปดํจํฐ ์ ์ฅ์์ ๊ณ์ฐ์ด ๋งค์ฐ ๋ณต์กํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์์์ ์ค๋, output์ผ๋ก๋ถํฐ์ weight๋ค๋ ๊ณ ๋ คํด์ฃผ์ด์ผ ํ๋ค๋ ์ ์ ๊ณ ๋ คํด์ฃผ์ด์ผ ํฉ๋๋ค.
Backpropagation through time
RNN์์์ Backpropagation์ Backpropagation through time๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
ํน๋ณํ ๊ธฐ์ ์ด ํ์ํ ๊ฒ์ ์๋๊ณ ,
์ ์์ ์ hidden state์์ backward๋ก ํ ๋ฒ ๋ ๊ฐ์ ธ์์ผํ๋ค๋ ์ฐจ์ด๊ฐ ์์ต๋๋ค.
์์ ๊ฐ์ด ์ฐ๋ฆฌ๊ฐ update ์์ผ์ค์ผํ weight๋ค์ด ์์ ๊ฐ์ด ์กด์ฌํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ,
Loss๋ 1 ์์ ๋ถํฐ ํ์ฐ์์ ๊น์ง ๋ชจ๋ ์กด์ฌํฉ๋๋ค.
๊ทธ๋์ ์ ์ฒด์ ๋ํด์ MLE(Maximum-likelihood estimation)๋ฅผ ํด์ค์ผํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ด๊ฒ์ด ์ฝ์ง ์์ผ๋ ๋งค ์์ ๋ฐ๋ก ๊ณ์ฐํ์ฌ ๊ทธ๊ฒ์ ์ ์ฒด์ ๋ํ Loss๋ก ๋ณด์๋ผ๋ ๊ฒ์ ๋๋ค.
์๋๋ ์ ์ฒด์ ๋ํด์ joint probability๋ฅผ ๊ณ์ฐํ์ฌ์ผ ํ๋๋ฐ, ๊ทธ๋ฌ์ง๋ง๊ณ ๋งค ์์ ๋ ๋ฆฝ์ ์ผ๋ก ๊ตฌํ ๋ค ์ด loss๋ฅผ ๋ค ํฉ์น ๊ฒ์ ์ฐ๋ฆฌ network์ loss๋ก ๊ณ์ฐํ์๋ ๊ฒ์ ๋๋ค.
๊ทธ๋์ ์ ์์์ MLE์ - ๋ถ์ธ - MLE ํํ์ ๋๋ค.
๋ค์ ์ ๊ตฌ์กฐ๋ฅผ ์ดํด๋ด ์๋ค.
๋จผ์ ์ ์์์ ์ํด ํด๋น L์ ๋ฏธ๋ถํ ๊ฐ์ 1์ด ๋ฉ๋๋ค.
์ ์์์์ ๋ณด๋ฉด t ์์ ์ Loss๋ฅผ y hat t๋ก ๋ฏธ๋ถํฉ๋๋ค.
์ด ๊ฒฝ์ฐ, cross entropy๋ก ๋ดค์ ๋ ๋ฏธ๋ถํ๋ค๊ณ ๋ณด๋ฉด, ์์ ๊ฐ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ y hat t๋ฅผ o t๋ก ๋ฏธ๋ถํ๋ฉด softmax ๋ฏธ๋ถ์ด๋ฏ๋ก, ์์ ๊ฐ์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ์ด ๊ฐ์ y t๊ฐ 1์ธ ๊ฒฝ์ฐ์ y t๊ฐ 0์ธ ๊ฒฝ์ฐ๋ก ๋๋๋ฉฐ,
0์ธ ๊ฒฝ์ฐ๋ 0์ด ๋๋ฏ๋ก ๊ณ ๋ คํ์ง ์๊ณ , y t๊ฐ 1์ธ ๊ฒฝ์ฐ์๋ง ๊ณ ๋ คํ์ฌ ์์ ๊ฐ์ ์์์ ์์ฑํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ o t๋ฅผ h t๋ก ๋ฏธ๋ถํ๋ฉด ๊ทธ๋ฅ V๋ง ๋จ์ด์ ธ๋์ค๊ฒ ๋ฉ๋๋ค.
์, ๊ทธ๋ฐ๋ฐ,
์ฐ์ธก ๊ทธ๋ฆผ์ ํ๋์ ํ์ดํ ๋ถ๋ถ๋ ๊ตฌํด์ผ์ค์ผํฉ๋๋ค.
์๋ ์์์ ๋ด ์๋ค.
์ฐ์ , L๋ถํฐ h๊น์ง์ ๋ถ๋ถ์ ์ง๊ธ๊น์ง ํ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
์ค๊ฐ ๊ณผ์ ๋ํ ์์ ๊ฐ์ด ๋ณผ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ h t+1์ ๋ํ ์์ ์์ ๊ฐ์ด h t๋ก ๋ฏธ๋ถํด์ผํฉ๋๋ค.
์์ ๊ฐ์ ๊ณผ์ ์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค.
๊ทธ๋ฆฌ๊ณ diagonal์ scalar๋ฅผ matrix ์ฐ์ฐ ์ํด ๋ถ์ฌ์ค ๊ฒ์ ๋๋ค.
์ผ์ชฝ์์ t + 1 ์์ , ์ค๋ฅธ์ชฝ ์์ t ์์ ์ ๋๋ค.
์ด๋ฌํ ๊ฒ ๋๋ฌธ์ ์ปดํจํฐ ์ ์ฅ์์๋ ๊ณ์ฐ์ด 2๋ฐฐ ์ด์์ ๋ค์ด๊ฐ๊ฒ ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ ์์์ weight ๋จ์๋ก ํ ๋จ๊ณ์ฉ ๋ ๋ฏธ๋ถ๊ฐ์ด gradient๋ก ์ ํ๊ฐ ๋์ด์ ์ค์ weight update ๊ฐ์ ๊ตฌํ๋ค๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.
RNN Structure
RNN์๋ ๊ต์ฅํ ๋ง์ structure๊ฐ ์กด์ฌํฉ๋๋ค.
ํ๋์ฉ ๋ด ์๋ค.
Bidirectional
์ด ๊ตฌ์กฐ๋ ์๋ฐฉํฅ์ผ๋ก, ์ต๊ทผ์๋ ๊ทธ๋ฅ RNN ๋ณด๋จ ์๋ฐฉํฅ์ด ๋ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
hidden state๋ค์ด ์๋ฐฉํฅ์ผ๋ก๋ง ์ํฅ์ ๋ฏธ์น๋ ๊ฒ์ด ์๋, ๋ท๋ฐฉํฅ์ผ๋ก๋ ์ํฅ์ ๋ฏธ์น๋ ๊ตฌ์กฐ๋ฅผ ์ดํด๋ณด๋ ๊ฒ์ ๋๋ค.
๊ณผ๊ฑฐ์ ๋ฐ์ดํฐ ๋ฟ๋ง ์๋๋ผ ๋ฏธ๋์ ๋ฐ์ดํฐ์๋ ์ํฅ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
hidden state h์ g๋ ๊ฐ์ hidden state๋ก ๊ฐ์ ๊ธฐ์ฌ๋ฅผ ํฉ๋๋ค.
Encoder-Decoder
Encoder-Decoder ๊ตฌ์กฐ๋ฅผ ๋ด ์๋ค.
์ด๊ฒ์ Sequence๋ก ๋ฐ์์ Sequence๋ฅผ ๋ด๋๋ ํํ๋ ์์ผ๋ฏ๋ก,
Seq2Seq ๊ตฌ์กฐ๋ผ๊ณ ๋ ํฉ๋๋ค.
์ด๊ฒ์ machine translation, QnA์์ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
์์ ๊ฐ์ด ์ ๋ ฅ์ผ๋ก sequence ํ๋๊ฐ ํต์ฑ๋ก ๋ค์ด์ต๋๋ค.
์ด๊ฒ์ด hidden์์ ๊ณ์ ์์ฌ์ ํ๋์ context๋ฅผ ์ด๋ฃน๋๋ค.
์ด๊ฒ์ด ์ญ ํ๋ฆฌ๋ฉฐ ์ถ๋ ฅ sequence๋ฅผ ๋ง๋ค์ด๋ด๋ ๊ตฌ์กฐ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณผ ์์ ๊ฐ์ด ์ ๋ ฅ์ n x, ์ถ๋ ฅ์ n y๋ก ๋ ๊ธธ์ด๋ ๋ค๋ฅผ ์ ์์ต๋๋ค.
encoder์์๋ sequence๋ฅผ ๋ชจ์ผ๊ธฐ๋งํ๊ณ ,
์ด๊ฒ์ด context๊ฐ ๋์ด์ ์ถ๋ ฅ์์๋ ๋ฑ์ด๋ด๊ธฐ๋ง ํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ, ์ด ๊ธธ์ด๋ ๋ค๋ฅผ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์ ๊ฐ์ ๋ชจ์ผ๋ ๊ณผ์ ์ Encoding, ๊ฐ์ ๋ฑ์ด๋ด๋ ๊ณผ์ ์ Decoding์ด๋ผ๊ณ ํฉ๋๋ค.
Deep RNN
RNN์์๋ Deepํ ๊ตฌ์กฐ๊ฐ ์์ต๋๋ค.
์๋ ๊ทธ๋ฆผ์ ๋ด ์๋ค.
๊ทธ๋ฆผ์์ ๋ณด๋ฉด,
์ฒซ ๋ฒ์งธ๋ input -> output ๊ฐ๋ ์ํ ๊ณผ์ ์ Deepํ๊ฒ ๋ง๋ ๊ฒ์ ๋๋ค.
layer๋ฅผ ๋๋ ค์ ๋ง์ด์ฃ .
๊ทธ๋ฆฌ๋ ๋ ๋ฒ์งธ๋,
recurrence์ depth๋ฅผ ์ฃผ๋ ๊ฒ์ ๋๋ค.
์ธ ๋ฒ์งธ๋ skip connection์ผ๋ก ์ํ์ ์ฌ๊ธฐ ์ ๊ธฐ ํ ๊ฒ์ ๋๋ค.
skip connection์ depth๊ฐ ๊ธธ์ด์ง๋ ๊ณ์ํด์ ์ด๊ธฐ ์ ๋ณด๋ฅผ ๊ธฐ์ต์์ผ์ฃผ๊ธฐ ์ํจ์ ๋๋ค.
๊ธด chain์ ์ ๋ณด ์์ค์ ๋ฐฉ์งํด์ฃผ๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ฆผ์ ์์ ๊ฐ์ต๋๋ค.
Single character example
word๋ฅผ one-hot encoding์ ํ ๊ฒ์ ๋๋ค.
์ต๊ทผ์๋ word embedding์ ๋ง์ด ํฉ๋๋ค.
์์ ๊ฐ์ด word ์์ฒด๋ฅผ vectorํ ํ์ฌ ์ ๋ ฅ์ผ๋ก ๋ฃ์ด์ค๋๋ค.
์์ ๊ฐ์ด ์ถ๋ ฅ์ probability์ ๋ํ ๊ฐ์ ๋ฝ์๋ด๋ ํํ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ weight ๋ค์ ์์ ๊ฐ์ด parameter sharing์ด ์ด๋ฃจ์ด์ง๋ ๊ฒ๋ ๋ณด๋ฉด ๋ฉ๋๋ค.
RNN์ ์ฌ๋ฌ ๊ตฌ์กฐ๋ฅผ ๋ค์ ์ดํด๋ด ์๋ค.
- one to one
- MLP
- one to many
- Image captioning
- many to one
- Text classification
- Sentiment analysis
- many to many
- Machine Translator
Sentiment analysis
-> ๊ธ์ or ๋ถ์
Machine Translator
์์ ๊ฐ์ด encoder์์ ์ ๋ณด๋ฅผ ๋ชจ๋ ๋ชจ์ decoder์์ ํ์ด๋ ๋๋ค.
decoder์์ input signal์ ๋ํด ๋์จ Output์ ๋ค์ ์ ๋ ฅ์ผ๋ก ๋ฃ์ด์ฃผ๋ ํํ๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
Image captioning
input์ image์ผ๋ก,
representation learning์ผ๋ก classification ํ ๋ง์ง๋ง์ class์ ๋ํ softmax ํ๋ฅ ๊ฐ์ด ๋ค์ด์ต๋๋ค.
์ด๊ฒ์ ์ ๋ ฅ์ผ๋ก ๋ฃ์ด์ translator ๋๋ฆฌ๋ฏ์ด ๋๋ฆฝ๋๋ค.
๊ทธ๊ฒ์ ๋จ์ด๋ก ํ์ด์ ๋ด๋ฑ๋ ์ํ ์ ๊ฒฝ๋ง์ ๋ถ์ด๋ ๊ตฌ์กฐ๋ ๊ฐ๋ฅํฉ๋๋ค.
'Artificial Intelligence > Deep Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Deep Learning] Recurrent Neural Network (3) - Attention (0) | 2023.05.19 |
---|---|
[Deep Learning] Recurrent Neural Network (2) - LSTM (0) | 2023.05.17 |
[Deep Learning] Convolutional Neural Network (2) (0) | 2023.05.03 |
[Deep Learning] Convolutional Neural Network (1) (1) | 2023.04.30 |
[Deep Learning] Deep Neural Network (4) (0) | 2023.04.19 |