[P] Multi Layer Perceptron
์ฌ์ธต ์ ๊ฒฝ๋ง์ ์ํ์ ๊ธฐ์ด 6๊ฐ (9์ 23์ผ) ์ ๊ธฐ๋ฐํฉ๋๋ค.
์ด ๊ธ์ SVM๊ณผ Logistic Regression ๋งํฌ, Softmax Regression ๋งํฌ ์ ์ด์ด์ง๋ ๋ด์ฉ์ ๋๋ค.
๋์ค์ ์ค๋ช ์ ๋ณด๊ฐํด์ ๋ค์ ์์ฑ๋ ์์ ์ ๋๋ค.
Logistic regression ๊ฐ์ $f_\theta(x) = a^T x + b$ case๋ฅผ 1-layer (linear layer) neural network๋ก ๋ณผ ์ ์๋ค.
Softmax Regression ์ค๋ช ๋ง์ง๋ง์ ํ๋ ๊ฒ์ฒ๋ผ, ์ ์ ํ loss function $\ell$ ์ ๋์ ํ ๋ค์, $\ell(f_\theta(x), y)$ ๋ฅผ ์ต์ ํํ๋ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํ์. Logistic regression์ ์ฌ๊ธฐ์ $\ell$๋ก logistic loss๋ฅผ, $f_\theta$ ์๋ฆฌ์ linear model์ ๋ฃ์ ํน์ํ ์ผ์ด์ค์ด๋ค. ์ด๋ฅผ ์ข๋ ์๋ฐํ๊ฒ ์๊ฐํ๊ธฐ ์ํด, Linear layer๋ฅผ ์๊ฐํ์.
Linear Layer
์ ๋ ฅ์ผ๋ก $X \in \R^{B \x n}$, where $B = $ batch size, $n = $ ์ ๋ ฅ ํฌ๊ธฐ๋ฅผ ๋ฐ์์, ์ถ๋ ฅ $Y \in \R^{B \x m}$ ํฌ๊ธฐ์ ํ ์๋ฅผ ์ถ๋ ฅํ๋๋ฐ, \(Y_{k, i} = \sum_{j = 1}^{n} A_{i, j} X_{k, j} + b_i\) ์ด์ ๊ฐ์ด ์๋ํ๋ layer ๋ฅผ, batch์ ๊ฐ ๋ฒกํฐ $x_k$ ์ ๋ํด $y_k = A x_k + b$ ํํ์ ์ ํ์ผ๋ก ๋ํ๋๋ค๋ ์๋ฏธ์์ linear layer๋ผ ํ๋ค. ์ด๋ $A$ ํ๋ ฌ์ weight, $b$ ๋ฒกํฐ๋ฅผ bias๋ผ ํ๋ค.
๋ฐ๋ผ์, Logistic Regression์ด๋, ํ๋์ Linear layer๋ฅผ ์ด์ฉํ๊ณ , loss function์ผ๋ก logistic loss (KL-divergence with logistic probability) ๋ฅผ ์ฌ์ฉํ๋ Shallow neural network ๋ผ๊ณ ๋ค์ ์ ์ํ ์ ์๋ค.
Multi Layer Perceptron
Multi-Layer (Deep Network) ๋ฅผ ์๊ฐํ๋ฉด, linear function์ ๊น์ ๊ฒฐํฉ์ ์ด์ฐจํผ linearํ๋ฏ๋ก ์๋ฌด ์๋ฏธ๊ฐ ์๋ค.
๊ทธ๋ฌ๋, ์ ๋นํ non-linear activation function $\sigma$ ๋ฅผ ๋์ ํ์ฌ, ๋ค์๊ณผ ๊ฐ์ layer๋ฅผ ๊ตฌ์ถํ๋ฉด ์๋ฏธ๊ฐ ์๊ฒ ๋๋ค.
์ฆ, ์ด๋ฅผ ์์ผ๋ก ์ฐ๋ฉดโฆ \(\begin{align*} y_L &= W_L y_{L-1} + b_L \\ y_{L - 1} &= \sigma(W_{L-1} y_{L - 2} + b_{L - 1}) \\ \cdots & \cdots \\ y_2 &= \sigma (W_2 y_1 + b_2) \\ y_1 &= \sigma (W_1 x + b_1) \end{align*}\) where $x \in \R^{n_0}, W_l \in \R^{n_l \x n_{l-1}}, n_L = 1$. (Binary classification๋ง ์ ๊น ์๊ฐํ๊ธฐ๋ก ํ์)
- ์ฃผ๋ก $\sigma$ ๋ก๋ ReLU $ = \max(z, 0)$, Sigmoid $\frac{1}{1 + e^{-z}}$, Hyperbolic tangent $\frac{1 - e^{-2z}}{1 + e^{-2z}}$ ๋ฅผ ์ด๋ค.
- ๊ด๋ก์ ์ผ๋ก ๋ง์ง๋ง layer์๋ $\sigma$๋ฅผ ๋ฃ์ง ์๋ ๊ฒฝํฅ์ด ์๋ค.
์ด ๋ชจ๋ธ์ MultiLayer Perceptron (MLP) ๋๋ Fully connected neural network ๋ผ ํ๋ค.
Weight Initialization
SGD $\theta^{k + 1} = \theta^k - \alpha g^k$ ์์, $\theta^0$ ์ convex optimization์์๋ ์ด๋ค ์ ์ ๊ณจ๋ผ๋ global solution์ผ๋ก ์๋ ดํ๋ฏ๋ก ์๋ฏธ๊ฐ ์์ง๋ง, deep learning์์๋ $\theta^0$ ์ ์ ์ฃผ๋ ๊ฒ์ด ์ค์ํ ๋ฌธ์ ๊ฐ ๋๋ค.
๋จ์ํ๊ฒ $\theta^0 = 0$ ์ ์ฐ๋ฉด, vanishing gradient ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. Pytorch์์๋ ๋ฐ๋ก ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด ์์.
Gradient Computation : Back propagation
๋ค์ ์ ๊น logistic regression์ ์๊ฐํ๋ฉด, loss function์ ๋ค ์ ์ ํ ๋ค์ ๊ฒฐ๊ตญ ๋ง์ง๋ง์๋ stochastic gradient descent ๊ฐ์ ๋ฐฉ๋ฒ์ ์ด์ฉํด์ ์ต์ ํํ ๊ณํ์ผ๋ก ์งํํ๋ค. ๊ทธ๋ ๋ค๋ ๋ง์, ๊ฒฐ๊ตญ ์ด๋ป๊ฒ๋ ๋ญ๊ฐ ์ loss function์ gradient๋ฅผ ๊ณ์ฐํ ๋ฐฉ๋ฒ์ด ์๊ธฐ๋ ํด์ผ ํ๋ค๋ ์๋ฏธ๊ฐ ๋๋ค. ์ฆ, ๊ฐ layer์ weight๋ค๊ณผ bias๋ค์ ๊ฐ ์์๋ค $A_{i, j, k}$์ ๋ํด, $\pdv{y_L}{A_{i, j, k}}$ ๋ฅผ ๊ณ์ฐํ ์ ์์ด์ผ ํ๋ค.
MLP์์๋ ์ด gradient ๊ณ์ฐ์ด ์ง์ ์ํํ๊ธฐ์๋ ๋งค์ฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์, ์ด๋ฅผ pytorch์์๋ autograd ํจ์๋ก ์ ๊ณตํ๋ค. ๋ค๋ง ๊ธฐ๋ณธ์ ์ธ ์๋ฆฌ๋ vector calculus์ chain rule์ ๊ธฐ๋ฐํ๋ค. ๋์ค์ ์ด๋ฅผ ๋ฐ๋ก ๋ค๋ฃฌ๋ค.