์ธ๊ณต์ ๊ฒฝ๋ง ์ค๊ณ ์ ๊ณ ๋ ค์ฌํญ
-
Network topology
๋คํธ์ํฌ์ ๋ชจ์ (feed forward, feed backward)
-
Activation function
์ถ๋ ฅ์ ํํ
-
Objectives
๋ถ๋ฅ? ํ๊ท?
Loss function, Error๋ก ๋ํ๋ผ ์ ์์
-
Optimizers
weight update
-
Generalization
Overfitting ๋ฐฉ์ง
2. activation function
์ถ๋ ฅ์ ํํ ๊ฒฐ์
1. one-hot vector
์ฌ๋ฌ ๊ฐ ์ค ํ๋์ ๊ฐ๋ง ์ถ๋ ฅ
ex_ ์ซ์ ์๋ณ
2. softmax function
ํด๋น ์ถ๋ ฅ์ด ๋์ฌ ํ๋ฅ ๋ก ํํ
3. objective function
๊ธฐํ ๋ชฉ์ ํจ์
- Mean absolute error / mae
- Mean absolute percentage error / mape
- Mean squared logarithmic error / msle
- Hinge = max(0,1− tโf(x))
- Squared hinge
- Sparse categorical cross entropy
- Kullback leibler divergence / kld
- Poisson: mean of (predictions - targets * log(predictions))
- Cosine proximity: the opposite (negative) of the mean cosine proximity between predictions and targets.
๋ฌธ์ ์ ์ ํ
ํ๊ธฐ (regression)
์ถ๋ ฅ์ด ์ฐ์๊ฐ์ ๊ฐ๋ ํจ์๋ฅผ ๋์์ผ๋ก ํ๋ จ data๋ฅผ ์ ์ฌํํ๋ ํจ์๋ฅผ ์ฐพ๋ ๊ฒ
Linear activation function + MSE Objective function
ex_ ๋งค์ถ์ก ์ถ์ , ์์ฐ ์๋์ ๋ฐ๋ฅธ ๋ถ๋๋ฅ ์ถ์
Binary classification
์ถ๋ ฅ์ 0,1 ๋ ๊ฐ์ง๋ก ํ๋จ (์ถ๋ ฅ์ ํํ๊ฐ one-hot vector)
d = 0 or 1
d=1์ด๋ฉด ํ๋ฅ ์
0์ด๋ฉด
ํ๋ฅ ๋ค์ ํฉ์ ๊ฐ์ฅ ํฌ๊ฒ ๋ง๋๋ (์ค๋ฅ๋ฅผ ์๊ฒ ๋ง๋๋) w๋ฅผ ๊ตฌํ๋ ๊ฒ์ด ๋ชฉ์
๋ชฉ์ ํจ์ (Loss function)
๊ณฑ์ ์ ๋ง์ดํ๋ฉด underflow๊ฐ ์๊ธฐ๋ฏ๋ก log ๋ถ์ฌ์ฃผ๊ธฐ
์ต๋ํ๋ฌธ์ => ์ต์ํ๋ฌธ์
Logistic activation function + Binary cross Entropy Objective function
multi-class classification
๊ฐ ํด๋์ค์ ํด๋นํ๋ ํ๋ฅ ์ ์ถ๋ ฅ
softmax activation function + categorical cross entropy Objective function
n๋ฒ์งธ testcase์ k๋ฒ์งธ ์ถ๋ ฅ์ ๋ํ ํ๋ฅ
binary๋ฅผ k๊ฐ์ ์ถ๋ ฅ์ ๋ํด ๋ชจ๋ ๋ํ๋ธ ๋ฐฉ์
ex_ ์ซ์ ํ๊ธฐ ์ธ์
4. Optimizers
: weight update ๋ฐฉ๋ฒ
-
Stochastic gradient descent
์ด ์๋๋ก๋ SGD์ ์์ฉ๋ค์
-
Momentum
-
Learning rate decay
-
Rmsprop
-
Adagrad
-
Adadelta
-
Adam
-
Adamax
-
Nadam
-
Nesterov
weight ์ ๋ฐ์ดํธ
-
oneline
ํ์ต ์ weight๋ฅผ ์ํ ํ๋๋ง๋ค Error์ ๋ํด ๋ถ์ํด์ updateํ๋ ๋ฐฉ์
-
batch or deterministic gradient methods
๋ชจ๋ ์ํ์ ๋ํด ๊ณ์ฐ๋๋ error function์ ์ฌ์ฉ
๋ชจ๋ input์ ๋ํด์ weight์ ๋ณํ ๊ฐ์ ๊ตฌํด์ ํ๊ท ์ ์ฌ์ฉ
์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆผ
-
minibatch or minibatch stochastic(ํ๋ฅ ๋ก ์ ) methods
์ํ์ ์ผ๋ถ๋ง์ ์ด์ฉํด์ ํ๋ผ๋ฏธํฐ update
๋ณดํต 50-100๊ฐ
Stochastic gradient descent
m๊ฐ์ ์ํ์ ๊ฐ์ง๊ณ training ์ํด
=> ๊ธฐ์ธ๊ธฐ์ ํ๊ท ์ ํํด์
=> learning rate๋ฅผ ๊ณฑํ๊ณ weight update
์ฅ์
-
๋น์ทํ ๋ฐ์ดํฐ๋ฅผ ์ธ ๊ฒฝ์ฐ (์ค๋ณต์ฑ์ด ์์ ๋) ํ์ต์ด ๋น ๋ฆ
-
local minimum์ ๋น ์ง ํ๋ฅ ์ด ์ค์ด๋ฌ
๋งค๋ฒ mini-batch๋ฅผ ๋๋ค์ผ๋ก ๋ฝ๊ธฐ ๋๋ฌธ
-
update๊ฐ ์์ ํฌ๊ธฐ๋ก ์งํ
ํ์ต์ ๊ฒฝ๊ณผ ๊ด์ฐฐ ์ฉ์ด
-
Online ํ์ต
๋ฐ์ดํฐ๊ฐ ๊ณ์ ๊ฐฑ์ ๋ ๋, ์์ง๊ณผ ์ต์ ํ ๋์ ์งํ ์ฉ์ด
์๋ฆฌ
โ ๊ธฐ์ธ๊ธฐ ๋ฒกํฐ๊ฐ ์ ํํ๊ฒ ๊ณ์ฐ๋์ง ์์ผ๋ฏ๋ก ๊ทน์๊ฐ์ ๋น ์ง์ง ์์ ์ ์์
๋จ์
weight์ ๊ธฐ์ธ๊ธฐ๊ฐ ๊ทธ๋๋ก ์ ์ฉ๋์ด ์ด๋ํ๊ธฐ ๋๋ฌธ์ ์ง๋์ผ๋ก ํ์ต์ ๋ง์ ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์์
=> ํด๊ฒฐ๋ฐฉ๋ฒ : ๋ณผ์ ๊ณต์ ๋ด์๋์๋ค๊ณ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์๊ฐํด๋ณด๊ธฐ
=> Momentum
Momentum
๊ฐ์๋ ๊ฐ๋ ์ ์ ์ฉํด์ ์ด์ weight์ ๋ณํ๋ฅผ ์ด๋์ ๋ ์ ์งํจ
๋ณํ๋์ ์ด์ ๋ณํ๋์ ๊ฐ์๋ ์์๋ฅผ ๊ณฑํ ํ, ํ์ฌ ๋ณํ๋์ ๋นผ์ค ๊ฒ
SGD์ ๋๋นํด์ Momentum์ผ๋ก ์์ ๋ ๋ชจ์ต
Nesterov momentum
momentum์ ์์ฉ๋ฒ์ .
๊ธฐ์กด Momentum ๋ฐฉ๋ฒ๊ณผ์ ์ฐจ์ด์ ์ ๊ธฐ์ธ๊ธฐ๋ฅผ ๋ฏธ๋ฆฌ ์ ๋ฐ์ดํธ ํ๋ค๋ ๊ฒ์ด๋ค.
weight์ ์ด๋ฏธ ์ด๋ํ ์ ๋(av)๋งํผ์ ์ด๋ํ๋ค๊ณ ๊ฐ์ ํ ์ํ๋ก learning ์งํ
์ด ๋ถ๋ถ์ Momentum๊ณผ ๋ค๋ฆ
learning ํ av๋งํผ์ ๋ ๋ํด์ weight update
์ด ๋ถ๋ถ์ Momentum๊ณผ ๊ฐ์
๊ธฐ์กด Momentum ๋ฐฉ๋ฒ์์ correction factor๋ฅผ ๋ํ ๋ฐฉ์์ด๋ผ๊ณ ์ผ์ปฌ์ด์ง
correction factor: equation์ ์ฑ๋ฆฝ์ํค๊ธฐ ์ํด ๊ณฑํด์ง๋ ์์ธ
https://ruder.io/optimizing-gradient-descent/
AdaGrad
์ง๊ธ๊น์ง ์ ๋ฐ์ดํธํ ๊ธฐ์ธ๊ธฐ๋ฅผ ์ ์ฅํด๋์๋ค๊ฐ, ๋ง์ด ๋์จ ๊ธฐ์ธ๊ธฐ ์ฑ๋ถ์ ์ค์ด๊ธฐ
๋๋ฌผ๊ฒ ๋ํ๋๋ ๊ธฐ์ธ๊ธฐ ์ฑ๋ถ์ ๋ ์ค์ => learning rate๋ฅผ ํฌ๊ฒ
t'=1 ~t
์ฒ์ ์์ ๋ถํฐ ํ์ฌ๊น์ง
g^2(t',i)
wi๊ฐ ์ด๋ํ ๊ธฐ์ธ๊ธฐ ๋ฒกํฐ (๊ธฐ์ธ๊ธฐ ๋ฐฉํฅ)
์์ฃผ ๋์ค๋ ๊ธฐ์ธ๊ธฐ ๋ฒกํฐ๋ค์ ํฐ ์๊ฐ ๋์ด learning rate๋ฅผ ๋๋๊ฒ ๋๋ฏ๋ก learning rate๊ฐ ์์์ง
๋ฌธ์
๋ชฉํ์ ์ ์์คํ ์ ์์
Rmsprop(Root Mean Square Propagation)
Adagrad์์ ์๋ ๊ทธ๋ฆผ์ ํ์๋ ์๋ง ๋ฐ๋
๊ธฐ์ธ๊ธฐ์ ๋น๋๋ฅผ ๋ฐ์ง๋ ๊ฒ์ด ์๋๋ผ, ๊ณผ๊ฑฐ ํ์ฌ๋ฅผ ๋ฐ์ ธ์ ์ต๊ทผ์ ๊ธฐ์ธ๊ธฐ, ๊ณผ๊ฑฐ์ ๊ธฐ์ธ๊ธฐ๋ฅผ ์ผ๋ง๋ ๊ณ ๋ คํ ๊ฒ์ธ์ง ํ๋จํ๋ ๋ฐฉ๋ฒ
r์ ๊ณผ๊ฑฐ ๊ธฐ์ธ๊ธฐ, g๋ ํ์ฌ ๊ธฐ์ธ๊ธฐ ๋ฒกํฐ์ด๋ฏ๋ก ρ(๋ก์ฐ)๊ฐ ์ผ๋ง๋ ๊ณผ๊ฑฐ๋ฅผ ๊ธฐ์ตํ ๊ฒ์ธ์ง๋ฅผ ์๋ฏธํจ
๋ฌธ์
์๊ฐ์ด ํ๋ฅผ ์๋ก update ์์ด ์์์ง
The Adam algorithm
Adam = Adagrad + momentum
๋๋ฌด ์ด๋ ต๋ค ... ๋์ค์ ๋ค์ ๊ณต๋ถ
*์น ๋ถ๋ถ : ์ฒ์์๋ learning์ด ๋น ๋ฅด๊ฒ ํ๊ธฐ ์ํด์ ์ฒซ ์๋ ์ g์ ๊ณฑํด์ง๋ ์์๋ฅผ ์์ ์ค
Adam = Rmsprop + momentum
์ฅ์
๊ฒฐ์ ํด์ฃผ๋ ์์ ๊ฐ์ ๋ฐ๋ผ์ ์ฑ๋ฅ์ด ๋ง์ด ๋ฌ๋ผ์ง์ง ์์
5. Generalization
: training ์ ์ฌ์ฉ๋์ง ์์ data (Test set)์ ๋ํ ์ฑ๋ฅ
Overfitting (์ฃผ์ด์ง data์ ๋ํด์๋ง ๊ณผ๋ํ๊ฒ ์ ํฉ) ๋ ์๋ ์์
Overfitting
์ด์
weight (model parameter) ์ ๋นํด์ ํ์ต data๊ฐ ๋๋ฌด ์ ์ ๊ฒฝ์ฐ์ ๋ฐ์
weight ์์ ํ์ต data ์๋ ๋น๋กํด์ผํจ
๋๋ํ ์ธ๊ณต์ง๋ฅ์ ์ํด์๋ ๋ง์ data๊ฐ ํ์ํจ
ํด๊ฒฐ
-
weight์ ์๋ฅผ ์ค์ด๊ธฐ (์ฑ๋ฅ ๋จ์ด๋จ๋ฆฌ๊ธฐ)
Regularization
-
training data์ ์๋ฅผ ๋๋ฆฌ๊ธฐ
์์ ์๊ฐ์ ๋์๋ ์ง๋ฌธ
๊ทธ๋ ๋ค๋ฉด data๊ฐ ๋ถ์กฑํ ์ํฉ์์๋ test set์ data๋ฅผ ๋ถ์ฌํ๋ ๊ฒ๋ณด๋ค training set์ data๋ฅผ ๋ชฐ์์ฃผ๋๊ฒ ๋ ์๋ฏธ์์ง ์์๊น?
N-fold ๋ผ๋ ๋ฐฉ๋ฒ์ผ๋ก data set์ N๊ฐ๋ก ๋๋์ด์ train/valid/test๋ฅผ ๊ณ์ ๋ฐ๊ฟ๊ฐ๋ฉฐ testํ๋ ๋ฐฉ๋ฒ์ด ์์
Regularization
Overfitting์ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ชฉ์ ํจ์(loss function)์ complexity penalty(regularization ๋ชฉ์ ํจ์) ์ถ๊ฐ
์๋ฌ๋ ์ค์ด๊ณ regularization๋ ํด์ผํจ
-
L2 Regularization
J(w) = MSE + λwTw
wTw : w vector์ ๋ด์
์์ ๊ณฑํด์ง๋ ์์๋ w๊ฐ ์ ์ ์๋ก ์ ํธํ๋ค๋ ๊ฒ์ ๋ปํจ
๋ง์ ์๋ก ๋ชฉ์ ํจ์ ๊ฐ์ด ๋์์ง => ๋ง์กฑํ๊ธฐ ์ด๋ ค์
-
L1 Regularization
J(w) = MSE + λ||w||1
(โฅ ๐ค โฅ1 = σ๐=1 ๐ท ๐ค๐ )
๊ทธ๋ฅ ๋ํด์ ์ฌ์ฉํ๋ฉด ์์๊ฐ ๋์์ ์ ๊ณฑ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ๋์
=> L2๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์
Comment