์ ๊ฒฝ๋ง์ ํํฐ(๊ฐ์ค์น)๋ ์ฒ์์ ์๋ฌด ์๋ฏธ ์๋ ๋์๋ก ์์ํ๋ค. ๊ทธ๋ฐ๋ฐ ํ์ต์ด ๋๋๋ฉด ์์ง ๊ฒ์ถ๊ธฐ ๊ฐ์ "์ฌ๋ฐ๋ฅธ" ๊ฐ์ด ๋์ด ์๋ค. ๊ทธ ์ฌ์ด์์ ์ผ์ด๋๋ ์ผ โ ์์ ํ โ ์์ค โ ์ญ์ ํ โ ์ ๋ฐ์ดํธ์ ๋ฐ๋ณต โ ์ ๋ธ๋ผ์ฐ์ ์์ ์ง์ ์คํํ๋ฉฐ ๋ฐ๋ผ๊ฐ ๋ณธ๋ค.
๋ชจ๋ ๋ฐ๋ชจ๋ ์ด ํ์ด์ง ์์์ ์ค์ ๋ก ๊ณ์ฐ๋ฉ๋๋ค. ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์.
๊ฐ์ฅ ์์ "์ ๊ฒฝ๋ง"์ธ ๋ด๋ฐ ํ๋๋ถํฐ ์์ํ์. ์ ๋ ฅ x์ ๊ฐ์ค์น w๋ฅผ ๊ณฑํ๊ณ ํธํฅ b๋ฅผ ๋ํด ์์ธก ลท๋ฅผ ๋ง๋ ๋ค.
์์ ํ(forward pass)๋ ๋จ์ํ๋ค: ์ง๊ธ ๊ฐ๊ณ ์๋ ๊ฐ์ค์น๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํด ์ ๋ ฅ์์ ์ถ๋ ฅ๊น์ง ๊ณ์ฐ์ ํ๋ ค๋ณด๋ด๋ ๊ฒ. ๊ฐ์ค์น๊ฐ ์ํฐ๋ฆฌ๋ฉด ์์ธก๋ ์ํฐ๋ฆฌ๋ค. ์๋์์ w, b๋ฅผ ์ง์ ์์ง์ฌ ๋ฐ์ดํฐ์ ์ ์ ๋ง์ถฐ ๋ณด์.
ํ์ ์ ์ด ๋ฐ์ดํฐ, ๋ณด๋ผ์ ์ ์ด ๋ชจ๋ธ์ ์์ธก. ์ ์ (๋นจ๊ฐ)์ด ๊ฐ ์ ์ ์ค์ฐจ(residual)๋ค. ์ค์ฐจ๊ฐ ์์์ง๋๋ก ์ฌ๋ผ์ด๋๋ฅผ ์กฐ์ ํด ๋ณด์.
์ด ์ง์ ์ฌ๋์ด ์์ผ๋ก ํ๋ ๋์ , ์ปดํจํฐ๊ฐ ์๋์ผ๋ก ํ๊ฒ ๋ง๋๋ ๊ฒ์ด ํ์ต์ด๋ค. ๊ทธ๋ฌ๋ ค๋ฉด ๋จผ์ "์ผ๋ง๋ ํ๋ ธ๋์ง"๋ฅผ ์ซ์๋ก ์ ์ํด์ผ ํ๋ค โ ์์ค ํจ์.
์์ค ํจ์(loss function)๋ ์์ธก๊ณผ ์ ๋ต์ ์ฐจ์ด๋ฅผ ์ซ์ ํ๋๋ก ์์ฝํ๋ค. ํ๊ท์์ ๊ฐ์ฅ ํํ ๊ฒ์ด ํ๊ท ์ ๊ณฑ์ค์ฐจ(MSE)๋ค.
์ฌ๊ธฐ์ ๊ด์ ์ ํ๋ ๋ฐ๊พธ๋ ๊ฒ์ด ๊ฒฐ์ ์ ์ด๋ค. ์์ค์ ๋ฐ์ดํฐ์ ํจ์๊ฐ ์๋๋ผ ๊ฐ์ค์น์ ํจ์๋ค. ๋ฐ์ดํฐ๋ ๊ณ ์ ๋ผ ์๊ณ , ์ฐ๋ฆฌ๊ฐ ์์ง์ผ ์ ์๋ ๊ฒ์ w์ b๋ฟ์ด๋๊น. w๋ฅผ ๊ฐ๋ก์ถ, ์์ค์ ์ธ๋ก์ถ์ ๋์ผ๋ฉด ์์ค ์งํ(loss landscape)์ด ๊ทธ๋ ค์ง๋ค.
๊ณก์ ์์ ์ ์ ๋๋๊ทธํด ๋ณด์. ๊ฐ ์์น์์์ ์ ์ (์ฃผํฉ)์ด ๊ณง ๊ธฐ์ธ๊ธฐ โL/โw๋ค. ๊ธฐ์ธ๊ธฐ์ ๋ถํธ๋ "์ด๋ ์ชฝ์ด ๋ด๋ฆฌ๋ง์ธ์ง"๋ฅผ ์๋ ค์ค๋ค.
์ต์ ์ ๊ทผ์ฒ์์๋ ๊ธฐ์ธ๊ธฐ๊ฐ 0์ ๊ฐ๊น์์ง๋ค. "๊ธฐ์ธ๊ธฐ = 0"์ด ๋๋ ๊ณณ์ด ์์ค์ด ๊ฐ์ฅ ์์ ๊ณณ โ ํ์ต์ด ๋๋ฌํ๋ ค๋ ์ง์ ์ด๋ค.
๊ธฐ์ธ๊ธฐ๋ฅผ ์๋ฉด ์ ๋ฐ์ดํธ ๊ท์น์ ํ ์ค์ด๋ค. ๊ธฐ์ธ๊ธฐ๊ฐ ์์๋ฉด ์ผ์ชฝ์ผ๋ก, ์์๋ฉด ์ค๋ฅธ์ชฝ์ผ๋ก โ ์ฆ ํญ์ ๋ด๋ฆฌ๋ง์ผ๋ก ํ ๊ฑธ์์ฉ.
์๋ฌด ๋ฐ์๋ ์์ํด ์คํ ์ ๋ฐ์ ๋ณด์. ํ์ต๋ฅ ์ ํค์ฐ๋ฉด ๋นจ๋ผ์ง์ง๋ง, ๋๋ฌด ํฌ๋ฉด(โณ 0.33) ๋ฐ๋ํธ์ผ๋ก ํ๊ฒจ ๋๊ฐ๋ฉฐ ๋ฐ์ฐํ๋ค.
์ง๋ยท๋ฐ์ฐ ๋ฑ ํ์ต๋ฅ ์ด ๋ง๋๋ ํ์์ ๊ฒฝ์ฌ ํ๊ฐ๋ฒ ์๋ฃ์์ ๋ ๊น๊ฒ ๋ค๋ฃฌ๋ค.
๋ด๋ฐ ํ๋์ง๋ฆฌ ๋ชจ๋ธ์ โL/โw๋ฅผ ์์ผ๋ก ๋ฐ๋ก ๋ฏธ๋ถํ ์ ์์๋ค. ํ์ง๋ง ์ค์ ์ ๊ฒฝ๋ง์ ์๋ฐฑ๋ง ๊ฐ์ ๊ฐ์ค์น๊ฐ ์ฌ๋ฌ ์ธต์ ๊ฑธ์ณ ์๋ค. ์ด๋ ํ์ํ ๊ฒ์ด ์ฐ์ ๋ฒ์น(chain rule)์ด๊ณ , ์ฐ์ ๋ฒ์น์ ๊ณ์ฐ ๊ทธ๋ํ ์์์ ์ถ๋ ฅโ์ ๋ ฅ ๋ฐฉํฅ์ผ๋ก ์ฒด๊ณ์ ์ผ๋ก ์ ์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ๋ฐ๋ก ์ญ์ ํ(backpropagation)๋ค.
๋ด๋ฐ ํ๋์ ์๊ทธ๋ชจ์ด๋ ํ์ฑํ๋ฅผ ๋ถ์ธ ์์ ๊ณ์ฐ ๊ทธ๋ํ๋ก ์ง์ ํด ๋ณด์: z = wยทx + b โ a = ฯ(z) โ L = (a โ t)ยฒ. ์์ ํ๋ก ๊ฐ์ ์ฑ์ด ๋ค, ๋ค์์๋ถํฐ ๊ธฐ์ธ๊ธฐ๋ฅผ ํ ๋จ๊ณ์ฉ ๊ณฑํ๋ฉฐ ์ ๋ฌํ๋ค.
์ฌ๋ผ์ด๋๋ก ์์ ํ ๊ฐ์ด ๋ฐ๋๋ค. ใ์ญ์ ํ ํ ๋จ๊ณใ๋ฅผ ๋๋ฌ ๊ธฐ์ธ๊ธฐ(์ฃผํฉ ์ซ์)๊ฐ ์ถ๋ ฅ์์ ์ ๋ ฅ ์ชฝ์ผ๋ก ํ๋ฌ๊ฐ๋ ๊ฒ์ ํ์ธํ์.
โL/โL = 1. ์ฌ๊ธฐ์ ์์ํ๋ค. ๊ทธ๋ฆฌ๊ณ โL/โa = 2(aโt) = โ ์์ธก a๊ฐ ์ปค์ง๋ฉด ์์ค์ด ์ด๋ป๊ฒ ๋ณํ๋์ง.โa/โz = a(1โa) = . ์์์ ์จ ๊ธฐ์ธ๊ธฐ์ ๊ณฑํ๋ค: โL/โz = โL/โa ยท โa/โz = .z = wยทx + b์์ โz/โw = x, โz/โb = 1. ๋ฐ๋ผ์ โL/โw = โL/โz ยท x = , โL/โb = . ๊ฐ ๊ฐ์ค์น๊ฐ ์์ค์ ๋ฏธ์น๋ ์ํฅ์ด ๊ณ์ฐ๋๋ค.w โ w โ 0.5ยทโL/โw = , b โ . ์ ๊ฐ์ค์น๋ก ๋ค์ ์์ ํํ๋ฉด ์์ค์ L = โ ๋ชจ๋ ๋จ๊ณ๊ฐ ใ๊ตญ์ ๋ฏธ๋ถ ร ์์์ ํ๋ฌ์จ ๊ธฐ์ธ๊ธฐใ์ ๋ฐ๋ณต์ด๋ค. ์ธต์ด 100๊ฐ์ฌ๋ ๊ท์น์ ๊ฐ๋ค โ ๊ทธ๋์ ์๋ฌด๋ฆฌ ๊น์ ๋คํธ์ํฌ๋ ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ตฌํ ์ ์๋ค.
์ด์ ๋ถํ์ด ๋ค ๋ชจ์๋ค. ์์ ํ โ ์์ค โ ์ญ์ ํ โ ์ ๋ฐ์ดํธ๋ฅผ ์์ฒ ๋ฒ ๋ฐ๋ณตํ๋ฉด ๋์๋ก ์์ํ ๊ฐ์ค์น๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ค๋ช ํ๋ ๊ฐ์ผ๋ก ์ด๋ํ๋ค. ์๋ ๋ด๋ฐ 8๊ฐ์ง๋ฆฌ ์ ๊ฒฝ๋ง(1โ8โ1, tanh)์ด ์ฌ์ธ ๊ณก์ ์ ๋ฐฐ์ฐ๋ ๊ฒ์ ์ค์๊ฐ์ผ๋ก ์ง์ผ๋ณด์.
ํ์ ์ : ํ์ต ๋ฐ์ดํฐ(sin ๊ณก์ ). ๋ณด๋ผ์ ์ : ์ง๊ธ ๊ฐ์ค์น์ ์์ธก. ์ฒ์์ ์๋ฌด๋ ๊ฒ๋ ์๊ธด ์ ์ด ์ ์ ๋ฐ์ดํฐ์ ๋ถ๋๋ค.
์ค๋ฅธ์ชฝ์ ์์ค ๊ณก์ (log ์ค์ผ์ผ). ใ์๋ ๋ด๋ฐ ๊ธฐ์ฌ ๋ณด๊ธฐใ๋ฅผ ์ผ๋ฉด ์์ ์์ 8๊ฐ๊ฐ ๋ํ๋๋ค โ ๊ฐ ์๋ ๋ด๋ฐ์ด ๋ด๋นํ๋ ์กฐ๊ฐ์ด๋ฉฐ, ์ด๋ค์ ํฉ์ด ๋ณด๋ผ์ ์์ธก์ ์ด๋ค. ์ญ์ ํ๋ ์ด 8๊ฐ ๋ด๋ฐ ๊ฐ๊ฐ์๊ฒ "๋ค๊ฐ ๋ด๋นํ ์กฐ๊ฐ์ ์ด๋ ๊ฒ ๊ณ ์ณ๋ผ"๋ผ๋ ๊ธฐ์ธ๊ธฐ๋ฅผ ๋๋ ์ค๋ค.
๋๋์ด ์๋ ์ง๋ฌธ์ด๋ค. CNN์ 3ร3 ํํฐ๋ ๊ฒฐ๊ตญ ๊ฐ์ค์น 9๊ฐ์ผ ๋ฟ์ด๋ค. ๋์๋ก ์์ํ ํํฐ๊ฐ ์์ค๊ณผ ๊ธฐ์ธ๊ธฐ๋ง ๋ณด๊ณ ์์ง ์์ง ๊ฒ์ถ๊ธฐ(์๋ฒจ ํํฐ)๋ก ์๋ ดํด ๊ฐ๋ ๊ณผ์ ์ ์ค์ ๋ก ๋๋ ค ๋ณด์.
์คํ ์ค์ : ์ด๋ค "์ ๋ต ํํฐ"(์๋ฒจ)๊ฐ ์ด๋ฏธ์ง๋ฅผ ๋ณํํด ์ ๋ต ์ถ๋ ฅ์ ๋ง๋ ๋ค. ํ์ต ํํฐ๋ ์ ๋ต ํํฐ๋ฅผ ์ ๋ ๋ณผ ์ ์๋ค. ๋ณผ ์ ์๋ ๊ฒ์ ์ค์ง โ ์ ๋ ฅ ์ด๋ฏธ์ง, โก ์์ ์ ์ถ๋ ฅ๊ณผ ์ ๋ต ์ถ๋ ฅ์ ์ฐจ์ด(์์ค), โข ๊ทธ ๊ธฐ์ธ๊ธฐ๋ฟ์ด๋ค. ๋งค ์คํ ๋ ธ์ด์ฆ๊ฐ ๋ค๋ฅธ ์ ์ด๋ฏธ์ง๊ฐ ์ฃผ์ด์ง๋ค.
ใโถ ํ์ตใ์ ๋๋ฅด๊ณ ๊ฐ์ด๋ฐ ํ์ต ํํฐ์ 9๊ฐ ์ซ์๊ฐ ์ผ์ชฝ ์ ๋ต ํํฐ์ ๊ฐ์์ ธ ๊ฐ๋ ๊ฒ์ ์ง์ผ๋ณด์. ์๋ ์ถ๋ ฅ ์ง๋๋ ํจ๊ป ์ ๋ต์ ์๋ ดํ๋ค.
"ํํฐ ๊ฑฐ๋ฆฌ"๋ ํ์ต ํํฐ์ ์ ๋ต ํํฐ 9๊ฐ ๊ฐ์ ํ๊ท ์ ๊ณฑ ์ฐจ์ด. ๋ชจ๋ธ์ ์ด ๊ฐ์ ๋ชจ๋ฅธ ์ฑ ์ค์ง ์ถ๋ ฅ ์ค์ฐจ๋ง ์ค์๋๋ฐ๋ 0์ผ๋ก ๊ฐ๋ค โ ์ถ๋ ฅ์ ์ ๋ต๊ณผ ๊ฐ๊ฒ ๋ง๋๋ ์ ์ผํ ๋ฐฉ๋ฒ์ด ํํฐ ์์ฒด๊ฐ ๊ฐ์์ง๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ต๋ฅ ์ 0.9๊น์ง ์ฌ๋ ค ๋ฐ์ฐ๋ ์์ผ ๋ณด์.
์ค์ CNN ํ์ต๋ ์ด๊ฒ๊ณผ ๋ณธ์ง์ ์ผ๋ก ๊ฐ๋ค. ๋ค๋ฅธ ์ ์ ๊ท๋ชจ๋ฟ์ด๋ค: ํํฐ๊ฐ ์๋ฐฑ ๊ฐ, ์ธต์ด ์์ญ ๊ฐ, ์์ค์ด ๋ถ๋ฅ์ฉ ๊ต์ฐจ ์ํธ๋กํผ์ด๊ณ , "์ ๋ต ์ถ๋ ฅ"์ ์๋ฆฌ์ ์ด๋ฏธ์ง์ ๋ถ์ ๋ผ๋ฒจ์ด ์๋ค. AlexNet์ conv1 ํํฐ๊ฐ ๊ฐ๋ณด๋ฅด ํํฐยท์ ๋ธ๋กญ์ฒ๋ผ ์๊ธด ์ด์ ๋ ๋๊ฐ ๊ทธ๋ ๊ฒ ์ค๊ณํด์๊ฐ ์๋๋ผ, ๋ถ๋ฅ ์์ค์ ๋ฎ์ถ๋ ๋ฐฉํฅ์ผ๋ก ๊ธฐ์ธ๊ธฐ๋ฅผ ๋ฐ๋ผ๊ฐ๋ค ๋ณด๋ ๊ทธ๋ฐ ํํฐ๊ฐ "๋ฐ๊ฒฌ"๋๊ธฐ ๋๋ฌธ์ด๋ค.
for (step = 0; step < N; step++) { img = ์ ์ด๋ฏธ์ง(); // ๋งค ์คํ ๋ ธ์ด์ฆ๊ฐ ๋ค๋ฅธ ํ์ต ๋ฐ์ดํฐ target = conv(img, W_true); // "์ธ์"์ด ๋ง๋๋ ์ ๋ต (๋ชจ๋ธ์ W_true๋ฅผ ๋ชจ๋ฆ) // โ ์์ ํ out = conv(img, W); // ์ง๊ธ ํํฐ๋ก ์์ธก // โก ์์ค err = out - target; loss = mean(errยฒ); // โข ์ญ์ ํ โ ํํฐ ๊ฐ ์นธ์ ๊ธฐ์ธ๊ธฐ for (u,v of 3ร3) grad[u][v] = (2/N) * ฮฃแตขโฑผ err[i][j] * img[i+u][j+v]; // โฃ ์ ๋ฐ์ดํธ โ ๊ธฐ์ธ๊ธฐ ๋ฐ๋ ๋ฐฉํฅ์ผ๋ก ํ ๊ฑธ์ for (u,v of 3ร3) W[u][v] -= lr * grad[u][v]; }