Gradient Checking
Gradient checkin ์ฆ, ๊ธฐ์ธ๊ธฐ ์ฒดํฌ๋ ์ญ์ ํ๊ฐ ์๋ํ ๋๋ก ์ ๋๊ณ ์๋์ง ๋ณด์ฅํด์ค๋ค. cost function์ ๋ฏธ๋ถ์ ๋ค์์ ์ฌ์ฉํ์ฌ ๊ทผ์ฌํ ์ ์๋ค.
์ฌ๋ฌ ๊ฐ์ ์ธํ ํ๋ ฌ์ ์ฌ์ฉํ๋ฉด, $\theta_{j}$์ ๊ดํ ๋ฏธ๋ถ์ ๋ค์๊ณผ ๊ฐ์ด ๊ทผ์ฌํ ์ ์๋ค.
$\epsilon$์ $\epsilon = 10^{-4}$ ๊ฐ์ ์์ ๊ฐ์ด์ด์ผ ์ ์ ํ๊ฒ ์ ์๋ํ๋ค๋ ๊ฒ์ ์ ์ ์๋ค. $\epsilon$์ ๊ฐ์ด ๋๋ฌด ์์ผ๋ฉด ์์น์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์๋ ์๋ค. ๊ทธ๋์ $\theta_{j}$ ํ๋ ฌ์ epsilon์ ์ถ๊ฐํ๊ฑฐ๋ ๋นผ๊ธฐ๋ง ํ๋ค.
์ด์ ์ deltaVector๋ฅผ ์ด๋ป๊ฒ ๊ณ์ฐํ๋์ง์ ๋ํด ์์๋ณด์๋ค. ๊ทธ๋์ gradApprox๋ฅผ ๊ณ์ฐํ ์ ์๊ฒ ๋๋ฉด, $gradApprox \approx deltaVector$๋ผ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ญ์ ํ ์๊ณ ๋ฆฌ์ฆ์ด ์ ์๋๋๊ณ ์๋ค๋ ๊ฑธ ํ์ธํ๊ฒ ๋๋ฉด gradApprox๋ฅผ ๋ค์ ๊ณ์ฐํ ํ์๋ ์๋ค. ์๋ํ๋ฉด gradApprox๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํ ์ฝ๋๋ ๋งค์ฐ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ด๋ค.. $($computationally expensive$)$
Random Initialization
๋ชจ๋ ์ธํ ๊ฐ์ค์น๋ฅผ 0์ผ๋ก ์ด๊ธฐํํ๋ ๊ฒ์ ์ ๊ฒฝ๋ง ๋คํธ์ํฌ์์ ์ ์๋ํ์ง ์๋๋ค. ์ญ์ ํ๋ฅผ ํ ๋, ๋ชจ๋ ๋ ธ๋๋ ๋ฐ๋ณต์ ์ผ๋ก ๊ฐ์ ๊ฐ์ผ๋ก ์ ๋ฐ์ดํธ๋๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ ๋์ ์ ๋ค์์ method๋ฅผ ์ฌ์ฉํ์ฌ $\theta$ ํ๋ ฌ์ ๋ํ ๊ฐ์ค์น๋ฅผ ๋๋คํ๊ฒ ์ด๊ธฐํํ ์ ์๋ค.
๊ฐ๊ฐ์ $\theta_{ij}^{(l)}$๋ฅผ $[- \epsilon, \epsilon]$ ์ฌ์ด์ ๋๋คํ ๊ฐ์ผ๋ก ์ด๊ธฐํํ๋ค. ์์ ๊ณต์์ ์ฌ์ฉํ๋ ๊ฒ์ ์๋ํ ๊ฒฝ๊ณ๋ฅผ ์ป์ ์ ์๋๋ก ๋ณด์ฅํด์ค๋ค. ๋๊ฐ์ ํ๋ก์์ ๊ฐ ๋ชจ๋ $\theta$์ ๋๊ฐ์ด ์ ์ฉ๋๋ค.
Putting it Together
๋จผ์ ๋คํธ์ํฌ architecture์ ๊ณ ๋ฅธ ๋ค์, hidden layer์ ์ ๋ ์๋ฅผ ์ด๋ป๊ฒ ํ ์ง, ์ด ๋ช ๊ฐ์ ๋ ์ด์ด๋ฅผ ๊ฐ์ง ์ง ๋ฑ์ ํฌํจํ์ฌ ์ ๊ฒฝ๋ง ๋คํธ์ํฌ์ ๋ ์ด์์์ ์ ํํ๋ค.
- input unit์ ์: feature $x^{(i)}$์ ์ฐจ์
- output unit์ ์: ํด๋์ค์ ์
- ๊ฐ ๋ ์ด์ด์ hidden unit์ ์: ๋ง์ผ๋ฉด ๋ง์์๋ก ์ข๊ธด ํจ. $($๊ณ์ฐ ๋น์ฉ๊ณผ ๋ฐธ๋ฐ์ค๋ฅผ ๋ง์ถฐ์ ์ ํํ๋ ๊ฒ์ด ์ค์$)$
- ๊ธฐ๋ณธ๊ฐ: 1๊ฐ์ hidden layer. ๋ง์ฝ 1๊ฐ ์ด์์ hidden layer๋ฅผ ๊ฐ์ง๋ฉด, ๋ชจ๋ hidden layer์์ ๋๊ฐ์ ์์ unit์ ๊ฐ์ง๊ธฐ๋ฅผ ์ถ์ฒํจ.
Training a Neural Network
- ๋๋คํ๊ฒ ๊ฐ์ค์น๋ฅผ ์ด๊ธฐํ
- ์ด๋ค ๊ฐ $x^{(i)}$์ ๋ํด $h_{\theta}(x^{(i)})$๋ฅผ ์ป๊ธฐ ์ํด ์์ ํ๋ฅผ ์ํ
- cost function์ ๊ตฌํ
- ์ญ์ ํ๋ฅผ ์งํํ์ฌ ํธ๋ฏธ๋ถ๊ฐ์ ๊ณ์ฐ
- gradient checking์ ์ฌ์ฉํ์ฌ ์ญ์ ํ๊ฐ ์ ์๋ํ๋์ง ํ์ธ. ๊ทธ ๋ค์์ gradient checking์ disable
- gradient descent ๋๋ ๋ค๋ฅธ ์ต์ ํ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ cost function์ ๊ฐ์ ์ต์ํ
์์ ํ์ ์ญ์ ํ๋ฅผ ์งํํ ๋, ๋งค training example์์ ๋ฃจํ๋ฅผ ํ๋ค. ๋ค์์ ๊ทธ๋ฆผ์ ์ ๊ฒฝ๋ง ๋คํธ์ํฌ์ ์ ๋ฐฉ๋ฒ๋ค์ ๊ตฌํํ์์ ๋ ์ผ์ด๋๋ ๋ชจ์ต๋ค์ ๋ณด์ฌ์ค๋ค.
์ด์์ ์ผ๋ก $h_{\theta}(x^{(i)}) \approx y^{(i)}$๋ฅผ ์ํ๋ค. ์์ ๋ฐฉ๋ฒ๋ค์ cost function์ ์ต์ํํ๋๋ฐ ๋์์ ์ค๋ค. ํ์ง๋ง $J(\theta)$๋ ์๋ฒฝํ ์ต๋๊ฐ์ด ์๋๊ธฐ ๋๋ฌธ์ local minimum์ ๋จธ๋ฌผ ์๋ ์๋ค๋ ์ ์ ๊ธฐ์ตํ๊ณ ์๋๋ก ํ์.
'Lecture ๐งโ๐ซ > Coursera' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Machine Learning] Bias vs Variance (0) | 2023.03.27 |
---|---|
[Machine Learning] Evaluating a Learning Algorithm (0) | 2023.03.27 |
[Machine Learning] Cost Function & Backpropagation (0) | 2023.03.26 |
[Machine Learning] Neural Networks (0) | 2023.03.20 |
[Machine Learning] Solving the Problem of Overfitting (2) | 2023.03.20 |