deep neural network์์์ backpropagation
backpropagation
์๋ backpropagation(์ญ์ ํ)๋ ํ์ต ๋ฐฉ์์ด ์๋๋ผ perceptron์์ loss function์ ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ณ์ฐํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ปํ์ง๋ง, ๋์ ์๋ฏธ์์๋ ๊ธฐ์ธ๊ธฐ๋ฅผ ์ด์ฉํ ํ์ต ๋ฐฉ์์ผ๋ก ์ฐ์ธ๋ค.
delta rule
https://en.wikipedia.org/wiki/Delta_rule
delta rule์ ์ ์์ ์ฆ๋ช
delta rule์ backpropagation ๋ฐฉ๋ฒ ์ค ํ๋์ด๋ค.
delta rule์ ์ multi-layer์์ ์ฌ์ฉํ ์ ์๋๊ฐ...
๋ณธ๋ก 5์์์ ๊ฐ์ด ์ฒ์์๋ ์ ๊ฒฝ๋งํ์ต์์ delta rule์ด๋ผ๋ ๋ฐฉ์์ ์ฌ์ฉํด์ ํ์ต์ ํ๋ค. ์ด ๋ฐฉ์์ error์ ๋ํ w์ ๋ฏธ๋ถ ๊ฐ์ ์์๋ฅผ ๊ณฑํด์ w์ ์กฐ์ ๊ฐ์ ๊ตฌํ๋ ๋ฐฉ์์ด๋ค. ํ์ง๋ง delta rule ๋ฐฉ์์ ์ฑ๊ธ ๋ ์ด์ด, ์ฆ ๋จ์ธต perceptron์์๋ง ์ฌ์ฉ๋๋ค.
delta rule์ Mean Square Error๋ฅผ ์ด์ฉํ๋ฏ๋ก Mean Square Learning Rule์ด๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค. ์ด ๊ท์น์ ํ ๋ฒ์ ํ ๊ณ์ธต์ฉ ์ด์ ๊ณ์ธต์ผ๋ก back propagation ๋๋ฏ๋ก ์ ์ฒด์ ์ธ ์กฐ์ ์ ์ด๋ฃจ์ง ๋ชปํ๊ณ ์๊ธฐ๋ ์ค๋ฅ๊ฐ input ๋ ์ด์ด์ ๋๋ฌํ ๋๊น์ง ๋์ ๋๋ค. (https://www.researchgate.net/publication/224398598_Performance_Comparison_of_Multi-layer_Perceptron_Back_Propagation_Delta_Rule_and_Perceptron_algorithms_in_Neural_Networks ๋ ผ๋ฌธ ์ฐธ๊ณ )
์ฝ๊ฒ ๋งํด์ hidden layer์ target์ ์ ์ ์์ผ๋ฏ๋ก ํ ๋จ๊ณ์ฉ back propagationํ๋ delta rule์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ฌด๋ฆฌ๊ฐ ์๋ค.
์กด์ฌํ๋ weight ๊ฐ์ ๋์์ ํ์ตํ ์ ์๊ธฐ ๋๋ฌธ์
ํ๋์ ํ ๋๋ฆฌ์ฒ๋ผ ๋์์๋ถํฐ ์กฐ์ ํ๊ณ ์ถ์ w๊น์ง ๊ฑฐ์ฌ๋ฌ์ค๋ ๋ฐฉ์์ผ๋ก backpropagation์ ํ๋ ๊ฒ์ด ์๋๋ผ ์ฃผํฉ์์ฒ๋ผ ํ ๋จ๊ณ์ฉ backpropagation์ ํ๋ฏ๋ก ์ค๊ฐ ๋จ๊ณ์ target ๊ฐ์ ์์์ผํ๋ค๋ ์๊ธฐ ๊ฐ๋ค. (์ ํํ ์์ง ์ดํดํ์ง ๋ชปํ์)
multi-layer์์์ backpropagation
multi-layer์์๋ ํธ๋ฏธ๋ถ์ ๊ณ์ฐ์ด ๊ฒน์น๋ ๊ฒฝ์ฐ๊ฐ ๋ง์
ํ๋์ ๊ธฐํธ๋ก ๋ฌถ์ด์ ์ฌ์ฉํ๊ณ ์ ํจ
2layer perceptron์ ๋ค์๊ณผ ๊ฐ์ด ํํํ๋ค๋ฉด x,w๋ก net์ ๊ณ์ฐํ๊ณ activation function(f)์ ๊ฑฐ์ณ output์ ๋ด๋ ๋ถ๋ถ์ด ์ค๋ณต๋๋ค.
์์ผ๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. ์ฌ๊ธฐ์ ํ๋์ ๊ธ์์ ์ฃผํฉ์ ๊ธ์๋ ๋ณ์๋ง ๋ค๋ฅผ ๋ฟ ๊ฐ์ ์์ผ๋ก ๋ํ๋ผ ์ ์๋ค. ์ด๋ ๊ฒ ๊ฒน์น๋ ๋ถ๋ถ์
์ด๋ ๊ฒ ๋ํ๋ด๊ธฐ๋ก ํด๋ณด์.
๊ทธ๋ ๋ค๋ฉด δ1 ์ δ2 ์์
๋ฅผ ๊ณฑํ ๊ฒ์ด๋ค.
์ด๊ณ
์ธ๋ฐ,
X0,X1,... ์ ๋ํด ๋ชจ๋ ๊ณ์ฐํด์ผ ํ๋ฏ๋ก
๋ก ํํํ ์ ์๋ค. ์ด๋ ค์ฐ๋ ๊ทธ๋ฆผ์ผ๋ก ๋ค์ ์ดํด๋ณด์.
ํ์ฌ δ2๋ฅผ ๊ณ์ฐํ๊ณ ์๊ณ ์๋ ์ํฉ์์ δ1๋ฅผ ์ฝ๊ฒ ๊ณ์ฐํ๋ ค๋ฉด ๋นจ๊ฐ์ ํ์ดํ๋ง ๋ฐ๋ผ๊ฐ๋ฉด ๋๋ค. ํ์ง๋ง xb์ wb๋ฅผ ๊ณฑํด์ net2๋ฅผ ๋ง๋๋ ์ฐ์ฐ์ ์ค์ ๋ก j๊ฐ์ x,w์ ๋ํด์ ๊ณฑํ๊ณ ๋ํ๋ ์ฐ์ฐ์ ํ์ฌ net2๋ฅผ ์์ฑํ๋ค. ๋ฐ๋ผ์ X0,1,...,j ๊น์ง์ ํธ๋ฏธ๋ถ ๊ฐ์ ๊ตฌํ๋ ค ํ ๋, ๊ฐ๊ฐ์ ๋์นํ์ฌ W0,1,...,j ๊ฐ ๋์จ๋ค.
net2 = w0*x0+w1*x1+... ์ด๋ฏ๋ก net2๋ฅผ x0๋ก ํธ๋ฏธ๋ถํ๋ฉด w0, x1์ผ๋ก ํธ๋ฏธ๋ถํ๋ฉด w1๊ฐ ๋์จ๋ค.
ํ์ง๋ง ๋ชจ๋ j๊ฐ์ ๊ฒฝ์ฐ์ ๋ํด์ net2 ๊ฐ์ ํญ์ ๊ฐ์ผ๋ฏ๋ก j๊ฐ์ ๊ฒฝ์ฐ์ ๋ํด์ ๋ค์๊ณผ ๊ฐ์ ํํ๋ฅผ ๋๊ณ ์์์ ์ ์ ์๋ค.
๋ฐ๋ผ์ backpropagation์ผ๋ก ํธ๋ฏธ๋ถ์ ์ ํํ ๋, net์์ ๋ด๋ ค์ค๋ ๋ชจ๋ ํธ๋ฏธ๋ถ์ ๋ํด์ฃผ์ด์ผํ๋ ๊ฒ์ด๋ค.
๊ฒฐ๋ก
์ด๋ฌํ ์์ผ๋ก ์ข ๋ ์ฝ๊ฒ ์ญ์ ํ๋ฅผ ๊ณ์ฐํ ์ ์๋ค.
๊ณผ์ ์ผ๋ก ๋ํ๋ด์๋ฉด
-
forward sweep
-
error์ ๋ฒ์๊ฐ ๋ง์กฑ?
-
o => ๋
-
x => backward sweep
-
๋ฌธ์ ์
์ด๋ฌํ ๋ฐฉ์์ ์๋ ์ธต์ ๋ธํ(δ)๋ฅผ ๊ณ์ฐํ ๋, ์๋ ์ธต์ f'(net) ๊ฐ์ ๊ณฑํด์ผํ๊ธฐ ๋๋ฌธ์ ์์ธต์์ ๋ธํ์ ๋ํ ๊ณ์ฐ์ ๋๋ผ ์๊ฐ ์๋ค. ์ด๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด
๋ฅผ ์ด์ฉํด์ผํ๋ค.
Lecun's backpropagation algorithm
๋ผ๊ณ ์ ์ํ๋ ๋ฐฉ์์ผ๋ก ๊ธฐ์กด์ ๋ฐฉ์์์
๋ฅผ ์ ์ธํ๊ณ ์ฌ์ฉํ๋ค.
์ด๋ก ์ธํด,
์ด๋ฌํ ์์ ์ด์ฉํ ์ ์๋ค.
๊ธฐ์กด์ ๋ฐฉ์๊ณผ๋ ๋ค๋ฅด๊ฒ net์ ํ์ฌ์ ์ธต(j์ธต)์์ ์ฐธ๊ณ ํ๋ฉด ๋๊ณ wij๋ ํ์ฌ์ ์ธต์์ ์กด์ฌํ๋ฏ๋ก ์๋ ์ธต(i์ธต)์ ์ด๋ค ๊ฐ์ ์ฐธ์กฐํ ํ์๊ฐ ์์ด์ ์ธต๋ณ ๋ถ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค.
- ๋ ๋ฆฝ์ ์ธ layer ๊ณ์ฐ ๊ฐ๋ฅ
- ์ธต๋ณ๋ก moduleํ ๊ฐ๋ฅ
- ์ธต์ ๊ตฌ์กฐ, ๊ฐฏ์๊ฐ ์๊ด์์
์ค์ต
์์คํ์ผ ํ๋์ ๋ณ์๋ฅผ ๋ชฐ์๋๋ฉด.. ๋ฉ๋ชจ๋ฆฌํ ๋น ํ ๊ฐ ๋ฃ๊ธฐ๋ ๊ทธ๋ฅ ์ ์ธ์ด๋ ๊ผฌ์ผ ์๋ ์์..
์ด๋ค ๊ฑด ๋ฉ๋ชจ๋ฆฌ ํ ๋น ํ์ ๊ฐ์ ๋ฃ์ผ๋ ค๊ณ ํ๋๋ฐ ์ด๋ค ๋ณ์๋ ์ ์ธ ํ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋นํ๋ ํจ์์์ ์ฐ์ฌ์ผํ ์๋ ์์ผ๋๊น ^ใ ^...
๊ทธ๋ฅ ์์คํ์ผ์์ ์ฐ์ด๋ ๋ณ์๋ ๊ฐ ์์คํ์ผ์์ ์ ์ธ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ํ๊ธฐ๋ก ํ์... (๋ป์ง๋งจ!)
๊ตฌํ ์คํจํ๊ณ ์ผ๋จ ์ง๋ ๋๊ฐ๊ธฐ๋ก ํจ
Comment