[Deep Learning] Deep Neural Network (2)
๐ง๐ป๐ป์ฉ์ด ์ ๋ฆฌ
Neural Networks
Feed-forward
Backpropagation
Deep Neural Network
์ฐ๋ฆฌ๊ฐ ์ง๊ธ๊น์ง, 1957๋ perceptron, 69๋ MLP, 89๋ Backpropagation ์ ๋ฑ์ฅ์ ๋ดค์ต๋๋ค.
๊ทธ๋ฐ๋ฐ, 95๋ ์ ๋์จ SVM ์ด ์ด๋ก ์ ์๋ฒฝํ๊ฒ Neural Network ๋ณด๋ค ์ฐ์์ ์์๊ธฐ์, 95๋ ๋ถํฐ 2000๋ ๊น์ง NN์ด ์ฃฝ์ด์์์ต๋๋ค.
๊ทธ๋ฌ๋ค๊ฐ, 2006๋ ์ ๋ค์ Deep Learning์ด ์ข์ ์ฑ๊ณผ๋ฅผ ๋ด๊ณ , 2011๋ ์ ๋ค์ ์ด์๋๊ฒ ๋ฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ด์ํ ๊ฒ ์์ต๋๋ค.
์ฐ๋ฆฌ๊ฐ 2006๋ ์ ๊น์ง Deep Learning์ด ์ข์ ์ฑ๊ณผ๋ฅผ ๋ด๊ธฐ ์ ๊น์ง..
์ฌ๋๋ค์ด 3-MLP๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ์ต๋๋ค.
๊ทธ๋ฐ๋ฐ?
์ฌ๋๋ค์ด 10-MLP๋ฅผ ์จ๋ณด์์ ๊ฐ์ ์๊ฐ์ ๊ณผ์ฐ ์ ํ์๊น์?
์ฌ๊ธฐ์ 3-MLP์์ layers๋ฅผ ๋๋ฆฌ๋ฉด ์ข์ ๊ฑฐ ๊ฐ๋ค๋ ์๊ฐ์ ๋๊ตฌ๋ ํ ์ ์์ต๋๋ค.
Deep Learning
๊ทธ๊ฒ์๋ ๋ค์๊ณผ ๊ฐ์ ์ด์ ๊ฐ ์์ต๋๋ค.
- Computational power increase
- SVM์๊ฒ ์ฃฝ์์ ๋นํ ๋น์ computational power๊ฐ ์ง๊ธ๊ณผ ๊ฐ์ง ์์๋ค๋ ๊ฒ์ ๋๋ค.
- GPU makes a breakthrough.
- The amount of data increases
- generalization gap์ด ์ค์ด๋ญ๋๋ค. ์ด๊ฒ์ด ๊ถ๊ทน์ ์ธ machine learning์ ๋ชฉ์ ์ ๋๋ค.
- ๊ทธ๋ฌ๋ฏ๋ก, overfitting์ ์ํ์์ ๋ฒ์ด๋ฉ๋๋ค.
- modeling์ด๋ preprocessing skills์ ์ฐ์ง ์์๋ Deep Learning์ผ๋ก ์ง์ ๊ฐ ์ ์์ต๋๋ค.
- Acceptable performance : 5,000 labeled training data per category
- Exceed human performance : 10 M labeled training data per category
๊ทธ๋์ ์์ค ๊ฐ์ ์ด์ ๋ก ๋ฐ์ดํฐ๊ฐ ์๊ณ , ์ปดํจํฐ ์ฑ๋ฅ์ด ์ข์ง ์์ผ๋, ํ์ต์ ํ ์ ์๋ ํ๊ฒฝ์ด ์๋์์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด,
์ด ๋จ์ํ 2๊ฐ์ง ์ด์ ๋๋ฌธ์ SVM์ ๊ตด์์ ๋นํ๋ค? ์ฌ๋ฌ๋ถ์ ์ด๋ป๊ฒ ์๊ฐํ์๋์?
์ด 2๊ฐ์ง ์ด์ ๋ ๊ต์ฅํ ์ค์ํ๊ธฐ ๋๋ฌธ์ ๊ธฐ์ตํ์ ์ผ ํฉ๋๋ค.
๊ทธ๋ผ์๋ ๋ฌด์ธ๊ฐ ๋ค๋ฅธ ์ด์ ๊ฐ ์์ ๊ฒ ๊ฐ๋ค๋ ์์ฌ์ ํ๊ณ ๋์ด๊ฐ๋๋ก ํ๊ฒ ์ต๋๋ค.
์์์ H/W ์ issue๋ฅผ ๋ค๋ค๋ค๋ฉด ์ด์ ์ ๋ง Deep Learning์ผ๋ก ๋ค์ด๊ฐ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
Vanishing Gradient
๋จผ์ , ํ์ต์ ์์ด weight๋ฅผ ์ ํฉ๋๋ค.
weight์ initial ๊ฐ์ random์ผ๋ก ๋๋ฉฐ, ๊ทธ ๋ค์๋ถํฐ weight update๋ฅผ ํฉ๋๋ค.
์ด update๋ ์์ ๊ฐ์ด learning rate๋ผ๋ ์์์ gradient๋ฅผ ๊ณฑํ๊ณ , ์ด gradient ์ญ๋ฐฉํฅ์ผ๋ก ๊ฐ๋ ๊ฒ์ด Backpropagation์ ๋๋ค.
์ด Backpropagation์ ์ํด์ ์ฐ๋ฆฌ๊ฐ Neural Network๋ฅผ ํ์ต ์ํต๋๋ค.
์ด๊ฒ์ด 3-layer MLP์ ๊ฒฝ์ฐ์๋ ๊ทธ๋ ๊ฒ ๋ณต์กํ์ง ์์์ต๋๋ค.
weight update rule ์์ฒด๋ ๋๊ฐ์ง๋ง ๋ง์ด์ฃ .
์ฌ๊ธฐ์, Error๊ฐ loss๋ก ๊ณ์ฐ๋ฉ๋๋ค.
์ด loss๋ก๋ถํฐ Backpropagation์ ๋ค์ชฝ์ผ๋ก ์ญ์ ํ๋ฅผ ํด๋๊ฐ๋๋ค.
์ ์ผ high layer๋ถํฐ ์ ์ผ low layer๊น์ง gradient๋ฅผ ํ๊ณ ํ๊ณ ๊ฐ ์ ์์ต๋๋ค.
๊ทธ๋ ๊ฒ ์ญ์์ผ๋ก ํ๊ณ ๊ฐ๋ ๊ฒ Backpropagation์ ๋๋ค.
๊ทธ๋ฐ๋ฐ, Vanishing gradient๋ผ๋ ๊ฒ์ ์ ์ ๊ธฐ์ธ๊ธฐ๊ฐ ์์์ง๋ ๊ฒ์ ์๋ฏธํ๊ณ , exploding gradient๋ ๊ธฐ์ธ๊ธฐ๊ฐ ์ ์ ๋ฐ์ฐํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก๋ vanishing gradient๊ฐ ๋ ํฐ ์ญํ ์ ํ๊ฒ ๋ฉ๋๋ค.
๊ทธ๋ฌ๋ฏ๋ก, ๊ธฐ์ธ๊ธฐ์ ํฌ๊ธฐ๋ฅผ Backpropagation ๊ณผ์ ์์ ์ด๋ ์ ๋ ์ผ์ ํ๊ฒ ์ ์งํด์ค์ผ ํ๋๋ฐ,
layer๊ฐ ๋ง์์ง๋ฉด ๋ง์์ง ์๋ก, ์ฐ๋ฆฌ์ model์ด deepํ๋ฉด deepํ ์๋ก Backpropagationํ ๋, ๊ธฐ์ธ๊ธฐ๊ฐ ์ ์ ์์์ง๊ฒ ๋๋ ๊ฒ์ ๋๋ค.
ํน์ ๊ธฐ์ธ๊ธฐ๊ฐ 0์ด ๋์ด update๊ฐ ์ ๋๋ ๊ฒ๊น์ง ์ต๋๋ค.
gradient ํฌ๊ธฐ ๋งํผ update๊ฐ ๋๋ ๊ฒ์ธ๋ฐ, gradient๊ฐ ์์ฒญ ์๊ฑฐ๋ 0์ด ๋๋ฉด ์ด๊ธฐ ๋จ๊ณ layer๋ค์ weight๊ฐ update๊ฐ ์ ๋๊ฒ ๋ฉ๋๋ค.
activation function์ logistic sigmoid๋ก ๊ฐ์ ํ๋ฉด,
์์ ๊ฐ์ด Backpropagation ๊ณผ์ ์์ ์ง๊ธ ๋ layer๋ง ๋ด๋ ค๊ฐ๋ weight update ์์น๊ฐ ์์ฒญ๋๊ฒ ๋ฎ์์ง๊ฒ ๋ฉ๋๋ค.
3-layer MLP๋ง ํด๋ ์ด์ ๋์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด logistic sigmoid์์ ๊ธฐ์ธ๊ธฐ๊ฐ 0์ ๊ฐ๊น์ด ๊ฐ๋ค์ด ์๊ฒ ๋ฉ๋๋ค.
์ด 0์ ๊ฐ๊น์ด ์ ๋ค์ ์ฌ๋ฌ ๋ฒ ์ค์ฒฉํด์ ๊ณฑํ๋ค๋ ๊ฒ์ ๋๋ค.
๊ทธ๋์ Backpropagation ์ค์์ vanishing gradient ๋ฌธ์ ์ ์ง๋ฉดํ๋ ๊ฒ์ activation function์ ๋ฌธ์ ์ ๋๋ค.
Remedy 1 : Pre-training
๊ทธ๋ ๋ค๋ฉด, ๊ณ์ํด์ weight ๊ฐ ์์ค์ด ๋ฉ๋๋ค.
์ฌ๊ธฐ์ initial weight๊ฐ randomํ๋ฉด deepํ ์๋ก ๊ณ์ weight๊ฐ ์์ค๋๊ฒ ๋์ฃ .
๊ทธ๋ ๋ค๋ฉด, ์ด๋์ ๋ ๋๋ํ weight๋ฅผ ์ฒ์์ initializationํด๋์ผ๋ฉด ๋์ง ์๋?
๋ณธ๊ฒฉ์ ์ผ๋ก Neural Networks๊ฐ ํ์ตํ๊ธฐ ์ ์, ์ฌ์ ์ ๋ฌด์ธ๊ฐ๋ฅผ ํด๋์.
๊ทธ๋ฐ ์์ด๋์ด๊ฐ ๋ฐ๋ก "Pre-training"์ ๋๋ค.
Deep Belief Networks (DBN)
๊ทธ๋ ๋ค๋ฉด, Restricted Bolzmann Machine (RBM)์ผ๋ก Pre-training์ ํด๋๊ณ ,
๊ทธ๋ฆฌ๊ณ ๋์ค์ Backpropagation ์์๋ fine-tunning์ ํ๋ ๋ฐฉ์์ด ์ด DBN์ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด, ์ด ๊ทธ๋ฆผ์ ์ฐ์ธก์ layer ๋ผ๋ฆฌ์ RBM์ ๋๋ ค๋๊ณ , ์ต๋ํ weight๋ฅผ ์ด๋์ ๋๋ ํ์ต์ ์์ผ ๋์๋ ๊ฒ์ ๋๋ค.
์ฆ, RBM์ ์ฌ์ฉํด์, layer-wise๋ก pre-training์ ํ๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ฐ๋ฆฌ๊ฐ initial weight๋ก ์ผ๋ ์ด W0๋ผ๋ ๊ฐ์, random์ด ์๋, ์ด๋ ์ ๋ ๊ฐ layer ์ฌ์ด์ ๊ด๊ณ๋ฅผ ์ค๋ช ํ ์ ์๋ weight๊ฐ ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ , Backpropagation ์ fine-tunning๋ง ์งํํ๊ฒ ๋ฉ๋๋ค.
๊ทธ๋์ ์ข์ธก๊ณผ ๊ฐ์ ๊ทธ๋ฆผ์ ์์๊ฐ ๋์ฌ ์ ์์ต๋๋ค.
๊ทธ๋์ ์ด ๋ฐฉ๋ฒ์ Unsupervised Pre-train์ด๋ผ๊ณ ํ๊ธฐ๋ ํฉ๋๋ค.
RBM ๋จ๊ณ์์๋ y ๊ฐ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
๊ทธ์ layer ๋ผ๋ฆฌ RBM ํฉ๋๋ค.
y ๊ฐ์ fine-tunning ์ ๋ค์ด์ต๋๋ค.
์ ๋ฆฌํ์๋ฉด, Supervised ๋ฌธ์ ๋ฅผ ํธ๋ network์ด์ง๋ง, Unsupervised ๊ธฐ๋ฒ ์ค ํ๋์ธ ์ด RBM์ผ๋ก Pre-training์ ๋ฏธ๋ฆฌ ์์ผ๋์ ์ ๋๋ค.
๊ทธ๋์ ์ด๊ฒ์ Unsupervised learning ๋ฌธ์ ๋ฅผ ํ๋ ๊ฒ์ ์๋๋ผ๋ ๊ฒ์ ๋๋ค.
unsupervised ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ด์ง, ์ค์ ๋ก Supervised learning์ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ์ ๋๋ค.
์คํด ์์ผ์๊ธธ ๋ฐ๋๋๋ค.
๊ทธ๋ฐ๋ฐ, ์ด DBN์ ํ์ฌ ์ ์ฌ์ฉํ์ง๋ ์์ต๋๋ค.
์ด Pre-training์ ๊ณผ์ ์ด ๋๋ฌด๋ ํฌ๊ธฐ ๋๋ฌธ์ ๋๋ค.
DrawBack : Pre-training process is too heavy.
์ด RBM์ ๋ถํฌ ์ถ์ ์ ํ๊ธฐ ๋๋ฌธ์ ๊ต์ฅํ ์ค๋ ๊ฑธ๋ฆฝ๋๋ค. ๊ทธ๋์ Pre-training์๋ ํฐ cost๊ฐ ๋ญ๋๋ค.
Backpropagation์ ๋ถํฌ ๊ณผ์ ์ด ํ์ํ์ง ์์ต๋๋ค.
Backpropagation์ ๋์ค์ ๋ถํฌ ๊ณผ์ ์ด ํ์ํ maximum likelihood์ ๋น์ทํ ์ญํ ์ ํ๋ค๊ณ ํ๋๋ฐ,
์ด์งธํผ, Backpropagation์ ๋ถํฌ ๊ณผ์ ์ด ํ์ํ์ง ์์ต๋๋ค.
RBM์ ๊ทธ์ ๋นํด ์กฐ๊ธ ๋ ํ๋ฅ function ๊ธฐ๋ฐ์ ๋๋ค.
๊ทธ๋์ ํ๋ํ๋ ํ์ตํ๋ ์๊ฐ์ด Backpropagation๊ณผ ๋น๊ตํ์ฌ ์์ฒญ ์ค๋ ๊ฑธ๋ฆฝ๋๋ค.
์ง๊ธ์ Pre-trainํ์ง ์์๋ Vainishing Gradient๋ฅผ ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๊ฒผ์ต๋๋ค.
๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ด DBN์ ์ ๋ง ์ค์ํ ๊ฐ๋ ์ ๋๋ค.
Deep Learning์ด ์ฒ์์ผ๋ก SVM์ ์ด๊ธธ ์ ์๋ค๊ณ ๋์จ Model์ ๋๋ค.
๊ทธ๋ผ ์ง๊ธ๊น์ง DBN์ผ๋ก๋ถํฐ ์ฐ๋ฆฌ๋ ํฌ๋ง์ ๋ดค์ต๋๋ค.
Deepํ๊ฒ layers๋ฅผ ์๋ ๊ฒ์, Vanishing Gradient Problem์ผ๋ก ๋ชป ํ ๊ฑฐ ๊ฐ๋ค๊ณ ์๊ฐํ์ง๋ง, ํฌ๋ง์ด ์๊ฒผ์ต๋๋ค.
Remedy 2 : ReLU Activation (Rectified Linear Unit)
์ฌ๊ธฐ์ ์ดํด๋ณด๋ activation function์,
logistic ๊ณ์ด๊ณผ ReLU์ ๋ณํ๋ค๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
ReLU Activation (Rectified Linear Unit)์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Easy Calculation
- Gradient is large
๊ทธ๋ฐ๋ฐ, ์ด ํจ์๋ (0,0)์์ ๊ฐ์ด ์๊ธฐ ๋๋ฌธ์ ๋ฏธ๋ถ์ด ๋ถ๊ฐํฉ๋๋ค.
ํ๊ณ์์๋ ์ค์ ๋ก ํ์ตํ ๋, ์ ๊ฒฝ์ธ ๋ถ๋ถ์ด ์๋๋ผ๊ณ ๋งํฉ๋๋ค.
๊ทธ๊ฒ์ 0.000000...0์ ๊ฐ์ด ์ค์ ๋ก ๋ํ๋ ์ผ์ด ๊ฑฐ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
DrawBack
-> Deactivate for every nodes
sigmoid์ ๊ฐ์ logistic ์ข ๋ฅ์ activation function์ ์๋ฌด๋ฆฌ ์ ์ข์ ๊ฐ์ด ๋๊ฐ๋ 0.01์ด ๋๊ฐ๊ฒ ๋ฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด, ์ด๋ป๊ฒ ํด์๋ ํจ์ซ๊ฐ์ด feed forward process์์ ์ ๋ฌ์ด ๋ฉ๋๋ค.
๊ทธ๋ฐ๋ฐ, ReLU์ ๊ฒฝ์ฐ์๋ signal์ ํฌ๊ธฐ๊ฐ ์์์ง ๊ฐ๋ฅ์ฑ์ด ๋์์ง๋๋ค.
๊ฒ๋ค๊ฐ Weighted Summationํ๋๊น ๋ง์ ๋๋ค.
์์ชฝ์์ ๊ฐ์ด ๋ง์ด activation์ด ๋ง์ด ์ ๋์ด ์๋ค๋ฉด, ๋ค์ชฝ์์๋ ๊ฐ์ด deactivate ๋๋, ๊ทธ๋์ ๊ฐ์ด g(z) == 0์ด ๋๋,
๊ฑฐ์ ๋ชจ๋ Node๊ฐ deactivate๋ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
๊ทธ๋์ ReLU function์ด ์ฒ์ ๋์์ ๋, sparse activation์ด๋ผ๊ณ ๋ถ๋ ์ต๋๋ค.
๋ฌ์ฑ ๋ฌ์ฑ activation์ด ๋๋ค๋ ์๋ฆฌ์ฃ .
๊ทธ sparseํจ์ด ๋๋ฌด sparse ํด์ง๋ฉด ์์ ๋ถ์ ๋ค ๊บผ๋ฒ๋ฆด ์๋ ์๋ ๊ฒ์ ๋๋ค.
๊ทธ๋์ ReLU๋ฅผ ์ธ ๋๋, ์ด๊ธฐ์ ๊ฑฐ์ ๋ค Activation์ ์์ผ๋๊ณ ์์ํฉ๋๋ค.
deactivation ๋๋ฉด, gradient๋ ๋น์ฐํ 0์ด๋, ๋ค์ชฝ node ๋ค๋ update๋ ์์ ์ ๋๊ฒ ๋ฉ๋๋ค.
๊ฐ๋ฅํ๋ฉด ์ด๊ธฐ์๋ ๋ง์ด activation ์์ผ๋๊ณ , ์ต์ง๋ก ์์์ํฉ๋๋ค.
์ sparseํ ์ ๋ค์ ํด๊ฒฐํ๊ธฐ ์ํด์,
Leaky ReLU๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ง์ด๋์ค ๊ฐ์ ๋ํด์ ๋ญ๊ฐ signal์ ์ ๋ฌ ๋ฐ๊ณ weighted summation์์์ ์ํฅ๋ ฅ์ด ์์ง ์๋๋ก ํฉ๋๋ค.
์ฆ, Zero-gradient๋ฅผ ํผํ๊ธฐ ์ํฉ์ ๋๋ค.
maxout๋ ์กด์ฌํฉ๋๋ค.
์ด๊ฒ์ NLP ๋ถ์ผ์์ ๊ฝค ์ฌ์ฉ๋ฉ๋๋ค.
linear nodes์์๋ activation ๋์ง ์๊ณ , H1์์ activation๋ฉ๋๋ค.
์ด H1์์ linear nodes ๋ค ์ค ๊ฐ์ฅ ํฐ ๊ฐ๋ง ๋ด๋ณด๋ ๋๋ค.
Weighted Summation์ ํ์ง ์์ต๋๋ค.
์ฌ์ ์ node๋ค์ Linearํ๊ฒ ์กฐํฉํ๋, ๊ทธ ์ค์์ ๊ฐ์ฅ ํฌ๊ฒ activation๋ ์ ๋ง linearํ๊ฒ ํต๊ณผ์์ผ๋ฒ๋ฆฝ๋๋ค.
์ด๊ฒ์ deactivation ๋๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
์๋ ์ฌ์ง๊ณผ ๊ฐ์ด ๋น๊ตํ ์ ์์ต๋๋ค.
๊ฒฐ๊ตญ ReLU๋ก ์์ํด์ ์ด๋ฌํ linear function์ ์ฌ์ฉํ ๊ฒ์ ๋๋ค.
linear function ์ข ๋ฅ๋ฅผ ์ฐ๋ฉด์ ๊ฐ์ฅ ํฐ ๊ฐ์ ๋ด๋ณด๋ธ๋ค ๋ฑ์ non-linear transformation์ ํ ๊ฒ์ ๋๋ค.
ํ์ง๋ง out์ด ๋๊ฐ๋ ํํ ์์ฒด๋ Linearํ๊ฒ ๋๊ฐ๊ฒ ๋ฉ๋๋ค.
์ด๊ฒ์ ํตํด ๊ณ์ฐ์ ์ฝ๊ฒ ํ๊ณ , gradient์ ๊ฐ๋ ํฌ๊ฒ ์ ์งํ๋ฉด์, ์์ฒญ๋ Vanishing gradient problem์ ์กฐ๊ธ์ฉ ๊ฐ์ ํ์ฌ ํผํ ์ ์๊ฒ ๋์์ต๋๋ค.