์ ๊ฒฝ๋ง์ ์๋ฆฌ
์ด์ multi-layer perceptron์ ์ด์ฉํ ์ ์๊ฒ ๋์์ง๋ง, ์ ํํ ๊ตฌ๋์ํค๊ธฐ ์ํด ์์์ผํ ๊ฒ์ด ์๋ค. ์ฃผ์ด์ง input์ ๊ฐ์ง๊ณ ๊ณ์ฐ์ ํด์ output์ ๋ผ ์๋ ์์ง๋ง, output ๊ฐ์ด ์ฃผ์ด์ง ์ ๋ต๊ณผ ๋ค๋ฅผ ๋ ํ์ตํ๋ ๊ธฐ๋ฅ์ ์์ง ๊ตฌํํ์ง ๋ชปํ๋ค. ์ฌ๊ธฐ์ ํ์ต์ด๋ w๊ฐ์ ์กฐ์ ํ๋ ๊ฒ์ ๋งํ๋ค.
w๊ฐ์ ์กฐ์ ํ๋ ํ์ต์ ํ๊ธฐ ์ํด์๋ ๋๋ค, ์กฐ๊ธ์ฉ ์ฎ๊ฒจ๋ณด๊ธฐ ์ ๋ฐฉ์๋ณด๋ค๋ ๋ฏธ๋ถ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
w์ ๋ํ Error์ ๋ฏธ๋ถ๊ฐ์ ๊ตฌํ ํ ๋ฐ๋์ชฝ์ผ๋ก ์ผ์ ์น๋งํผ ์์ง์ฌ์ผ ํ๋ฏ๋ก Error๋ฅผ w์ ์์ผ๋ก ๋ํ๋ผ ์ ์์ด์ผ ํ๊ณ , ์กฐ์ ๋๋ w์ ๊ฐ์ ์ด์ ๊ด๋ จํ์ฌ ํํํ ์ ์์ด์ผํ๋ค.
๊ฒฐ๊ตญ error๋ฅผ ์ค์ด๊ธฐ ์ํด w๊ฐ์ ์กฐ์ ํ๋ ๊ณผ์ ์ error์ ๋ํ w์ ๋ฏธ๋ถ๊ฐ์ด ํ์ํ ๊ฒ์ด๋ค.
์ด๋ ๊ฒ ๊ธฐ์ธ๊ธฐ์ ๋ฐ๋ ๋ฐฉํฅ์ผ๋ก ํจ์์์ ๊ฐ์ฅ ๊ฐํ๋ฅธ ๊ธฐ์ธ๊ธฐ๋ก ๋ด๋ ค๊ฐ๋ learning ๋ฐฉ๋ฒ์ steepest descent ๋ผ๊ณ ํ๋ค.
๋ชฉํ : error ๊ฐ์
- training data๋ก ์ ๋ต๊ณผ input ๊ฐ์ ์ค๋ค.
- ์์คํ ์ด output ๊ฐ์ ๋ธ๋ค.
- error๊ฐ ์ง์ ํ ๊ฐ ์ดํ์ธ์ง ํ๋จํ๋ค.
- ์ดํ๋ผ๋ฉด ํ์ต์ ์ข ๋ฃํ๋ค.
- ์ด๊ณผ๋ผ๋ฉด ํ์ต ํ ์์คํ ์ ์ฌ๊ตฌ๋ํ๋ค. (2๋ก ๋์๊ฐ๊ธฐ)
3๋ฒ์ด ์ด์ ๋ถํฐ ํด์ผํ ๊ณผ์ ์ด๋ค.
์ฌ๊ธฐ์ ๋ฌธ์ ๋
- error์ ๊ธฐ์ค์ ์ด๋ป๊ฒ ์ ํ ๊ฒ์ธ์ง (3)
๋ชฉํ๋ฅผ ์์ผ๋ก ๋ง๋ค์ด์ ์ถฉ์กฑํ๋๋ก ํ๊ธฐ ์ํด ํ์
- ํ์ตํ๋ ๊ณผ์ ์์ weight ๊ฐ์ ์ด๋ป๊ฒ ์กฐ์ ํ ๊ฒ์ธ์ง (3-2)
์ด๋ ์ ๋์ ์ด๋์ ํ ๊ฒ์ธ์ง ๊ฒฐ์ ํ๊ธฐ ์ํด ํ์
1. error์ ์ข ๋ฅ
์์ ์ฌ์ฉํ error์ ์ธก์ ์ ๊ฑฐ๋ฆฌ๋ฅผ ์ด์ฉํ ๋ฐฉ์์ด์๋ค.
- Mean squared error
์ ๋ต๊ณผ ์ถ๋ ฅ๊ฐ์ ์ฐจ์ด๋ฅผ ์ ๊ณฑํด์ ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํด์ ๋ํ๊ณ ๋ฐ์ผ๋ก ๋๋๋ค.
2. weight ์กฐ์
์์ ์ด๋ฌํ ๊ทธ๋ฆผ์ ์ค๋ช ํ ์ ์ด ์๋๋ฐ, ์ด ๊ทธ๋ฆผ์ ์์ ๋ก ํ์ต์ ํด๋ณด๋๋ก ํ๊ฒ ๋ค.
๋จผ์ , ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ํ๋ฌ๊ฐ๋ ์ด๋ฌํ ํ๋ฆ์ forward propagation์ด๋ผ๊ณ ํ๋ค๊ณ ํ๋ค.
์ฌ๊ธฐ์ x3์ -1๋ก ๊ณ ์ ๋์ด ์๋ค๊ณ ํ์.
์ด๋ฌํ ์ํฉ์์ w3์ theta๋ผ๊ณ ๋ ํ๋๋ฐ, theta๋ layer๋ง๋ค ํ์ํ๋ค.
ํ์ํ ์ด์ ๋ ๋์ถฉ input์ด ๋ชจ๋ 0์ด์ด๋ net์ด 0์ด ์๋ ์ด๋ค ๊ฐ์ ๋ง์กฑํด์ผํ๊ธฐ ๋๋ฌธ์ด๋ฉฐ, ๋์ค์ ์์ธํ ์ค๋ช ํ๋ค.
๊ทธ ๋ฐ๋๋ก ์ญํ๋ฆ์ back propagation์ด๋ผ๊ณ ํ๋๋ฐ, ์ด ํ๋ฆ์ ํตํด ๋ฏธ๋ถ์ ๊ณ์ฐํ๊ณ Error์ ๋ฐ๋ผ w๋ฅผ ์กฐ์ ํ ์ ์๊ฒ ๋๋ค.
์ฆ, forward propagation์ input์ ๋ฐ๋ฅธ output์ ๋ด๋ ๊ณผ์ ์ด๊ณ back propagation์ error์ ๋ฐ๋ผ w๋ฅผ ์กฐ์ ํ๋ ํ์ต์ ๊ณผ์ ์ด๋ค.
๋ฐฉ๊ธ ์ error๊น์ง ๋ฐฐ์ฐ๋ฉด์ forward propagation์ ๋ฐฉ๋ฒ์ ๋ชจ๋ ์์์ผ๋ฉฐ, ์ด์ ๋ ํ์ต์ ์ํ back propagation์ ๋ฐฐ์ธ ์ฐจ๋ก์ด๋ค. back propagation์ ์ ๊ฒฝ๋งํ์ต์์ ์ค์ํ ๋ถ๋ถ์ด๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด์ ์์ ์์ ์์ w๋ฅผ ์กฐ์ ํ๋ ๊ณผ์ ์ ๋ํ๋ด๋ณด์. ํ์ฑํ ํจ์(activation function)๋ ์๊ทธ๋ชจ์ด๋ ํจ์์ด๋ฉฐ, Error๋ Mean Squared Error๋ก ๊ณ์ฐํ๋ perceptron์ด๋ผ ๊ฐ์ ํ๋ค.
์ฐ์ error์ ๋ํ w์ ๋ฏธ๋ถ ๊ฐ์ ๊ตฌํด์ผํ๋ค.
์ด ๊ฐ๊ณผ ๋ฐ๋ ๋ถํธ๋ก w๋ฅผ ์์ง์ฌ์ผ ํ๋ฉฐ, ์ด ๊ฐ์ ์ด์ฉํ์ฌ ์์ง์ผ w๊ฐ์ ๊ฒฐ์ ํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
error๋ฅผ ๊ณ์ฐํ๋ ๊ณผ์ ์์ w๊ฐ ๋ง์ ํจ์์ ๊ฐ์ธ์ ธ์์ผ๋ฏ๋ก, w๊ฐ์ ๋ํ error์ ๋ฏธ๋ถ์ ๋ฐ๋ก ๊ตฌํ๊ธฐ๋ ์ฝ์ง ์๋ค. ๋ฐ๋ผ์, ์ฌ๊ธฐ์๋ ๋ฏธ๋ถ์์ ๋ฐฐ์ ๋ chain rule์ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค.
์์ chain rule์ ์ด์ฉํด์ ํํํ๋ฉด,
๋ก ๋ํ๋ผ ์ ์๋ค.
์ด๋ฏ๋ก
์
์ด๋ค.
์ด๋ฏ๋ก
์
์ด๋ค.
์ด๋ฏ๋ก
์ x ์ด๋ค.
delta rule
๋ฐ๋ผ์
์ด๊ณ
w๋ ๋ฏธ๋ถ ๊ฐ์ ๋ฐ๋๋ก ์ด๋ํด์ผ ํ๋ฏ๋ก
์ด๋ ๊ฒ ์์ c ๊ฐ์ ๋ถ์ฌ w์ ์กฐ์ ๊ฐ์ ํํํ ์ ์๋ค.
์ด๋ฐ ์์ผ๋ก ๋ฏธ๋ถ ๊ฐ์ ์์ ๊ฐ๋ง์ ๊ณฑํด์ w๊ฐ์ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ์ delta rule์ด๋ผ๊ณ ํ๋ค.
์ฌ๊ธฐ์ c ๋ learning rate๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋ฐ, ํ์ต์ ๋์์ ์๋๊ณ ๊ฐ๋ฐ์๊ฐ ๋ฏธ๋ฆฌ ์ง์ ํด์ฃผ๋ ๊ฐ์ด๋ค.
๊ฐ๋ฐ์๊ฐ ๋ฏธ๋ฆฌ ์ ํด์ฃผ๋ ๊ฒ
์ง๊ธ๊น์ง ๋ฐฐ์ด ๊ฒ๋ค ์ค ๊ฐ๋ฐ์๊ฐ ๋ฏธ๋ฆฌ ์ธ๊ณต์ง๋ฅ์ ๊ธฐ๋ฅ์ ์ํด ์ ํด์ฃผ๋ ๊ฒ๋ค์ด ์๋ค.
Error์ ์ข ๋ฅ, activation function(ํ์ฑํ ํจ์), learning rate ์ด๋ค.
learning rate
c ์ฆ, learning rate๋ ํฌ๋ฉด w๊ฐ์ด ํฌ๊ฒ ์กฐ์ ๋๊ณ ์์ผ๋ฉด w๊ฐ์ด ์๊ฒ ์กฐ์ ๋๋ค.
- c๊ฐ ์์ ๊ฒฝ์ฐ
๊ธฐ์กด๊ณผ ๊ฐ์ด ํ์ต์๋๊ฐ ๋๋ฆฌ๋ฉฐ, local minimum์ ๋น ์ง ํ๋ฅ ์ด ํฌ๋ค.
-
c๊ฐ ํฐ ๊ฒฝ์ฐ
learning rate๊ฐ ํฌ๋ฉด w๊ฐ์ด ํฌ๊ฒ ์กฐ์ ๋๋ค.
์ด๋ฐ ๊ฒฝ์ฐ์ ์ผ์ชฝ์ ๊ทธ๋ฆผ์ฒ๋ผ local minimum์ ํผํด์ global minimum์ผ๋ก ๊ฐ ์ ์๋ ๊ฐ๋ฅ์ฑ์ด ์๊ธฐ์ง๋ง, ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ฒ๋ผ ์ง๋์ ํ๋ฉด์ ํ์ต์๋๊ฐ ๋ ๋๋ ค์ง ์๋ ์๋ค.
๋ฐ๋ผ์ ์ด๋ ๊ฒ ๊ฐ๋ฐ์๊ฐ ์ง์ ํ๋ ๊ฐ์ ์ฌ๋ฌ๊ฐ์ง ๊ฒฝ์ฐ์ ์๋ฅผ ๋ฐ์ ธ๊ฐ๋ฉฐ ๊ณ์ ๋ฐ๊ฟ์ ๊ฐ์ฅ ์ต์ ์ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋ ๊ฒฝ์ฐ๋ฅผ ํํด์ผ ํ๋ค. ์ฆ, ์คํ์ ์ผ๋ก ๊ฒฐ์ ํด์ผํ๋ค.
computational graph
์ด์ ์ดํด๋ฅผ ํ์ง๋ง, ๋ฏธ๋ถ ๊ฐ์ ์ฐพ๋ ๊ฑธ ์ง๊ด์ ์ผ๋ก ํํํด๋ณด๊ณ ์ ํ๋ค.
์์์ ์์ผ๋ก ๊ณ์ฐํ ์ผ๋ จ์ ๊ณผ์ ์ ๊ทธ๋ํ๋ก ํํํด ๋ ๊ฒ์ computational graph๋ผ ํ๋ค. ์์ ๊ทธ๋ฆผ์ computational graph๋ก ํํํด๋ณด์.
์ฐ์ error๋ฅผ ๊ณ์ฐํ๊ธฐ ์ ์ธ output๊น์ง๋ง computational graph๋ก ํํํ์๋ค.
์ฌ์ฉ์๊ฐ ์ ๋ ฅํ x๊ฐ์ x1 = -1, x2 = -2์ด๊ณ ์์คํ ์ ์ํด ๋๋ค์ผ๋ก ๊ฒฐ์ ๋ ๊ฐ์ด w1 = 2, w2 = -3, w3 = -3์ผ ๋, w๊ฐ์ด ์ด๋ป๊ฒ ์กฐ์ ๋์ด์ผํ๋์ง ์ดํด๋ณด์.
forward propagation๋ถํฐ ํ์ดํ ์์ชฝ์ ํํํด๋ณด๋ฉด, ๋ค์๊ณผ ๊ฐ๋ค.
์ด์ back propagation์ ๊ณ์ฐ๋ ๊ฐ์ ์ด์ฉํด์ ํํํ์ฌ์ผํ๋ค. ์ฐ์ ์ฒ์ ์ ๋ถ์ ๋ค๋ฅธ ์๋ฅผ ๊ณฑํ ์ ์๋๋ก 1๋ก ๋๊ณ ๊ณ์ฐํด๋ณด์.
ํด๋น ๊ทธ๋ฆผ์์ upstream gradient๋ฅผ local gradient์ ๊ณฑํ๋ฉด downstream gradient๊ฐ ๋๋ค.
์ด๋ฏ๋ก x์ 0.73์ ๋ฃ์ผ๋ฉด
์ด๋ค.
์ด๋ฐ ์์ผ๋ก ํํํ ์ ์๊ณ , ์ด๋ฌํ ๋ฐฉ๋ฒ์ผ๋ก ๊ณ์ ํํํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ทธ๋ํ๊ฐ ๋์จ๋ค. ์ฌ๊ธฐ์ ๊ณ์ฐ์ด ํท๊ฐ๋ฆฌ๋ ๋ถ๋ถ์ ์๋์ ๊ทธ๋ฆผ์ ์ฐธ๊ณ ํ๋ฉด ๋๋ค.
error์ w1์ ๋ํ ๋ฏธ๋ถ๊ฐ์ -0.2์ด๊ณ w2์ ๋ํ ๋ฏธ๋ถ๊ฐ์ -0.4, w3์ ๋ํ ๋ฏธ๋ถ๊ฐ์ 0.2์์ ์ ์ ์๋ค. ๋ฐ๋ผ์ ์ด๋ฅผ ์ด์ฉํด์ delta rule์ ๋ฐฉ์์ ์ ์ฉํ๋ฉด w๋ค์ ์กฐ์ ๊ฐ๋ค์ ์๊น์ ๊ฐ์ด ์์ c๋ฅผ ๊ณฑํด์ ํํํ ์ ์๋ค.
๋ํ ์์ ๊ทธ๋ํ์์ 4๊ฐ์ ์ฐ์ฐ๊ณผ์ ์ ํ๋์ sigmoid ํจ์๋ฅผ ํ์ด๋์ ๊ฒ์ธ๋ฐ, ์ด๋ sigmoid ํจ์์ ๋ฏธ๋ถ์ ์๋ค๋ฉด ํ๋์ ์ฐ์ฐ์ผ๋ก ์ค์ฌ ํํํ ์ ์๋ค.
์ฐธ๊ณ ๋ก sigmoid ํจ์์ ๋ฏธ๋ถ์์
์ด๋ค.
๋ฐ๋ผ์
์ f'(net)์ ํด๋น ์์ ๋ฃ์ผ๋ฉด
๋ผ๊ณ ํํํ ์ ์๋ค.
์ ๋ฆฌ
ํ์ต์ ํน์ input x์ ๋ํด์ ์ํ๋ output y๋ฅผ ์ป๋๋ก weight๋ฅผ ์์ ํ๋ ๊ฒ์ด๋ค.
์ฌ๊ธฐ์ weight๋ ์ฒ์์ ๋๋ค์ผ๋ก ์ง์ ๋์๋ค๊ฐ ์ ๋ต๊ณผ output์ ์ฐจ์ด์ธ error์ ์ํด ์์ ๋๋๋ฐ, error์ ๋ํ w์ ํธ๋ฏธ๋ถ ๊ฐ์ ์ด์ฉํ์ฌ ๊ทธ์ ๋ฐ๋ ๋ฐฉํฅ์ผ๋ก w๊ฐ์ ์กฐ์ ํด์ผํ๋ค.
w๋ฅผ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ ์ค ํ๋๋ก delta rule์ ๋ฐฐ์ ๋๋ฐ, ๋จ์ํ ํธ๋ฏธ๋ถ ๊ฐ์ ์์ c๋ฅผ ๊ณฑํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์ฌ๊ธฐ์ c๋ learning rate๋ก error ์ธก์ ๋ฐฉ๋ฒ, ํ์ฑํํจ์ ๊ฐ์ด ๊ฐ๋ฐ์๊ฐ ์์คํ ๊ตฌ๋ ์ ์ ์ ํด์ฃผ์ด์ผํ๋ ๊ฐ์ธ๋ฐ, ํฌ๋ฉด ์ง๋์ ์ผ์ผํฌ ์ ์๊ณ ์์ผ๋ฉด ํ์ต์ด ๋๋ฆฌ๋ฏ๋ก ์คํ์ ์ผ๋ก ๊ฐ์ ๊ฒฐ์ ํด์ฃผ์ด์ผํ๋ค.
์ด๋ฌํ ๊ณผ์ ์ ์ํ๋ error ๋ฒ์๊ฐ ๋ ๋๊น์ง ๋ฐ๋ณตํ์ฌ ์ ์ ํ w์ ๊ฐ์ ์ถ์ถํด ๋ด๋ ๊ฒ์ด ์ ๊ฒฝ๋งํ์ต์ด๋ค.
'์ปดํจํฐ๊ณผํ (CS) > AI' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ธ๊ณต์ง๋ฅ ์ ๋ฆฌ [๋ณธ๋ก 6] :: deep neural network์์์ backpropagation (0) | 2020.02.10 |
---|---|
์ธ๊ณต์ง๋ฅ ์ ๋ฆฌ [๋ถ๋ก] :: theta๊ฐ ํ์ํ ์ด์ (0) | 2020.02.10 |
์ธ๊ณต์ง๋ฅ ์ ๋ฆฌ [๋ถ๋ก] :: Restricted Boltzmann Machine (RBM) (0) | 2020.02.08 |
์ธ๊ณต์ง๋ฅ ์ ๋ฆฌ [๋ณธ๋ก 4] :: ๋ฅ๋ฌ๋์ ์์ (0) | 2020.02.01 |
์ธ๊ณต์ง๋ฅ ์ ๋ฆฌ [๋ณธ๋ก 3] :: ํ์ต (feat. weight์ ์กฐ์ ) (0) | 2020.01.31 |
Comment