Multi Layer Perceptron
์ด ๊ธ์ Supervised Learning ํฌ์คํ ์์์ ์ถ๋ฐํฉ๋๋ค.
์ฆ, ์ฐ๋ฆฌ๋ ์ด๋ค ์ ๋นํ loss function $\ell$๊ณผ ์ฃผ์ด์ง ๋ฐ์ดํฐ $x^i$ ๋ค์ ๋ํด, \(\underset{\theta \in \Theta}{\minimize}\ \sum_i \ell(f(x^i), f_\theta(x^i))\) ์ด๋ฌํ ์ต์ ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ํฉ์ ์๊ฐํ ๊ฒ์ ๋๋ค. ์์๋ก, Linear Regression ์ด๋ Support Vector Machine ์ ์๊ฐํ๋ฉด ๋ฉ๋๋ค.
$f(x^i) = y^i$ ๋ค์ด ์ฃผ์ด์ ธ ์์ ๋, Linear regression์ ์ผ๋ฐ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด ์ฐ์ฌ์ง๋๋ค. \(\underset{\theta \in \Theta}{\minimize}\ \sum_i \|X\theta - y \|^2\) ์ด๋ ์ฆ $\ell(u, v) = \norm{u - v}^2$ ์ $f_\theta(x) = x^T\theta$ ๋ฅผ ํํ ์ํฉ์ผ๋ก ์๊ฐํ ์ ์์ต๋๋ค.
Linear Layer
์ ๋ ฅ์ ๋ํด ํ๋ฒ์ ํ๋ ฌ๊ณฑ๊ณผ bias ์ฐ์ฐ์ ์ํํ๋ ๊ฒ์ Linear Layer ๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.1 ์ฆ, \(h_{W, b}(X) = WX + b\) ์ด๋, $h$๊ฐ ๊ฐ๋ parameter $\theta$๋ $(W, b)$ ๋ก ์๊ฐํ ์ ์์ต๋๋ค. $X$ ๊ฐ $\R^n$ ๋ฒกํฐ๋ผ๋ฉด, $W$ ๊ฐ $\R^{m \times n}$ ํ๋ ฌ์ด ๋๊ณ , $b$ ๋ $\R^m$ ๋ฒกํฐ๊ฐ ๋์ด $h_{W, b} : \R^n \to \R^m$ ์ ์ ํ ํจ์๋ฅผ ์ด๋ฃน๋๋ค. ์ด๋ $h$๋ $m(n+1)$ ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฐ๋ ๋ชจ๋ธ ์ด ๋ฉ๋๋ค.
Linear regression์ ๋ค๋ณ์๋ก ํ์ฅํ๋ฉด, ์ฌ๊ธฐ์ $b$๋ ๋นผ๋ฒ๋ฆฐ ํํ์ $h_\theta(X) = X\theta$ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ์ ์ด ๋ฉ๋๋ค.
Perceptron
์ฐ๋ฆฌ๋ Linear Layer ๊ด์ ์์ ์ถ๋ฐํ์ง๋ง, ์ฌ์ค MLP์ inspiration์ ๋ค๋ฅธ๊ณณ์ ์์ต๋๋ค. Perceptron ์ด๋ผ๋ ์๋ก์ด ๊ฐ๋ ์ ์ ์ํฉ๋๋ค.
Perceptron์ ์ธ๊ฐ์ ๋์ ์๋ Neuron์์ motivation์ ์ป์ด ๊ฐ๋ฐ๋์์ต๋๋ค. ์์ธํ ๋๊ณผํ์ ์ธ ์ด์ผ๊ธฐ๋ ์ฐจ์นํ๊ณ , ์ฐ๋ฆฌ๋ ์ํ์ ์ธ ๊ด์ ์์ ๋ฐ๋ผ๋ณผ ๊ฒ์ด๋ฏ๋ก Perceptron ํ๋๋ฅผ ํ๋์ ๋ ๋ฆฝ๋ ๊ฐ์ฒด์ฒ๋ผ ์๊ฐํ๋ฉด ๋ฉ๋๋ค. ์ ํํ๋ ๋ฒกํฐ ํ๋๋ฅผ ๋จน๊ณ , ์์ ํ๋๋ฅผ ๋ฑ๋ ํจ์๋ก ์์ฒด๊ฐ ํ๋ผ๋ฏธํฐ $w \in \R^n$, $b \in \R$์ ๊ฐ์ต๋๋ค. 2
๋ฐ๋ผ์ ๋ฒกํฐ๊ฐ ํ๋ ์ฃผ์ด์ง๋ฉด, neuron ํ๋๋ $w \cdot x + b$ ๋ฅผ ๋ฑ์ต๋๋ค. ์ด๋ฅผ $m$๊ฐ ๋ชจ์ผ๋ฉด ๊ฐ์๊ฐ ๋ฐ๋ก๋ฐ๋ก parameter๋ฅผ ๊ฐ์ง๋ฏ๋ก, ๋ค์๊ณผ ๊ฐ์ด ์๊ธด ๋ชจ๋ธ์ด ๋ฉ๋๋ค.
์ด ๊ทธ๋ฆผ์์ $\Sigma$ ํ๋๊ฐ ๋ด๋ฐ ํ๋๋ฅผ ์๋ฏธํฉ๋๋ค. ๋ด๋ฐ 3๊ฐ๊ฐ ๋ชจ์ฌ์๋ ๊ฒ์ด ๊ฒฐ๊ณผ์ ์ผ๋ก๋ $(w_1 \cdot x + b_1), (w_2 \cdot x + b_2) \cdots$ ์ ํํ๊ฐ ๋๊ณ , ์ด๋ ์ฆ $Wx + b$ ์ ํ๋ ฌ๊ณฑ์ ๊ณผ ์ ํํ ๋์น์์ ํ์ธํ ์ ์์ต๋๋ค.
MultiLayer Perceptron
ํ๋์ Linear Layer๋ก๋ ์ ํ์ ์ธ ํจ์๋ง ๋ง๋ค ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ธ์์ ๊ฑฐ์ ๋ชจ๋ ๋ฌธ์ ๋ ๋น์ ํ์ ์ด๊ธฐ ๋๋ฌธ์, ๋น์ ํ ํจ์๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ด ํ์ํฉ๋๋ค.
๋จผ์ , ๋ค์๊ณผ ๊ฐ์ด Linear๋ฅผ 2๊ฐ ์ด์ ์๋ ๋ฐฉ๋ฒ์ ์๊ฐํด ๋ด ์๋ค.
์ด์ , ๋ชจ๋ธ์ ๋ค์๊ณผ ๊ฐ์ด ์ฃผ์ด์ง๋๋ค. \(f_{A_1, A_2, b_1, b_2}(x) = A_2(A_1 x + b_1)+b_2\) ๊ทธ๋ฐ๋ฐ ์ด๋ ๊ฒ ์์ ๋ ์ด์ด๋ ์ฌ์ค ์ ํ ๋์์ด ์ ๋ฉ๋๋ค. ์ ํํจ์์ ํฉ์ฑ์ ์ ํํจ์์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฆโฆ \(f_{A_1, A_2, b_1, b_2}(x) = (A_2 A_1) x + (A_2b_1+b_2)\) ์ฌ์ค ํ๋์ Layer๋ฅผ ์ฐ๋ ๊ฒ๋ณด๋ค ๋ ๋์๊ฒ ์ ํ ์๊ฒ ๋ฉ๋๋ค.
๋ฐ๋ผ์, ๋ชจ๋ธ์ ๋น์ ํ์ฑ ์ ์ถ๊ฐํ๊ธฐ ์ํด Activation function ์ ๋์ ํด์ผ ํฉ๋๋ค. ๋ง์ด ์ฐ์ด๋ activation function์ผ๋ก๋ $\tanh(x), \text{RELU}(x)$ ๋ฑ์ด ์์ต๋๋ค๋ง, ์ฌ๊ธฐ์๋ ๋ญ๊ฐ ๋น์ ํ์ ์ธ ํจ์๋ฅผ ์ถ๊ฐ๋ก ๋์ ํ๋ค๋ ๊ฒ์ ์ดํดํ๋ฉด ์ถฉ๋ถํฉ๋๋ค. ์ฆ, ์ด๋ฐ ์์ผ๋ก ๋ชจ๋ธ์ ๊ตฌ์ฑํ๊ฒ ๋ฉ๋๋ค. \(f_{A_1, A_2, b_1, b_2}(x) = A_2 \sigma(A_1 x + b_1) + b_2\) ์ด์ ๋น์ ํ ํจ์๋ค๋ ํํํ ์ ์๊ฒ ๋ฉ๋๋ค. ์ด์ Backpropagation ์ผ๋ก ํธ๋ฏธ๋ถ๊ณ์๋ฅผ ๊ณ์ฐํ์ฌ, ๋ชจ๋ธ์ ํ์ตํ๋ฉด ๋ฉ๋๋ค.
๋ณด๋ค ์ผ๋ฐ์ ์ผ๋ก, $L$๊ฐ์ ๋ ์ด์ด๋ฅผ ๊ฐ๋ Multi-Layer Perceptron์ ๋ค์๊ณผ ๊ฐ์ด ์ธ ์ ์์ต๋๋ค. ํ๋ ฌ Weight์ $W$๋ก, bias๋ฅผ $b$๋ก ์ ์์ต๋๋ค. \(\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*}\)
- ๋ง์ง๋ง Layer์๋ activation function $\sigma$๋ฅผ ๋ฃ์ง ์๋๊ฒ์ด ์ผ๋ฐ์ ์
๋๋ค.
- ๋ง์ฝ ์ฐ๋ฆฌ๊ฐ ์์ธกํ๋ ค๋๊ฒ ํ๋ฅ ์ด๋ผ๋ฉด (classification) ๋ง์ง๋ง์ softmax ๊ฐ์๊ฑธ ๊ฑธ์ด์ ์ ์ฒด๋ฅผ 1๋ก ๋ง์ถฐ์ฃผ์ด์ผ ํ์ง๋ง
- ๋ค๋ฅธ ๊ฐ์ ์์ธกํ๋๊ฒ์ด๋ผ๋ฉด ๋ง์ง๋ง์ activation function์ด ๊ฒฝ์ฐ์๋ฐ๋ผ ๊ฐ์ ๋ฒ์๋ฅผ ์ ํํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
Further Topics
- Pytorch MLP ๋ชจ๋ธ๋ก MNIST ํ์ด๋ณด๊ธฐ ์์ ๊ฐ๋จํ MLP ํ์ฉ์ ๋ณผ ์ ์์ต๋๋ค.
-
"์ด์ ๋น์ ํ ํจ์๋ค๋ ํํํ ์ ์๊ฒ ๋ฉ๋๋ค."
-> ์ํ์ ์ผ๋ก ์ฐ๋ฆฌ๋ ์ด๋ค ๋น์ ํ ํจ์๋ฅผ MLP๋ก ํ ์ ์๋์ง ์กฐ๊ธ์ ์๊ณ ์์ต๋๋ค.
์ ๋ต์ ๋๋๊ฒ๋, โ์ถฉ๋ถํ ํฐ 2-layer MLP๋ ์์์ ํจ์๋ฅผ ์ ๊ทผ์ฌํ ์ ์๋คโ๋ ๊ฒ์ ๋๋ค. ์ฆ๋ช ์ ๊ฝค ๊ณ ๊ธ์ ์ํ (ํด์ํ) ์ ์๊ตฌํฉ๋๋ค. Universal Approximation Theorem