7. ํ์ง๋ง ํ์ฑํจ์๊ฐ ์์ผ๋ฉด ๋ด๋ด๋คํธ์ํฌ๊ฐ ์๋(Activation Function)
- ๊ฒฐํจ: ๋ ์ด์ด๊ฐ ์๋ ์๋ ๊ฒฐ๊ณผ๋ ๋น์ทํจ
- ํด๊ฒฐ ๋ฐฉ๋ฒ : activation function
ํ๋ ๋ ์ด์ด์ ์๋ ๊ฐ์ ํ์ฑ ํจ์๋ฅผ ํตํด ํ ๋ฒ ๋ณํ์ํจ๋ค.
๋ํ์ ์ธ ํ์ฑ ํจ์
1) sigmoid
2) Hyperboic tangent
3) Rectified Linear Units
- ํ์ฑ ํจ์๋ฅผ ๊ฑฐ์น๊ณ ๋๋ฉด, ๋ ์ด์ด๊ฐ ์ญํ ์ ํ๊ฒ ๋จ.
- ํ์ฑ ํจ์๊ฐ ํ์ํ ์ด์ ๋ non-linearity ์์ธก์ ํ๊ธฐ ์ํด์์.
๋น์ ํ์ ์ด๊ณ , ๋ณต์กํ ์์ธก์ด ๊ฐ๋ฅํจ.
- activation function์ด ์์ผ๋ฉด ๋ฅ๋ฌ๋์ด ์๋.
- activation function์ ๋ชจ๋ ๋ ์ด์ด์ ์์ผ๋ฉด ์ข์ง๋ง, ์ถ๋ ฅ์ธต์๋ ์์ ์ ์์.
8. w๊ฐ ์ฐพ๋ ๋ฐฉ๋ฒ์ ๊ฒฝ์ฌํ๊ฐ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. (Gradient descent)
- Loss = ์์ธก๊ฐ - ์ค์ ๊ฐ.
Loss๋ฅผ ์ต์ํํ๋ w๊ฐ์ ์ปดํจํฐ๊ฐ ์ฐพ๋ ๊ฒ์.
-
์ด์์ค์ด ์ต์๊ฐ ๋๋ w๋ฅผ ์ฐพ์์ผ ํ๋๋ฐ, ๊ตฌํ ๋
- ์ฒ์์๋ ์๋ฌด๋ฐ w๊ฐ์ ๋์ ํจ.(๋๋ค๊ฐ)
๋ง์ฝ ์ฒ์ ๊ฐ์ 3์ผ๋ก ์ก์๋ค๋ฉด, 3 ์ฃผ๋ณ์ ์ด์์ค์ ๋ ์๊ฒ ๋ง๋ค ์ ์๋ ๊ฐ์ผ๋ก w๋ฅผ ๋ฐ๊ฟ์ฃผ๋๊ฒ์ด๋ค.
๋ณ์๊ฐ w1ํ๋๋ฉด 2์ฐจ์ ๊ทธ๋ํ๋ฅผ ๊ทธ๋ ค์ ํ๋จ์ด ๊ฐ๋ฅํ์ง๋ง, ๋ณ์๊ฐ ์๋ฐฑ๊ฐ๋ฉด ๊ทธ๋ฆผ๋ ๊ทธ๋ฆด ์ ์์.
๋ฐ๋ผ์ ๊ฒฝ์ฌํ๊ฐ๋ฒ์ด๋ผ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ์ฌ w1์ ์ต์ ๊ฐ์ผ๋ก ๋ณ๊ฒฝํจ.
w๊ฐ์ ์ต์ ์ ๊ฐ์ผ๋ก ๋ฐ๊พธ๊ธฐ ์ํด์, ํ์ฌ w1๊ฐ์์์ ์ ์ ์ ๊ธฐ์ธ๊ธฐ๋ฅผ w1์์ ๋บ.
์์ ์ด๋ฏธ์ง์ ๊ฒฝ์ฐ, ์ ์ ์ ๊ธฐ์ธ๊ธฐ๊ฐ ์์์ด๊ธฐ ๋๋ฌธ์ ์ผ์ชฝ์ผ๋ก ์ด๋ํจ.
์์ ์ด๋ฏธ์ง์ ๊ฒฝ์ฐ, ์ ์ ์ ๊ธฐ์ธ๊ธฐ๊ฐ ์์์ด๊ธฐ ๋๋ฌธ์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋ํจ.
๋ฐ๋ผ์, ๊ฒฝ์ฌํ๊ฐ๋ฒ์ ์ด์ฉํ๋ฉด ์ด์์ค์ด ์ต์๊ฐ ๋๋ w๊ฐ์ ์ฐพ์ ์ ์์.
- ๋จธ์ ์๊ฒ ๋ฌ๋์ ์ํจ๋ค
= ์์ค์ ์ต์ํํ๋ w๊ฐ์ ์ฐพ๊ฒ ์ํจ๋ค.
= ๊ทธ ๋ฐฉ๋ฒ์ด ๊ฒฝ์ฌํ๊ฐ๋ฒ์.
- ๋ฅ๋ฌ๋ ํ์ต๊ณผ์
(1) w๊ฐ๋ค์ ๋๋ค์ผ๋ก ์ฐ์
(2) w๊ฐ ๋ฐํ์ผ๋ก ์ด์์ค E๋ฅผ ๊ณ์ฐํจ.
(3) ๊ฒฝ์ฌํ๊ฐ์ผ๋ก ์๋ก์ด w๊ฐ ์ ๋ฐ์ดํธ.
(4) w๊ฐ ๋ฐํ์ผ๋ก ์ด์์ค E๋ฅผ ๊ณ์ฐํจ.
(5) ๊ฒฝ์ฌํ๊ฐ์ผ๋ก ์๋ก์ด w๊ฐ ์ ๋ฐ์ดํธ.
(6) w๊ฐ ๋ฐํ์ผ๋ก ์ด์์ค E๋ฅผ ๊ณ์ฐํจ.
(7) ๊ฒฝ์ฌํ๊ฐ์ผ๋ก ์๋ก์ด w๊ฐ ์ ๋ฐ์ดํธ.
... ๋ฐ๋ณต
-> ์ด์์ค์ด ๋์ด์ ์ค์ด๋ค์ง ์์ ๋๊น์ง.
- Local minima
๋ง์ฝ ์ฒ์ w๊ฐ์ ์๋ชป ์ก์ผ๋ฉด, ๋จ์ํ ๊ธฐ์ธ๊ธฐ๋ฅผ ๋นผ๋ ๋ฐฉ๋ฒ์ผ๋ก๋ ์๋ชป๋ w๊ฐ์ ์ต์ ์ ๊ฐ(local minima)์ผ๋ก ๊ฒฐ๋ก ๋ผ ์ ์์.
๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๊ฐ ์ฐพ์์ผ ํ๋ ๊ฐ์ ์ผ์ชฝ ํ์ดํ์ ๊ฐ์.
- ํด๊ฒฐ์ฑ : ๊ธฐ์ธ๊ธฐ๋ง ๋นผ์ง ๋ง๊ณ , learning rate* ๊ธฐ์ธ๊ธฐ๋ฅผ ๋นผ๊ธฐ
- learning rate๋ฅผ ๊ณฑํด์ ๋นผ์ฃผ๋ฉด, local minima๋ฅผ ์ต์ ์ ์ผ๋ก ๊ฒฐ๋ก ๋ด์ง ์์ ์ ์์.
์์์ 0.00001 ๋ฑ์ ์์ ์ซ์๋ฅผ ๋ฃ์ด๋ณด๋ฉด์, ์คํ์ ์ผ๋ก ํด๋ณด๋ฉด ๋จ.
- learning rate๋ฅผ ๊ณ ์ ๋ ๊ฐ๋ง ์ฃผ๋ฉด ๋ณต์กํ ๋ฌธ์ ์ ๊ฒฝ์ฐ ํ์ต์ด ์ผ์ด๋์ง ์๋ ๊ฒฝ์ฐ๋ ์์.
- learning rate optimizer
- Momentum : ๊ฐ์๋๋ฅผ ์ ์งํ์
- AdaGrad : ์์ฃผ๋ณํ๋ w๋ ์๊ฒ, ์์ฃผ๋ณํ๋ฉด ํฌ๊ฒ
- AdaDelta : AdaGrad์ธ๋ฐ a๊ฐ ๋๋ฌด ์์์ ธ์ ํ์ต์๋๋๊ฑฐ ๋ฐฉ์งํด์ค.
์ฌ๋ฌ ๊ฐ ์จ๋ณด๋ฉด์ ๋ชจ๋ธ๊ณผ ๊ฐ์ฅ ์ด์ธ๋ฆฌ๋ ๊ฒ์ ํํ๋ฉด ๋๋ ์ฃผ๋ก ์๋ด์ ์ฐ๋ฉด ๋จ.
- ์ง๊ธ๊น์ง๋ ๊ธฐ์ธ๊ธฐ๋ผ๊ณ ํ์ผ๋, ์ค์ ๋ก๋ ํธ๋ฏธ๋ถ์ ์ด์ฉํจ.
9. w๊ฐ ์ญ์ ํ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ ๋ฐ์ดํธ ํ๋ ๋ฒ (back propagation)
10. Tensorflow 2 ๋น ๋ฅธ ๊ธฐ์ด & ํ ์ํ๋ก์ฐ๋ฅผ ์ฐ๋ ์ด์ ํน์ ์์ญ๋๊น
- ๊ธฐ๋ณธ ํ ์ ๋ง๋ค๊ธฐ : ํ ์๋ ๊ทธ๋ฅ ์ซ์, ๋ฆฌ์คํธ๋ฅผ ๋ด๋ ๊ณณ์.
- ํ
์๊ฐ ํ์ํ ์ด์ : x1w1 + x2w2 + x3w3์ ๊ฐ์ ์ฐ์ฐ์ ๋ง์ด ํด์ผํจ. python์ผ๋ก ์ฝ๋๋ฅผ ์ง๋ ค๋ฉด ๋ฒ๊ฑฐ๋ก์.
๊ทธ๋์ ๊ณ ์๋ ๊ฐ๋ ์ด ํ๋ ฌ์. (์ซ์์ ๋์ด) -> ์ซ์ ์ฌ๋ฌ๊ฐ๋ฅผ ํ ๋ฒ์ ๊ณ์ฐํ๊ธฐ ์ข์.
ํ๋ ฌ์ด๋ ์ ์ฌํ๊ฒ ์ธ ์ ์๋ ํ์ด์ฌ ์ฝ๋๊ฐ ํ ์๋ผ๋ ์๋ฃํ์. ํ๋ ฌ๋ก ์ธํ/w๊ฐ ์ ์ฅ ๊ฐ๋ฅ, ๊ทธ๋ผ node๊ฐ ๊ณ์ฐ์์ด ์ฌ์์ง.
- tf.add()
tf.subtract()
tf.divide()
tf.multiply()
tf.matmul() ๋ฑ์ ํจ์๋ฅผ ์ด์ฉํ ์ ์์.
- weight๋ฅผ ์ ์ฅํ๊ณ ์ถ์ผ๋ฉด Variable์ ๋ง๋ค๊ธฐ.
w = tf.Variable(1.0)
w.assign(2)
print(w)
'๐ฅ ๊ธฐ์ > ์ธ๊ณต์ง๋ฅ ๋ฐ ๋ฐ์ดํฐ ์ฌ์ด์ธ์ค(AI, ์ปดํจํฐ ๋น์ , ๋ฅ๋ฌ๋)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[AI ์คํฐ๋]-3 Project 2 : ์ด๋ฏธ์ง ํ์ต๊ณผ CNN (0) | 2022.06.07 |
---|---|
[AI ์คํฐ๋]-2 Project 1 : ๋ํ์๋ถ์ ํ๋ฅ ์ ์์ธกํด๋ณด์ (0) | 2022.06.07 |
[AI ์คํฐ๋]-1 ๋ฅ๋ฌ๋ ์ด๋ก (3) (0) | 2022.06.06 |