์ ๊ฒฝ๋ง ๋ด๋ถ์ ๊ฐ์ค์น๋ ์ค์ฐจ ์ญ์ ํ ๋ฐฉ๋ฒ์ ์ด์ฉํด ์์ ํ๋ค.
- ๊ฒฝ์ฌํ๊ฐ๋ฒ์ ํ์ฅ ๊ฐ๋
์์์ ๊ฐ์ค์น๋ฅผ ์ ์ธํ๊ณ ๊ฒฐ๊ด๊ฐ์ ์ด์ฉํด ์ค์ฐจ๋ฅผ ๊ตฌํ ๋ค ์ด ์ค์ฐจ๊ฐ ์ต์์ธ ์ง์ ์ผ๋ก ๊ณ์ํด์ ์กฐ๊ธ์ฉ ์ด๋์ํจ๋ค.
์ค์ฐจ๊ฐ ์ต์๊ฐ ๋๋ ์ (๋ฏธ๋ถํ์ ๋ ๊ธฐ์ธ๊ธฐ๊ฐ 0์ด ๋๋ ์ง์ ) ์ฐพ๊ธฐ
๊ณ์ฐ ๋ฐฉํฅ์ด ์ถ๋ ฅ์ธต์์ ์์ํด ์์ผ๋ก ์งํ. ์ด๋ฌํ ๋ค์ธต ํผ์ ํธ๋ก ์์์ ์ต์ ํ ๊ณผ์ ์ ์ค์ฐจ ์ญ์ ํ๋ผ๊ณ ํ๋ค.
= ์ถ๋ ฅ์ธต์ผ๋ก๋ถํฐ ํ๋์ฉ ์์ผ๋ก ๋๋์๊ฐ๋ฉฐ ๊ฐ ์ธต์ ๊ฐ์ค์น๋ฅผ ์์ ํ๋ ๋ฐฉ๋ฒ
์ค์ฐจ์ญ์ ํ ๊ตฌ๋ ๋ฐฉ์
1 . ์์์ ์ด๊ธฐ ๊ฐ์ค์น(W)๋ฅผ ์ค ๋ค ๊ฒฐ๊ณผ(y out)๋ฅผ ๊ณ์ฐํ๋ค.
2 . ๊ณ์ฐ ๊ฒฐ๊ณผ์ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๊ฐ ์ฌ์ด์ ์ค์ฐจ๋ฅผ ๊ตฌํ๋ค.
3 . ๊ฒฝ์ฌ ํ๊ฐ๋ฒ์ ์ด์ฉํด ๋ฐ๋ก ์ ๊ฐ์ค์น๋ฅผ ์ค์ฐจ๊ฐ ์์์ง๋ ๋ฐฉํฅ์ผ๋ก ์ ๋ฐ์ดํธํ๋ค.
4 . ์ ๊ณผ์ ์ ๋์ด์ ์ค์ฐจ๊ฐ ์ค์ด๋ค์ง ์์ ๋๊น์ง ๋ฐ๋ณตํ๋ค. (๊ฐ์ค์น - ๊ธฐ์ธ๊ธฐ , ๊ฐ์ค์น์ ๋ณํ๊ฐ ์๋ ์ํ)
OR ๋ฌธ์ ๋ฅผ ์ด๋ฌํ ์ค์ฐจ ์ญ์ ํ ๋ฐฉ์์ผ๋ก ํด๊ฒฐํ๋ ค๋ฉด ์ด๋ป๊ฒ ์ฝ๋ฉํด์ผ ํ ๊น์?
์์ XOR ๋ฌธ์ ๋ฅผ ์ฝ๋ฉ์ผ๋ก ํ์ธํ ๋๋ ๊ฐ์ค์น๋ฅผ ๋ฏธ๋ฆฌ ์๊ณ ์ ๊ทผํ์์ต๋๋ค.
์ค์ฐจ ์ญ์ ํ๋ ์ด๋ฅผ ๋ชฐ๋ผ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ฐ๋ฐ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
์ ๋ ฅ๋ ์ค์ ๊ฐ๊ณผ ๋ค์ธต ํผ์ ํธ๋ก ์ ๊ณ์ฐ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ์ฌ ๊ฐ์ค์น๋ฅผ ์ญ์ ํ ๋ฐฉ์์ผ๋ก ์์ ํด ๊ฐ๋ ์ฝ๋ฉ์ ๋ค์๊ณผ ๊ฐ์ ์์๋ก ๊ตฌํํฉ๋๋ค.
1 | ํ๊ฒฝ ๋ณ์ ์ง์ : ํ๊ฒฝ ๋ณ์์๋ ์ ๋ ฅ ๊ฐ๊ณผ ํ๊น ๊ฒฐ๊ด๊ฐ์ด ํฌํจ๋ ๋ฐ์ดํฐ์ , ํ์ต๋ฅ ๋ฑ์ด ํฌํจ๋ฉ๋๋ค. ๋ํ, ํ์ฑํ ํจ์์ ๊ฐ์ค์น ๋ฑ๋ ์ ์ธ๋์ด์ผ ํฉ๋๋ค.
2 | ์ ๊ฒฝ๋ง ์คํ: ์ด๊น๊ฐ์ ์ ๋ ฅํ์ฌ ํ์ฑํ ํจ์์ ๊ฐ์ค์น๋ฅผ ๊ฑฐ์ณ ๊ฒฐ๊ด๊ฐ์ด ๋์ค๊ฒ ํฉ๋๋ค.
3 | ๊ฒฐ๊ณผ๋ฅผ ์ค์ ๊ฐ๊ณผ ๋น๊ต: ์ค์ฐจ๋ฅผ ์ธก์ ํฉ๋๋ค.
4 | ์ญ์ ํ ์คํ: ์ถ๋ ฅ์ธต๊ณผ ์๋์ธต์ ๊ฐ์ค์น๋ฅผ ์์ ํฉ๋๋ค.
5 | ๊ฒฐ๊ณผ ์ถ๋ ฅ
๋ค์ธต ํผ์ ํธ๋ก , ์ค์ฐจ ์ญ์ ํ -> ์ ๊ฒฝ๋ง -> XOR๋ฌธ์ ํด๊ฒฐ
์ค์ฐจ ์ญ์ ํ์ ๊ธฐ์ธ๊ธฐ ์์ค(vanishing gradient) ๋ฌธ์
- ์ธต์ด ๋์ด๋๋ฉด์ ์ญ์ ํ๋ฅผ ํตํด ์ ๋ฌ๋๋ ์ด ๊ธฐ์ธ๊ธฐ์ ๊ฐ์ด ์ ์ ์์์ ธ ๋งจ ์ฒ์ ์ธต๊น์ง ์ ๋ฌ๋์ง ์๋๋ค
์ด์ ๋ ํ์ฑํ ํจ์๋ก ์ฌ์ฉ๋ ์๊ทธ๋ชจ์ด๋ ํจ์์ ํน์ฑ ๋๋ฌธ์ ๋๋ค. ์๊ทธ๋ชจ์ด๋ ํจ์๋ฅผ ๋ฏธ๋ถํ๋ฉด ์ต๋์น๋ 0.3, 1๋ณด๋ค ์์ผ๋ฏ๋ก ๊ณ์ ๊ณฑํ๋ค ๋ณด๋ฉด 0์ ๊ฐ๊น์์ง๋ค. ๋ฐ๋ผ์ ์ฌ๋ฌ ์ธต์ ๊ฑฐ์น ์๋ก ๊ธฐ์ธ๊ธฐ๊ฐ ์ฌ๋ผ์ ธ ๊ฐ์ค์น๋ฅผ ์์ ํ๊ธฐ๊ฐ ์ด๋ ค์์ง๋ค.
ํด๊ฒฐ : ํ์ฑํ ํจ์๋ฅผ ์๊ทธ๋ชจ์ด๋๊ฐ ์๋ ์ฌ๋ฌ ํจ์๋ก ๋์ฒด
๋ ๋ฃจ ํจ์ : ํ์ฌ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ํ์ฑํ ํจ์
๊ฒฝ์ฌํ๊ฐ๋ฒ์ผ๋ก ๊ฐ์ค์น ์ ๋ฐ์ดํธ -- ์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ถํด์ผ ํ๋ฏ๋ก ๊ณ์ฐ๋์ด ๋ง๋ค --> ๋ณด์์ฑ : ๊ณ ๊ธ ๊ฒฝ์ฌ ํ๊ฐ๋ฒ
- ํ๋ฅ ์ ๊ฒฝ์ฌ ํ๊ฐ๋ฒ(Stochastic Gradient Descent, SGD)
์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๋ผ, ๋๋คํ๊ฒ ์ถ์ถํ ์ผ๋ถ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ๋ ๋นจ๋ฆฌ ๊ทธ๋ฆฌ๊ณ ์์ฃผ ์ ๋ฐ์ดํธ ๊ฐ๋ฅ
- ๋ชจ๋ฉํ (momentum)
๊ฒฝ์ฌ ํ๊ฐ๋ฒ์ ํ๋ ฅ์ ๋ํด ์ฃผ๋ ๊ฒ. ๋ค์ ๋งํด์, ๊ฒฝ์ฌ ํ๊ฐ๋ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋งค๋ฒ ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ตฌํ์ง๋ง, ์ด๋ฅผ ํตํด ์ค์ฐจ๋ฅผ ์์ ํ๊ธฐ ์ ๋ฐ๋ก ์ ์์ ๊ฐ๊ณผ ๋ฐฉํฅ(+, -)์ ์ฐธ๊ณ ํ์ฌ ๊ฐ์ ๋ฐฉํฅ์ผ๋ก ์ผ์ ํ ๋น์จ๋ง ์์ ๋๊ฒ ํ๋ ๋ฐฉ๋ฒ.
๋ฐ๋ผ์ ์์ ๋ฐฉํฅ์ด ์์(+) ๋ฐฉํฅ์ผ๋ก ํ ๋ฒ, ์์(-) ๋ฐฉํฅ์ผ๋ก ํ ๋ฒ ์ง๊ทธ์ฌ๊ทธ๋ก ์ผ์ด๋๋ ํ์์ด ์ค์ด๋ค๊ณ , ์ด์ ์ด๋ ๊ฐ์ ๊ณ ๋ คํ์ฌ ์ผ์ ๋น์จ๋งํผ๋ง ๋ค์ ๊ฐ์ ๊ฒฐ์ ํ๋ฏ๋ก ๊ด์ฑ์ ํจ๊ณผ
๊ณ ๊ธ ๊ฒฝ์ฌ ํ๊ฐ๋ฒ |
๊ฐ์ |
ํจ๊ณผ |
์ผ๋ผ์ค ์ฌ์ฉ๋ฒ |
ํ๋ฅ ์ ๊ฒฝ์ฌ ํ๊ฐ๋ฒ(SGD) |
๋๋คํ๊ฒ ์ถ์ถํ ์ผ๋ถ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด ๋ ๋นจ๋ฆฌ, ์์ฃผ ์ ๋ฐ์ดํธ๋ฅผ ํ๊ฒ ํ๋ ๊ฒ |
์๋ ๊ฐ์ |
keras.optimizers.SGD(lr = 0.1) ์ผ๋ผ์ค ์ต์ ํ ํจ์๋ฅผ ์ด์ฉํฉ๋๋ค. |
๋ชจ๋ฉํ (Momentum) |
๊ด์ฑ์ ๋ฐฉํฅ์ ๊ณ ๋ คํด ์ง๋๊ณผ ํญ์ ์ค์ด๋ ํจ๊ณผ |
์ ํ๋ ๊ฐ์ |
keras.optimizers.SGD(lr = 0.1, momentum = 0.9) ๋ชจ๋ฉํ ๊ณ์๋ฅผ ์ถ๊ฐํฉ๋๋ค. |
๋ค์คํ ๋กํ ๋ชจ๋ฉํ (NAG) |
๋ชจ๋ฉํ ์ด ์ด๋์ํฌ ๋ฐฉํฅ์ผ๋ก ๋ฏธ๋ฆฌ ์ด๋ํด์ ๊ทธ๋ ์ด๋์ธํธ๋ฅผ ๊ณ์ฐ. ๋ถํ์ํ ์ด๋์ ์ค์ด๋ ํจ๊ณผ |
์ ํ๋ ๊ฐ์ |
keras.optimizers.SGD(lr = 0.1, momentum = 0.9, nesterov = True) ๋ค์คํ ๋กํ ์ต์ ์ ์ถ๊ฐํฉ๋๋ค. |
์๋ค๊ทธ๋ผ๋ (Adagrad) |
๋ณ์์ ์ ๋ฐ์ดํธ๊ฐ ์ฆ์ผ๋ฉด ํ์ต๋ฅ ์ ์ ๊ฒ ํ์ฌ ์ด๋ ๋ณดํญ์ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ |
๋ณดํญ ํฌ๊ธฐ ๊ฐ์ |
keras.optimizers.Adagrad(lr = 0.01, epsilon = 1e - 6) ์๋ค๊ทธ๋ผ๋ ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. โป ์ฐธ๊ณ : ์ฌ๊ธฐ์ epsilon, rho, decay ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ ๋ฐ๊พธ์ง ์๊ณ ๊ทธ๋๋ก ์ฌ์ฉํ๊ธฐ๋ฅผ ๊ถ์ฅํ๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ lr, ์ฆ learning rate(ํ์ต๋ฅ ) ๊ฐ๋ง ์ ์ ํ ์กฐ์ ํ๋ฉด ๋ฉ๋๋ค. |
์์ ์์คํ๋กญ (RMSProp) |
์๋ค๊ทธ๋ผ๋์ ๋ณดํญ ๋ฏผ๊ฐ๋๋ฅผ ๋ณด์ํ ๋ฐฉ๋ฒ |
๋ณดํญ ํฌ๊ธฐ ๊ฐ์ |
keras.optimizers.RMSprop(lr = 0.001,rho = 0.9, epsilon = 1e - 08, decay = 0.0) ์์ ์์คํ๋กญ ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. |
์๋ด(Adam) |
๋ชจ๋ฉํ ๊ณผ ์์ ์์คํ๋กญ ๋ฐฉ๋ฒ์ ํฉ์น ๋ฐฉ๋ฒ |
์ ํ๋์ ๋ณดํญ ํฌ๊ธฐ ๊ฐ์ |
keras.optimizers.Adam(lr = 0.001, beta_1 = 0.9, beta_2 = 0.999, epsilon = 1e - 08, decay = 0.0) ์๋ด ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. |
์๋ด(Adam) = ํ์ฌ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๊ณ ๊ธ ๊ฒฝ์ฌ ํ๊ฐ๋ฒ
'๋ฅ๋ฌ๋ > Today I learned :' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฅ๋ฌ๋] ํผ๋ง ์ธ๋์ธ ๋น๋จ๋ณ ์์ธกํ๊ธฐ (0) | 2021.03.22 |
---|---|
[๋ฅ๋ฌ๋] ๋ชจ๋ธ ์ค๊ณํ๊ธฐ (0) | 2021.03.21 |
[๋ฅ๋ฌ๋] ํผ์ ํธ๋ก (perceptron) - ๋ค์ธต ํผ์ ํธ๋ก (0) | 2021.03.19 |
[๋ฅ๋ฌ๋] ํผ์ ํธ๋ก (perceptron) - ๋จ์ธต ํผ์ ํธ๋ก (0) | 2021.03.18 |
[๋ฅ๋ฌ๋] ๋ก์ง์คํฑ ํ๊ท(logistic regression) (0) | 2021.03.17 |