Cost Function
cost function์ ์ค๋ช ํ ๋ ์ฌ์ฉํ ๋ช ๊ฐ์ ๋ณ์๋ค์ ์ ์ํด๋ณด๋๋ก ํ์.
- $L$: ๋คํธ์ํฌ์ ์๋ ์ด ๋ ์ด์ด์ ์
- $s_l$: ๋ ์ด์ด $l$์ ์๋ unit์ ์
- $K$: ์ถ๋ ฅ ์ ๋๊ณผ ํด๋์ค์ ์
์ด ๋ณ์๋ค์ ์ ๊ฒฝ๋ง ๋คํธ์ํฌ์์ ๋ ์ฌ๋ ค๋ณด๋ฉด, ๋ง์ ์ถ๋ ฅ ๋ ธ๋๋ค์ ๊ฐ์ง๊ฒ ๋ ๊ฒ์ด๋ค. $h_{\theta}(x)_{k}$๋ $k$๋ฒ์งธ ์ถ๋ ฅ์ผ๋ก ๊ฒฐ๊ณผ๋ก ๋ด๋๋ hypothesis๋ฅผ ๋ํ๋ธ๋ค. ์ ๊ฒฝ๋ง์ ์ํ cost function์ ์ฐ๋ฆฌ๊ฐ logistic function์์ ์ฌ์ฉํ ๊ฒ์ ์ผ๋ฐํ์ด๋ค. ์ ๊ทํ๋ logistic regression์ cost function์ ๋ ์ฌ๋ ค๋ณด๋๋ก ํ์.
์ ๊ฒฝ๋ง ๋คํธ์ํฌ์ ๋ํด์๋ ์ด๊ฒ์ ํํ๊ฐ ์ด์ง ๋ฐ๋๊ฒ ๋๋ค.
์ฌ๋ฌ ๊ฐ์ ์ถ๋ ฅ ๋ ธ๋๋ฅผ ์ค๋ช ํ๊ธฐ ์ํด ๋ช ๊ฐ์ ์๊ทธ๋ง๋ฅผ ์ถ๊ฐํ์๋ค. ๋๊ดํธ ์ด์ ์ ๋ฐฉ์ ์ ์๋ถ๋ถ์ ๋ณด๋ฉด, ์ถ๋ ฅ ๋ ธ๋์ ์๋ฅผ ํตํ๋ ์ถ๊ฐ์ ์ธ ์๊ทธ๋ง๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
๋๊ดํธ ์ดํ ๋ถ๋ถ์ ์ ๊ทํ ๋ถ๋ถ์์ ์ฌ๋ฌ ๊ฐ์ ์ธํ ํ๋ ฌ์ ์ค๋ช ํ ํ์๊ฐ ์๋ค. ํ์ฌ ์ธํ ํ๋ ฌ์ ์๋ ์ด์ ์๋ ํ์ฌ ๋ ์ด์ด์์ ๋ ธ๋์ ์์ ๊ฐ๋ค๊ณ ๋ณผ ์ ์๋ค. ํ์ฌ ์ธํ ํ๋ ฌ์์ ํ์ ์๋ ๋ค์ ๋ ์ด์ด์์ ๋ ธ๋์ ์์ ๊ฐ๋ค. logistic regression๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ชจ๋ ํญ๋ค์ ์ ๊ณฑํ์๋ค.
Backpropagation Algotirhm
'์ญ์ ํ'๋ cost function์ ์ต์ํํ๋ ์ ๊ฒฝ๋ง ๋คํธ์ํฌ์ ์ฉ์ด์ด๋ค. ์ด๋ logistic & linear regression์์ ํ๋ gradient secent์ ์ ์ฌํ๋ค. ์ญ์ ํ์ ๋ชฉํ๋ $min_{\theta}J(\theta)$๋ฅผ ๊ณ์ฐํ๋ ๊ฒ์ด๋ค. ์ธํ์์ ์ต์ ์ ํ๋ผ๋ฏธํฐ ์ธํธ๋ฅผ ์ฌ์ฉํด์ cost function $J$๋ฅผ ์ต์ํํ๋ ๊ฒ์ด ๋ชฉํ์ธ ์ ์ด๋ค. ์ด ์น์ ์์๋ $J(\theta)$์ ํธ๋ฏธ๋ถ์ ๊ณ์ฐํ๊ธฐ ์ํด ์ฌ์ฉํ ๋ฐฉ์ ์์ ๋ํด ์์๋ณผ ๊ฒ์ด๋ค: $\frac {\partial }{\partial \theta_{i,j}^{(l)}}J(\theta)$ ์ด๋ฅผ ์ํด ๋ค์์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค.
Backpropagation Algorithm
ํ์ต ์ธํธ ${(x^{(1)}, y^{(1)}) \cdots (x^{(m)}, y^{(m)})}$์ด ์ฃผ์ด์ง๋ฉด
- ๋ชจ๋ $(l, i, j)$์ ๋ํด $\Delta_{i, j}^{(l)} := 0$์ผ๋ก ์ค์ ๋๋ค.
ํ์ต ์์ $t = 1$ to $m$์ ๋ํด
- $a^{(1)} := x^{(t)}$์ผ๋ก ์ค์ ๋๋ค.
- ์์ ํ๋ฅผ ์ํํด์ $l = 2, 3, \cdots, L$์ ๋ํด $a^{(l)}$์ ๊ณ์ฐํ๋ค.
- $y^{(t)}$๋ฅผ ์ฌ์ฉํด์ $\delta^{(L)} = a^{(L)} - y^{(t)}$์ ๊ณ์ฐํ๋ค. ์ฌ๊ธฐ์ $L$์ ์ด ๋ ์ด์ด์ ์์ด๊ณ , $a^{(L)}$์ ๋ง์ง๋ง ๋ ์ด์ด์ ๋ํ ํ์ฑํ ์ ๋์ ์ถ๋ ฅ ๋ฒกํฐ์ด๋ค. ๊ทธ๋์ ๋ง์ง๋ง ๋ ์ด์ด์ '์ค์ฐจ๊ฐ'์ ๋ง์ง๋ง ๋ ์ด์ด์ ๊ฒฐ๊ด๊ฐ๊ณผ ์ ํํ ์ถ๋ ฅ๊ฐ $y$ ๊ฐ์ ์ฐจ์ด๋ฅผ ๋ํ๋ธ๋ค.
- $\delta^{(l)} = ((\theta^{(l)})^{T} \delta^{(l+1)}. * a^{(l)}. * (1-a^{(l)}))$์ ์ฌ์ฉํด์ $\delta^{(L-1)}, \delta^{(L-2), \cdots, \delta^{(2)}}$์ ๊ณ์ฐํ๋ค. ๋ ์ด์ด $l$์ ๋ธํ๊ฐ์ ๋ค์ ๋ ์ด์ด์ ๋ธํ๊ฐ๊ณผ ๋ ์ด์ด $l$์ ์ธํ ํ๋ ฌ๊ณผ ๊ณฑํด์ ธ์ ๊ณ์ฐ๋๋ค. ๊ทธ ๋ค์์ ์ด ๊ฐ์ $g^{'}$๋ผ๊ณ ๋ถ๋ฆฌ๋ ํจ์์ element-wise ๊ณฑํ๋ค. ์ด ํจ์๋ ํ์ฑํ ํจ์ $g$์ ๋ฏธ๋ถ๊ฐ์ด๊ณ ์ฃผ์ด์ง ์ ๋ ฅ๊ฐ $z^{(l)}$์ ์ํด ํ๊ฐ๋๋ค. $g^{'}$์ ๋ฏธ๋ถํญ์ ๋ค์๊ณผ ๊ฐ์ด ์ธ ์ ์๋ค. $g^{'}(z^{(l)}) = a^{(l)}. * (1-a^{(l)})$
- $\Delta_{i, j}^{(l)} := \Delta_{i, j}^{(l)} + a_{j}^{(l)}\delta_{i}^{(l+1)}$ ๋๋ ๋ฒกํฐํ๋ฅผ ์ฌ์ฉํด์ $\Delta^{(l)} := \Delta^{(l)} + \delta^{(l+1)}(a^{(l)})^{T}$
๊ทธ๋์ ๋ค์๊ณผ ๊ฐ์ด $\Delta$ ํ๋ ฌ์ ์ ๋ฐ์ดํธํ๋ค.
- $D_{i, j}^{(l)} := \frac {1}{m}(\Delta_{i, j}^{(l)} + \lambda \theta_{i, j}^{(l)})$ ๋ง์ฝ $j \neq 0$์ด๋ฉด
- $D_{i, j}^{(l)} := \frac {1}{m} \Delta_{i, j}^{(l)}$ ๋ง์ฝ $j = 0$์ด๋ฉด
๋๋ฌธ์ ๋ธํ ํ๋ ฌ $D$๋ '๋์ฐ๊ธฐ'๋ก ์ฌ์ฉ๋์ ๊ฐ์ ๋ํ๊ณ ๊ฒฐ๊ตญ ํธ๋ฏธ๋ถ์ ๊ณ์ฐํ๋ค. ๋ฐ๋ผ์ ๋ค์ ๊ฐ์ ์ป๊ฒ ๋๋ค: $\frac {\partial}{\partial \theta_{i, j}^{(l)}} J(\theta) = D_{i, j}^{(l)}$
Backpropagation Intuition
์ ๊ฒฝ๋ง ๋คํธ์ํฌ์ ๋ํ cost function์ ๋ค์ ๋ ์ฌ๋ ค๋ณด๋๋ก ํ์.
๋ง์ฝ ๊ฐ๋จํ ๋น๋ค์ค ํด๋์ค ๋ถ๋ฅ $(k=1)$๊ณผ ์ ๊ทํ๋ฅผ ๋ฌด์ํ๋ฉด, cost๋ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐ๋๋ค.
์ง๊ด์ ์ผ๋ก $\delta_{j}^{(l)}$์ $a_{j}^{(l)}$์ ๋ํ '์ค์ฐจ'๊ฐ์ด๋ค $($unit j์ layer l$)$. ๋์ฑ ๊ณต์์ ์ผ๋ก ๋ธํ๊ฐ์ ์ฌ์ค์ cost function์ ๋ฏธ๋ถ๊ฐ์ด๋ค.
๋ฏธ๋ถ์ cost function์ ์ ํ๋ ์ ์ ๊ธฐ์ธ๊ธฐ์ด๋ฏ๋ก ๊ธฐ์ธ๊ธฐ๊ฐ ๊ฐํ๋ฅผ์๋ก ๋ ๋ถ์ ํํ๋ค. ์๋์ ์ ๊ฒฝ๋ง์ ๊ณ ๋ คํ๊ณ $\delta_{j}^{(l)}$๋ฅผ ๊ณ์ฐํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณด๊ฒ ๋ค.
์์ ์ด๋ฏธ์ง์์ $\delta_{2}^{(2)}$๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํด ๊ฐ์ค์น $\theta_{12}^{(2)}$์ $\theta_{22}^{(2)}$๋ฅผ ๊ฐ๊ฐ์ edge์ ์ค๋ฅธ์ชฝ ๋ธํ๊ฐ๊ณผ ๊ณฑํ์๋ค. ๊ทธ๋์ $\delta_{2}^{(2)} = \theta_{12}^{(2)} * \delta_{1}^{(3)} + \theta_{22}^{(2)} * \delta_{2}^{(3)}$์ ์ป์ ์ ์๋ค. $\delta_{j}^{(l)}$์ ๋ชจ๋ ๊ฐ๋ฅ์ฑ์ ๊ณ์ฐํ๊ธฐ ์ํด ๋ค์ด์ด๊ทธ๋จ์ ์ค๋ฅธ์ชฝ์์๋ถํฐ ์์ํ๋ค. edge๋ฅผ $\theta_{ij}$๋ก ์๊ฐํ ์ ์๋ค. ์ค๋ฅธ์ชฝ์์ ๋ถํฐ ์์ํด์ ์ผ์ชฝ์ผ๋ก ๊ฐ์ $\delta_{j}^{(l)}$์ ๊ฐ์ ๊ณ์ฐํ๊ธฐ ์ํด, $\delta$์ ๊ฐ ๊ฐ์ค์น๋ฅผ ๊ณฑํ ๊ฐ์ ๋ชจ๋ ํฉ์ ๊ตฌํ๋ค. ๋ค๋ฅธ ์์๋ฅผ ์๊ฐํด๋ณด๋ฉด $\delta_{2}^{(3)} = \theta_{12}^{(3)} * \delta_{1}^{(4)}$๊ฐ ๋๋ค.
'Lecture ๐งโ๐ซ > Coursera' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Machine Learning] Evaluating a Learning Algorithm (0) | 2023.03.27 |
---|---|
[Machine Learning] Backpropagation in Practice (0) | 2023.03.27 |
[Machine Learning] Neural Networks (0) | 2023.03.20 |
[Machine Learning] Solving the Problem of Overfitting (2) | 2023.03.20 |
[Machine Learning] Multiclass Classification (0) | 2023.03.15 |