[Deep Learning] Backpropagation in special Functions
๐ง๐ป๐ป์ฉ์ด ์ ๋ฆฌ
Neural Networks
Feed-forward
Backpropagation
์ง๊ธ๊น์ง ์กฐ๊ธ์ generalํ ํํ์ ๋ถ๋ถ๋ค์ ๋ง์ด ๋ณด์ จ๋ค๋ฉด,
์ด๋ฒ์๋ ์ค์ ๋ก ๋ ๋ง์ด ์ฐ์ด๋ function๋ค์ ๋ฏธ๋ถ๊ฐ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
Backpropagation
์์์๋ f'(net)์ผ๋ก activation function์ ๊ณ์ฐํ๊ณ ๋์ด๊ฐ์ต๋๋ค.
์กฐ๊ธ ๋ specialํ ํํ๋ฅผ ๋ณด๊ฒ ์ต๋๋ค.
Cross Entropy
๊ธฐ์กด์๋ ln์ด ๋ถ์ด์์ง๋ง,
์ฐ๋ฆฌ์ ๋ชฉํ๋ ์ต์ ํ์ด๋, ๋ชจ๋ ํญ์ ๋๊ฐ์ด ๊ณฑํด์ง ์์๋ ์๋ฏธ๊ฐ ์์ต๋๋ค.
๊ทธ๋์ ์์ ๊ฐ์ด ์ฐ์ฐ๋ฉ๋๋ค.
Softmax
softmax ํจ์์ ๋ฏธ๋ถ์ ์ ๊ธฐํ๊ฒ๋ ์๊ธฐ ์์ ๋ค์ ์กฐํฉ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
์ด๊ฒ์ ํตํด ์ฐ๋ฆฌ๋,
feed forward ๊ณผ์ ์์ softmax function์ ๊ฐ ๊ณ์ฐ ๊ฒฐ๊ณผ๋ค์ด ์ ์ฅ๋์ด ์์์ ์๊ณ ,
๊ทธ๋ ๋ค๋ฉด backpropagation ์ค, ์ softmax function์ ๊ฐ ๊ณ์ฐ ๊ฒฐ๊ณผ๋ค์ด ์๋ค๋ฉด ์์ ๊ฐ์ ๋ฏธ๋ถ ๊ฒฐ๊ณผ๋ก ๋ฏธ๋ฃจ์ด ๋ณผ ๋, ์ฐ๋ฆฌ๋ ๋ ๋ง์ ์ฐ์ฐ์ softmax์์๋ ํด์ค ํ์๊ฐ ์๋ค๋ ๊ฒ์ ์์๋์ต๋๋ค.
Sigmoid
logistic sigmoid์ ๋ํ ์ฐ์ฐ์ ์์ ๊ฐ์ด ์ด๋ฃจ์ด์ง๋๋ค.
softmax์ ๋ฏธ๋ถ form์ด ๊ฐ์ ์์์ ๋๋ค.
์ฌ์ค softmax๊ฐ logistic์ scaling ํด๋์ ๊ฑฐ๋ผ ๋น์ฐํ ๊ฒฐ๊ณผ์ด๊ธด ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ , softmax์ ๋ง์ฐฌ๊ฐ์ง๋ก feedforward๋ฅผ ์งํํ๋ฉด, ์ ์ฅํ๋ ค๊ณ ํ๋ฉด, hidden์ด๋ output node์ด๋ ์๊ด ์์ด activation function์ด ํต๊ณผ๋ ๊ฐ๋ค์ ์ ์ฅํด๋์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ๋ฐ๋ก ๋ฏธ๋ถ๊ฐ์ ๊ตฌํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
ReLU
์์ฆ์ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ hidden node์ activation function์ ๋๋ค.
์์ ๊ฐ์ด ReLU function์ด ์์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด๊ฒ์ net์ ๊ฐ์ด x์ด๋ฏ๋ก, ์ ์์๊ณผ ๊ฐ์ด y๋ก ํํ๊ฐ๋ฅํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ๋ค์, ํํํด๋ด ์๋ค.
์์ ๊ฐ์ด x๊ฐ 0๋ณด๋ค ํฐ ๊ฒฝ์ฐ์๋ 1์ด๋ค ๋ผ๊ณ ๋ณผ ์๋ ์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ, w์ ๋ํ ์์ด๋ฏ๋ก w์ ๋ํด์ ๋ฏธ๋ถํ๋ค๋ฉด ์์ ๊ฐ์ด x๋ก ๋์ค๊ธฐ๋ ํฉ๋๋ค.
๋ ๋ค ๋ง๋ ์์ ๋๋ค.
์ธ์๋ฅผ ๋ญ๋ก ๋ณผ ๊ฒ์ธ๊ฐ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
1์ด๊ฑฐ๋ x์ด๊ฑฐ๋ x๋ ์ด๋ฏธ ์ ๋จ๊ณ์์ ์ด๋ฏธ ๋ค ๋ค์ด์ค๋ signal์ด๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ ๊ณ์ฐ์ด ํ์ ์์ด์ง๋๋ค.
๋ ๋ค๋ฅธ activaiton function์ผ๋ก๋, regression์์๋ MSE๊ฐ ์ ์ฐ์ ๋๋ค.
์ด๋ ๊ฒ ๋ฏธ๋ถ ๊ฐ๋ค์ด ๊ฐ๋จํ ๊ฒ์ด ์ฐ์ฐ์ผ๊น์?
์ฐ๋ฆฌ๊ฐ ์ฌ๊ธฐ์์ ์ฐ๋ functions๋ค์ ๋ชจ๋ ๋ฏธ๋ถ ๊ฐ์ด ๊ฐ๋จํ๊ธฐ์ ์ฌ์ฉ๋๋ ๊ฒ์ ๋๋ค.
๋ฏธ๋ถ ๊ฐ์ด ๋ณต์กํ๋ค๋ฉด ๊ณ์ฐ์ด ๋๋ฌด ๋ง์์ง๋ฏ๋ก, ๊ฐ๋จํ ์ฐ์ฐ ์์ค์ function๋ค๋ก neural network์์ ์ฐ์ด๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ , ์ค์ ๊ฐ๋จํ ์์ ๋ก ์ดํด๋ณธ๋ค๋ฉด, ์์ ๊ฐ์ ์ฐ์ฐ์ด ์ด๋ฃจ์ด์ง ์ ์์ต๋๋ค.
์ด๋ฌํ ์์๋ฅผ ํตํด, chain rule์ ์ ์ฉํ์ฌ, ์ฐ๋ฆฌ๊ฐ ๋ ์ฝ๊ฒ, ๋ค ์๋ ๊ฐ๋ค์ ์กฐํฉ์ผ๋ก ์ด๋ฃจ์ด์ง ์ฌ์น์ฐ์ฐ์ ๊ทธ๋ฅ ํ๋ฉด ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์ด๋ฌํ ๊ฐ์ด ๊ฒฐ๊ตญ 0.1์ด ๋์๋ค๋ฉด,
ํ์ฌ weight - 0.1ํ์ฌ weight๋ฅผ updateํ๋ฉด ๋๊ฒ ์ต๋๋ค.
1. initial weight ๊ฐ๋ค์ randomizeํด๋ผ.
2. network์ด feed forward๋ฅผ ํ๊ณ ๋๊ฐ์ prediction์ ์งํ. (y^์ ๊ตฌํ๋ ๊ณผ์ )
3. tearch-output์ ๊ทธ์ ์ค์ output์ ์๋ฏธ. (supervised learning ๊ณผ ๊ฐ์ด ๋ถ๋ฅด๋ฏ๋ก,, y๊ฐ)
4. y^ - y๋ฅผ ๊ฐ๊ฐ์ units์ ๋ํด์ ํด๋ผ. (๊ทธ ์ฐจ์ด๋ฅผ ๊ณ์ฐํด๋ผ ์ ๋)
5. hidden -> output weight update
6. input -> hidden weight update (๊ณ์ํด์ ์ญ๋ฐฉํฅ์ผ๋ก backpropagation ์งํ)
7. ์ ์ฒด weight updateํด๋ผ.
8. ์ ๊ณผ์ ์ ๋ชจ๋ examples๋ค์ด ๋ถ๋ฅ ๋๊ฑฐ๋ stopping criterion์ ๋ง์กฑ์ํฌ ๋๊น์ง ํด๋ผ.
Learning rate
-> ์ฐ๋ฆฌ๊ฐ ๋ง๋ค์ด๋์ gradient์ ๊ฐ์ ์ผ๋ง๋ ๋ฐ์ํ ๊ฒ์ธ๊ฐ๋ฅผ ๊ฒฐ์ ํด์ฃผ๋ hyper parameter์ ๋๋ค.
=> ๊ทธ๋๋ก or ์ถ์ or ํ๋
- Fixed Learning rate
- Adaptive Learning rate
- Learning rate์ด ๋๋ฌด ์ง๋์น๊ฒ ํฌ๋ฉด solution์ ์ง๋๊ฐ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
- ์ ๋นํ ํฌ๋ฉด ์๋๊ฐ ๋น ๋ฆ ๋๋ค.
- ๋ฐ์ฐ์ ์ํ์ด ์์ต๋๋ค.
- ๊ทธ๋ฌ๋ ๋๋ฌด ์ง๋์น๊ฒ ์์ผ๋ฉด ์์ฒญ๋๊ฒ ์ค๋ ๊ฑธ๋ฆฌ๊ฒ ๋ฉ๋๋ค.
- ๋ฐ์ฐ์ ์ํ์ ์์ต๋๋ค.
- ๋ง์ ์๊ฐ์ด ์์๋ฉ๋๋ค.
=> ์ฐ๋ฆฌ๋ ์ด ์ฌ์ค์ ์ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก learning rate์ ์กด์ฌ๋ ๋๋ฌด๋ ์ค์ํฉ๋๋ค.
๊ทธ๋์ adaptive learning rate๊ฐ ํ์ํด์ง๋๋ค.
Local Optima Problem
- Neural Netowork๋ ๊ธฐ๋ณธ์ ์ผ๋ก Gradient Descent๋ฅผ ์ฌ์ฉํ๋ฉฐ, Gradient Descent๋ Local Optimum์ ์ฐพ๋ ๊ฐ๋ ์ ๋๋ค.
- Global์ธ์ง ์๋์ง ์ฆ๋ช
์กฐ์ฐจ ํ ์ ์์ต๋๋ค. Loss function์ด ๋๋ฌด ๋ณต์กํ๊ธฐ ๋๋ฌธ์.
- local optimum๊น์ง ๊ฐ๋ฉด ๋คํ์ธ ๊ฒ์ ๋๋ค. (์ด์ด ์ข์์ผ)
- ์ ๊ฐ ๊ฐ๋ฅ์ฑ๋ ์์ต๋๋ค.
- NN์ผ๋ก๋ ํญ์ Best solution๊น์ง ๊ฐ ์๋ ์์ต๋๋ค.
- ํญ์ ๋ต์ด ์ ์ข์ ๊ฐ๋ฅ์ฑ์ ํญ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
- ํด๊ฐ ์ ์ข์ ๋ฐ์์ ๋ฉ์ถ ๊ฐ๋ฅ์ฑ์ด ์๋ค.
- ๊ทธ๋๋ง ์ข์ ๊ณณ์์ ๋ฉ์ถ๊ฒ ํด์ผํ๋ค.
- ๊ทธ ๋ฐฉ๋ฒ์?
- ์ข์ initial weight ๊ฐ์ ๊ฐ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- ๊ทธ๋ฌ๋ ์ ์ ํ ๋ฐฉ๋ฒ์ ์๋ค๊ณ ๋ณด๋ ๊ฒ ๋ง์ต๋๋ค.
- Stopping criterion
- ์ ๋นํ ํ์ต์์ผ overfitting์ ํผํ์ฌ ํ์ตํ๋ค ์ ๋นํ ๋ฉ์ถ์.
- local optimum์ ๋น ์ง ๊ฒ๊ณผ overfitting์ด ๋งค์นญ์ด ์ ๋ ์ ์์ง๋ง, local optimum์ ๋น ์ก๋ค๋ ๊ฒ์ด, ์ ์ข์ solution์ overfitting ๋์๋ค๊ณ ๋ ๋ณผ ์ ์์ต๋๋ค.
- training-validation error
- Learning curves ๋ฅผ ๊ทธ๋ ค์ training error, validation error ๋ฅผ ๋ฐ๋ก ์ฃผ์ด ๋ฉ์ถ๊ฒ ํ ์๋ ์๋ค.
Summary
- Pros
- Great Performanc (High Accuracy)
- (Theoretically) slove any problems (High Capacity ๊ฐ๋ฅ)
- A generalized model (function์ ํตํ model, ์ด NN์ ์ดํดํ๋ฉด ๋ค๋ฅธ model๋ ์ดํดํ๋ ๋ฐ ํธํจ)
- Cons
- Needs high computing power (input - hidden -output ์ฐ์ฐ * # of training data * epochs)
- Overfitting (High Capacity, NN์ overfitting์ ์ทจ์ฝ, DNN์ ๋ ์ทจ์ฝ)
- Hyperparameter setting (# of Hidden nodes, # of Hidden layers, learning rate, regularization)
'Artificial Intelligence > Deep Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Deep Learning] Generating two classification models for MNIST dataset with Keras sequential/functional API (0) | 2023.04.05 |
---|---|
[Deep Learning] Generating regression model for California housing dataset with Keras functional API (0) | 2023.04.05 |
[Deep Learning] Backpropagation (0) | 2023.03.30 |
[Deep Learning] Feedforward (0) | 2023.03.27 |
[Deep Learning] - MLP(Multilayer Perceptron) (0) | 2023.03.26 |