<๊ฐ์ ๋ฃ๊ณ ๊ธฐ์ตํ๊ณ ์ถ์๋ ๋ด์ฉ๋ค>
1/
deep learning์ด๋ผ๋ ๊ฒ์ ๊ธฐ๋ณธ์ ์ผ๋ก x๋ผ๋ input์ด ์ฃผ์ด์ง๋ฉด y๋ฅผ ๋ด๋ฑ์ ์ ์๋ ํจ์๋ฅผ ์ฐพ๋ ๊ฒ์ด๋ผ๊ณ ์ดํดํ์๋ค.
๊ทธ๋ฆฌ๊ณ NN์ ๊ฐ ๋ด๋ฐ๋ค์ ์ฃผ๋ชฉํ๋ ๋ถ๋ถ์ด ๋ค ๋ค๋ฅด๋ค.
2/
์ด๋ฌํ ์ธ๊ณต์ง๋ฅ์ ๋งค์ฐ ๋ค์ํ ๋ถ์ผ์ ์ ์ฉ๋ ์ ์๋๋ฐ, ๊ทธ ์๋ก๋ ์ด๋ฏธ์ง ์ธ์, ์ค๋์ค ์ธ์, ๊ธฐ๊ณ ๋ฒ์ญ ๋ฑ์ด ์๋ค.
์ด๋ฏธ์ง์์๋ ์ฃผ๋ก CNN์,
์ค๋์ค/์์ฐ์ด๋ ์๊ฐ์ ํ๋ฆ์ ์ ๋ฐ์ํ๋ RNN์,
์์จ์ฃผํ๊ณผ ๊ฐ์ด ๋ค์ํ ์ ๋ณด๋ฅผ ํ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ๋ hybrid neural network๋ฅผ ์ฌ์ฉํ๋ค.
3/
์ ์ด์ ์์ผ ๋ฅ๋ฌ๋์ด ๋จ๋ ๊ฒ์ธ๊ฐ?
๋จผ์ ๋ฐฉ๋ํ ์์ ๋ฐ์ดํฐ์ ์ ๊ทผ๊ฐ๋ฅ์ฑ์ด ๋์์ก๊ณ , ํฐ ๋ชจ๋ธ์ ํ์ตํ ์ ์๋ ํ๊ฒฝ์ด ๊ตฌ์ถ๋์๊ธฐ ๋๋ฌธ์ด๋ค.
- ๋ฐ์ดํฐ์ ์ ๊ทผ ๊ฐ๋ฅ์ฑ์ ์ฆ๊ฐ
- ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ฆ๊ฐํ๋ฉด ์ฑ๋ฅ์ด ์ฆ๊ฐํ๋ค.
- ํ์ง๋ง ๊ณ ์ ์ ์ธ ML ๋ชจ๋ธ (SVM, logistic, regression, ..)์ ์ผ์ ์์ค์ ๋ฐ์ดํฐ๊ฐ ํ๋ณด๋๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋ ๋๋ ค๋ ์ฑ๋ฅ์ด ํฌ๊ฒ ์ฆ๊ฐํ์ง ์๋๋ค.
- ๋ฐ๋ฉด, NN๋ ๋ฐ์ดํฐ ์์ด ๋์ด๋ ์๋ก ์ฑ๋ฅ์ด ์ง์์ ์ผ๋ก ์ฆ๊ฐํ๋ ๊ฒฝํฅ์ด ์๋ค.
- ๋ฐ๋ผ์ NN๋ ๋ฐ์ดํฐ์ ์ ๊ทผ ๊ฐ๋ฅ์ฑ์ ์ ํ์ฉํ ์ ์๋ ๋ชจ๋ธ์ด๊ธฐ์ ์ต๊ทผ ๋ ์ธ๊ธฐ๋ฅผ ์ป๊ณ ์๋ค.
- ํฐ ๋ชจ๋ธ์ ํ์ตํ ์ ์๋ ํ๊ฒฝ
- ๋ฌผ๋ก GPU์ ๊ฐ์ด ๋น ๋ฅธ ๋ณ๋ ฌ์ฒ๋ฆฌ๋ฅผ ์ง์ํ๋ ํ๊ฒฝ์ ๋ํ ์ ๊ทผ์ด ํธ๋ฆฌํด์ง ๊ฒ๋ NN ์ธ๊ธฐ์ ๊ธฐ์ฌํ์๋ค.
4 /
deep learning๊ณผ ๊ด๋ จ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋น ๋ฅธ ๊ฐ์ ์ด ๋ฅ๋ฌ๋์ ๋ฐ์ ์ ๊ธฐ์ฌํ๋ ๋ฐ๊ฐ ํฌ๋ค.
๊ทธ ์๋ก relu๋ฅผ ๋ค ์ ์๋๋ฐ, ๊ธฐ์กด sigmoid์ ๋นํด relu๋ gradient๊ฐ ์์์ง ํ๋ฅ ์ด ์ ๋ค.
์ด๋ฌํ ํน์ง์ ํ์ต ์๋ ด ์๋๋ฅผ ๋น ๋ฅด๊ฒ ํด์ฃผ์๋ค.
์ด๋ก ์ธํด code - experiment ๋ผ๋ ์ํ์ ์ธ ๊ณผ์ ์ ์ฌ๋ฌ์ฐจ๋ก ์ํํ ์ ์๊ฒ ๋์๋ค.
5 /
๋ฐ์ดํฐ๋ฅผ ํ์ตํ๋ ๋ฐฉ๋ฒ
- 1) vectorization
- ๋ฐ์ดํฐ๋ฅผ ํ์ตํ ๋ ์ฌ๋ฌ๊ฐ์ for๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๋ผ, ํ๋ ฌ๋ก ์ฒ๋ฆฌํ์ฌ for๋ฌธ ์์ค๋ค.
- ๋๋๋ก ์ฝ๋ ์ค๊ณ ์ for๋ฌธ์ ์ง์ํ๋๋ก ํ๋ค. ํ๋ ฌ์ ์ต์ํด์ง์!
- 2) forward / backward propagation
- cost๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํด forward ์ํ
- cost์ ๋ํ parameter์ ๋ฏธ๋ถ๊ฐ์ ๊ตฌํ๊ธฐ ์ํด backward ์ํ (๋ฏธ๋ถ๊ฐ์ ์ฝ๊ฒ ๊ตฌํ ์ ์๋ค!)
6 /
๊ฐ์์์ ๋ฐ์ดํฐ๋ฅผ ํ๋ฒกํฐ์ ๋์ด์ด ์๋๋ผ, ์ด๋ฒกํฐ์ ๋์ด๋ก ํ๊ธฐํ๋ค.
๋ํ weight matrix๋ฅผ ์ด๋ฒกํฐ๊ฐ ์๋๋ผ ํ๋ฒกํฐ๋ก ํ๊ธฐํ๋ค.
7 /
๋ก์ง์คํฑ ํ๊ท์์ (y_hat-y)^2๋ฅผ loss๋ก ์ฌ์ฉํ์ง ์๊ณ , -y_i*log(p_i)-(1-y_i)*log(1-p_i)๋ฅผ loss๋ก ์ฌ์ฉํ๋ค.
๋ก์ง์คํฑ ํ๊ท์์ (y_hat-y)^2๋ non-convex๋ผ์ ์ฌ๋ฌ๊ฐ์ local minima๊ฐ ์กด์ฌํ๋ค.
๋ฐ๋ผ์ global minima๋ฅผ ์ฐพ์ง ๋ชป ํ ์ ์๊ธฐ ๋๋ฌธ์ convex function์ธ cross-entropy loss๋ฅผ ์ฌ์ฉํ๋ค.
8 /
loss = ํ๋์ ๋ฐ์ดํฐ์ ๋ํ ์ค์ฐจ ์ ๋ณด
cost = ์ ์ฒด ๋ฐ์ดํฐ์ ๋ํ ์ค์ฐจ ์ ๋ณด = loss์ ํ๊ท
9 /
parameter๋ gradient descent algorithm์ ์ํด ๊ฐฑ์ ๋๋ค.
๊ธฐ์ธ๊ธฐ๊ฐ ๊ฐ์ฅ ๊ฐํ๋ฅธ ๋ฐฉํฅ์ผ๋ก ๋ด๋ ค๊ฐ๋ ๊ฒ์ด๋ค. (=cost๊ฐ ์ค์ด๋๋ ๋ฐฉํฅ์ผ๋ก weight update)
10 /
derivative๋ ๊ธฐ์ธ๊ธฐ์ด๊ณ , ํจ์์ ์์น์ ๋ฐ๋ผ derivative(๊ธฐ์ธ๊ธฐ)๋ ๋ฌ๋ผ์ง ์ ์๋ค.
(x๊ฐ ์กฐ๊ธ ๋ณํ์ ๋ f(x)๋ x๊ฐ ์กฐ๊ธ ๋ณํ ๊ฒ ๋๋น ์ผ๋ง๋ ๋ณํ ์ง!)
ํจ์์ derivative๋ฅผ ์๊ณ ์ถ๋ค๋ฉด ๊ตฌ๊ธ๋งํ์. ์ด๊ฒ ๋๋ฌธ์ ๊ฒ๋จน์ง ๋ง์!
11 /
backpropagation์์๋ chain rule์ ์ฌ์ฉํ๋ค.
j = f(v), v=g(a)์ ๊ด๊ณ์ ์กด์ฌํ๋ค๋ฉด
a๊ฐ ์์ฃผ ์กฐ๊ธ ๋ณํ์ ๋ j๊ฐ ๋ณํ๋ ์ ๋๋
= a๊ฐ ์กฐ๊ธ ๋ณํ์ ๋ v๊ฐ ๋ณํ๋ ์ ๋*v๊ฐ (a์ ๋ณํ๋ก ์ธํด) ์กฐ๊ธ ๋ณํ์ ๋ j๊ฐ ๋ณํ๋ ์ ๋ (์ ํํ ํํ์ ์๋๋ค)
12 /
์ต์ ํํ๊ณ ์ถ์ ํจ์์ ๋ํด forward / backward ์งํํ๋ฉด์ ํ์ต์ด ์งํ๋๋ค.
13 /
vectorize๋ฅผ ์ด์ฉํ๋ฉด for-loop์์ ๋ฒ์ด๋ ์ ์๋ค.
๋ด์ฅ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ์๋์ผ๋ก ๋ณ๋ ฌํ ์ํํด์ค๋ค. for-loop ์ฌ์ฉํ์ง ๋ง์!
14 /
rank1์ np.array๋ฅผ ์ฌ์ฉํ์ง ๋ง์.
์๋ํ์ง ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ถ๋ฌ์จ๋ค.
'๐ > Coursera_DL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
WEEK3 : weight initialization (๊ฐ์ค์น ์ด๊ธฐํ) (0) | 2020.12.19 |
---|---|
WEEK3 : normalizing input (์ ๋ ฅ ์ ๊ทํ) (0) | 2020.12.19 |
WEEK3 : regularization (์ ๊ทํ) (0) | 2020.12.19 |
WEEK3 : train test split (with bias) (1) | 2020.12.19 |
WEEK2 : activation function (ํ์ฑํํจ์) (0) | 2020.12.18 |