#Reference: online.codingapple.com/
๋จธ์ ๋ฌ๋ (Machine Learning): ๊ธฐ๊ณํ์ต
-> ์ปดํจํฐ์๊ฒ ์ํ ๊ณ์ฐ์ ํตํด ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฑ์ด๋ด๋๋ก ํ๋ ๊ฒ
-> ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฑ์ด๋ด๋๋ก ๊ทธ๋ํ๋ฅผ ์ค์ ํ๋ ๊ณผ์ : ํ์ต
-> ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฑ์ด๋ด๋๋ก ์ค์ ๋ ๊ทธ๋ํ: ๋ชจ๋ธ
๋จธ์ ๋ฌ๋: ์ข ๋ฅ
์ง๋ํ์ต (Supervised Learning): ์ ๋ต ์กด์ฌ & ์ ๋ต์์ธก ๋ชจ๋ธ์ ๋ง๋ค ๋
๋น์ง๋ํ์ต (Unsupervised Learning): ์ ๋ต์ด ์กด์ฌํ์ง ์์ & ๋ฒ์ฃผ๋ณ ๋ถ๋ฅ๊ฐ ํ์ํ ๋
๊ฐํํ์ต (Rainforcement Learning): ๊ฒ์ ๋ฑ์ ๊ฐ๋ฅด์น ๋ (Trial & Error)
๋จธ์ ๋ฌ๋: ๊ณผ์
์๋ฅ์ ์ ์์ธก๋ชจ๋ธ: ๋ง์ฝ 6/9์ ์ ์๋ก ์๋ฅ ์ฑ์ ์ ์์ธกํ๋ ๋ชจ๋ธ์ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด?
=> (์ฌ์ง์ฐธ๊ณ )
์์ธก 1) 6์๊ณผ 9์ ์ฑ์ ์ด ์๋ฅ์ 50%์ฉ ์ํฅ์ ๋ฏธ์น ๊ฒ์ด๋ค!
=> 60 * 0.5 + 80 * 0.5
=> 60 * w1 + 80 * w2 + b
(w1 & w2: ๊ฐ์ค์น) (b: ํธํฅ(bias) (์ ๋ ฅ๊ฐ๊ณผ๋ ๊ด๋ จ ์์ง๋ง ๊ฒฐ๊ณผ์๋ ๊ด๋ จ์ด ์๋ ๊ฐ))
* ์์ธก๊ฒฐ๊ณผ: ํญ์ ์ ํํ์ง X
=> ์ปดํจํฐ์๊ฒ ์๋์ผ๋ก ๊ฐ์ค์น๋ฅผ ์กฐ์ ํ์ฌ ์ ํํด์ง๋๋ก ๋ช ๋ น
=> ๊ฐ์ค์น๋ฅผ ์กฐ์ ํ๊ธฐ ์ํ ๊ธฐ์ค์ ์ ๊ณต ํ์ -> ๊ธฐ์ค: ์ค์ ๋ฐ์ดํฐ (=๋ฐ์ดํฐ์ )
* ๊ฐ์ค์น: ์กฐ์ ๊ณผ์
์์ธก๊ฐ ์ฐ์ถ -> ์ ๋ต๊ณผ ์์ธก๊ฐ์ ์ฐจ์ด (=์ค์ฐจ) ๊ณ์ฐ -> ์ค์ฐจ ์ต์ํ ๋ช ๋ น
=> ์ค์ฐจ๋ฅผ ์ต์ํํ๋๋ก ์กฐ์ ํ๋ ์ค์ฐจ ํ๊ฐ ํจ์: cross entropy | binary entropy | ...
๋จธ์ ๋ฌ๋: ๋ฅ๋ฌ๋
๊ฐ์ค์น ์กฐ์ ์ ํตํ ์ค์ฐจ ์ต์ํ: ํ๊ณ๊ฐ ์กด์ฌ
=> ์ฌ๋ฌ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ์ ๊ณ์ฐํ์ฌ ๋ ์ ํํด์ง๋๋ก ์ ๋
hidden layer์ ์ฉ๋: ์ ์ ๊ธฐ์ต์ ์ ์ฅํ๋ ๋ถ๋ถ (๋น์ ์ ํํ)
=> BUT ํ์ฑํจ์๊ฐ ์๋ค๋ฉด ์์ฉ X
์ฐจ ์ด๋ฏธ์ง -> ์ ๊ฒฝ๋ง
=> ๋ ์ด์ด๋ฅผ ์ง๋ ์๋ก ์ค์ค๋ก ํน์ง์ ๋ฌถ์ด๋ณด๋ฉด์ ์ข ๋ฅ๋ฅผ ์ถ์
=> ํน์ฑ์ถ์ถ (feature extraction)
** ๋ฅ๋ฌ๋์ ํน์ง: ๊ธฐ์กด์ ๋จธ์ ๋ฌ๋๊ณผ๋ ๋ฌ๋ฆฌ ์ปดํจํฐ ์ค์ค๋ก ํน์ง์ ์ถ์ถํ ์ ์์
(=๋ฐ์ดํฐ์ ๋ต์ด ํ์ ์์ but ๋ฐ์ดํฐ์ ์์ ๋ ํ์ํจ)
๋ ธ๋๋ณ ๊ณ์ฐ๋ฒ: ์ฐ๊ฒฐ๋ ํ์ ๋ ์ด์ด์ ๋ ธ๋๋ค์ ๊ฐ ๊ฐ์ค์น๋ฅผ ๊ณฑํด์ ๋ํจ
์ค์ฐจ ์ต์ํ ๋ฐฉ๋ฒ: ์ค์ฐจ๊ณ์ฐ๊ฒฐ๊ณผ๋ฅผ ์ต์ํ
์ค์ฐจ ๊ณ์ฐ (=์์คํจ์(Loss function)):
1. ํ๊ท ์ ๊ณฑ ์ค์ฐจ: ∑(์์ธก(=yฬ)-๋ต(=y))^2/n => ์ ์ ๊ฒฐ๊ณผ๋ฅผ ์์ธกํ ๋ ํ์
2.
=> ํ๋ฅ ๊ฒฐ๊ณผ๋ฅผ ์์ธกํ ๋ ํ์
ํ์ฑํจ์
ํ์ฑํจ์ (=Activation function): Hidden Layer๊ฐ ์ ์ญํ ์ ํ ์ ์๋๋ก Node์ ์ฐ์ฐ ๊ฒฐ๊ณผ๋ฅผ ์์ถ์ํค๋ ๊ฒ
์ข ๋ฅ:
hyperbolic tangent
sigmoid (๋ํ์ )
softmax
rectified linear
* sigmoid ํจ์: ๊ฐํ
( -> sigmoid / Hyperbolic tangent ๊ฐํ)
f_sigmoid = 1/(1+e^(-x))
f_hyperbolicTan = (e^x - (e^(-x)))/(e^x + e^(-x))
ํ์ฑํจ์๋ณ ๊ฒฐ๊ณผ๊ฐ
sigmoid: ๊ฐ ์์ถ (0 ~ 1)
Hyperbolic tangent: ๊ฐ ์์ถ (-1 ~ 1)
Rectified Linear Units: ์์๋ฉด 0์ผ๋ก ๋ณ๊ฒฝ
+) Activation function ์ ์ญํ : Linear์ ์ธ ์์ธก์ Non-linearํ๊ฒ ์์ธกํ ์ ์์
=> ๋์ฑ ๋ค์ํ ์ ๋ ฅ๊ฐ์ ๋ถํฌ(ex: ํน์ดํ ์ผ์ด์ค๋ค)์ ๋ณด๋ค ๋ ์ ํํ๊ฒ ์์ธกํ๋๋ก ๋์์ํฌ ์ ์์.
โป ๋ง์ง๋ง ๋ ์ด์ด (=์ถ๋ ฅ์ธต)์ ํ์ฑํจ์๊ฐ ์์ด๋ ๋จ (์ต์ข ๊ฒฐ๊ณผ์ด๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๋ ์ด์ด์ ๊ณ์ฐ๊ฒฐ๊ณผ์ ์ํฅ์ ์ฃผ์ง ์์. ๋ฐ๋ผ์ ๋์ด์์ ํ์ฑํจ์๊ฐ ํ์์ ์ด์ง ์์)
์์คํจ์
์์คํจ์์ ๊ฐ๋
w1 = x, ์ด์์ค(์ดํ E) = y๋ก ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ขํํ๋ฉด์ ๊ทธ๋ฆผ
=> E๊ฐ ๊ฐ์ฅ ์์ ๋: ์ต์ ์ w1
์ต์ ์ w1์ผ๋ก์ ๊ณผ์ : ๊ฒฝ์ฌํ๊ฐ๋ฒ
๊ฒฝ์ฌํ๊ฐ๋ฒ:
๋๋คํ w1๊ฐ์ ๊ณจ๋ผ E๋ฅผ ๊ฐ์ ธ์ด
-> ์๋ก์ด w1๊ฐ์ด ๊ธฐ์กด๊ฐ๋ณด๋ค ์ปค์ง๊ฑฐ๋ ๊ฐ์์ง๊ธฐ ์ ๊น์ง w1์ ๊ฐ์์ ๊ฒฝ์ฌ๊ฐ ๋ด๋ ค๊ฐ๋ ์ชฝ์ผ๋ก (=E๊ฐ ์์์ง๋ ์ชฝ์ผ๋ก) w1์ ์ด๋
(๊ฒฝ์ฌ๊ฐ ๋ด๋ ค๊ฐ๋ ๊ฒ์ ๋ํ ํ๋จ: ํ์ฌ w1์ ์์น๋ฅผ m, ๊ทธ๋ ค์ง ๊ทธ๋ํ๋ฅผ g๋ผ ํ ๋, m์ m - learning rate * g'(m)๋ก ์ด๋)
learning rate:
๊ทน์์ ์์ ๊ฒฝ์ฌํ๊ฐ๋ฒ์ด ์๋ฃ๋๋ ๊ฒ์ ๋ง๊ธฐ ์ํ ์์. trial and error์ ํตํด ์ต์ ๊ฐ์ ์ฐพ์์ผ ํจ. ๋ํ ์ด ๊ฐ์ด ๊ณ ์ ์ ์ผ ๋ ํ์ต์ด ์ ๋์ง ์๋ ๊ฒฝ์ฐ๋ ์์ด ์ง์์ ์ผ๋ก ์กฐ๊ธ์ฉ ๊ฐ์ ๋ณ๊ฒฝํด์ฃผ์ด์ผ ํจ.
learning rate optimizer:
ํ์ต ์ค learning rate๋ฅผ ์ต์ ํํด์ฃผ๋ ์๊ณ ๋ฆฌ์ฆ
ex:
Momemtum (๊ฐ์๋ ์ ์ง)
AdaGrad ( w๊ฐ ์์ฃผ ๋ณํ๋ฉด ์๊ฒ, ์์ฃผ ์๋ณํ๋ฉด ํฌ๊ฒ ๋ณ๊ฒฝ)
RMSProp ( AdaGrad^2 )
AdaDelta ( AdaGard์ค learning rate๊ฐ ๋๋ฌด ์์์ ธ ํ์ต์ด ์๋๋ ๊ฒ์ ๋ฐฉ์ง )
Adam: RMSProp + Momentum
=> Adam์ ์ฌ์ฉํ๊ฑฐ๋ ๋ชจ๋ธ๋ณ๋ก ์ฌ๋ฌ๊ฐ ์ ์ฉํด๋ณด๊ณ ๊ฐ์ฅ ์๋ง๋ learning rate optimizer๋ฅผ ์ ํ/์ ์ฉ
'๐ [STUDY] AI > Tensorflow' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Tensorflow - CNN D1: ๋ชจ๋ธ ๋ง๋ค๊ธฐ (0) | 2021.06.29 |
---|