[Deep Learning] Feedforward
๐ง๐ป๐ป์ฉ์ด ์ ๋ฆฌ
Neural Networks
Feed-forward
Backpropagation
Feed-forward
Network inputs์ด Input layer๋ฅผ ๊ฑฐ์น๊ณ ์ฌ๊ธฐ์ ๊ณ์ฐ์ ํตํด Hidden layer๋ก output์ด ์ ๋ฌ๋์ด input์ผ๋ก ์ ๋ฌ๋๊ณ , ๋ hidden layer์์ ์ด๋ฃจ์ด์ง ์ฐ์ฐ์ ๊ฒฐ๊ณผ๊ฐ output layer์ ์ ๋ฌ๋์ด network output์ผ๋ก ์ต์ข ์ ๋ฌ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ , ๊ฐ๊ฐ์ ๋ชจ๋ input์ ๋ํ์ฌ hidden์ ๋ชจ๋ ์ฐ์ฐ๋์ด, ๊ฐ๊ฐ์ weight๋ก ์ฐ์ฐ๋์ด ๋ค์ด๊ฐ๊ฒ ๋ฉ๋๋ค.
์๋ก ๋ค๋ฅธ weight๋ผ๋ ๊ฒ์ ๋๋ค.
i -> j : Wji
์ ํ๊ธฐ์ ๊ฐ์ด ์ฐ๋ฆฌ๋ ์ฐ์ฐ์ ๊ฐ์ ๋ณด์ด์ง๋ง W^T์ ๊ฐ์ธ Weight vector๋ ๋ค๋ฅด๊ฒ ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
์ด ๊ณผ์ ์ input -> hidden ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ,
์์ ๊ฐ์ด hidden -> output์ ๊ณผ์ ์ ๋๋ค.
์ ๊ณผ์ ์ ํตํฉํ์ฌ,
์ด๋ ๊ฒ ์ ๋ฆฌํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋, Y๋ vector๋ก ์ฌ๋ฌ ๊ฒฐ๊ณผ ๊ฐ์ ๊ฐ์ง๊ณ ์์ ์ ์๊ธฐ ๋๋ฌธ์ ์ ํํ ๋งค์น๋๋ ์์์ ์๋๋๋ค.
๊ทธ์ ๋๋์ ์ผ๋ก ์๊ณ ๋์ด๊ฐ๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ค์ํ ๊ฒ์ input์ ์ ๋ณด๊ฐ layer๋ฅผ ๊ฑฐ์ณ ๊ณ์ฐ๋์ด ๋์ค๋ ์ ๋ณด๊ฐ ๊ณ์ํด์ "์์ผ๋ก" ์ ๋ฌ๋๋ค๋ ๊ฒ์ ๋๋ค.
Network์ด multi layer๋ฅผ ์์๋ค๋ ๊ฒ์, ํจ์ ๊ณ์ฐ๋ค์ด ๊ณ์ ์ค์ฒฉ๋์ด ์ด๋ฃจ์ด์ง๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
์ฆ, ํจ์์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง๊ณ ๋ค์ ํจ์๋ฅผ ๊ณ์ฐํ๋ ๊ฒ์ด์ง์.
๊ทธ๋ผ ์์์ ๋ ์์ธํ ์ดํด๋ณผ๊น์?
์๋ ์์์ hiddden to output์ ๋ํ๋ ๋๋ค.
net์ ๊ทธ์ network ๊ณ์ฐ๊ฐ์ ์๋ฏธํฉ๋๋ค.
์ฐ๋ฆฌ๋ layer์์ ์๋์ ๊ฐ์ด summation๊ณผ Activation part๋ฅผ ๊ฐ์ง๋๋ค.
๊ทธ๋์ summation๊น์ง ์งํ๋ ๋ถ๋ถ์ net์ด๋ผ๊ณ ์นญํฉ๋๋ค.
์ฌ๊ธฐ์ activation๊น์ง ๋์ด์ผ ํด๋น layer์ output vector์ ํฌํจ๋๋ ๊ฒ์ ๋๋ค.
์ฆ, net์ ๊ฐ์ ์ต์ข output์ด ์๋๋๋ค.
net i == y i๊ฐ ์๋๋ผ๋ ๊ฒ์ ๋๋ค.
activation function์ ํต๊ณผํด์ผ y i ๊ฐ ๋ ์ ์์ต๋๋ค.
๋ฐ๋ผ์,
f(net i) = y i์ ๋๋ค !
์ด ์์์ input to output์ ๋ํ๋ ๋๋ค.
๊ฒฐ๊ตญ ์ค์ํ ๊ฒ์,
์ด feedforward process๊ฐ ์์๋๋ก ์งํ๋๋ฉฐ, layer์ output์ ๊ทธ ๋ค์ layer์ input์ผ๋ก ์ด๋ค๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ํญ์ ํจ์๊ฐ ์ค์ฒฉ๋ฉ๋๋ค.
์ ์ด๋ ๊ฒ ๋ดค์ ๋,
MLP๊ฐ ์กด์ฌํ ๋,
์ ๊ตฌํด์ง Weight์ ๋ํด์ input data๋ฅผ ๋ฐ์์ feedforward ์ฒ๋ฆฌ๋ฅผ ํด์ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ์์ธก ์ถ๋ ฅ ๊ฐ์ ์ป์ด๋ผ ์ ์๊ฒ ๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด MLP๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํด ์ฐ๋ฆฌ๊ฐ ํด์ผํ ๊ฒ์ ๋ฌด์์ผ๊น์?
๋จผ์ ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด Neural Net์ด ์๊ฒผ์ต๋๋ค.
Weight๋ ํ์ตํ๋ฉฐ ๊ตฌํด์ง๋ ๊ฒ์ด๊ณ ,
์ฐ๋ฆฌ๊ฐ ๊ฒฐ์ ํด์ผํ ๊ฒ์,
input node์ ๊ฐ์๋ ๋ฐ์ดํฐ์ ์ํด, feature์ ์ํด ๊ฒฐ์ ๋๋ฏ๋ก ์ด๋ฏธ ์ ํด์ ธ ์๋ ๊ฐ์ด๋ค.
๊ทธ๋ฆฌ๊ณ , Output node์ ๊ฐ์๋ ์ฐ๋ฆฌ๊ฐ ํ๊ณ ์ํ๋ ๋ฌธ์ ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
Classification, Regression, .... ๋ฑ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
๊ฒฐ๊ตญ ์ฐ๋ฆฌ๊ฐ ์ ํด์ผ ํ๋ ๊ฒ์,
Hidden Layer์ ๊ฐ์์ Hidden Node์ ๊ฐ์์ ๋๋ค.
๊ฐ๊ฐ์ ์ฐ๋ฆฌ๋ depth์ width๋ผ๊ณ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ๋ฌธ์ ์ ๋ฐ๋ผ ์ ์๋์ด ์๋ ๊ฒ์ด ์๋, ์ฌ๋์ด ์ ํด์ค์ผ ํฉ๋๋ค.
๋ฐ๋ผ์, hidden layer, hidden node๋ฅผ ๋ง์ด ์ธ ์๋ก capacity๋ฅผ ๋ ๋ง์ด ์ฐ๋ฆฌ ๋ชจ๋ธ์๊ฒ ๋ถ์ฌํ๋ค๋ ๊ฒ์ ๋๋ค.
๊ทธ๋์ ๋๋ฌด ๋ง์ capacity๋ฅผ ๊ฐ๋๋ค๋ฉด overfittingํ ๊ฐ๋ฅ์ฑ์ด ๋์์ง๋๋ค.
์ด ๋ชจ๋ธ์ ์ผ๋ฐํ๋ฅผ ์ ํ๋ ๋ชจ๋ธ์ด๋ผ๊ธฐ ๋ณด๋ค๋ ๊ทธ์ , trainging ๋ฐ์ดํฐ๋ฅผ ๋ค ์ธ์๋ฒ๋ฆฌ๋ ํจ๊ณผ๊ฐ ๋ํ๋๊ฒ ๋ฉ๋๋ค.
์ฌ๊ธฐ์ ์ ๋นํ ์ ํ๋๋ก ์ค์ ํ๋ ๊ฒ์,
Regularlization, Generalization, .. ๋ฑ๋ฑ์ ๊ฒ๋ค์ ํตํด์ ์ป์ด์ง๋๋ค.
Activation Function
๊ทธ ๋ค์ ๊ฒฐ์ ํด์ผํ ๊ฒ์ Activation function์ ์ด๋ค ๊ฒ์ผ๋ก ์จ์ผํ๋์ ๋๋ค.
ํ์ฌ ReLU์ ReLU์ ์น๊ตฌ๋ค์ด ๊ฑฐ์ Default์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ hyperblic tan์ ์์ง RNN ๊ณ์ด์์ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด input layer์ ์๋ input node๋ค์ y = x function ํํ์ ์ ์ ๊ทธ์ด, ์ฌ๊ธฐ์๋ Activation function์ด ์กด์ฌํ์ง ์๋ ๋ค๋ ๊ฒ์ ์๋ ธ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ , Hidden layer์ Output layer์ ์์ด์, ๊ฐ๊ฐ Activation function์ ์ญํ ์ด ๋ค๋ฆ ๋๋ค.
Role of activation function in hidden unit
- ๋ง์ฝ signal, ์ฆ, net j๊ฐ ์ถฉ๋ถํ ํฌ๋ค๋ฉด, hidden unit์ ์ด๊ฒ์ ํฐ ๊ฐ์ผ๋ก ๋ด๋ณด๋ ๋๋ค.
- ๊ทธ๋ฌ๋ ์๋ค๋ฉด, ์์ ๊ฐ์ผ๋ก ๋ด๋ณด๋ ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ nonlinear transformation์ ํฉ๋๋ค. hidden์ linearํ์ง ์์ต๋๋ค.
Role of activation function in output unit
- ์ฐ๋ฆฌ๊ฐ ์ด๋ค ๋ฌธ์ ๋ฅผ ๊ฐ๊ณ ์๋์ ๋ฐ๋ผ output node์ ํํ๊ฐ ๋ฌ๋ผ์ง๋๋ค.
- 2-classification ์์๋ ๋น์ฐํ logistic ํํ์ sigmoid units์ ์ฌ์ฉํฉ๋๋ค.
- 2-classification ์ด๋ฏ๋ก output node๋ ํ๋๋ง ์์ผ๋ฉด ๋ฉ๋๋ค.
- ์ฒซ ๋ฒ์งธ or ๋ ๋ฒ์งธ class๊ฐ ๋ ํ๋ฅ ์ ๊ตฌํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ , ์๋์ ๊ฐ์ด Output์ ํํํฉ๋๋ค.
- ์ฐ๋ฆฌ๊ฐ ์ด๋ค ๋ฌธ์ ๋ฅผ ๊ฐ๊ณ ์๋์ ๋ฐ๋ผ output node์ ํํ๊ฐ ๋ฌ๋ผ์ง๋๋ค.
- Multi-class classification์์๋ ์ด์ผ๊ธฐ๊ฐ ๋ฌ๋ผ์ง๋๋ค. ์ฌ๊ธฐ์ 3 ์ด์์ class๋ฅผ ๋๋ ์ผ ํ๋ ๋ฌธ์ ๊ฐ ๋์ต๋๋ค.
- ๋ณดํต ๋ถ๋ฅํ๊ณ ์ ํ๋ ๊ฐ์๋ก Output์ ์ ํฉ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ Activation function์ผ๋ก๋ softmax function์ ์ฌ์ฉํ๊ณ , one-hot encoding์ ์ฌ์ฉํฉ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ ๋์จ class์ ๋ํ ๊ฐ๊ฐ์ ํ๋ฅ ๊ฐ์ ์์ด์, logistic์ ์ฌ์ฉํ๋ฉด ๊ฐ๋ค์ ํฉ์ด 1์ด ์๋๊ฒ ๋ฉ๋๋ค.
- ๊ฒฐ๊ตญ logistic์ ์์ ์ ๋, ๊ฐ๊ฐ์ ๋ณด๋ฉด ํ๋ฅ ๊ฐ์ฒ๋ผ ๋ณด์ด์ง๋ง, ์ ์ฒด์ ์ธ ๊ด์ ์์๋ ํ๋ฅ ๊ฐ์ด ์๋๊ฒ ๋ฉ๋๋ค.
- ๊ทธ๋์ softmax๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์ฐ๋ฆฌ๊ฐ ์ด๋ค ๋ฌธ์ ๋ฅผ ๊ฐ๊ณ ์๋์ ๋ฐ๋ผ output node์ ํํ๊ฐ ๋ฌ๋ผ์ง๋๋ค.
- ์ฐ๋ฆฌ๋ regression ๋ฌธ์ ๋ฅผ ํ ์ ์์ต๋๋ค.
- ์์ ๋ณด์๋ classification ์์๋ continuous ํ ๊ฐ๋ค์ probability๋ก ๋ฐ๊ฟ์ค ํ์๊ฐ ์์์ต๋๋ค.
- ๊ทธ๋ฌ๋ regression์์๋ ๊ฐ ๊ทธ ์์ฒด๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ Activation function์ด ํ์ํ์ง ์์ต๋๋ค.
- y = net์ ํํ๋ก ๊ทธ์ summation์ ๋์ ํด์ ํด๊ฒฐํฉ๋๋ค.
- ์ด๋ ์ด๋ค function๋ ๊ฑฐ์น์ง ์๊ณ ๊ทธ๋๋ก output์ ๋ด๋๋ ๊ฒ์ ๋งํฉ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ output์ด ์ฌ๋ฌ ๊ฐ์ผ ํ์๊ฐ ์์ผ๋ฉฐ, linear units์ ์๋ ์ฌ์ง๊ณผ ๊ฐ์ด ๋ฐฐ์นํฉ๋๋ค.
- ๊ทธ๋ฌ๋ฏ๋ก ์ด linear units์ output node activation function์ด ๋์ง๋ง, ์ฌ์ค์ ๊ทธ๋๋ก ๊ฐ์ด ๋์ค๋ ๊ฒ์ ๋ถ๊ณผํฉ๋๋ค.
์, ๊ทธ ๋ค์์ผ๋ก ํ์ํ ๊ฒ์ด ์ด๋ ํ Loss Function์ ์ฌ์ฉํ ๊ฒ์ธ๊ฐ ์ ๋๋ค.
Loss Function
์์์ ์ดํด๋ณธ Classification, Regression ๋ฑ๋ฑ์ ์ํ์ด ์ผ๋ง๋ ์ ์ด๋ฃจ์ด์ก๋์ง๋ฅผ ํ์ธํ๊ธฐ ์ํด์ Loss Function์ ๊ณ์ฐํ ์ฐจ๋ก์ ๋๋ค.
์ฐ๋ฆฌ Network์ด ์ผ๋ง๋ ์ง์ค๋ง์ ์ด์ผ๊ธฐ ํ๋์ง. ์ผ๋ง๋ ์ ๋ต์ ์ด์ผ๊ธฐ ํ๋์ง.
๋จผ์ ,
Classification ์์๋ Cross-entropy๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ด๋ฅผ ํตํด ์ฐ๋ฆฌ๊ฐ ์ด ๊ฐ์ ์ต์ํ ํ๋ ๋ฐฉํฅ์ ์ฌ์ฉํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ,
Regression ์์๋ MSE์ธ Mean Squared Error๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ด ๊ฐ์ ๋ฏธ๋ถ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ํ์ ์กฐ์น์ ๋ฅํฉ๋๋ค.
์์ ๊ฐ์ด ์ ๋ฆฌํ ์ ์์ต๋๋ค.
'Artificial Intelligence > Deep Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Deep Learning] Backpropagation in special Functions (0) | 2023.04.03 |
---|---|
[Deep Learning] Backpropagation (0) | 2023.03.30 |
[Deep Learning] - MLP(Multilayer Perceptron) (0) | 2023.03.26 |
[Deep Learning] - Neural Networks (0) | 2023.03.26 |
[Supervised Learning] ์ง๋ ํ์ต (0) | 2023.02.08 |